我有一组同义词,例如:
大 大 大 巨大 小 小 苹果 香蕉
意思是大是大的同义词,大是巨大的同义词,小是小的同义词,苹果是香蕉的同义词,反之亦然(大是大的同义词等)。另一件事是“大”是“巨大”的同义词,而“巨大”是“大”的同义词,因为通过“大”的间接关系。
这应该是词库之类的东西?但我不确定数据结构的外观。
“语言的许多不同方面都有图表的自然表示。图表还可以用来描述单词在语义上如何相互关联。在每个单词类别中,单词被分组为同义词集,即所谓的同义词集。” - 根据这篇文章。
因此,根据WordNet,例如“香蕉”一词的同义词集是(细长的新月形黄色 水果,带有柔软的甜 肉)。同义词集通过语义关系相互链接。因此,您可以找到“苹果”一词的相似语义同义词集(果皮为红色或黄色或绿色,果肉甜到酸脆的白色果肉)。
您可以使用这个 ruby gem来构建一个使用 WordNet 数据库的图形。
一个简单的选择是一组数组,例如:
[
['big', 'large', 'huge'],
['small', 'little']
]
或者,如果在您的模型中,例如 huge 不是 big 的同义词,那么您可能需要一个像这样的哈希:
{
big: ['large'],
large: ['big', 'huge'],
huge: ['large'],
small: ['little', 'tiny'],
little: ['small'],
...
}
这真的取决于你打算用它做什么。