首页 > 解决方案 > 使用 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 个字符)之间频繁执行相似性比较以生成类似文档的桶的最佳方法是什么?

希望有人有任何建议或提示。

非常感谢!


[1] https://cloud.google.com/natural-language/

[2] https://spacy.io/usage/vectors-similarity

标签: pythonnlpspacynamed-entity-recognition

解决方案


...那么有没有办法改善 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


推荐阅读