Synonyms-Chinese Synonyms for Natural Language Processing and Understanding
2017-10-12 09:39
826 查看
Synonyms
Chinese Synonyms for Natural Language Processing and Understanding.最近需要做一个基于知识图谱的检索,但是因为知识图谱中存储的都是标准关键词,所以需要对用户的输入进行标准关键词的匹配。
于是采用了基于同义词库的方式,将《非标准表述》 映射到 《标准表述》,这就是Synonyms的起源。
下面我们来仔细聊聊Synonyms。
首先需要语料,我们采用了开放的大规模中文语料——维基百科中文语料。
(1)下载维基百科中文语料。
(2)繁简转换。
(3)分词。
具体操作访问wikidata-corpus
使用gensim自带的word2vec包进行词向量的训练。
(1)下载gensim。
(2)输入分词之后的维基语料进行词向量训练。
(3)测试训练好的词的近义词。
具体操作访问
wikidata-corpus
gensim.word2vec官方文档
最后进行同义词库测试。
import synonyms print("人脸: %s" % (synonyms.nearby("人脸"))) print("识别: %s" % (synonyms.nearby("识别"))) print("NOT_EXIST: %s" % (synonyms.nearby("NOT_EXIST")))
人脸: [['图片', '图像', '通过观察', '数字图像', '几何图形', '脸部', '图象', '放大镜', '面孔', 'Mii'], [0.597284, 0.580373, 0.568486, 0.535674, 0.531835, 0.530095, 0.525344, 0.524009, 0.523101, 0.516046]] 识别: [['辨识', '辨别', '辨认', '标识', '鉴别', '标记', '识别系统', '分辨', '检测', '区分'], [0.872249, 0.764099, 0.725761, 0.702918, 0.68861, 0.678132, 0.663829, 0.661863, 0.639442, 0.611004]]
使用:
pip install -U synonyms
更多的结果:
场景:
推荐。将用户输入进行近义词分析,可以推荐给用户相关的关键词。
搜索。将用户非标准化输入转换为标准化输入,进而进行数据库/知识库检索。
相似度计算。解决在自然语言处理任务中常见的词语语义相似度计算问题。
。。。。。。
Why Synonyms
1、准确率高。从上面的示例可以看到synonyms作为开放领域的同义词库,已经有较优的表现。
2、快速使用。
即安即用,方便开发者直接调用。
3、方便搭建。
相关文章推荐
- spaCy is a library for advanced natural language processing in Python and Cython:spaCy 工业级自然语言处理工具
- Deep Learning for Natural Language Processing1
- Neural Network Methods for Natural Language Processing 系列读书笔记 -- 预览
- 哥伦比亚大学Coursera课程Natural Language Processing:Quiz 2: covers material from weeks 3 and 4
- 哥伦比亚大学Coursera课程Natural Language Processing:Quiz 1: covers material from weeks 1 and 2
- QA: Dynamic Memory Networks for Natural Language Processing
- Neural Network Methods for Natural Language Processing 读书笔记2 —— 文本中的特征
- Chinese Language Processing and Chinese Computing
- Ask Me Anything: Dynamic Memory Networks for Natural Language Processing 阅读笔记及tensorflow实现
- Introduction to Chinese natural language processing
- (zhuan) Speech and Natural Language Processing
- A New General Deep Learning Approach for Natural Language Processing
- 【Deep Learning学习笔记】A Unified Architecture for Natural Language Processing_ICML2008
- Tools for Natural Language Processing(转)
- Neural Network Methods for Natural Language Processing 系列读书笔记 -- 第一章 介绍
- Neural Network Methods for Natural Language Processing 读书笔记1 —— 神经网络入门
- 【Natural Language Processing】跨语言情感分析(NLP&CC 2013)
- Deep Learning for Nature Language Processing --- 第七讲
- 论文笔记:Research and Implementation of a Multi-label Learning Algorithm for Chinese Text Classification
- Kotlin 1.0 Released: Pragmatic Language for JVM and Android