词语相似度计算:1、安装NLTK和下载WordNet语料库;WordNet的使用



NLTK在anaconda中有,WordNet语料库需要手动下载。这里主要介绍如何下载wordnet语料库。。。


In [1]: from nltk.corpus import wordnet as wn

In [2]: wn.syssets('love')
Traceback (most recent call last):

  File "", line 1, in 
    wn.syssets('love')

  File "d:\Anaconda\lib\site-packages\nltk\corpus\util.py", line 99, in __getattr__
    self.__load()

  File "d:\Anaconda\lib\site-packages\nltk\corpus\util.py", line 64, in __load
    except LookupError: raise e

LookupError: 
**********************************************************************
  Resource u'corpora/wordnet' not found.  Please use the NLTK
  Downloader to obtain the resource:  >>> nltk.download()
  Searched in:
    - 'C:\\Users\\mmc/nltk_data'
    - 'C:\\nltk_data'
    - 'D:\\nltk_data'
    - 'E:\\nltk_data'
    - 'd:\\Anaconda\\nltk_data'
    - 'd:\\Anaconda\\lib\\nltk_data'
    - 'C:\\Users\\mmc\\AppData\\Roaming\\nltk_data'
**********************************************************************



解决方法:

In [3]: import nltk

In [4]: nltk.download()
出现下面的图形界面:

词语相似度计算:1、安装NLTK和下载WordNet语料库;WordNet的使用_第1张图片

注意,选择第二个选项卡“Corpora”,滑到下面选择和wordnet相关的两个语料库,否则你就等着他慢慢下载吧。。。。。





参考文章,感谢他们:

NLTK:http://www.nltk.org/

WordNet:http://wordnet.princeton.edu/


http://www.velvetcache.org/2010/03/01/looking-up-words-in-a-dictionary-using-python

http://www.tuicool.com/articles/zqIvAr

http://blog.csdn.net/ictextr9/article/details/4008703

http://blog.csdn.net/u010454729/article/details/22397255




WordNet是面向语义的英语词典,类似于传统字典。它是NLTK语料库的一部分,可以被这样调用:

 

更简洁的写法:

1 .单词

查看一个单词的同义词集用synsets(); 它有一个参数pos,可以指定查找的词性。这里得到的同义词集是同义词集的集合,即里面不是单纯的词,是同义词的集合.

词语相似度计算:1、安装NLTK和下载WordNet语料库;WordNet的使用_第2张图片

注:

  •  一个synset(同义词集:指意义相同的词条的集合)被一个三元组描述:(单词.词性.序号)。这里的’dog.n.01’指:dog的第一个名词意思;’chase.v.01’指:chase的第一个动词意思
  •  pos可为:NOUN、VERB、ADJ、ADV…

词语相似度计算:1、安装NLTK和下载WordNet语料库;WordNet的使用_第3张图片

2 .同义词集

词语相似度计算:1、安装NLTK和下载WordNet语料库;WordNet的使用_第4张图片

 :一些关系的获得只能通过Lemmas,比如反义词:

词语相似度计算:1、安装NLTK和下载WordNet语料库;WordNet的使用_第5张图片

3. Similarity

synset1.path_similarity(synset2): 是基于上位词层次结构中相互连接的概念之间的最短路径在0-1范围的打分(两者之间没有路径就返回-1)。同义词集与自身比较将返回1


你可能感兴趣的:(词语相似度计算,万小军老师《语义计算课程》)