• WordNet::Similarity的安装和使用


     

    简介

    WordNet::Similarity是一个Perl实现的软件包,可以用来计算两个概念(或者word sense)之间的语义相似度,它提供了六种计算相似度和三种计算概念之间关联度的方法,所有的这些方法都是基于WordNet这个词汇数据库。

    依附

    • WordNet
    • Digest-SHA1
    •  WordNet::QueryData
    • Text-Similarity

     

    下载位置

     

    安装

    WordNet

    1.  sudo apt-get install tcl8.4-dev
    sudo apt-get install tk8.4-dev

    2.  ./configure

    3.  sudo make

    如果出现问题:checking for gawk... no

    解决:sudo apt-get install gawk

    4.  sudo make install

    5.    设置变量

    sudo vim /etc/profile

    添加:export PATH=$PATH:/usr/local/Wordnet-3.0/bin

    退出编译:source /etc/profile

     

    Digest-SHA1

    进入相应目录cd path

    依次运行如下命令

    perl Makefile.PL
    make
    make test
    sudo make install

     

    其他

    WordNet::QueryDataText-SimilarityWordNet::Similarity的安装与Digest-SHA1完全一样

     

    使用

     NLTKWordNet接口

    参照http://www.cnblogs.com/kaituorensheng/p/3149095.html

     

    命令行

    $ similarity.pl --type WordNet::Similarity::lin car#n#2 bus#n#1

    car#n#2 bus#n#1 0.530371390319309 # railway car versus motor coach

     

    $similarity.pl --type WordNet::Similarity::lin car#n bus#n

    car#n#1  bus#n#1  0.603649218135011  #返回相似值最高的匹配对

     

    $similarity.pl --type WordNet::Similarity::lin --allsensescar#n bus#n

    car#n  bus#n  (all senses)

    car#n#1  bus#n#1  0.603649218135011

    car#n#2  bus#n#1  0.533827219913664

    car#n#1  bus#n#4  0

    car#n#3  bus#n#3  0

    car#n#4  bus#n#1  0

    car#n#2  bus#n#4  0

    car#n#5  bus#n#1  0

    car#n#5  bus#n#4  0

    car#n#3  bus#n#4  0

    car#n#4  bus#n#2  0

    car#n#5  bus#n#3  0

    car#n#3  bus#n#2  0

    car#n#4  bus#n#4  0

    car#n#2  bus#n#2  0

    car#n#5  bus#n#2  0

    car#n#1  bus#n#3  0

    car#n#3  bus#n#1  0

    car#n#2  bus#n#3  0

    car#n#1  bus#n#2  0

    car#n#4  bus#n#3  0  #加上参数—allsenses 返回所有的匹配

     

    脚本

     

    #/usr/bin/perl -w
    use WordNet::QueryData;
    use WordNet::Similarity::lin;
    
    $wnObj = new WordNet::QueryData;
    $linObj = new WordNet::Similarity::lin($wnObj);
    $value = $linObj -> getRelatedness('car#n#1', 'bus#n#1');
    print $value

     

     

    依靠路径长度的:lch, wup, path

    依靠路径长度和最小公共包含(LCS):res, lin, jcn

     

    相似度和关联度的介绍可以参考翻译论文:http://hi.baidu.com/dailyye/item/a2c7fb61ae6ae22769105b18

    CPAN地址:http://search.cpan.org/dist/WordNet-Similarity/utils/similarity.pl

  • 相关阅读:
    ngInclude与script加载模板
    ng-model-options
    angular模板加载 ----ng-template
    ngBind ngBindTemplate ngBindHtml
    ng-switch
    ng-show与ng-if区别
    运维教给我什么
    路漫漫其修远兮,吾将上下而求索
    那些让我们继续坚持下去句子
    随手记
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/3370917.html
Copyright © 2020-2023  润新知