使用WordNet创建一个简单的字典

时间:2011-06-19 21:08:55

标签: php mysql wordnet

我正在从http://www.semantilog.org/wn2sql.html

在MySQL中安装WordNet

我希望以与普林斯顿网页相同的方式显示数据:http://wordnetweb.princeton.edu/perl/webwn?s=car

我如何查询数据库来做到这一点?我正在使用PHP。

1 个答案:

答案 0 :(得分:11)

从我从网站上的文档中收集到的内容,您似乎需要查询三个表。

首先,您查询表,以获取 wordno ,每个字都有一个唯一的数字。它看起来像这样。

//assuming you've connected to your MySQL db
$word=$_GET['s']; //This variable stores the value given through url
if (ctype_alpha($word)){ // If it's alphabetical
  $word_clean=mysql_real_escape_string($word); //Sanitize it for MySQL
}else{
  //Not a valid word, error handle
  exit();
}
$query='SELECT wordno FROM word WHERE lemma=`$word_clean` LIMIT 1';
$result=mysql_query($query);

接下来,我们需要查询 sense 表,以获取 synsetno ,它将输出单词的不同含义。例如:can(名词)和can(动词),每个都有一个唯一的数字,即 synsetno

MySQL查询将是:

$query='SELECT synsetno FROM sense WHERE wordno=`$wordno`';

对于从该查询获得的每个结果,您必须查询 synset 表以获取每个意义的定义。 Can(名词)和can(动词)有不同的定义。每个 synsetno 的查询。

$query='SELECT definition FROM synset WHERE synsetno=`$synset`';

并且presto!你有一本非常酷的字典。但是,CPU需要查询三个表,每个表都有大量的记录。