如何在NLTK Python中训练包含文本行的输入文件

时间:2015-06-09 15:46:35

标签: python nlp nltk multilingual

我需要帮助训练一个数据集,然后可以使用pos标记符进行标记。 我的输入文件是 - kon_set1.txt 包含Konkani(印度语)的文字。

ताजो स्वास आनी चकचकीत दांत तुमचें व्यक्तीमत्व परजळायतात.
दांत आशिल्ल्यान तुमचो आत्मविश्वासय वाडटा.
आमच्या हड्ड्यां आनी दांतां मदीं बॅक्टेरिया आसतात.
त्यो दांत बुरशे आनी स्वास घाणयारो करतात.
हांगा दिल्ल्या कांय सोंप्या सुचोवण्यांच्या आदारान तुमी तुमचे दांत नितळ आनी स्वास ताजो दवरूंक शकतात.

我想知道如何对这个数据集进行培训。 这样我以后就可以使用经过训练的数据来使用POS标记器进行标记。 感谢您。等待积极回应。

4 个答案:

答案 0 :(得分:0)

您有两种可能性:

  1. 您使用PoS标记手动注释(最好是大部分)文本部分。然后你可以训练一个标记器。这称为监督训练。但是,您可能需要先修改标记集,因为英文标记集可能不适合Konkani。手动注释是一项耗时的任务。

  2. 与@Riyaz的评论相反,确实可以以无人监督的方式进行某种PoS标记,即。没有标记数据(只是原始文本)。例如,请参阅this 2009 paper by Chris Biemann以获取英文文本的应用程序。然而,这比监督训练要准确得多。你需要一大堆文字。比曼建议使用5000万张代币来获得合理的结果。

答案 1 :(得分:0)

Konkani不是一种晦涩的语言。如果您的目标是训练标记器,请找到标记的语料库以用作培训材料。如果您的目标是标记自己的文字,请执行相同操作或查找预先培训的标记。谷歌搜索" Konkani训练语料库"给出了大量的点击率。看看他们。

请注意术语:您训练标记器。您标记注释语料库(手动或工具)。

可以手动注释你的语料库,正如@Lenz建议的那样,但我不会推荐它。注释足够大小的语料库来训练标记器是一项艰巨的任务。

我也不建议你尝试设计一种无监督的方法,因为(a)这是一个开放的研究问题,(b)你对这些简单的东西有足够的麻烦。首先要做的事情是:找到自己标记的语料库。

答案 2 :(得分:0)

非常感谢您的建议。 它使用tnT标记为我们解决了问题。 我们定义了一个名为konkani.pos的语料库,并将其包含在Indian Corpus文件夹中。 现在我们能够获取经过训练的数据集中的数据行,并通过KonkaniTest.text文件对其进行测试。

答案 3 :(得分:0)

现在,在找到标记词的出现频率时, 使用函数

x=FreqDist(train_data)
and
print(x)

打印一些标记的单词,然后是...... 从而没有列出所有标记的单词。 如何查看所有标记的单词? 并且len(x)给出了标记词数的计数。