首页 > 代码库 > gensim自然语言处理
gensim自然语言处理
最近在做词语的相似度做比较,就选用了gensim
首先要安装gensim库,此处省略,参看官网http://radimrehurek.com/gensim/install.html
在网上下了一些词库
{"date": "2016-05-01", "content": "京东家电 沸腾五一\n买家电 上京东4.28-5.7\n邯郸京东帮联动会\n馆陶站 大型文艺汇演\n五一会员狂欢会,凭券入场更实惠\n买家电 ,上京东,突破底线 限时抢购!\n京东帮\n馆陶文卫街服务店\n大型文艺汇演现场\n活动日期2}
import sys
import jieba
reload(sys)
sys.setdefaultencoding("utf-8")
from gensim import corpora,models,similarities
alist = []
import json
def fenci():
for i_text in open("xaa.json"): #读取文文件
f_json = json.loads(i_text)
kk = f_json["content"]
item_str = jieba.cut(kk.encode("utf-8"),cut_all=True) #使用jieba分词
a = " ".join(item_str)
alist.append(a)
fenci()
class MyCorpus(object):
def __iter__(self):
for item_str in alist:
yield item_str.split(‘ ‘)
Corp = MyCorpus()
dictionary = corpora.Dictionary(Corp)
corpus = [dictionary.doc2bow(text) for text in Corp]
tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus]
def test_kk(test):
test_cut_raw_1 = jieba.cut(test)
doc_new = " ".join(test_cut_raw_1)
test_corpus_1 = dictionary.doc2bow(doc_new.split())
vec_tfidf = tfidf[test_corpus_1]
index = similarities.MatrixSimilarity(corpus_tfidf)
sims = index[vec_tfidf]
similarit = list(sims)
#print(list(enumerate(sims)))
sims = sorted(enumerate(sims), key=lambda item: -item[1])
print(sims) #打印出相似度结果
def buss_mian():
while True:
test = raw_input("please input test:")
test_kk(test)
if __name__ == "__main__":
buss_mian()
欢迎指导学习交流!!!!!!!
gensim自然语言处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。