1)Wordnet和python。使用NLTK,它有一个很好的interface to wordnet。你可以自己写一些东西,但老实说,为什么让生活变得困难?Lingpipe可能还内置了一些东西,但NLTK更容易使用。我认为nltk只是下载了一个ntlk数据库,但我很确定有api可以与wordnet对话。在
2)在nltk follow this tutorial中获取bigrams。一般来说,你将文本标记化,然后通过向前和向后看,遍历句子,得到每个单词的n个单词。在
?- s_helper(X), word_in_term('beat',X).
X = 'beat generation' ;
X = 'beat in' ;
X = 'beat about' ;
X = 'beat around the bush' ;
X = 'beat out' ;
X = 'beat up' ;
X = 'beat up' ;
X = 'beat back' ;
X = 'beat out' ;
X = 'beat down' ;
X = 'beat a retreat' ;
X = 'beat down' ;
X = 'beat down' ;
No
这是两个不同的问题。在
1)Wordnet和python。使用NLTK,它有一个很好的interface to wordnet。你可以自己写一些东西,但老实说,为什么让生活变得困难?Lingpipe可能还内置了一些东西,但NLTK更容易使用。我认为nltk只是下载了一个ntlk数据库,但我很确定有api可以与wordnet对话。在
2)在nltk follow this tutorial中获取bigrams。一般来说,你将文本标记化,然后通过向前和向后看,遍历句子,得到每个单词的n个单词。在
作为NLTK的替代,您可以使用可用的wordnetsparql端点的one来检索此类信息。查询示例:
在Java世界中,可以使用Jena和{a3}框架。在
通过查看WordNet数据最容易理解 在序言文件。记录如下:
http://wordnet.princeton.edu/wordnet/man/prologdb.5WN.html
WordNet术语被分组成语法集。synset是最大值 同义词集。Synsets有一个主键,因此可以使用它们 在语义关系中。在
所以回答你的第一个问题,你可以列出不同的 一个词的意义和对应的同义词如下:
示例:
^{pr2}$在问题的第二部分,WordNet术语是 单词序列。所以你可以搜索这个词 用词如下:
示例:
这会给你潜在的n克数,但没有那么多 形态变异。WordNet也展示了一些 词汇关系,这可能是有用的。在
但是我给出的两个Prolog查询都不是很有效。 问题是缺乏一些单词索引。爪哇 实现当然可以实现更好的东西。 想象一下:
有些Prolog也可以这样做,通过一个索引指令 可以指示Prolog系统在多个 谓词的参数。在
建立一个web服务也不难 在Java或Prolog中。许多Prologs系统很容易允许嵌入 web服务器中的Prolog程序,以及Java冠军servlet。在
支持web服务器的Prologs列表可在以下位置找到:
http://en.wikipedia.org/wiki/Comparison_of_Prolog_implementations#Operating_system_and_Web-related_features
谨致问候
相关问题 更多 >
编程相关推荐