spaCy SPECIAL-1 令牌覆盖后缀规则导致注释未对齐
spaCy SPECIAL-1 token overriding suffix rule causing annotation misalignment
我的文字就像
'Laboratories, Inc.'
像
一样被标记化
Laboratories TOKEN
, SUFFIX
Inc. SPECIAL-1
但是注释通常不包含后缀字符,例如“.”
所以我尝试添加后缀规则来标记“.”
(r'[.]+$',)
但它不适用于像 'Inc.' 或 'St.' 这样被标记为 SPECIAL-1 的字符串
问题是这个和像这样的标记化问题导致大量注释由于这些未对齐问题而被忽略,显着减少了训练期间有价值的示例。
如有任何建议,我们将不胜感激。
分词器例外(也称:特殊情况、规则)优先于其他模式,因此您需要删除不需要的特殊情况。
nlp.tokenizer.rules
包含您可以修改的特殊情况。删除所有带句点的异常,例如:
new_rules = {}
for orth, exc in nlp.tokenizer.rules.items():
if "." not in orth:
new_rules[orth] = exc
nlp.tokenizer.rules = new_rules
我的文字就像
'Laboratories, Inc.'
像
一样被标记化Laboratories TOKEN
, SUFFIX
Inc. SPECIAL-1
但是注释通常不包含后缀字符,例如“.”
所以我尝试添加后缀规则来标记“.”
(r'[.]+$',)
但它不适用于像 'Inc.' 或 'St.' 这样被标记为 SPECIAL-1 的字符串 问题是这个和像这样的标记化问题导致大量注释由于这些未对齐问题而被忽略,显着减少了训练期间有价值的示例。
如有任何建议,我们将不胜感激。
分词器例外(也称:特殊情况、规则)优先于其他模式,因此您需要删除不需要的特殊情况。
nlp.tokenizer.rules
包含您可以修改的特殊情况。删除所有带句点的异常,例如:
new_rules = {}
for orth, exc in nlp.tokenizer.rules.items():
if "." not in orth:
new_rules[orth] = exc
nlp.tokenizer.rules = new_rules