【LLms】關鍵詞提取

1. 停用詞

在文本處理和信息檢索領域,停用詞(Stop Words)是指在文本中出現頻率較高,但通常不包含實際語義信息或對語義理解貢獻較小的詞匯。這些詞匯通常是一些常見的功能詞,如冠詞、介詞、連詞、代詞、感嘆詞、助動詞等。以下是對停用詞的詳細介紹:

常見的停用詞類型

  • 冠詞 :如 “a”“an”“the” 等,主要用于限定名詞,但對文本的主題和語義貢獻不大。

  • 介詞 :如 “in”“on”“at”“by”“with” 等,用于表示詞語之間的關系,但在關鍵詞提取等任務中通常可以忽略。

  • 連詞 :如 “and”“or”“but”“so”“yet” 等,用于連接詞語、句子或段落,但對語義理解影響不大。

  • 代詞 :如 “I”“you”“he”“she”“it”“we”“they” 等,用于代替名詞,但在文本分析中通常不是關鍵信息。

  • 感嘆詞 :如 “oh”“ah”“wow”“ hey” 等,主要用于表達情感,但在正式文本處理中通常不作為關鍵詞。

  • 助動詞 :如 “am”“is”“are”“was”“were”“have”“has”“had” 等,用于構成時態、語態等,但對文本的核心內容影響較小。

處理停用詞的意義

  • 降低數據維度和計算量 :在大規模文本數據中,停用詞的數量可能占到文本總詞匯量的很大部分。去除停用詞可以顯著降低數據的維度和計算量,提高文本處理的效率和性能。

  • 提高模型準確性和泛化能力 :停用詞通常不包含實際語義信息,對模型的訓練和預測可能產生干擾。去除停用詞可以讓模型更關注那些具有實際意義的詞匯,從而提高模型的準確性和泛化能力。

  • 提升文本分析的可解釋性 :在關鍵詞提取、文本分類等任務中,去除停用詞可以讓提取的關鍵詞或特征更具代表性和可解釋性,便于對模型的決策過程進行分析和理解。

示例

以下是一個包含停用詞的文本示例,以及去除停用詞后的結果:

  • 原始文本 :“The quick brown fox jumps over the lazy dog. The dog is very lazy and does not move.”

  • 去除停用詞后 :“quick brown fox jumps lazy dog dog very lazy does move”

從上述示例可以看出,去除停用詞后,文本的核心信息更加突出,關鍵詞更加明顯,便于后續的文本分析和處理。

在實際應用中,通常可以使用現成的停用詞表,如 nltk.corpus.stopwordssklearn.feature_extraction.text.ENGLISH_STOP_WORDS,也可以根據具體任務和文本特點自定義停用詞表。

