p ython中英文词频统计
时间: 2023-07-11 08:30:18 浏览: 113
实现中英文词频统计,可以使用Python中的nltk库和re库。
首先需要安装nltk库,在终端中输入以下命令:
```
pip install nltk
```
然后需要下载nltk库中的英文停用词和中文分词模块,在Python交互式环境中输入以下命令:
```python
import nltk
nltk.download('stopwords')
nltk.download('punkt')
```
接下来,我们可以编写一个函数来统计文本中单词的出现频率。下面是一个示例代码:
```python
import re
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
def count_words(text):
# 去除标点符号和数字
text = re.sub(r'[^\w\s]', '', text)
text = re.sub(r'\d+', '', text)
# 分词
tokens = word_tokenize(text)
# 去除停用词
stop_words = set(stopwords.words('english'))
words = [word for word in tokens if word.lower() not in stop_words]
# 统计词频
freq_dist = nltk.FreqDist(words)
return freq_dist
```
以上代码会将文本中的标点符号和数字去除,然后对文本进行分词,并去除英文停用词。最后使用nltk库中的FreqDist函数统计每个单词出现的频率。
如果要统计中文词频,可以使用jieba库进行中文分词。以下是一个示例代码:
```python
import jieba
from collections import Counter
def count_words(text):
# 分词
words = jieba.cut(text)
# 统计词频
freq_dist = Counter(words)
return freq_dist
```
以上代码会使用jieba库对中文文本进行分词,并使用Python标准库中的Counter函数统计每个词出现的频率。
阅读全文