如何用nltk标记器标记句子的一部分(多个单词)

2024-09-28 23:02:14 发布

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

我在玩nltk标记器,并基于两个德语句子构建了标记器层次结构:

traindata = [
    [('ich bin dabei', 'PV')],
    [('ich', 'test'), ('bin', 'None'), ('nicht', 'NV'), ('dabei', 'None')],
]

t0 = nltk.DefaultTagger('None')
t1 = nltk.UnigramTagger(traindata, backoff=t0)
t2 = nltk.BigramTagger(traindata, backoff=t1)
t3 = nltk.TrigramTagger(traindata, backoff=t2)

输入:ich bin dabei

应输入:[('ich bin dabei', 'PV')]

结果:[('ich', 'test'), ('bin', 'None'), ('dabei', 'None')]

单词ich是根据traindata中的第二个元素标记的,尽管我希望这三个单词ich bin dabei都被标记为PV。在

如何使用nltk标记器标记多个单词?部分句子也一样:

ich bin dabei, hoffe ich

应该会导致

[('ich bin dabei', 'PV'), ('hoffe', 'None'), ('ich', 'None')]


Tags: 标记testnonebin单词句子t1backoff