Python是一種高效的編程語言,它在自然語言處理領域中廣受歡迎。在文本分析中,相似性聚類是一種重要的技術。本文介紹如何使用Python進行相似文本聚類。
# 導入必要的庫 import os import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.cluster import KMeans # 讀取文本 def read_file(file_path): with open(file_path, 'r') as f: content = f.read() return content # 將文本轉換為TF-IDF向量 def text_to_vector(file_path): content = read_file(file_path) vectorizer = TfidfVectorizer() vector = vectorizer.fit_transform([content]) return vector.toarray() # 聚類 def kmeans_cluster(data, n_clusters): km = KMeans(n_clusters=n_clusters) km.fit(data) return km.labels_ # 讀取文本數據并進行聚類 # 假設文本數據存放在data目錄中 data_path = './data' files = os.listdir(data_path) texts = [] for file in files: text = text_to_vector(os.path.join(data_path, file)) texts.append(text) labels = kmeans_cluster(texts, n_clusters=5) # 將聚類結果和文本名保存到CSV文件中 data = pd.DataFrame({'filename': files, 'label': labels}) data.to_csv('result.csv', index=False)
以上代碼實現了從文本讀取數據、將數據轉換為TF-IDF向量、利用K-Means算法進行聚類并將聚類結果保存到CSV文件中的功能。在實際應用中,我們可以根據需要對代碼進行修改,比如改變TF-IDF算法的參數、更改聚類算法、增加對大規模數據的支持等。
下一篇css圖片底部對其