python利用NLTK对obamatxt语料库进行对应的分词和词频统计再对布朗语料库进行词性和句法分析。
以下是Python代码:
- 分词和词频统计
import nltk
nltk.download('punkt')
from nltk.tokenize import word_tokenize
from nltk.probability import FreqDist
# 读取文本文件
with open('obama.txt', 'r') as file:
text = file.read()
# 分词
tokens = word_tokenize(text)
# 词频统计
fdist = FreqDist(tokens)
# 打印前10个出现频率最高的词汇
print(fdist.most_common(10))
- 词性和句法分析
nltk.download('brown')
nltk.download('averaged_perceptron_tagger')
nltk.download('tagsets')
from nltk.corpus import brown
from nltk import pos_tag, ne_chunk, tree
# 读取布朗语料库中的文本
text = brown.sents(categories='news')[0]
# 词性分析
tagged_text = pos_tag(text)
# 打印词性标记集
print(nltk.help.upenn_tagset())
# 打印词性标记和对应的单词
for word, tag in tagged_text:
print(word, tag)
# 句法分析
grammar = "NP: {<DT>?<JJ>*<NN>}"
cp = nltk.RegexpParser(grammar)
result = cp.parse(tagged_text)
# 打印句法树
print(result)
``
原文地址: http://www.cveoy.top/t/topic/cJvd 著作权归作者所有。请勿转载和采集!