Synonyms

您所在的位置:网站首页 中文近义词网站 Synonyms

Synonyms

2024-07-11 03:31| 来源: 网络整理| 查看: 265

                                   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 synonyms

2. 测试

说明:其他用法,见官网。

 

二、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