1

我使用 python 的文本 blob 库和文本 blob 的朴素贝叶斯分类器。我了解到它使用 nltk 朴素贝叶斯分类器。这是问题:我的输入句子是非英语的(土耳其语)。有可能吗?我不知道它是如何工作的。但我尝试了 10 个训练数据,似乎奏效了。我想知道它是如何工作的,这个 nltk 的天真的宝贝分类器,在非英语数据上。有什么缺点?

4

1 回答 1

4

尽管为英语训练的分类器不太可能适用于其他语言,但听起来您正在使用textblob为您的文本域训练分类器。没有什么可以排除使用其他语言的数据,所以真正的问题是您是否获得了可接受的性能。你应该做的第一件事是在几百个句子上测试你的分类器(而不是你训练它的那些!)。如果你开心,那就是故事的结局。如果没有,请继续阅读。

任何分类器的成败在于选择用于训练它的特征。NLTK 的分类器需要“特征提取”功能,将句子转换为特征字典。根据它的教程textblob默认提供了某种“词袋”功能。大概这就是您正在使用的那个,但是您可以轻松插入自己的功能。

这就是特定语言资源的用武之地:许多分类器使用“停用词列表”来丢弃常用词,如andthe。显然,这个列表必须是特定于语言的。正如@JustinBarber 在评论中所写,具有大量形态的语言(如土耳其语)有更多的词形,这可能会限制基于词的分类的有效性。如果你“词干”或将你的词词还原,你可能会看到改进;这两个程序都将不同的屈折词形式转换为共同的形式。

更进一步,您没有说明分类器的用途,但您可以为某些文本属性编写自定义识别器,并将它们作为特征插入。例如,如果您正在进行情绪分析,某些语言(包括英语)具有表示高度情绪的语法结构。

有关更多信息,请阅读NLTK 书籍的几章,尤其是关于分类的章节。

于 2015-12-05T21:26:09.640 回答