gpt4 book ai didi

database-design - 同义词数据库所需的设计建议

转载 作者:行者123 更新时间:2023-12-01 05:36:34 24 4
gpt4 key购买 nike

我打算建立一个可用于查询单词同义词的数据库。数据库最终会很大,所以我们的想法是保持快速运行。

我一直在考虑如何做到这一点,但这些天我的数据库设计技能达不到要求。

我最初的想法是将每个单词存储在一个表中,然后是另一个具有 1 对多关系的表,其中每个单词可以链接到另一个单词并且可以查询该表。

我正在开发的应用程序允许用户突出显示一个词,然后输入或从数据库中为该词选择一些同义词。该应用程序从用户输入中学习,因此如果有人突出显示“汽车”并输入“汽车”,则数据库将更新以链接关系(如果该关系尚不存在)。

我不希望发生的是用户输入“shop”一词并将其链接到“汽车”一词。所以我想我需要为每段关系增加一些权重。

最终将使用用户输入的同义词,以便他们可以自动选择与某个单词一起使用的常见同义词。不会显示较低权重的词,因此除非权重非常高,否则 shop 永远不会成为汽车的同义词,而且很可能没有人会这样做。

以上听起来对吗?你能提供任何建议或改进吗?

最佳答案

从关系数据库的角度来看,您真正要寻找的是单词之间的多对多关系,可能还有一些关于这种关系的附加数据。

关系表看起来像:

WORD_TABLE
----------
id
word

RELATION_TABLE
--------------
word_1_id
word_2_1d
weight

我构建它的方式是让用户可以投票(支持或反对)各种单词对。这将以相当简单的方式为您提供所需的权重。您可能还希望使用同义词库或其他类似来源的数据预先填充它,以涵盖已知的同义词并减少用户的工作量。

此外,这种数据结构的另一个术语是加权图。

一般来说,关系数据库并不是特别擅长对图进行建模(他们可以做到,但有更好的选择)。您可能希望研究图形数据库(想到 Neo4J)作为关系数据库的替代方案。

关于database-design - 同义词数据库所需的设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8330389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com