Python在自然语言处理中的应用:文本清理、分词等实例介绍

Python是一种强大且受欢迎的编程语言。它易于学习。它易于使用。它有直观的语法。它有大量开源文档。它有社区支持。它特别适合用于自然语言处理任务。

Python在自然语言处理中的应用:文本清理、分词等实例介绍

以下是几个Python自然语言处理的实例:

1.文本清理和预处理

对于多数自然语言处理应用程序而言 首先要对原始文本开展清理与预处理工作 Python里有诸多用于文本清理及预处理的库和技术 像nltk也就是自然语言工具包以及正则表达式 下面给出一个简单的文本清理示例 此示例会删除HTML标记和停用词

import re
从nltk语料库中导入停用词
停用词 = 设置(英文停用词列表中的词)
def clean_text(text):
    text = re.sub('<[^>]*>', '', text)
text = re.sub(r'[^\w\s]', '', text) 可改写为:text = re.sub(r'[^\w\s]', '', text) 此句中,re.sub 是一个函数,用于在字符串中进行替换操作。r'[^\w\s]' 表示一个正则表达式模式,它匹配除字母、数字和空格以外的任何字符。text 是要进行替换操作的字符串。整个语句的作用是将 text 中所有匹配 r'[^\w\s]' 模式的字符替换为空字符串。
    text = text.lower()
text等于对text按空格分割后的每个词进行操作,若该词不在停用词中则保留,最后将保留的词组成列表
    return " ".join(text)

2.分词

分词是把句子划分成单词或标记的过程。Python里有几个分词库能供选择。比如nltk、spaCy和Stanford NLP等。下面是一个使用nltk的分词示例:

从nltk.tokenize中导入word_tokenize
text = "This is a sentence."
tokens = word_tokenize(text)
print(tokens)

3.词性标注

词性标注是把单词分到其词性的过程。Python里的nltk库有内置词性标注器。能利用它标注句子中的单词。下面是一个用nltk的词性标注示例:

from nltk.tokenize import word_tokenize
from nltk import pos_tag
text = "This is a sentence."
tokens = word_tokenize(text)
tags = pos_tag(tokens)
print(tags)

4.命名实体识别

命名实体识别是这样一个过程,即在文本里识别实体,像人名、组织、地名等。Python中的nltk库和spaCy库都有内置的命名实体识别器。下面是一个使用spaCy的命名实体识别示例:

import spacy
nlp等于加载英文小模型en_core_web_sm
史蒂夫·乔布斯曾是苹果公司的首席执行官
doc = nlp(text)
for ent in doc.ents:
打印实体标签

5.文本分类

文本分类指的是把文本划分成预定义类别的进程。Python里的scikit-learn以及nltk等库都能够用来进行文本分类。下面是一个运用scikit-learn的文本分类例子:

从sklearn.feature_extraction.text中导入CountVectorizer
从sklearn.naive_bayes中导入MultinomialNB
["这是一部好电影。",
这是一部糟糕的电影
剧情不错。但演技糟糕。
表演不错。但情节糟糕。
训练标签为 阳性 阴性 阴性 阳性
向量化器 = 计数向量化器()
对训练数据进行特征提取并转换为向量,将结果赋值给train_vectors ,此过程使用vectorizer进行拟合与转换操作
classifier = MultinomialNB()
分类器进行拟合。使用训练向量。以及训练标签。
测试数据等于["这部电影非常好。"]
测试向量等于向量化器对测试数据进行转换的结果
打印分类器对测试向量进行预测的结果

6.情感分析

情感分析是在文本里确定情感的过程。情感包括正面、负面或中性。Python中的nltk、TextBlob和VADER等库可用于情感分析。下面是一个用TextBlob进行情感分析的示例:

from textblob import TextBlob
我喜爱这个产品。它效果很棒!
blob = TextBlob(text)
情感等于情感分析结果的极性
if sentiment > 0:
    print("positive")
elif sentiment < 0:
    print("negative")
else:
    print("neutral")

7.主题建模

主题建模是个从文本集合里识别主题的过程。Python里的gensim和lda等库能用于主题建模。下面是个用gensim进行主题建模的示例:

import gensim
from gensim import corpora
文档 = ["这是一部好电影。"]
这是一部糟糕的电影
剧情不错。但演技糟糕。
表演不错。但情节糟糕。
创建语料库
将文档按行分割,转为小写,再按词分割,将每个文档的词列表存入texts列表中
将语料库中的文本传入函数,以此构建词典并赋值给变量dictionary
语料库等于这样一个列表,列表中的元素是通过对文本列表中的每个文本,运用字典文档词袋模型得到的结果
# build LDA model
lda模型由gensim.models.ldamodel.LdaModel创建。语料库为corpus。词到id的映射为dictionary。主题数量是2。迭代次数为10。
# print topics
topics等于lda模型打印主题,单词数量设为4
for topic in topics:
    print(topic)

以上是Python自然语言处理的一些示例。当然 还有许多其他应用程序和技术能供使用 这些示例只是为帮您了解Python中自然语言处理的一些基础

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

35阅读

外国教程python,python编程教学视频

2026年09月02日

29阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

24阅读

python库包教程,python 包

2026年09月02日

30阅读

python教程大全集,python教程600集

2026年09月02日

29阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

26阅读