中文soundex项目dimsim的python实现
dimsim的Python项目详细描述
dimsim-中文soundex库(python版本)
dimsim是ibm almaden研究中心的可扩展知识智能团队作为SystemT项目的一部分开发的一个库。
可以找到pypi项目页here。它是与ibmcenterforopensourcedata和ai技术(CODAIT)合作创建的。
概述
我们提供了一种用声音对汉字进行标引的语音算法。技术细节见以下paper:
李敏,玛丽娜·丹尼尔夫斯基,莎拉·诺曼和李云耀。dimsim:一种基于学习高维编码的精确汉语语音相似度算法。康尔2018。
在这个库中,我们提供了一个预先训练的模型,它可以执行以下功能:
- 给定两个相同长度的汉语短语,返回输入短语的语音距离。你也可以选择输入汉语短语的拼音字符串。
- 给定一个汉语短语,返回其top-k相似(相像)的汉语短语。
如何安装
依赖项:
- pypinyin:用于将汉字翻译成相应的拼音。
安装此库有两种方法:
- 从pypi安装
pip install dimsim
- 通过克隆此repo下载源代码并自行编译。
git clone git@github.com:System-T/DimSim.git
cd DimSim/
pip install -e .
如何使用
一旦你安装了这个软件包,你就可以使用它来完成如下所示的两个功能。
- 计算两个汉语短语的音程。可选参数
pinyin
(默认为false)可用于直接提供拼音字符串列表。参见下面的示例用法。
importdimsimdist=dimsim.get_distance("大侠","大虾")0.0002380952380952381dist=dimsim.get_distance("大侠","大人")25.001417183349876dist=dimsim.get_distance(['da4','xia2'],['da4','xia1']],pinyin=True)0.0002380952380952381dist=dimsim.get_distance(['da4','xia2'],['da4','ren2']],pinyin=True)25.001417183349876
- 返回给定汉语短语的top-k语音相似短语。两个参数:
- mode控制返回的中文短语的字符类型,其中“simplified”表示简体中文,“traditional”表示繁体中文。
- theta控制候选短语的搜索空间大小。
importdimsimcandidates=dimsim.get_candidates("大侠",mode="simplified",theta=1)['打下','大虾','大侠']candidates=dimsim.get_candidates("粉丝",mode="traditinoal",theta=1)['門市','分時','焚屍','粉飾','粉絲']
引文
请参考已发表的论文引用图书馆:
@InProceedings{K18-1043,
author = {Li, Min and Danilevsky, Marina and Noeman, Sara and Li, Yunyao},
title = {{DIMSIM:} An Accurate Chinese Phonetic Similarity Algorithm Based on Learned High Dimensional Encoding},
booktitle = {Proceedings of the 22nd Conference on Computational Natural Language Learning},
year = {2018},
publisher = {Association for Computational Linguistics},
pages = {444-453},
location = {Brussels, Belgium},
url = {http://aclweb.org/anthology/K18-1043}
}