使用Python Stanza处理英文"sep"时无lemma属性的问题咨询
关于Stanza处理"sep"无lemma属性的原因
- 训练数据覆盖不足:"sep"作为"September"的缩写,这类孤立使用的低频缩写在Stanza英文lemma模型的训练数据中对应的映射样本极少,模型未学习到它需要映射到"September",因此无法生成对应的lemma。
- 缺乏上下文支撑:输入仅为单个"sep",没有语境辅助模型判断它的全称,只能将其当作独立词汇处理,最终要么不生成lemma属性,要么lemma值和原token完全一致,看起来像是没有属性。
- 可以测试带上下文的输入(比如执行
doc = nlp_tokenize("The meeting is in sep")),此时模型大概率能正确生成"September"作为lemma。
你的测试代码:
import stanza nlp_tokenize = stanza.Pipeline('en', processors='tokenize,mwt,pos,lemma,depparse', \ tokenize_pretokenized = True, use_gpu=True)#, use_gpu=False) doc = nlp_tokenize("sep") # the word "sep" has no attribute lemma print(doc)
内容的提问来源于stack exchange,提问作者Technika148
相关产品推荐
相关产品推荐

