Synonyms — 开源中文近义词工具包
Chinese Synonyms for Natural Language Processing and Understanding — 最好的中文近义词工具包。
synonyms 可用于自然语言处理的多项任务:文本对齐、推荐算法、相似度计算、语义偏移、关键字提取、概念提取、自动摘要、搜索引擎等。
安装
Python
pip install -U synonyms
兼容 Python 2 和 3,当前稳定版本 v3.x。

Node.js
npm install node-synonyms
环境变量配置
支持使用环境变量配置分词词表和 word2vec 词向量文件:
| 环境变量 | 说明 |
|---|---|
SYNONYMS_WORD2VEC_BIN_MODEL_ZH_CN |
word2vec 训练的词向量文件,二进制格式 |
SYNONYMS_WORDSEG_DICT |
中文分词主字典 |
中文分词
import synonyms
synonyms.seg("中文近义词工具包")
输出(单词列表和词性列表):
(['中文', '近义词', '工具包'], ['nz', 'n', 'n'])
不去停用词和标点。
获取近义词
import synonyms
print("人脸: %s" % (synonyms.nearby("人脸")))
print("识别: %s" % (synonyms.nearby("识别")))
print("NOT_EXIST: %s" % (synonyms.nearby("NOT_EXIST")))
返回 ([近义词列表], [分数列表]),分数在 0~1 之间,越接近 1 越相近。未登录词返回 ([], [])。当前字典大小:125,792。
句子相似度比较
sen1 = "发生历史性变革"
sen2 = "发生历史性变革"
r = synonyms.compare(sen1, sen2, seg=True)
seg 参数表示是否对句子分词,默认为 True。返回值范围 [0, 1]。
示例:
旗帜引领方向 vs 道路决定命运:0.429旗帜引领方向 vs 旗帜指引道路:0.93发生历史性变革 vs 发生历史性变革:1.0
友好打印近义词
synonyms.display("飞机")
输出:
'飞机'近义词:
1. 架飞机:0.837399
2. 客机:0.764609
3. 直升机:0.762116
...
获取词向量
>>> synonyms.v("飞机")
array([-2.412167, 2.2628384, -7.0214124, ...], dtype=float32)
未登录词抛出 KeyError。
句子向量化
synonyms.sv("句子是分词后通过空格联合起来", ignore=False)
以 BoW 方式获得句子的向量表示。ignore=True 时忽略未登录词。
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧



暂无评论内容