nlp - 使用 Spacy 从依赖树中提取化合物和 dobj
问题描述
对于句子,例如:“更换了碳酸化器浮子开关和减压阀。”
我想提取以下内容:{更换碳酸化器浮子开关},{更换减压阀}
在使用 Spacy 作为语言模型时,我对该句子的依赖树是:
所以我知道碳酸化器是替换(动词)的直接对象(djob),但是:1.碳酸化器本身不是,而是三重名词“碳酸化器浮动开关”的一部分,并且“泄压阀”是被替换,它们也应该是被替换的对象。
有任何想法吗 ?
解决方案
似乎问题不在于从树中提取化合物,而在于解析本身:它是不正确的。可能,Spacy 依赖解析器只是没有接受过诸如“碳酸化器浮动开关”和“减压阀”之类的技术术语的培训,并且不知道它们是如何组合在一起的。
也许您需要寻找其他依赖解析器(例如, Stanford CoreNLP - 它会进行正确的解析,如图所示)。或者如果你真的需要 Spacy,你可能想收集和标记你自己的训练数据,并在上面微调 Spacy 解析器。
推荐阅读
- c# - 异步方法中的同步操作 - 如何修复未正确和完整输出的结果?
- javascript - 尽管没有错误,但我无法将数据库内容导入到我的 html 文件中,我的代码有什么问题?
- python - 如何正确反转 OCR 的颜色?
- c++ - 为什么我的代码在 '++' 运算符之后会与 i++ 和 numsWon++ 混淆?
- security - 了解在哪里生成 fullchain.pem 和 privkey.pem 适合此集群设置
- javascript - findByIdAndUpdate 在使用 $set 时更新错误的子对象
- dictionary - 映射到数组内对象内的数组
- javascript - 如何使用 jquery 每个函数为元素添加宽度?
- report - 谷歌数据工作室未能提供“搜索关键字与首页排名”的表格
- javascript - XMLHttpRequest 未定义