目的
给定一个或多个搜索词,如“高血压 患者”,从已有的若干篇文本中找出最相关的(n篇)文本。
理论知识
文本检索(text retrieve)的常用策略是:用一个ranking function根据搜索词对所有文本进行排序,选取前n个,就像百度搜索一样。
算法:模型选择
-
1、基于word2vec的词语相似度计算模型
-
2、python的实现用到了gensim库
-
3、“jieba”中文分词
分步实现:
-
jieba.cut
方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用
HMM 模型构建停用词表
[Python] 纯文本查看 复制代码
1
2
3
|
stop_words = 'demo/stop_words.txt'
stopwords = codecs. open (stop_words, 'r' ,encoding = 'utf8' ).readlines()
stopwords = [ w.strip() for w in stopwords ]
|
结巴分词后的停用词性 [标点符号、连词、助词、副词、介词、时语素、‘的’、数词、方位词、代词]
[Python] 纯文本查看 复制代码
1
|
stop_flag = [ 'x' , 'c' , 'u' , 'd' , 'p' , 't' , 'uj' , 'm' , 'f' , 'r' ]
|
对一篇文章分词、去停用词
[Python] 纯文本查看 复制代码
1
|