代码分享-提取三连词

代码分享
提取三连词(去除停用词版)
代码及解析

该代码是去除停用词版,因为文本中充满了大量的停用词,这样得出的三连词是无意义的。

image.png

这段代码的含义如下:

1. `from nltk.corpus import stopwords`:从nltk.corpus模块中导入stopwords,用于获取常用停用词。

2. `from nltk import ngrams`:从nltk模块中导入ngrams函数,用于生成n元组。

3. `stop_words = set(stopwords.words(‘english’))`:将英语停用词列表存储到名为stop_words的集合变量中。

4. `text = “This is translationclub! We study and make progress here.”`:定义一个字符串变量text,存储要处理的文本。↳

5. `text1 = text.split()`:将文本字符串按照空格分割成单词,并将结果存储到名为text1的列表变量中。

6. `grams_3 = ngrams([word.lower() for word in text1],3)`:使用ngrams函数生成text1中的三元组(三个单词的组合),并将结果存储到名为grams_3的变量中。这里通过列表推导式将text1中的单词转换为小写形式。

7. `grams_3 = list(set(grams_3))`:将grams_3中的元素转换为集合,去除重复的元组,并再次转换为列表。

8. `for g in grams_3:`:遍历grams_3中的每一个元组,将当前元组赋值给变量g。

9. `if len(set(g)&set(stop_words)) == 0:`:判断当前元组g中的单词是否与停用词stop_words没有交集,即当前元组中没有停用词。

10. `print(g)`:如果当前元组g中没有停用词,则打印输出该元组。

 

总结:该代码使用nltk库对文本进行处理,首先将文本分割为单词,然后生成三元组(三个单词的组合)。接着,根据英语停用词列表,筛选出不包含停用词的三元组,并将结果打印输出。

 

运行结果如下:

(‘make’, ‘progress’, ‘here.’)

每日啃一段代码,日积月累,我们可以跨越这条鸿沟,若是还未入门Python,可加入我们的粉丝群免费获取《第一本书Python》,快速入门!

往期代码合集可后台回复代码分享或者加入翻译圈粉丝群获取,粉丝群还有其它资源哦。

参考书藉:Python语言数据分析 管新潮 著

特别说明:本文仅供学习交流,如有不妥欢迎后台联系小编。

– END –


翻译圈公众号旨在为读者提供名师和专家对口笔译的真知灼见,CATTI考试和MTI入学考试信息,翻译等语言服务就业资讯,以及口笔译学习资源和知识,希望在翻译之路上,为大家助上一臂之力。欢迎大家积极留言,为我们提供建设性意见,我们共同进步!

原文作者:吴志雄

推文编辑:张子明

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注