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"。
这篇关于空格注释器问题/一致性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:空格注释器问题/一致性
基础教程推荐
猜你喜欢
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
