nltk(python)中的TaggedCorpusReader和UnigramTagger

2024-06-09 10:08:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用nltk以一种非常低保真的方式自动分类新闻文章。我已经创建了一个与我的类别(如教师/EDU,computer/TECH等)相关联的单词/标记对的自定义语料库,我一直在阅读,并且this question让我非常接近,但是我仍然被卡住了。在

根据目前为止我的代码,我如何使用标记器标记我的句子?在

import nltk

# Loads my custom word/tag corpus
from nltk.corpus.reader import TaggedCorpusReader
reader = TaggedCorpusReader('taggers','.*')

#Sets up the UnigramTagger
default_tagger = nltk.data.load(nltk.tag._POS_TAGGER)
tagger = nltk.tag.UnigramTagger(model=reader.tagged_words(), backoff=default_tagger)

#Sample content
sent = 'The students went to school to ask their teacher what the homework for the day was but she told them to check their email.'
tokens = nltk.tokenize.word_tokenize(sent)

# Sad Panda
tagged = tagger.tag(tokens) 
# ^ produces AttributeError: 'ConcatenatedCorpusView' object has no attribute 'get'

这也是很可能的,这是一个糟糕的方式去做我想做的事情,但它似乎足够好的第一次运行。提前谢谢。在


Tags: theto标记importdefaulttag方式corpus
1条回答
网友
1楼 · 发布于 2024-06-09 10:08:40

标记器用于词性标记,而不是文本分类。看看路透社的语料库——它使用一个分类文件将新闻文章分为多个类别。那么看看nltk.分类模块和阅读如何训练文本分类器。在

相关问题 更多 >