简介

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::QueryData,Text-Similarity,WordNet::Similarity的安装与Digest-SHA1完全一样

使用

 NLTK之WordNet接口

参照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

WordNet::Similarity的安装和使用的更多相关文章

  1. 基于WordNet的英文同义词、近义词相似度评估及代码实现

    源码地址:https://github.com/XBWer/WordSimilarity 1.确定要解决的问题及意义 在基于代码片段的分类过程中,由于程序员对数据变量名的选取可能具有一定的规范性,在某 ...

  2. nltk安装及wordnet使用详解

    环境:python2.7.10 首先安装pip 在https://pip.pypa.io/en/stable/installing/ 下载get-pip.py 然后执行 python get-pip. ...

  3. 自然语言处理--nltk安装及wordnet使用详解

    环境:python2.7.10 首先安装pip 在https://pip.pypa.io/en/stable/installing/ 下载get-pip.py 然后执行 python get-pip. ...

  4. 自然语言20.1 WordNet介绍和使用 _

    http://blog.csdn.net/ictextr9/article/details/4008703 Wordnet是一个词典.每个词语(word)可能有多个不同的语义,对应不同的sense.而 ...

  5. Elasticsearch中的相似度模型(原文:Similarity in Elasticsearch)

    原文链接:https://www.elastic.co/blog/found-similarity-in-elasticsearch 原文 By Konrad Beiske 翻译 By 高家宝 译者按 ...

  6. Centos 7.3 编译 & 安装 & 测试 facebook faiss

    许多 AI 系统训练完毕,正式上线时的基本操作往往可以抽象为:在高维向量空间中,给定一个向量,寻找与之最相近的 k 个向量.当向量数目异常巨大时,如何快速地执行这一基本操作,便成为 AI 系统在工程应 ...

  7. BinDiff安装使用教程

    一.说明 大概一两年前在<漏洞战争:软件漏洞分析精要>听到bindiff(和补丁比较法),但一直都没去使用.前两天再回头看书感觉需要使用一翻,整个过程下来还是遇到了一些问题,值得记录一番. ...

  8. NLTK之WordNet 接口【转】

    转自:http://www.cnblogs.com/kaituorensheng/p/3149095.html   WordNet是面向语义的英语词典,类似于传统字典.它是NLTK语料库的一部分,可以 ...

  9. NLTK之WordNet 接口

    WordNet是面向语义的英语词典,类似于传统字典.它是NLTK语料库的一部分,可以被这样调用: 更简洁的写法: 1.单词 查看一个单词的同义词集用synsets(); 它有一个参数pos,可以指定查 ...

随机推荐

  1. 基于Extjs的web表单设计器

    由于这样工作和自身的一些原因很长一段时间没有写过博客了.最近想把自己前面一段时间搞出的一个表单设计器的相关经验或者经历记录下来.分享给大家,也算是对自己前2个月的一个总结回顾吧. 首先介绍一下开发此版 ...

  2. elasticsearch不能使用root启动问题解决

    问题: es安装好之后,使用root启动会报错:can not run elasticsearch as root [root@iZbp1bb2egi7w0ueys548pZ bin]# ./elas ...

  3. (zxing.net)一维码Code 128的简介、实现与解码

    一.简介 一维码Code 128:1981年推出,是一种长度可变.连续性的字母数字条码.与其他一维条码比较起来,相对较为复杂,支持的字元也相对较多,又有不同的编码方式可供交互运用,因此其应用弹性也较大 ...

  4. 初步理解IOC和DI和AOP模式

    初步理解IOC和DI和AOP模式 控制反转(IOC) 控制反转(IOC,Inversion of Control)是一种转主动为被动关系的一种编程模式,有点类似于工厂模式,举个栗子, 下面这个这不是I ...

  5. python网络编程--操作系统介绍

    1.操作系统介绍 操作系统位于计算机硬件与应用软件之间,本质也是一个软件.操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两 ...

  6. 和我一起学python

    近来python越来越火,很多人都出了教程,我也来出一个凑凑热闹吧. pycharm激活 http://idea.lanyus.com/ https://blog.csdn.net/u01404481 ...

  7. Python3.5 学习六

    心灵鸡汤 电影推荐 末代独裁.杀戮战场.红色高棉.杀戮战场 面向对象介绍 class 类 object 对象 面向对象特性介绍 类的三大特性: 封装 继承 多态 类的构造函数 def __init__ ...

  8. php函数源代码 C编写 【持续更新】

    由于经常被抓取文章内容,在此附上博客文章网址:,偶尔会更新某些出错的数据或文字,建议到我博客地址 :  --> 点击这里 strlen() 获取字符串长度,成功则返回字符串 string 的长度 ...

  9. Prim算法---最小生成树

    最小生成树的Prim算法也是贪心算法的一大经典应用.Prim算法的特点是时刻维护一棵树,算法不断加边,加的过程始终是一棵树. Prim算法过程: 一条边一条边地加, 维护一棵树. 初始 E = {}空 ...

  10. “全栈2019”Java多线程第八章:放弃执行权yield()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...