【Python】英文文本分词与词频统计(split()函数、re库)

英文文本分词

1、知识准备
(1)Python中的split()函数的用法
了解split()的基本用法
在这里插入图片描述
(2)python多个分割符split字符串
了解re库的部分用法
在这里插入图片描述
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

2、实践代码
将英文句子分词,并记录通过字典的方式记录每个词语的出现频数。

import re

text="Today I will do what others won’t,\
 so tomorrow I can accomplish what others can’t. "
array=re.split('[ ,.]',text)
print(array)

dic={}
for i in array:
    if i not in dic:
        dic[i] = 1
    else:
        dic[i] += 1
print(dic)

3、实践代码结果
在这里插入图片描述

  • 6
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,我来为您解答。为了进行英文文本词频统计,我们需要先将文本进行分词,然后统计每个词出现的次数。但是,虚词如a、an、the、of等在英文中出现的频率非常高,因此在词频统计中往往需要去除这些词,以便更好地分析文本的内容。以下是一个Python程序示例,可以实现英文词频统计并去除虚词: ```python import re from collections import Counter def remove_stopwords(text): # 定义需要去除的虚词列表 stopwords = ['a', 'an', 'the', 'of', 'in', 'on', 'at', 'to', 'for', 'with', 'by', 'as', 'that', 'this', 'these', 'those', 'such', 'like', 'about', 'over', 'after', 'before', 'under', 'above', 'below'] # 将文本中的标点符号和换行符去除 text = re.sub(r'[^\w\s]','',text) # 将文本转换为小写字母 text = text.lower() # 对文本进行分词 words = text.split() # 去除虚词并统计词频 word_counts = Counter([word for word in words if word not in stopwords]) return word_counts # 测试程序 text = "Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects." word_counts = remove_stopwords(text) print(word_counts) ``` 在这个示例程序中,我们定义了一个名为`remove_stopwords`的函数,该函数接受一个文本字符串作为输入,并返回一个字典,其中包含了去除虚词后每个单词出现的次数。在函数内部,我们首先定义了需要去除的虚词列表`stopwords`,然后使用正则表达式将标点符号和换行符去除,并将文本转换为小写字母。接下来,我们使用Python内置的`split`函数文本进行分词,然后使用列表推导式去除虚词并统计词频。最后,我们在程序中对该函数进行了测试,并输出了去除虚词后的词频统计结果。 希望这个示例程序能够帮助您解决问题。如果您还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值