【问题标题】:Create and exploit a tagged corpora with NLTK使用 NLTK 创建和利用标记语料库
【发布时间】:2018-07-31 08:45:27
【问题描述】:

我正在尝试用马达加斯加语(我的母语)创建一个带标签的语料库。我按照文档 Python text Processing 和 natural language processing 和页面 https://www.nltk.org/book/ch05.html 中的说明进行操作。 我已经设法基于通用词性标签集和一些带标签的语料库创建了自己的词性标签集。 这是我的代码:

        import os, os.path
        path = os.path.expanduser('D:/Mes documents/MY_POS_tagger/nltk_data')
        if not os.path.exists(path):
            os.mkdir(path)
        print("OS path done :%s"%os.path.exists(path))


        import nltk.data
        nltk.data.path.append('D:/Mes documents/MY_POS_tagger/nltk_data')
        print("NLTK data path done:%s"%(path in nltk.data.path))

        #read a POSfile
        import nltk
        from nltk.corpus.reader import TaggedCorpusReader
        from nltk.tag import UnigramTagger

   #there's only one document malagasy.pos, it's there where my tagged corpora.

    reader = TaggedCorpusReader('D:/Mes documents/MY_POS_tagger/nltk_data/corpora/cookbook', r'.*\.pos')


    train_sents=reader.tagged_sents()
    tagger=UnigramTagger(train_sents)

#dago.txt contain just sentences without tag, i just wanted to test if the tag i assign on the POS file will work 

    text=(nltk.data.load('corpora/cookbook/dago.txt', format='raw'))
    text_tokenized=nltk.word_tokenize(text)
    print tagger.tag(text_tokenized)

我有这个结果:

OS path done :True
NLTK data path done:True
[('Matory', u'VB'), ('ny', None), ('alika', u'NN')]

所以我可以看到它是有效的,但我在上面的文档中读到我必须训练我的标记器。所以我问是否有人可以建议我如何做到这一点,因为我读到我需要腌制一个训练有素的标记器并训练和组合 Ngram 标记器,但我不明白腌制的含义或作用。而且我不知道我现在正在做的是否是使用 NLTK 创建和利用标记语料库的正确路径。 谢谢

【问题讨论】:

标签: python nltk corpus pos-tagger


【解决方案1】:

我需要腌制一个训练有素的标注器,并训练和组合 Ngram 标注器,但我不明白腌制的含义或作用

根据您问题的这一部分,Pickle 是 Python 中的一个库,它允许在您的硬盘驱动器上转储和加载二进制数据,与您选择的任何 Python 对象相关。

这里的信息:https://docs.python.org/3/library/pickle.html

但是,建议您做的是使用一个可能属于另一种语言的预训练标记器,并添加从您已构建的马达加斯加标记语料库中提取的 ngram。但是,如果您有足够大的以您自己的语言标记的文档语料库,那么开发一个专门针对马达加斯加语的标记器可能对您自己和 NLP 社区更有用。经过快速研究,我在互联网上找不到任何东西,因此准备一个很有用。

【讨论】:

    猜你喜欢
    • 2011-05-15
    • 2013-01-21
    • 2016-10-27
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 2011-10-10
    相关资源
    最近更新 更多