国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現簡單的文本相似度分析操作詳解

2020-02-15 21:52:50
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現簡單的文本相似度分析操作。分享給大家供大家參考,具體如下:

學習目標:

1.利用gensim包分析文檔相似度
2.使用jieba進行中文分詞
3.了解TF-IDF模型

環境:

Python 3.6.0 |Anaconda 4.3.1 (64-bit)

工具:

jupyter notebook

注:為了簡化問題,本文沒有剔除停用詞“stop-word”。實際應用中應該要剔除停用詞。

首先引入分詞API庫jieba、文本相似度庫gensim

import jiebafrom gensim import corpora,models,similarities

以下doc0-doc7是幾個最簡單的文檔,我們可以稱之為目標文檔,本文就是分析doc_test(測試文檔)與以上8個文檔的相似度。

doc0 = "我不喜歡上海"
doc1 = "上海是一個好地方"
doc2 = "北京是一個好地方"
doc3 = "上海好吃的在哪里"
doc4 = "上海好玩的在哪里"
doc5 = "上海是好地方"
doc6 = "上海路和上海人"
doc7 = "喜歡小吃"
doc_test="我喜歡上海的小吃"

分詞

首先,為了簡化操作,把目標文檔放到一個列表all_doc中。

all_doc = []all_doc.append(doc0)all_doc.append(doc1)all_doc.append(doc2)all_doc.append(doc3)all_doc.append(doc4)all_doc.append(doc5)all_doc.append(doc6)all_doc.append(doc7)

以下對目標文檔進行分詞,并且保存在列表all_doc_list中

all_doc_list = []for doc in all_doc:  doc_list = [word for word in jieba.cut(doc)]  all_doc_list.append(doc_list)

把分詞后形成的列表顯示出來:

print(all_doc_list)

[['我', '不', '喜歡', '上海'],
['上海', '是', '一個', '好', '地方'],
['北京', '是', '一個', '好', '地方'],
['上海', '好吃', '的', '在', '哪里'],
['上海', '好玩', '的', '在', '哪里'],
['上海', '是', '好', '地方'],
['上海', '路', '和', '上海', '人'],
['喜歡', '小吃']]

以下把測試文檔也進行分詞,并保存在列表doc_test_list中

doc_test_list = [word for word in jieba.cut(doc_test)]doc_test_list

['我', '喜歡', '上海', '的', '小吃']

制作語料庫

首先用dictionary方法獲取詞袋(bag-of-words)

dictionary = corpora.Dictionary(all_doc_list)

詞袋中用數字對所有詞進行了編號

dictionary.keys()

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

編號與詞之間的對應關系

dictionary.token2id

{'一個': 4,
'上海': 0,
'不': 1,
'人': 14,
'北京': 8,
'和': 15,
'哪里': 9,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资兴市| 大邑县| 镇坪县| 靖远县| 府谷县| 腾冲县| 尚志市| 泾川县| 醴陵市| 稻城县| 福贡县| 甘德县| 郁南县| 辽源市| 岳阳县| 金沙县| 茌平县| 历史| 武义县| 忻州市| 临江市| 琼结县| 津南区| 萨嘎县| 常宁市| 广元市| 修文县| 镇坪县| 滁州市| 罗城| 勃利县| 通化县| 海宁市| 响水县| 兰溪市| 龙海市| 武汉市| 渝北区| 望谟县| 盖州市| 平乐县|