当前位置:   article > 正文

Python 自然语言处理入门,Pythonui设计基础ppt

Python 自然语言处理入门,Pythonui设计基础ppt

from nltk.tag import pos_tag

sample = “Hi, this is a nice hotel.”

print(pos_tag(word_tokenize(sample)))

您会注意到输出是对的列表。每对都由一个标记及其标记组成,它表示整个文本中标记的上下文。请注意,标点符号的标签本身就是:

[(‘Hi’, ‘NNP’),

(‘,’, ‘,’),

(‘this’, ‘DT’),

(‘is’, ‘VBZ’),

(‘a’, ‘DT’),

(‘nice’, ‘JJ’),

(‘hotel’, ‘NN’),

(‘.’, ‘.’)]

你如何解码每个令牌的上下文?以下是Web 上所有标签及其对应含义的完整列表。请注意,所有名词的标签都以“N”开头,所有动词的标签都以“V”开头。我们可以在.lemmatize()方法的第二个参数中使用此信息:

def lemmatize_tokens(stentence):

lemmatizer = WordNetLemmatizer()

lemmatized_tokens = []

for word, tag in pos_tag(stentence):

if tag.startswith(‘NN’):

pos = ‘n’

elif tag.startswith(‘VB’):

pos = ‘v’

else:

pos = ‘a’

lemmatized_tokens.append(lemmatizer.lemmatize(word, pos))

return lemmatized_tokens

sample = “Legal authority constitutes all magistrates.”

print(lemmatize_tokens(word_tokenize(sample)))

上面代码的输出如下:

[‘Legal’, ‘authority’, ‘constitute’, ‘all’, ‘magistrate’, ‘.’]

该输出是预期的,其中“构成”和“地方法官”已分别转换为“构成”和“地方法官”。

第三步:数据清理


准备数据的下一步是清理数据并删除任何不会对您的分析增加意义的内容。从广义上讲,我们将着眼于从您的分析中删除标点符号和停用词

删除标点符号是一项相当容易的任务。该库的punctuation对象string包含所有英文标点符号:

import string

print(string.punctuation)

此代码段的输出如下:

‘!"#$%&amp;</span>’()*+,-./:;&lt;=&gt;?@[</span></span>]^_`{|}~’

为了从标记中删除标点符号,您可以简单地运行以下命令:

for token in tokens:

if token in string.punctuation:

# Do something

接下来,我们将专注于删除停用词。停用词是语言中的常用词,如“I”、“a”和“the”,在分析文本时对文本的意义不大。因此,我们将从分析中删除停用词。首先,stopwords从 NLTK 下载器下载资源:

nltk.download(‘stopwords’)

stopwords下载完成后,导入nltk.corpus并使用.words()以“english”为参数的方法。这是英语中 179 个停用词的列表:

from nltk.corpus import stopwords

stop_words = stopwords.words(‘english’)

我们可以将词形还原示例与本节中讨论的概念结合起来创建以下函数clean_data()。此外,在比较一个词是否是停用词列表的一部分之前,我们将其转换为小写。这样,如果停用词出现在句子的开头并且大写,我们仍然会捕获它:

def clean_data(tokens, stop_words = ()):

cleaned_tokens = []

for token, tag in pos_tag(tokens):

if tag.startswith(“NN”):

pos = ‘n’

elif tag.startswith(‘VB’):

pos = ‘v’

else:

pos = ‘a’

lemmatizer = WordNetLemmatizer()

token = lemmatizer.lemmatize(token, pos)

if token not in string.punctuation and token.lower() not in stop_words:

cleaned_tokens.append(token)

return cleaned_tokens

sample = “The quick brown fox jumps over the lazy dog.”

stop_words = stopwords.words(‘english’)

clean_data(word_tokenize(sample), stop_words)

该示例的输出如下:

[‘quick’, ‘brown’, ‘fox’, ‘jump’, ‘lazy’, ‘dog’]

如您所见,标点符号和停用词已被删除。

词频分布


现在你已经熟悉了 NLP 中的基本清洗技术,让我们试着找出文本中单词的频率。在本练习中,我们将使用古腾堡上免费提供的童话故事_《老鼠、鸟和香肠》的文本。_我们将把这个童话故事的文本存储在一个字符串中,text.

首先,我们使用上面定义的函数进行标记text然后清理它:clean_data

tokens = word_tokenize(text)

cleaned_tokens = clean_data(tokens, stop_words = stop_words)

要查找文本中单词的频率分布,可以使用FreqDistNLTK 类。使用标记作为参数初始化类。然后使用该.most_common()方法找到常见的术语。让我们尝试找出这种情况下的前十项:

from nltk import FreqDist

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

img_convert/8c4513c1a906b72cbf93031e6781512b.png)

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/353184?site
推荐阅读
相关标签
  

闽ICP备14008679号