zoukankan      html  css  js  c++  java
  • 结巴分词 gensim系数矩阵相似度 pypinyin

    结巴分词的应用

    import jieba
    
    #强制添加一个单词
    jieba.add_word("挂了")
    
    a="太上皇创业创到一半就挂了"
    
    #标准形式,把词语弄出来
    print( jieba.cut(a) )
    
    #把所有的可能都列举出来
    print(jieba.cut_for_search(a))

     gensim是一个语料库

    gensim稀疏矩阵相似度(0比1多),密集矩阵相似度(1比0多)

    import jieba
    from gensim import corpora
    from gensim import models
    from gensim import similarities
    
    lst = ['你今年几岁了', '你今年多大了', '祖国祖国我们爱你']  # 语料库,我们说的话要到这里面匹配
    
    all_doc_list = []
    for doc in lst:
        doc_list = list(jieba.cut_for_search(doc))
        all_doc_list.append(doc_list)
    
    #实际上词带里面装的是一些向量
    dictionary = corpora.Dictionary(all_doc_list)  # 制作词袋
    # print('词袋有什么==>', dictionary)
    
    #corpus里面装的是语料库中所有的分词的向量
    corpus = [dictionary.doc2bow(doc) for doc in all_doc_list]  # doc2bow词袋里的词组成[(0,1),(2,6)]形式的
    # print(corpus)
    
    # 将你说的话先做成分词列表,然后做成语料库
    #doc_text_vec 里面装的是我说的话分词后的向量
    word = '祖国我爱你'
    doc_test_list = (list(jieba.cut_for_search(word)))
    doc_test_vec = dictionary.doc2bow(doc_test_list)
    # print(doc_test_vec)
    
    # 将语料库使用lsi模型训练
    #就是将corpus语料库做一个训练,只能是数字向量的形式,比如 '祖国祖国我们爱你' 祖国出现了两次(1,2),我出现了1次(2,1),这里向量的x表示
    #的是分词所对应的下标,y表示的是出现的次数
    lsi = models.LsiModel(corpus)
    # print('corpus的训练结果>>>', lsi[corpus])
    
    #这里就相当于给语料库中的数据加条件,将所有的语句计算出一个数。
    index = similarities.SparseMatrixSimilarity(lsi[corpus], num_features=len(dictionary.keys()))
    # print(index, type(index))
    # 将 语料库doc_test_vec 在 语料库corpus的训练结果 中的 向量表示 与 语料库corpus的 向量表示 做矩阵相似度计算
    sim = index[lsi[doc_test_vec]]
    # print("sim", sim, type(sim))
    
    # 对下标和相似度结果进行一个排序,拿出相似度最高的结果
    res = sorted(enumerate(sim), key=lambda item: -item[1])
    print(res)
    text = lst[res[0][0]]  # 找到lst中与数据最匹配的索引位置
    
    print(word, text)

    pypinyin的应用

  • 相关阅读:
    第二次冲刺个人工作总结06
    第二次冲刺个人工作总结05
    第十三周学习进度
    第二次冲刺工作总结04
    软件工程课堂作业——寻找水王2
    第二次冲刺个人工作总结03
    第二次冲刺周期个人工作总结02
    第二次冲刺个人工作总结01
    第二次冲刺会议
    git 的更新代码的取消
  • 原文地址:https://www.cnblogs.com/zty1304368100/p/10970401.html
Copyright © 2011-2022 走看看