必威体育Betway必威体育官网
当前位置:首页 > IT技术

Synonyms: 中文近义词工具包

时间:2019-08-12 15:43:14来源:IT技术作者:seo实验室小编阅读:64次「手机版」
 

近义词

Synonyms

Chinese Synonyms for Natural Language Processing and understanding.

最好的中文近义词工具包: https://github.com/huyingxi/Synonyms/。

synonyms 可以用于自然语言理解的很多任务:文本对齐,推荐算法相似度计算,语义偏移,关键字提取,概念提取,自动摘要,搜索引擎等。

Welcome

pip install -U synonyms

兼容py2和py3,当前稳定版本 v2.2。同时,Node.js 用户可以使用 node-synonyms了。

npm install node-synonyms

Samples

Usage

synonyms#nearby



import synonyms
print("人脸: %s" % (synonyms.nearby("人脸")))
print("识别: %s" % (synonyms.nearby("识别")))
print("NOT_EXIST: %s" % (synonyms.nearby("NOT_EXIST")))

synonyms.nearby(word)返回一个list,list中包含两项:[[nearby_words], [nearby_words_score]]nearby_words是WORD的近义词们,也以list的方式存储,并且按照距离的长度由近及远排列,nearby_words_scorenearby_words对应位置的词的距离的分数,分数在(0-1)区间内,越接近于1,代表越相近。比如:

synonyms.nearby(人脸) = [
    ["图片", "图像", "通过观察", "数字图像", "几何图形", "脸部", "图象", "放大镜", "面孔", "Mii"],
    [0.597284, 0.580373, 0.568486, 0.535674, 0.531835, 0.530
095, 0.525344, 0.524009, 0.523101, 0.516046]]

在OOV的情况下,返回 [[], []],目前的字典大小: 125,792。

synonyms#compare

两个句子的相似度比较

    sen1 = "发生历史性变革"
    sen2 = "发生历史性变革"
    r = synonyms.compare(sen1, sen2, seg=True)

其中,参数 seg 表示 synonyms.compare是否对sen1 和 sen2进行分词,默认为 True。返回值:[0-1],并且越接近于1代表两个句子越相似。

旗帜引领方向 vs 道路决定命运: 0.429
旗帜引领方向 vs 旗帜指引道路: 0.93
发生历史性变革 vs 发生历史性变革: 1.0

synonyms#display

以友好的方式打印近义词,方便调试,display调用了 synonyms#nearby 方法。

>>> synonyms.display("飞机")
'飞机'近义词:
  1. 架飞机:0.837399
  2. 客机:0.764609
  3. 直升机:0.762116
  4. 民航机:0.750519
  5. 航机:0.750116
  6. 起飞:0.735736
  7. 战机:0.734975
  8. 飞行中:0.732649
  9. 航空器:0.723945
  10. 运输机:0.720578

PCA

Demo

$ pip install -r requirements.txt
$ Python demo.py

Voice of Users

Data

synonyms/data/words.nearby.x.pklz # compressed pickle object

data is built based on wikidata-corpus.

Valuation

同义词词林

《同义词词林》是梅家驹等人于1983年编纂而成,现在使用广泛的是哈工大社会计算与信息检索研究中心维护的《同义词词林扩展版》,它精细的将中文词汇划分成大类和小类,梳理了词汇间的关系,同义词词林扩展版包含词语77,343条,其中32,470被以开放数据形式共享。

知网, HowNet

HowNet,也被称为知网,它并不只是一个语义字典,而是一个知识系统,词汇之间的关系是其一个基本使用场景。知网包含词语8,265条。

国际上对词语相似度算法的评价标准普遍采用 Miller&Charles 发布的英语词对集的人工判定值。该词对集由十对高度相关、十对中度相关、十对低度相关共 30 个英语词对组成,然后让38个受试者对这30对进行语义相关度判断,最后取他们的平均值作为人工判定标准。然后不同近义词工具也对这些词汇进行相似度评分,与人工判定标准做比较,比如使用皮尔森相关系数。在中文领域,使用这个词表的翻译版进行中文近义词比较也是常用的办法。

对比

Synonyms的词表容量是125,792,下面选择一些在同义词词林、知网和Synonyms都存在的几个词,给出其近似度的对比:

注:同义词林及知网数据、分数来源, https://github.com/yaleimeng/final_word_Similarity

Benchmark

Test with py3, MacBook Pro.

python benchmark.py

++++++++++ OS Name and version ++++++++++

Platform: Darwin

Kernel: 16.7.0

Architecture: (‘64bit’, ”)

++++++++++ cpu Cores ++++++++++

Cores: 4

CPU Load: 60

++++++++++ System Memory ++++++++++

meminfo 8GB

synonyms#nearby: 100000 loops, best of 3 epochs: 0.209 usec per loop

Live Sharing

52nlp.cn

机器之心

线上分享实录: Synonyms 中文近义词工具包 @ 2018-02-07

statement

Synonyms发布证书 GPL 3.0。数据和程序可用于研究和商业产品,必须注明引用和地址,比如发布的任何媒体、期刊、杂志或博客内容

@online{Synonyms:hain2017,
  author = {Hai Liang Wang, Hu Ying Xi},
  title = {中文近义词工具包Synonyms},
  year = 2017,
  url = {https://github.com/huyingxi/Synonyms},
  urldate = {2017-09-27}
}

任何基于Synonyms衍生的数据和项目也需要开放并需要声明一致的“声明”。

references

wikidata-corpus

word2vec原理推导与代码分析

Authors

Hai Liang Wang

Hu Ying Xi

Give credits to

Word2vec by Google

Wikimedia: 训练语料来源

gensim: word2vec.py

SentenceSim: 相似度评测语料

jieba: 中文分词

License

GPL3.0

相关阅读

linux下mysql中文乱码(中文问号)解决办法

安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;由于linux下MySQL的

开发环境 - 解决SecureCRT 中文乱码

在linux服务器上搭建solr,用的是SecureCRT  连接linux服务器,发现不能输入中文,配置文件中的中文也是乱码;先以为是SecureCRT工具编

ZeroMQ教程中文版

https://gitee.com/solym/ZeroMQ-Guide-Zh https://github.com/booksbyus/zguide ZMQ接口文档的官方网站 : http://api.zeromq.org

【宾州中文树库CTB】数据读取

CTB8.0 共有如下类型文件:  Newswire: [0001-0325, 0400-0454, 0500-0540, 0600-0885, 0900-0931, 4000-4050]——后缀.nw.raw 

Effective Java 第 3 版(中文版)PDF 下载

微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。 简介 本书一共包含 90 个条目,每个条目讨论 Java 程序

分享到:

栏目导航

推荐阅读

热门阅读