什么是存储和使用同义词库的好数据结构?

问题描述

我已经在一个英语词库项目上工作了几年,该项目结合了一些资源(例如 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...