Synonyms-Chinese Synonyms for Natural Language Processing and Understanding

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、方便搭建。


猜你喜欢

转载自blog.csdn.net/qq_21460525/article/details/78210974