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

如何在NLTK Python中训练包含文本行的输入文件,python,nlp,nltk,multilingual,Python,Nlp,Nltk,Multilingual,我需要帮助培训一个数据集,然后可以使用pos tagger进行标记。 我的输入文件是-kon_set1.txt 包含Konkani(印度语)文本 我想知道如何对该数据集进行培训。 因此,我可以稍后使用经过训练的数据,使用POS标记器进行标记。 谢谢你。等待积极响应。您有两种可能性: 您可以使用PoS标记手动注释文本的一部分(最好是较大的部分)。然后你可以训练一个贴标签的人。这称为监督培训。但是,您可能需要首先修改标记集,因为英语标记集可能不适合Konkani。手动注释是一项耗时的任务 与@Riy

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

我想知道如何对该数据集进行培训。 因此,我可以稍后使用经过训练的数据,使用POS标记器进行标记。
谢谢你。等待积极响应。

您有两种可能性:

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

  • 与@Riyaz的评论相反,以无监督的方式进行某种词性标注确实是可能的,即没有标注的数据(只是原始文本)。有关英语文本的应用程序,请参见示例。然而,这将远不如监督培训准确。你需要大量的文字。Biemann建议使用5000万代币来获得合理的结果


  • 康卡尼语并不是一种晦涩难懂的语言。如果你的目标是训练一个标记者,找到一个标记的语料库作为训练材料。如果你的目标是标记你自己的文本,那么也可以这样做,或者找一个经过培训的标记员。在谷歌上搜索“Konkani训练语料库”的点击率很高。仔细看看

    注意术语:你训练一个标记员。您可以标记或注释语料库(手动或通过工具)

    你可以像@Lenz建议的那样手工标注语料库,但我不推荐这样做。注释一个足够大的语料库来训练标记者是一项艰巨的任务


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

    非常感谢您的建议。 我们用tnT打标机就成功了。 我们已经定义了一个名为konkani.pos的语料库,并将其包含在Indian语料库文件夹中。
    现在,我们可以在经过训练的数据集中提取数据行,并通过KonkaniTest.text文件对其进行测试。

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

    x=FreqDist(train_data)
    and
    print(x)
    
    打印一些带标签的单词,然后。。。 因此没有列出所有标记的单词。 我怎样才能看到所有标记的单词?
    并且
    len(x)
    给出了标记单词的数量。

    为了训练词性标记者,您需要有手动的词性标注数据。当你只有原始文本的时候,你怎么能训练一个贴标签的人呢@里亚兹,这不完全是真的;有一些方法可以实现无监督的词性标注(见下面我的答案)。当然,问题是,如果结果符合我心目中的申请要求,@lenz NLP是我的面包和黄油,我应该知道这一点!我假设Ashay想用NLTK中有监督的学习方法训练一个模型。我想,NLTK没有任何无监督的学习方法。@Riyaz无意冒犯。即使OP特别要求有监督的培训,我认为可能值得一提的是另一种方法。你不能“培训”一个文件或数据集。你的意思是“注释”(或者,在本例中,特别是“标记”词性。)@Ashay如果你有数据,那么你可以直接使用任何分类器来训练模型。NLTK有HMM标记器,主要用于NLP社区培训POS标记器。你可以用它来训练Konkani数据的模型。嗨,Ashay,这是一个新问题。把它作为一个新问题输入,你会得到一些答案。
    x=FreqDist(train_data)
    and
    print(x)