gpt4 book ai didi

mysql - Wordnet sqlite 同义词和示例

转载 作者:行者123 更新时间:2023-11-29 11:32:55 25 4
gpt4 key购买 nike

我正在尝试获取给定 wordid 的同义词和示例列表。经过大量的试验和错误,我可以获得所有同义词集的样本,但不是实际的同义词。这是我的查询,它给出了以下结果。

select senses.wordid, senses.synsetid, senses.sensekey, synsets.definition FROM感官
LEFT OUTER JOIN
同义词集 ON senses.synsetid = synsets.synsetid
where senses.wordid = 79459

enter image description here

我知道您可以通过将 synsetid 提交回 sense 表来获取同义词,这将为您提供唯一的 wordid 和 sensekey,然后您可以将其与单词表连接。我的问题是我似乎无法构建该查询。

如果可能的话,我想获得这些专栏。如果不是 synsetid,则引理和定义即可。当前的数据库是 mySql 但我希望答案也适用于 sqlite,因为我将其用于 Android 应用程序。

wordid、引理、Senseid、synsetid、定义

架构:

CREATE TABLE `synsets` (
`synsetid` int(10) unsigned NOT NULL DEFAULT '0',
`pos` enum('n','v','a','r','s') NOT NULL,
`definition` mediumtext,
PRIMARY KEY (`synsetid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE `words` (
`wordid` int(10) unsigned NOT NULL DEFAULT '0',
`lemma` varchar(80) NOT NULL,
`mantiq` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`wordid`),
UNIQUE KEY `unq_words_lemma` (`lemma`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE `senses` (
`wordid` int(10) unsigned NOT NULL DEFAULT '0',
`synsetid` int(10) unsigned NOT NULL DEFAULT '0',
`senseid` int(10) unsigned DEFAULT NULL,
`sensekey` varchar(100) DEFAULT NULL,
PRIMARY KEY (`wordid`,`synsetid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `samples` (
`synsetid` int(10) unsigned NOT NULL DEFAULT '0',
`sampleid` smallint(5) unsigned NOT NULL DEFAULT '0',
`sample` mediumtext NOT NULL,
PRIMARY KEY (`synsetid`,`sampleid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

数据库链接:https://cloud.generatedesign.com/index.php/s/LA2G8ZvqNClqHFN

最佳答案

我不确定我是否完全理解这个问题,但是这样的东西行不通吗?

SELECT s1.wordid, s1.synsetid, s1.sensekey, synsets.definition
, s2.wordid AS matchedWordID, w.* -- Additional info not from question's query
FROM senses AS s1
LEFT JOIN synsets ON s1.synsetid = synsets.synsetid
LEFT JOIN senses AS s2 ON s1.synsetid = s2.synsetid AND s1.wordid <> s2.wordid
LEFT JOIN words AS w ON s2.wordid = w.wordid
WHERE s1.wordid = 79459
;

注意:... 只是您实际想要的字段列表的简写。

注意#2:您当然可以使用 synsets 引用连接到样本,但请记住,每个单词对和样本都会重复结果;如果某些单词对是多种含义的同义词,则可能会重复。

关于mysql - Wordnet sqlite 同义词和示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37104350/

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