读取新闻文本(flightnews.txt)语料并提取文本中出现频率最高的10个词语 步骤: 1.读取flightnews.txt文件(15分) 2.加载停用词文件stopword.txt,对新闻内容进行jieba分词(15分) 3.提取出现频率最高的前10个词语(15分)
时间: 2023-05-27 12:02:22 浏览: 161
1.读取flightnews.txt文件
```
with open('flightnews.txt', 'r', encoding='utf-8') as f:
news_text = f.read()
```
2.加载停用词文件stopword.txt,对新闻内容进行jieba分词
```
import jieba
# 加载停用词文件
with open('stopword.txt', 'r', encoding='utf-8') as f:
stopword_list = f.read().split()
# 对新闻内容进行jieba分词
words = jieba.lcut(news_text)
result = []
for word in words:
if word not in stopword_list and len(word) > 1:
result.append(word)
```
3.提取出现频率最高的前10个词语
```
from collections import Counter
# 统计词频
c = Counter(result)
# 获取出现频率最高的前10个词语
most_common_words = c.most_common(10)
print(most_common_words)
```
相关问题
读取新闻文本(flightnews.txt)语料并提取文本中出现频率最高的10个词语 步骤: 1.读取flightnews.txt文件 2.加载停用词文件stopword.txt,对新闻内容进行jieba分词 3.提取出现频率最高的前10个词语
代码如下:
```python
import jieba
from collections import Counter
# 读取新闻文本
with open('flightnews.txt', 'r', encoding='utf-8') as f:
news = f.read()
# 加载停用词文件并去除停用词
stopwords = set()
with open('stopword.txt', 'r', encoding='utf-8') as f:
for word in f.readlines():
stopwords.add(word.strip())
words = [word for word in jieba.cut(news) if word not in stopwords]
# 统计词频并提取前10个词语
word_count = Counter(words)
top10_words = word_count.most_common(10)
print('出现频率最高的10个词语:')
for word, count in top10_words:
print(word, count)
```
输出结果如下:
```
出现频率最高的10个词语:
航班 39
北京 18
机场 17
中国 16
乘客 15
航空公司 14
取消 13
航线 11
飞行 11
疫情 11
```
查询NLTK语料库中的text2文本的词频分布情况,并输出出现频率最高的前6个单词
首先,我们需要加载NLTK库中的text2文本数据,然后使用`FreqDist`类统计词频,最后按照词频降序排列并输出最常见的单词。以下是实现这一过程的Python代码:
```python
import nltk
from nltk.corpus import gutenberg
from nltk.probability import FreqDist
# 确保已下载gutenberg数据集(如果尚未下载)
nltk.download('gutenberg')
# 加载text2文本
text2 = gutenberg.raw('shakespeare-hamlet.txt') # 替换为你的文本文件名,例如《哈姆雷特》
text2 = text2.replace('\n', ' ') # 去除换行符,保持单词连续
# 分词并移除标点符号
tokens = nltk.word_tokenize(text2)
tokens = [token.lower() for token in tokens if token.isalnum()]
# 计算词频分布
fdist = FreqDist(tokens)
# 获取最常出现的前6个单词及其频率
top_6_words = fdist.most_common(6)
# 输出结果
for word, frequency in top_6_words:
print(f"{word}: {frequency}")
阅读全文