不确定它是否认为这些是百万、万亿等的缩写
有人能告诉我是哪条规则导致了这种情况发生以及我该如何防止这种情况发生吗?
如需了解更多信息,其他角色不会被拆分。
复制
nlp = spacy.load("en_core_web_sm")
doc = nlp("12M")
for token in doc:
print(f"{token.text} | {token.pos_}")
您无需更改标记生成器中的任何内容。如果它认为最好将“12M”分成两个标记,那么这就是标记器的训练方式。
这会以某种方式破坏“12M”表示吗?让我们看看这个表示是如何创建的:
每个标记和标记嵌入之间都有映射(数字向量) 令牌1 =“12”-> [0.222, 0.333, ...., 0.111] 令牌2 =“M”-> [0.111, 0.2222, ...., 0.444]
那么句子嵌入就是两个标记的总和。 句子=“12M”= token1+token2 -> [0.333, 0.555, ..., 0.555]