2.? 三種關鍵詞提取算法

  • 基于 TF-IDF 算法 :TF-IDF(Term Frequency-Inverse Document Frequency)是一種統計方法,用于評估一個詞在文本中的重要性。其核心思想是:如果一個詞在文檔中出現頻率高,在語料庫中出現頻率低,那這個詞就具有很強的區分度,對文檔主題有很強的表征作用。在 Python 中,可以使用 sklearn 庫中的 TfidfVectorizer 來實現,代碼示例:

    • 導入庫與預處理 :首先導入 necessary 庫,讀取文本數據,對文本做預處理,如去除停用詞、標點、進行詞干提取等,讓文本保持相對統一格式。

    • TF-IDF 向量化 :使用 TfidfVectorizer 將文本轉換為 TF-IDF 特征矩陣,指定最大特征數量、最小詞頻等參數,防止維度災難,聚焦關鍵特征。

    • 提取關鍵詞 :默認情況下,特征名稱即為關鍵詞候選項,獲取特征名稱列表,按 TFF-ID 權重降序排列,選出權重最高的若干詞作最終關鍵詞。

  • 使用 TextRank 算法 :TextRank 是一種基于圖的文本排名算法,擴展了 PageRank 算法,用于提取文本中的關鍵詞和關鍵句子。它把文本中的詞 / 句子看作圖中的節點,基于詞共現、句子間的相似性等建立邊與權重,通過迭代計算節點得分,得分高的即是關鍵詞或關鍵句。在 Python 中,可借助 pytextrank 庫來實現,過程如下:

    • 文本預處理 :讀取文本,分詞、詞性標注、去除停用詞等操作,為圖構建做準備。

    • 構建圖結構 :依據預處理后的詞 / 句構建圖,以詞為節點,若兩詞在固定窗口內共現,就添加一條帶權邊,權重隨共現次數增加而提升。

    • 計算節點得分 :用 TextRank 公式迭代計算每個節點的得分,直到收斂,得分反映詞在文本中的重要性,按得分排序,選取得分靠前的作為關鍵詞。

  • 通過 topicrank 方法 :topicrank 是一種基于主題建模的關鍵詞提取方法,主要基于潛在狄利克雷分配(LDA)模型。LDA 是一種文檔主題生成模型,假設文檔中的每個詞都來自某個潛在主題,通過對大量文檔進行統計分析,挖掘出潛在主題及其對應的詞匯分布。利用這一思想提取關鍵詞,可借助 gensim 庫實現,步驟如下:

    • 語料庫準備與預處理 :收集包括目標文本在內的大量相關文本組成語料庫,對語料庫中每個文本分詞、去除停用詞等。

    • 建立詞典與稀疏向量 :根據預處理后的語料庫建立詞典,將每個詞映射為一個整數 ID,然后將每個文檔表示為一個詞頻向量。

    • 訓練 LDA 模型 :用 LDA 模型訓練語料庫,指定主題數量等參數,模型訓練時會學習到每個主題的分布詞。

    • 提取關鍵詞 :對于目標文本,根據 LDA 模型推斷其所屬主題,然后從對應主題的詞分布中選出概率最高的若干詞作為關鍵詞。

# TF-IDF 示例
from sklearn.feature_extraction.text import TfidfVectorizer# 文本數據
corpus = ['文本處理是數據挖掘的重要預處理步驟','掌握文本處理技巧可以提升數據挖掘效率','文本處理涉及分詞、去噪、特征提取等操作',
]# 創建 TF-IDF 向量化對象,移除英語停用詞,最大特征數 50
tfidf = TfidfVectorizer(stop_words='english', max_features=50)
tfidf_matrix = tfidf.fit_transform(corpus)# 獲取關鍵詞
keywords = tfidf.get_feature_names_out()
print("TF-IDF 提取的關鍵詞:", keywords)
# 輸出結果:TF-IDF 提取的關鍵詞: ['步驟' '處理' '技巧' '數據' '提升' '挖掘' '分詞' '預處理'...]# TextRank 示例
import pytextrank
import jieba# 文本
text = '''\
自然語言處理是人工智能領域的一個重要方向,它讓計算機理解和處理人類語言。
分詞、詞性標注、句法分析是自然語言處理的基礎任務,文本表示方法如詞袋模型、TF-IDF、詞嵌入等影響模型效果。
在眾多文本表示方法里,詞嵌入能更精準捕捉詞義間的關系,被廣泛應用。
'''# 分詞
seg_list = jieba.cut(text)
text_cut = ' '.join(seg_list)# 使用 pytextrank 提取關鍵詞,設置文本窗口為 2,迭代次數為 100
tr = pytextrank.TextRankSSH(debug=True)
tr.get_sentences(text_cut)
tr.set_windows(2)
tr.get_edges()
tr.cal_page_rank(100)# 輸出關鍵詞
for word in tr.get_keywords(10):print(word)
# 輸出結果:自然語言處理 語言處理 分詞 詞性標注 句法分析...# topicrank 示例
from gensim import corpora, models
import jieba# 文本
text = '''\
自然語言處理是人工智能領域的一個重要方向,它讓計算機理解和處理人類語言。
分詞、詞性標注、句法分析是自然語言處理的基礎任務,文本表示方法如詞袋模型、TF-IDF、詞嵌入等影響模型效果。
在眾多文本表示方法里,詞嵌入能更精準捕捉詞義間的關系,被廣泛應用。
'''# 分詞
seg_list = jieba.cut(text)
text_cut = ' '.join(seg_list).split()# 創建詞典和語料
dictionary = corpora.Dictionary([text_cut])
corpus = [dictionary.doc2bow(text_cut)]# 訓練 LDA 模型
lda_model = models.LdaModel(corpus, num_topics=3, id2word=dictionary)# 提取關鍵詞
for topic in lda_model.show_topics():print("topic:", topic)
# 輸出結果:topic: 0.0*數據 + 0.0*技術 + 0.0*分析 + 0.0*預測 + 0.0*處理...

