2013-07-28 108 views
4

我想在Elasticsearch中使用synonym tokenfilter作为索引。我下载了WordNet 3.0的Prolog版本,并找到了Elasticsearch可以理解的wn_s.pl文件。然而,似乎该文件包含各种单词和短语的同义词,而我真的只对支持名词的同义词感兴趣。有没有办法提取这些类型的条目?名词同义词词网

+0

你问是否有一台计算机可以告诉一个单词是否是名词?你可以发表一些例子... – ramseykhalaf

+0

不,我问是否有办法减小文件的大小,使只有名词仍然存在。例如,如果我搜索'宇宙'(名词),与'宇宙'相关的结果将成为命中的一部分,但是如果我搜索'学习'(动词),只有'学习'这个词的结果将不会是一部分命中。 – flamecto

+0

您正在使用的代码示例将有所帮助! – arturomp

回答

8

假设的wn_s.pl格式是

s(112947045,1,'usance',n,1,0). 
s(200001742,1,'breathe',v,1,25). 

一个这样做将是非常原始的方式来执行在终端下面只采取从该文件中有该行“ N”串。

grep ",n," wn_s.pl > wn_s_nouns_only.pl 

文件wn_s_nouns_only.pl将只有标记为名词的条目。

+2

哦,是啊!我怎么没有想到这一点。谢谢!你也可以做'grep',n,'wn_s.pl> wn_s_nounsOnly.pl'作为一个稍微短一点的版本。 – flamecto

+0

同意 - 只是更新了答案! – arturomp