纵有疾风起
人生不言弃

python替换同义词 jieba替换同义词

python替换同义词 jieba替换同义词

文章目录

0 描述:

在构建基于知识图谱的问答系统过程中,我们发现 知识图谱对于实体的识别是非常敏感的, 如果用户输入的关键词 不对(哪怕只差一个词) 知识图谱就找不到对应的三元组。

所以我们打算现将用户的输入做一个预处理 , 将一些同义词 手动 转化为 知识图谱的中标准输入。

1构建同义词文件txt

构建同义词文件tongyici_tihuan.txt,每一个同义词列为一行,每行第一个为希望分隔后呈现的词语,后几个为第一个词的同义词,用tab键分隔,比如:

年休假	年假	年休
北京	北平	首都

在这个例子里“北平 首都”都会被替换为 “北京”

2代码

# encoding=utf-8
import jieba
def tihuan_tongyici(string1):
    # tongyici_tihuan.txt是同义词表,每行是一系列同义词,用tab分割
    # 1读取同义词表:并生成一个字典。
    combine_dict = { }
    for line in open("tongyici_tihuan.txt", "r"):
        seperate_word = line.strip().split("\t")
        num = len(seperate_word)
        for i in range(1, num):
            combine_dict[seperate_word[i]] = seperate_word[0]

    # 2提升某些词的词频,使其能够被jieba识别出来
    jieba.suggest_freq("年假", tune = True)

    # 3将语句切分
    seg_list = jieba.cut(string1, cut_all = False)
    f = "/".join(seg_list).encode("utf-8")  # 不用utf-8编码的话,就不能和tongyici文件里的词对应上
    # print f

    # 4
    final_sentence = ""
    for word in f.split("/"):
        if word in combine_dict:
            word = combine_dict[word]
            final_sentence += word
        else:
            final_sentence += word
    # print final_sentence
    return final_sentence



string1 = '年假到底放几天?'
print tihuan_tongyici(string1)

原文链接:https://lookme.blog.csdn.net/article/details/88813307

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

未经允许不得转载:起风网 » python替换同义词 jieba替换同义词
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录