Synonyms |
您所在的位置:网站首页 › 中文近义词网站 › Synonyms |
Synonyms——中文近义词工具【含源码解析与改进】
目标: 1. 使用Synonyms包解决NLP问题,落实到业务中;2. 解析Synonyms源码,厘清原理3. 结合个人理解,提出改进方案
背景:Synonyms 是一个中文近义词工具包,它可用于如文本对齐、推荐算法、相似度计算、语义偏移、关键字提取、概念提取、自动摘要、搜索引擎等很多自然语言理解(NLP)任务。 Synonyms的码云地址:https://gitee.com/mirrors/Synonyms?_from=gitee_search(含具体用法)Synonyms的Github地址:https://github.com/huyingxi/Synonyms 一、Synonyms的使用 1. 安装 pip install -U synonyms2. 测试 说明:其他用法,见官网。
二、Synonyms原理与源码解析 1. Synonyms原理 A. 利用word2vec训练wikidata-corpus,得到一个词向量;训练方法原作者是提供了的,具体过程见https://github.com/chatopera/wikidata-corpus;PS:如果觉得百科语料满足不了你的需求,可以自己准备个规模更大的语料集,进行训练,比如腾讯词向量。说到这里很多朋友或许知道,AINLP公众号里面不是也有一个同义词功能吗?那个的原理什么?这个留个坑位,下篇博客介绍。 B. 利用改写的gensim.models.KeyedVectors.load_word2vec_format函数,当然有些其他的文件。作者改后的文件如下: C. 将词向量建成KD-Tree【API文档】,用于最近邻相似检索【同义词核心点】,代码其实就2~3行。此处先占个坑位,提供一篇个人博客,专门总结相似度检索的业内做法。D. 输入关键词keyword,转为词向量后,从KD-Tree中快速找到Top K的相似关键词索引与相似值【该值是建树时的一种距离计算方式】,最后再查表找到最终的相似关键词。如果想计算余弦相似度,逐一转为词向量计算一次就行。
2、源码解析 这部分主要目的:建立在跑通源码的基础上,谈下这个方法的亮点以及不足。
参考博客: Synonyms,一个开源的中文近义词工具包 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |