zoukankan      html  css  js  c++  java
  • gensim自然语言处理

    最近在做词语的相似度做比较,就选用了gensim

    首先要安装gensim库,此处省略,参看官网http://radimrehurek.com/gensim/install.html

    在网上下了一些词库

    {"date": "2016-05-01", "content": "京东家电  沸腾五一 买家电 上京东4.28-5.7 邯郸京东帮联动会 馆陶站   大型文艺汇演 五一会员狂欢会,凭券入场更实惠 买家电 ,上京东,突破底线  限时抢购! 京东帮 馆陶文卫街服务店 大型文艺汇演现场 活动日期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()

    欢迎指导学习交流!!!!!!!
  • 相关阅读:
    CF1477F
    UR2 树上 GCD
    CF1491
    碎碎念——Nothing is but what is not
    理希的高考前胡诌
    理希的OI记——补集
    老年人的赛前康复计划
    react中受控组件、非受控组件、纯函数、高阶函数、高阶组件。
    react当中refs
    react当中Props
  • 原文地址:https://www.cnblogs.com/Edwardzhao/p/6866844.html
Copyright © 2011-2022 走看看