词性标注全解析
1. 专有名词标注
我们可以利用已有的名称语料库,创建一个简单的标注器,将名称标注为专有名词。
实现步骤
NamesTagger 类是 SequentialBackoffTagger 的子类,通常在回溯链末尾使用。初始化时,我们会创建一个名称集合,将语料库中的每个名称转换为小写,方便查找。然后实现 choose_tag() 方法,该方法会检查当前单词是否在名称集合中。如果是,则返回 NNP 标签(专有名词标签);如果不是,则返回 None ,让链中的下一个标注器处理该单词。
以下是 taggers.py 中的代码:
from nltk.tag import SequentialBackoffTagger
from nltk.corpus import names
class NamesTagger(SequentialBackoffTagger):
def __init__(self, *args, **kwargs):
SequentialBackoffTagger.__init__(self, *args, **kwargs)
self.name_set = set([n.lower() for n in names.words()])
def choose_tag(self, tokens, index, history):
超级会员免费看
订阅专栏 解锁全文
1252

被折叠的 条评论
为什么被折叠?



