Spacy lemmatizer issue/consistency(空格注释器问题/一致性)
本文介绍了空格注释器问题/一致性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我目前将Spacy用于NLP目的(主要是词例化和标记化)。使用的模型是en-core-web-sm(2.1.0)。
运行以下代码以从查询中检索单词"Cleaned"的列表
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp(query)
list_words = []
for token in doc:
if token.text != ' ':
list_words.append(token.lemma_)
然而,在运行此代码时,我面临一个重大问题。 例如,当查询是"茶叶加工"时。 List_Words中存储的结果可以是[‘正在处理’,‘茶’,‘叶’]或[‘正在处理’,‘茶’,‘叶’]。
似乎结果并不一致。我不能更改我的输入/查询(不可能为上下文添加另一个单词),我真的需要每次都找到相同的结果。我认为可能是模型的加载问题。
为什么结果不同?我可以每次都以"相同"的方式加载模型吗?对于不明确的查询,我是否错过了某个参数才能获得相同的结果?
感谢您的帮助
推荐答案
Spacy团队对该问题进行了分析,并提出了解决方案。 修复方法如下:https://github.com/explosion/spaCy/pull/3646
基本上,当应用词汇化规则时,使用集合来返回引理。因为集合没有顺序,所以返回的引理可能会在不同的python会话之间更改。
例如,在我的例子中,对于名词"叶子",可能的词条是"叶子"和"叶子"。在没有排序的情况下,结果是随机的-它可以是"Leave"或"Leaf"。
这篇关于空格注释器问题/一致性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:空格注释器问题/一致性
基础教程推荐
猜你喜欢
- Python 的 List 是如何实现的? 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01