问题描述
我已经在一个英语词库项目上工作了几年,该项目结合了一些资源(例如 WordNet、Wiktionary 词库、Moby 词库、Word2vec)来制作一个大型词库。目前我将数据定义为列表列表。每个链接都有一个分数(更高=更强),所以“hotel”和“inn”的得分可能是2.0;但是“hotel”和“fleabag”的得分为0.2。高分是近义词,低分是更远的关联。我已经能够使用 Dijkstra 和 A* 来查找单词之间的链接(所谓的“同义词链”)。
是否有一种非常适合此类数据的图形数据库和/或分析工具?词关系强度通常是不对称的。例如,“Hoover dam”与“Herbert Hoover”的联系比“Herbert Hoover”与“Hoover dam”的联系更强。我对找到单词之间的联系、查找不相关的单词、测量单词相似度的更好方法很感兴趣。
我很感激任何新的指示/方向。
解决方法
有趣的问题。不确定最好的数据结构,但为了处理,您可以查看此包中的 shell 邻居:https://grispy.readthedocs.io/en/latest/api.html