📜  训练分词器和过滤停用词(1)

📅  最后修改于: 2023-12-03 15:28:07.307000             🧑  作者: Mango

训练分词器和过滤停用词

在自然语言处理中,文本的分词和停用词的过滤是非常重要的预处理步骤。本文将介绍如何训练分词器和过滤停用词。

分词器

分词器是将连续的文本分成有意义的词语序列的工具,也被称为 tokenizer。常见的中文分词器有 jieba、中科院的 ICTCLAS、清华大学的 THULAC 等。

训练分词器可以通过加入新的词语、剔除错误的词语,使分词器的效果更好。我们以 jieba 分词器为例,首先需要安装 jieba:

pip install jieba

接下来,我们可以使用 jieba 的 add_word() 方法向分词器中添加新的词语:

import jieba

jieba.add_word('机器学习')
jieba.add_word('卷积神经网络')

如果需要删除错误的词语,可以使用 del_word() 方法:

jieba.del_word('错误词语')
停用词

停用词指对于文本分析来说没有意义的高频次词,比如“的”、“是”、“在”等。在文本分析过程中,将这些词去除,可以减少特征的数量。

在中文分词中,常用的停用词有哈工大停用词表、百度停用词表等。我们以哈工大停用词表为例,可以使用以下代码进行停用词的过滤:

with open('stopwords.txt', 'r') as f:
    stopwords = set([line.strip() for line in f])

words = ['我', '爱', '学习', '机器学习', '卷积神经网络']
filtered = [word for word in words if word not in stopwords]
print(filtered)

输出结果为:

['爱', '学习', '机器学习', '卷积神经网络']
总结

分词和停用词的过滤是自然语言处理中非常重要的预处理步骤。通过训练分词器和过滤停用词,可以提高特征的质量,使得机器学习模型的性能更好。