NLP之BoW&NLTK:自然语言处理中常用的技术——词袋法Bow、NLTK库

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
简介: NLP之BoW&NLTK:自然语言处理中常用的技术——词袋法Bow、NLTK库

输出结果


[[0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0]

[1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1]]

BoW:输出句子中的每个单词(包括符号)—按照顺序: ['by', 'career', 'combined', 'congress', 'for', 'government', 'huawei', 'imposed', 'in', 'james', 'jordan', 'lebron', 'michael', 'passed', 'playoffs', 'points', 'regular', 'restrictions', 'sales', 'season', 'sues', 'the', 'today', 'unconstitutional', 'us']

NLTK:输出句子中的每个单词(包括符号): ['Today', ',', 'LeBron', 'James', 'passed', 'Michael', 'Jordan', 'in', 'career', 'points', 'for', 'regular', 'season', ',', 'playoffs', 'combined', '.']

NLTK:输出句子中的每个单词(包括符号): ['Today', ',', 'Huawei', 'Sues', 'the', 'US', 'Government', 'for', 'Unconstitutional', 'Sales', 'Restrictions', 'Imposed', 'by', 'Congress', '.']

NLTK:输出句子中的每个单词(包括符号)—按照顺序: [',', '.', 'James', 'Jordan', 'LeBron', 'Michael', 'Today', 'career', 'combined', 'for', 'in', 'passed', 'playoffs', 'points', 'regular', 'season']

NLTK:输出句子中的每个单词(包括符号)—按照顺序: [',', '.', 'Congress', 'Government', 'Huawei', 'Imposed', 'Restrictions', 'Sales', 'Sues', 'Today', 'US', 'Unconstitutional', 'by', 'for', 'the']

['today', ',', 'lebron', 'jame', 'pass', 'michael', 'jordan', 'in', 'career', 'point', 'for', 'regular', 'season', ',', 'playoff', 'combin', '.']

['today', ',', 'huawei', 'sue', 'the', 'US', 'govern', 'for', 'unconstitut', 'sale', 'restrict', 'impos', 'by', 'congress', '.']

NLTK:输出句子中的每个单词(包括符号)—及其对应词性: [('Today', 'NN'), (',', ','), ('LeBron', 'NNP'), ('James', 'NNP'), ('passed', 'VBD'), ('Michael', 'NNP'), ('Jordan', 'NNP'), ('in', 'IN'), ('career', 'NN'), ('points', 'NNS'), ('for', 'IN'), ('regular', 'JJ'), ('season', 'NN'), (',', ','), ('playoffs', 'NNS'), ('combined', 'VBD'), ('.', '.')]

NLTK:输出句子中的每个单词(包括符号)—及其对应词性: [('Today', 'NN'), (',', ','), ('Huawei', 'NNP'), ('Sues', 'NNP'), ('the', 'DT'), ('US', 'NNP'), ('Government', 'NNP'), ('for', 'IN'), ('Unconstitutional', 'NNP'), ('Sales', 'NNS'), ('Restrictions', 'NNS'), ('Imposed', 'VBN'), ('by', 'IN'), ('Congress', 'NNP'), ('.', '.')]


实现代码


测试的句子:来自今天的新闻

sent1 = 'Today, LeBron James passed Michael Jordan in career points for regular season, playoffs combined.'

sent2 = 'Today, Huawei Sues the US Government for Unconstitutional Sales Restrictions Imposed by Congress.'

sent1='今天,勒布朗·詹姆斯在常规赛和季后赛的总得分中超过了迈克尔·乔丹。

sent2='今天,华为起诉美国政府违反国会规定的销售限制。'


#1、使用词袋法( Bag-of-Words)对示例文本进行特征向量化

from sklearn.feature_extraction.text import CountVectorizer

sent1 = 'Today, LeBron James passed Michael Jordan in career points for regular season, playoffs combined.'

sent2 = 'Today, Huawei Sues the US Government for Unconstitutional Sales Restrictions Imposed by Congress.'

count_vec = CountVectorizer()

sentences = [sent1, sent2]

print(count_vec.fit_transform(sentences).toarray())

