当前位置: 首页 > wzjs >正文

校园网站建设标书文娱热搜榜

校园网站建设标书,文娱热搜榜,wordpress后台模块,腾讯云免费云服务器在自然语言处理(NLP)中,数据的质量直接影响模型的表现。文本预处理的目标是清理和标准化文本数据,使其适合机器学习或深度学习模型处理。本章介绍几种常见的文本预处理方法,并通过 Python 代码进行示例。 2.1 文本清理…

在自然语言处理(NLP)中,数据的质量直接影响模型的表现。文本预处理的目标是清理和标准化文本数据,使其适合机器学习或深度学习模型处理。本章介绍几种常见的文本预处理方法,并通过 Python 代码进行示例。


2.1 文本清理

文本数据往往包含各种噪音,例如 HTML 标签、特殊字符、空格、数字等。清理文本可以提高模型的准确性。

常见的清理步骤

  • 去除 HTML 标签
  • 移除特殊字符(如 @#%$&
  • 移除数字
  • 统一大小写(通常转换为小写)
  • 去除多余的空格

Python 示例

import re  # 正则表达式库,用于文本匹配和替换text = "Hello, <b>world</b>! Visit us at https://example.com or call 123-456-7890."# 1. 去除HTML标签
text = re.sub(r'<.*?>', '', text)# 2. 去除特殊字符(保留字母和空格)
text = re.sub(r'[^a-zA-Z\s]', '', text)# 3. 转换为小写
text = text.lower()# 4. 去除多余空格
text = " ".join(text.split())print(text)

输出:

hello world visit us at httpsexamplecom or call

2.2 分词(Tokenization)

分词是将文本拆分成单个的单词或子词,是 NLP 任务的基础。

常见分词方法

  • 按空格拆分(适用于英文)
  • NLTK 分词(更精准)
  • spaCy 分词(高效处理大规模数据)

Python 示例

import nltk  # 自然语言处理库,提供分词、词性标注、停用词等功能
from nltk.tokenize import word_tokenize, sent_tokenize
import spacy  # 现代 NLP 库,优化分词、词性标注等任务nltk.download('punkt_tab')  # punkt_tab 是 NLTK 中的分词模型text = "Hello world! This is an NLP tutorial."# 1. 基础空格分词
tokens_space = text.split()
print("空格分词:", tokens_space)# 2. 使用 NLTK 进行分词
tokens_nltk = word_tokenize(text)
print("NLTK 分词:", tokens_nltk)# 3. 使用 spaCy 进行分词
nlp = spacy.load("en_core_web_sm")  # 加载预训练的小型英文模型
doc = nlp(text)
tokens_spacy = [token.text for token in doc]
print("spaCy 分词:", tokens_spacy)

输出:

空格分词: ['Hello', 'world!', 'This', 'is', 'an', 'NLP', 'tutorial.']
NLTK 分词: ['Hello', 'world', '!', 'This', 'is', 'an', 'NLP', 'tutorial', '.']
spaCy 分词: ['Hello', 'world', '!', 'This', 'is', 'an', 'NLP', 'tutorial', '.']

注意:

  • 空格分词简单但容易出错,如 “NLP tutorial.” 仍包含标点。
  • NLTK 和 spaCy 处理得更精准,分离了标点符号。

2.3 词干提取(Stemming)和词形还原(Lemmatization)

在 NLP 任务中,单词的不同形式可能具有相同的含义,例如:

  • runningrun
  • bettergood

词干提取和词形还原可以将单词标准化,从而提高模型的泛化能力。

词干提取(Stemming)

词干提取是基于规则的词形归一化方法,会粗暴地去掉单词的后缀。

from nltk.stem import PorterStemmer, SnowballStemmer  # 词干提取工具stemmer = PorterStemmer()  # PorterStemmer 是常用的词干提取方法
words = ["running", "flies", "easily", "studies"]stemmed_words = [stemmer.stem(word) for word in words]
print("Porter Stemmer:", stemmed_words)

输出:

Porter Stemmer: ['run', 'fli', 'easili', 'studi']

缺点:

  • flies 变成了 fli
  • easily 变成了 easili
  • 可能导致含义丢失

词形还原(Lemmatization)

Lemmatization 通过查找词典将单词转换为其词根形式,更加精确。

from nltk.stem import WordNetLemmatizer
import nltknltk.download('wordnet')  # 下载 WordNet 语料库lemmatizer = WordNetLemmatizer()
words = ["running", "flies", "easily", "studies", "better"]lemmatized_words = [lemmatizer.lemmatize(word, pos="v") for word in words]
print("Lemmatization:", lemmatized_words)

输出:

Lemmatization: ['run', 'fly', 'easily', 'study', 'better']

优点:

  • flies 被正确地还原为 fly
  • studies 被正确地还原为 study
  • better 仍保持其正确形式

2.4 停用词(Stopwords)处理

停用词(Stopwords)是指在文本处理中不重要的高频词,如 is, the, and,可以去除以减少模型计算量。

Python 示例

from nltk import word_tokenize
from nltk.corpus import stopwords  # NLTK 提供的停用词库
import nltk
nltk.download('stopwords')  # 下载停用词列表text = "This is a simple NLP example demonstrating stopwords removal."words = word_tokenize(text)filtered_words = [word for word in words if word.lower() not in stopwords.words('english')]
print("去除停用词后:", filtered_words)

输出:

去除停用词后: ['simple', 'NLP', 'example', 'demonstrating', 'stopwords', 'removal', '.']

注意:

  • is, a, this 被去掉
  • NLP 等关键词被保留

2.5 难点总结

  • 分词的不同方法:空格分词 vs. NLTK vs. spaCy,适用于不同场景。
  • 词干提取 vs. 词形还原:Stemming 可能会导致错误,而 Lemmatization 更精确但需要额外的词性信息。
  • 停用词的处理:某些 NLP 任务(如情感分析)可能需要保留停用词。

2.6 课后练习

练习 1:文本清理

清理以下文本,去掉 HTML 标签、特殊字符、数字,并转换为小写:

text = "Visit our <b>website</b>: https://example.com!!! Call us at 987-654-3210."

练习 2:使用 spaCy 进行分词

使用 spaCy 对以下文本进行分词:

text = "Natural Language Processing is fun and useful!"

练习 3:词形还原

使用 Lemmatization 处理以下单词:

words = ["running", "mice", "better", "studying"]

练习 4:去除停用词

从以下文本中去除停用词:

text = "This is an example sentence demonstrating stopwords removal."
http://www.dtcms.com/wzjs/22583.html

相关文章:

  • 政府网站建设工作总结6seo长尾快速排名
  • 一般纳税人企业所得税怎么征收福清seo
  • 做外贸什么网站百度问答平台
  • 网站用的什么数据库手机制作网站的软件
  • 自己做视频网站会不会追究版权长春网站建设团队
  • 网站内容建设和管理百度竞价广告收费标准
  • 台州企业网站搭建厂家torrentkitty磁力天堂
  • 平度168网站建设深圳seo优化培训
  • 028网站建设工作室网站运营维护的基本工作
  • 个人网站取什么域名好网上竞价
  • 洛阳网站建设内容西藏自治区seo 标题 关键词优化
  • 做彩票网站郑州seo团队
  • 网站友情链接怎么添加商城网站建设
  • 广州网站建设定制百度app安卓版下载
  • 网络推广 公司 200个网站总排行榜总点击榜总收藏榜
  • 万网网站备案怎么分析一个网站seo
  • 网站建设怎样设置动态背景免费的客户资源怎么找
  • 做企业网站怎么收费的华与华营销策划公司
  • 外贸家具网站seo的中文含义是什么意思
  • 做淘宝banner的网站软文推广代理平台
  • 济南做网站xywlcn信阳seo推广
  • 龙岗建网站公司广州优化防控措施
  • 物联网公司排名国内跟我学seo
  • 南昌网站建设专业公司全网营销方案
  • 山东seo网站网站运营是做什么的
  • 怎样做网站的优化工作排名优化网站建设
  • 用asp做的网站有哪些网上销售有哪些方法
  • 果酱wordpress超级优化
  • 网站建设工具的种类vue seo 优化方案
  • 商务网站专题页软文营销案例文章