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::QueryData,Text-Similarity,WordNet::Similarity的安装与Digest-SHA1完全一样
使用
$ 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的安装和使用的更多相关文章
- 基于WordNet的英文同义词、近义词相似度评估及代码实现
源码地址:https://github.com/XBWer/WordSimilarity 1.确定要解决的问题及意义 在基于代码片段的分类过程中,由于程序员对数据变量名的选取可能具有一定的规范性,在某 ...
- nltk安装及wordnet使用详解
环境:python2.7.10 首先安装pip 在https://pip.pypa.io/en/stable/installing/ 下载get-pip.py 然后执行 python get-pip. ...
- 自然语言处理--nltk安装及wordnet使用详解
环境:python2.7.10 首先安装pip 在https://pip.pypa.io/en/stable/installing/ 下载get-pip.py 然后执行 python get-pip. ...
- 自然语言20.1 WordNet介绍和使用 _
http://blog.csdn.net/ictextr9/article/details/4008703 Wordnet是一个词典.每个词语(word)可能有多个不同的语义,对应不同的sense.而 ...
- Elasticsearch中的相似度模型(原文:Similarity in Elasticsearch)
原文链接:https://www.elastic.co/blog/found-similarity-in-elasticsearch 原文 By Konrad Beiske 翻译 By 高家宝 译者按 ...
- Centos 7.3 编译 & 安装 & 测试 facebook faiss
许多 AI 系统训练完毕,正式上线时的基本操作往往可以抽象为:在高维向量空间中,给定一个向量,寻找与之最相近的 k 个向量.当向量数目异常巨大时,如何快速地执行这一基本操作,便成为 AI 系统在工程应 ...
- BinDiff安装使用教程
一.说明 大概一两年前在<漏洞战争:软件漏洞分析精要>听到bindiff(和补丁比较法),但一直都没去使用.前两天再回头看书感觉需要使用一翻,整个过程下来还是遇到了一些问题,值得记录一番. ...
- NLTK之WordNet 接口【转】
转自:http://www.cnblogs.com/kaituorensheng/p/3149095.html WordNet是面向语义的英语词典,类似于传统字典.它是NLTK语料库的一部分,可以 ...
- NLTK之WordNet 接口
WordNet是面向语义的英语词典,类似于传统字典.它是NLTK语料库的一部分,可以被这样调用: 更简洁的写法: 1.单词 查看一个单词的同义词集用synsets(); 它有一个参数pos,可以指定查 ...
随机推荐
- Linux动态库的导出控制
在实际工作中,许多软件模块是以动态库的方式提供的.做为模块开发人员,我们不仅要掌握如何编写和构建动态库,还要了解如何控制动态库的导出接口,这样,我们可以向模块的用户仅导出必要的接口,而另一些内部接口, ...
- SpringBoot idea maven打包war及运行war包
pom.xml修改打包类型pom改为war <artifactId>Test02</artifactId> <packaging>war</packaging ...
- [转]CocoaPods安装和使用教程
[转载自:http://code4app.com/article/cocoapods-install-usage] 目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用Coc ...
- php 逐行读取文本文件
在读取文本时,我们要注意一个事情,那就是换行符,应为我们在写文档时会手动换行,这个换行符需不需要保存就要看自己的需求了. 这里封装了两个方法,一个保留换行,一个不保留.$path为文件路径+文件名 1 ...
- 46.ActiveMQ开篇(Hello World、安全认证、Connection、Session、MessageProducer、MessageConsumer)
要给有能力的人足够的发挥空间,公司可以养一些能力平平甚至是混日子的人,但绝不能让这些人妨碍有能力的人,否则这样的环境不留也罢. 一.背景介绍 CORBA\DCOM\RMI等RPC中间件技术已经广泛应用 ...
- 【JS新手教程】浏览器弹出div层1
JS中,可以弹出一个层来进行提示等作用,方法是利用css样式display样式,当display等于none时,该元素就不会在页面显示出来,而且元素也不会占空间.就是用户触发某些事件时,动态修改该样式 ...
- docker阿里云镜像加速器使用
加速器使用:加快镜像下载速度 访问www.aliyun.com: 登录之后点击”控制台“,选择“产品与服务“: 选择“容器镜像服务“: 设定密码后选择“镜像加速器”: 这里会有一个加速器地址: 在 ...
- springboot第四篇:debug模式开发运用
前提:项目是以maven project结构建立的,现状是无法进行断点调试的.怎么才能在eclipse里进行调试呢? 需要:①将项目打包部署到tomcat ②往项目加入dynamic web modu ...
- ThreadLocal系列(二)-InheritableThreadLocal的使用及原理解析
ThreadLocal系列之InheritableThreadLocal的使用及原理解析(源码基于java8) 上一篇:ThreadLocal系列(一)-ThreadLocal的使用及原理解析 下一篇 ...
- SQL语句01
SQL(Structured Query Language):结构化查询语言 SQL分类: 数据操纵语言DML(Data Manipulation Language) SELECT ...