print('BoW:输出句子中的每个单词(包括符号)—按照顺序:',count_vec.get_feature_names())

#2、使用NLTK对这两句里面所有词汇的形成与性质类属乃至词汇如何组成短语或者句子的规则,做了更加细致地分析。

import nltk

tokens_1 = nltk.word_tokenize(sent1)

tokens_2 = nltk.word_tokenize(sent2)

print('NLTK:输出句子中的每个单词(包括符号):',tokens_1)

print('NLTK:输出句子中的每个单词(包括符号):',tokens_2)

vocab_1 = sorted(set(tokens_1))

vocab_2 = sorted(set(tokens_2))

print('NLTK:输出句子中的每个单词(包括符号)—按照顺序:',vocab_1)

print('NLTK:输出句子中的每个单词(包括符号)—按照顺序:',vocab_2)

stemmer = nltk.stem.PorterStemmer()

stem_1 = [stemmer.stem(t) for t in tokens_1]

stem_2 = [stemmer.stem(t) for t in tokens_2]

print(stem_1)

print(stem_2)

pos_tag_1 = nltk.tag.pos_tag(tokens_1)

pos_tag_2 = nltk.tag.pos_tag(tokens_2)

print('NLTK:输出句子中的每个单词(包括符号)—及其对应词性:',pos_tag_1)

print('NLTK:输出句子中的每个单词(包括符号)—及其对应词性:',pos_tag_2)


相关文章
|
3月前
|
数据采集 自然语言处理 分布式计算
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
|
8月前
|
文字识别 自然语言处理 API
如何结合NLP(自然语言处理)技术提升OCR系统的语义理解和上下文感知能力?
通过结合NLP技术,提升OCR系统的语义理解和上下文感知能力。方法包括集成NLP模块、文本预处理、语义特征提取、上下文推理及引入领域知识库。代码示例展示了如何使用Tesseract进行OCR识别,并通过BERT模型进行语义理解和纠错,最终提高文本识别的准确性。相关API如医疗电子发票验真、车险保单识别等可进一步增强应用效果。
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
AI写作新时代:自然语言生成技术与写作助手的结合
AI写作新时代:自然语言生成技术与写作助手的结合
332 16
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用
随着人工智能技术的不断发展,自然语言处理(NLP)已经成为了一个重要的应用领域。本文将介绍一些常见的NLP任务和算法,并通过代码示例来展示如何实现这些任务。我们将讨论文本分类、情感分析、命名实体识别等常见任务,并使用Python和相关库来实现这些任务。最后,我们将探讨NLP在未来的发展趋势和挑战。
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理(Natural Language Processing,简称NLP)
自然语言处理(NLP)是人工智能的分支,旨在让计算机理解、解释和生成人类语言。NLP的关键技术和应用包括语言模型、词嵌入、文本分类、命名实体识别、机器翻译、文本摘要、问答系统、情感分析、对话系统、文本生成和知识图谱等。随着深度学习的发展,NLP的应用日益广泛且效果不断提升。
666 4
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
489 1
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理(NLP)是AI的重要分支,旨在让计算机理解人类语言
自然语言处理(NLP)是AI的重要分支,旨在让计算机理解人类语言。本文探讨了深度学习在NLP中的应用,包括其基本任务、优势、常见模型及具体案例,如文本分类、情感分析等,并讨论了Python的相关工具和库,以及面临的挑战和未来趋势。
632 1
|
9月前
|
存储 人工智能 自然语言处理
Pandas数据应用:自然语言处理
本文介绍Pandas在自然语言处理(NLP)中的应用,涵盖数据准备、文本预处理、分词、去除停用词等常见任务,并通过代码示例详细解释。同时,针对常见的报错如`MemoryError`、`ValueError`和`KeyError`提供了解决方案。适合初学者逐步掌握Pandas与NLP结合的技巧。
241 20
|
11月前
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
1530 1
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
|
12月前
|
自然语言处理 算法 Python
自然语言处理(NLP)在文本分析中的应用:从「被动收集」到「主动分析」
【10月更文挑战第9天】自然语言处理(NLP)在文本分析中的应用:从「被动收集」到「主动分析」
272 4

热门文章

最新文章