Python中的詞袋模型是自然語言處理中常用的一種模型,其主要構建思路是將文本中所有單詞統計出現的次數,然后將其轉換為數值向量,稱為詞向量,通常用于文本分類、聚類、檢索等任務。
import jieba from sklearn.feature_extraction.text import CountVectorizer # 將文本分詞 def cut_sentence(sentence): words = jieba.lcut(sentence) return words # 創建詞袋模型 def create_bag_of_words(corpora): vectorizer = CountVectorizer(tokenizer=cut_sentence) bag_of_words = vectorizer.fit_transform(corpora) return bag_of_words.toarray(), vectorizer # 計算詞袋相似度 def calculate_similarity(bag_of_words): cosine_similarities = np.zeros((len(bag_of_words), len(bag_of_words))) for i in range(len(bag_of_words)): for j in range(i+1, len(bag_of_words)): cosine_similarities[i][j] = cosine_similarity([bag_of_words[i]], [bag_of_words[j]]) cosine_similarities[j][i] = cosine_similarities[i][j] return cosine_similarities
以上代碼是一個基本的詞袋模型的實現,其中cut_sentence函數可根據需要選擇不同的分詞器。create_bag_of_words函數通過sklearn庫的CountVectorizer來創建詞袋模型,并將其轉換為數值向量;而calculate_similarity函數可以用來計算不同文本之間的相似度。
上一篇vue cli 運行
下一篇vue如何獲取dom