python - 使用 spaCy 更好的命名实体识别和相似性
问题描述
我一直在为一个小型副项目尝试 spaCy,并且有一些问题和疑虑。
我注意到 spaCy 的命名实体识别结果(具有最大的en_vectors_web_lg
模型)似乎不如 Google Cloud Natural Language API [1] 准确。Google 的 API 能够更准确地提取更多实体,这很可能是因为它们的模型更大。那么,有没有办法在可能的情况下使用不同的模型或通过其他技术来改善 spaCy 的 NER 结果?
其次,Google 的 API 还返回相关实体的 Wikipedia 文章链接。spaCy 是否也可以做到这一点,或者在 spaCy 的 NER 结果之上使用其他一些技术?
第三,我注意到 spaCy 有一个similarity()
使用 GloVe 词向量的方法 [2]。但是作为新手,我不确定在一组文档(例如 5000-10000 个文本文档,每个文档少于 500 个字符)之间频繁执行相似性比较以生成类似文档的桶的最佳方法是什么?
希望有人有任何建议或提示。
非常感谢!
解决方案
...那么有没有办法改善 spaCy 的 NER?
可以训练 spaCy 的模型来提高它的 NER。您可以使用 GoldParse 对象来训练它。https://spacy.io/usage/training
其次,Google 的 API 还返回相关实体的 Wikipedia 文章链接。spaCy 是否也可以做到这一点,或者在 spaCy 的 NER 结果之上使用其他一些技术?
我还没有看到有人用 spaCy 尝试过这个功能。
第三,我注意到 spaCy 有一个相似度()方法 [2],它使用 GloVe 词向量......
我认为这是一个聚类问题,仅使用 spaCy 相似性无法解决。对于集群,我强烈建议您通过以下链接。http://brandonrose.org/clustering
推荐阅读
- java - 如何正确使用 Scanner 打印输出流
- swift - 如何使用 MDL 对边界框进行命中测试
- c++ - 如何确保 DirectX 11 应用在带有 C++ 的双 GPU 笔记本电脑上使用独立 GPU?
- websocket-sharp - WebSocketSharp - 禁用控制台日志记录不起作用
- javascript - 解析 package.json 数据失败,package.json 必须是实际的 JSON,而不仅仅是 JavaScript
- context-free-grammar - 从语言生成上下文无关语法
- json - 附加到 JSON 数组的 Powershell 脚本
- apache-pig - 分组时如何获取包中的第一个元组
- r - 合并时间和日期列时不需要的 NA
- javascript - 当注册(通过散列)和登录在 2 个不同的 javascript 函数中时,如何将密码与数据库中的散列密码进行比较?