【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.mzph.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 查…