3.?TfidfVectorizerstop_words 參數

TfidfVectorizerstop_words 參數只接受以下幾種類型的值:

  • 'english':表示使用英文的停用詞表。

  • 一個 list:表示你自定義的停用詞列表。

  • None:表示不使用停用詞表。

而你傳入的是 'chinese',這不是一個有效的值,因此會拋出 InvalidParameterError 錯誤。

解決方法

如果你想使用中文停用詞表,你需要手動加載一個中文停用詞列表,并將其作為 stop_words 參數的值。以下是一個示例代碼,展示如何加載自定義的停用詞表:

from sklearn.feature_extraction.text import TfidfVectorizer# 自定義中文停用詞表
stop_words = ['的', '了', '是', '在', '和', '就', '也', '都', '不', '以', '中', '上', '下', '左', '右', '里', '著', '對', '有', '為', '到', '我', '你', '他', '她', '它', '這', '那', '更', '還', '與', '及', '而', '但', '或者', '不過', '然后', '所以', '但是', '可是', '并且', '因此', '其實', '如果', '是否', '怎么', '什么', '真是', '真是的', '了', '嗎', '呢', '吧', '啊', '呀', '哇', '哦', '唄', '啦', '唄', '嘛', '嘍', '喲', '喲', '哇塞', '哇哦', '哈哈', '嘿', '喲呵', '哎呀', '哎喲', '哎呦', '哎呀呀', '哎喲喲', '哎呀哎喲', '哎喲哎呀', '哎呀哎', '哎喲哎', '哎哎呀', '哎哎喲', '哎呀喂', '哎喲喂', '哎喂', '哎', '咦', '咦咦', '咦咦咦', '咦喲', '咦喲咦', '咦喲喲', '咦喲喲喲', '咦喲喲喲喲', '咦喲喲喲喲喲', '咦喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '咦喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲', '嘿喲嘿', '嘿喲喲', '嘿喲嘿喲', '嘿喲喲嘿', '嘿喲喲嘿喲', '嘿喲喲喲', '嘿喲喲喲嘿', '嘿喲喲喲嘿喲', '嘿喲喲喲喲', '嘿喲喲喲喲嘿', '嘿喲喲喲喲嘿喲', '嘿喲喲喲喲喲', '嘿喲喲喲喲喲嘿', '嘿喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲', '嘿喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲嘿喲', '嘿喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲喲']# 文本數據
corpus = ['文本處理是數據挖掘的重要預處理步驟','掌握文本處理技巧可以提升數據挖掘效率','文本處理涉及分詞、去噪、特征提取等操作',
]# 創建 TfidfVectorizer 對象,使用自定義的中文停用詞表
tfidf = TfidfVectorizer(stop_words=stop_words, max_features=50)
tfidf_matrix = tfidf.fit_transform(corpus)# 獲取關鍵詞
keywords = tfidf.get_feature_names_out()
print("TF-IDF 提取的關鍵詞:", keywords)

在這個示例中,我們手動定義了一個中文停用詞列表,并將其傳遞給 TVectorizerfidfstop_words 參數。這樣就可以使用中文停用詞表來處理中文文本數據了。

如果你有一個包含中文停用詞的文件,也可以通過讀取文件內容來加載停用詞列表。例如:

# 讀取中文停用詞文件
with open('chinese_stop_words.txt', 'r', encoding='utf-8') as f:stop_words = [line.strip() for line in f.readlines()]# 創建 TfidfVectorizer 對象,使用自定義的中文停用詞表
tfidf = TfidfVectorizer(stop_words=stop_words, max_features=50)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/71646.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/71646.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/71646.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

1998-2022年各地級市三次產業占比/地級市國內生產總值構成/地級市第一產業占比、第二產業占比、第三產業占比數據(全市)

1998-2022年各地級市三次產業占比/地級市國內生產總值構成/地級市第一產業占比、第二產業占比、第三產業占比數據(全市) 1、時間:1998-2022年 2、指標:第一產業占比、第二產業占比、第三產業占比 3、來源:城市統計年…

基于STM32的簡易出租車計費設計(Proteus仿真+程序+設計報告+原理圖PCB+講解視頻)

這里寫目錄標題 1.主要功能資料下載鏈接:2.仿真3. 程序4. 原理圖PCB5. 實物圖6. 設計報告7. 下載鏈接 基于STM32的簡易出租車計費設計(Proteus仿真程序設計報告原理圖PCB講解視頻) 仿真圖proteus 8.9 程序編譯器:keil 5 編程語言&#xff1…

HAL庫啟動ADC的三個函數的區別

HAL_ADC_Start 應該是啟動ADC轉換的最基本函數。只是啟動一次轉換,然后需要用戶自己去查詢轉換是否完成,或者可能只是單次轉換。比如,當調用這個函數后,ADC開始轉換,但程序需要不斷檢查某個標志位來看轉換是否完成&am…

EXIT原理和使用

要用到的控制器NVIC(中斷總控制器)、EXIT(外部中斷控制器) (EXIT是NVIC是下屬) GPIO外部中斷簡圖 EXIT的基本概念 EXIT主要特性 EXTI工作原理框圖(從輸入線開始看) 6個寄存器 EXTI和IO的映射關系 AFIO簡介 EXTI與IO對應關系 如…

經典核密度估計(Kernel Density Estimation):從直覺到數學

經典核密度估計(Kernel Density Estimation):從直覺到數學 作為一名在大模型時代進入深度學習領域的研究者,你可能對 Transformer、擴散模型等現代技術駕輕就熟。然而,在閱讀一些生成模型的文獻(如 Explic…

Halcon 算子 一維碼檢測識別、項目案例

首先我們要明白碼的識別思路 把窗口全部關閉讀取新的圖片圖像預處理創建條碼模型設置模型參數搜索模型獲取條碼結果顯示條碼結果 圖像預處理和條碼增強 對比度太低: scale_image(或使用外部程序scale_image_range),增強圖像的對比度圖像模糊…

vue-cli3+vue2+elementUI+avue升級到vite+vue3+elementPlus+avue總結

上一個新公司接手了一個vue-cli3vue2vue-router3.0elementUI2.15avue2.6的后臺管理項目,因為vue2在2023年底已經不更新維護了,elementUI也只支持到vue2,然后總結了一下vue3的優勢,最后批準升級成為了vitevue3vue-router4.5element…

SpringBoot實戰(三十五)微服務集成OAuth2.0(UAA)

目錄 一、知識回顧1.1 什么是 OAuth2 協議?1.2 OAuth2 的4個角色1.3 OAuth2 的3種令牌1.4 OAuth2 的5種認證方式1.5 OAuth2 內置接口地址 二、UAA介紹2.1 概述2.2 UAA的主要功能2.3 UAA 的應用場景 三、微服務集成3.1 集成示例介紹3.2 集成測試 一、知識回顧 在進行…

紅果短劇安卓+IOS雙端源碼,專業短劇開發公司

給大家拆解一下紅果短劇/河馬短劇,這種看光解鎖視頻,可以掙金幣的短劇APP。給大家分享一個相似的短劇APP源碼,這個系統已接入穿山甲廣告、百度廣告、快手廣告、騰訊廣告等,類似紅果短劇的玩法,可以看劇賺錢&#xff0c…

從0開始的操作系統手搓教程23:構建輸入子系統——實現鍵盤驅動1——熱身驅動

目錄 所以,鍵盤是如何工作的 說一說我們的8042 輸出緩沖區寄存器 狀態寄存器 控制寄存器 動手! 注冊中斷 簡單整個鍵盤驅動 Reference ScanCode Table 我們下一步就是準備進一步完善我們系統的交互性。基于這個,我們想到的第一個可以…

百度SEO關鍵詞布局從堆砌到場景化的轉型指南

百度SEO關鍵詞布局:從“堆砌”到“場景化”的轉型指南 引言 在搜索引擎優化(SEO)領域,關鍵詞布局一直是核心策略之一。然而,隨著搜索引擎算法的不斷升級和用戶需求的多樣化,傳統的“關鍵詞堆砌”策略已經…

Python ? Unix時間戳轉日期或日期轉時間戳工具分享

設計一款Unix時間戳和日期轉換工具,其代碼如下: from datetime import datetimeclass Change_Date_Time(object):def __init__(self, date_strNone, date_numNone):self.date_str date_strself.date_num date_num# 轉時間戳def datetime2timestamp(s…

【目標檢測】【NeuralPS 2023】Gold-YOLO:通過收集與分發機制實現的高效目標檢測器

Gold-YOLO: Efficient Object Detector via Gather-and-Distribute Mechanism Gold-YOLO:通過收集與分發機制實現的高效目標檢測器 0.論文摘要 在過去的幾年中,YOLO系列模型已成為實時目標檢測領域的領先方法。許多研究通過修改架構、增強數…

π0源碼解析——一個模型控制7種機械臂:對開源VLA sota之π0源碼的全面分析,含我司的部分落地實踐

前言 ChatGPT出來后的兩年多,也是我瘋狂寫博的兩年多(年初deepseek更引爆了下),比如從創業起步時的15年到后來22年之間 每年2-6篇的,干到了23年30篇、24年65篇、25年前兩月18篇,成了我在大模型和具身的原始技術積累 如今一轉眼…

K8s 1.27.1 實戰系列(六)Pod

一、Pod介紹 1、Pod 的定義與核心設計 Pod 是 Kubernetes 的最小調度單元,由一個或多個容器組成,這些容器共享網絡、存儲、進程命名空間等資源,形成緊密協作的應用單元。Pod 的設計靈感來源于“豌豆莢”模型,容器如同豆子,共享同一環境但保持隔離性。其核心設計目標包括…

企業日常工作中常用的 Linux 操作系統命令整理

Linux 操作系統命令整理 在企業級運維、開發和日常工作中,Linux 命令是繞不開的核心技能。不論是日志排查、進程管理,還是高效運維優化,掌握這些命令都能讓你事半功倍!本篇文章整理了自己在日常工作中積累最常用的 Linux 命令&am…

實現NTLM relay攻擊工具的Python代碼示例

以下是一個實現NTLM relay攻擊工具的Python代碼示例,該工具可以完成自動掃描IP、配置相關協議、獲取hash、自動化設置和執行攻擊步驟等功能。 代碼思路 IP掃描:使用scapy庫進行IP掃描,找出活躍的IP地址。Responder配置:自動配置…

Kotlin和Java區別

哈哈哈,前段時間,面試的時候,突然問到我Kotlin和Java的區別,一下子把我問懵逼了,確實沒遇到問這個的,想了下,說了下Kotlin的編譯時空檢查機制,代碼更簡潔,很多封裝好的AP…

【大模型】大模型分類

大模型(Large Models)通常指參數量巨大、計算能力強大的機器學習模型,尤其在自然語言處理(NLP)、計算機視覺(CV)等領域表現突出。以下是大模型的常見分類方式: 1. 按應用領域分類 …

centos中使用svn整理

centos中使用svn整理 1. 安裝 SVN 客戶端2. 常見 SVN 用法及示例2.1 創建 SVN 倉庫2.2 檢出(Checkout)項目2.3 添加文件到版本控制2.4 提交(Commit)更改2.5 更新(Update)本地工作副本2.6 查看文件狀態2.7 查…