gpt4 book ai didi

python - 如何使用 NLTK 构建词性标注语料库?

转载 作者:行者123 更新时间:2023-11-28 18:30:19 25 4
gpt4 key购买 nike

我尝试从外部 .txt 文件构建一个词性标记的语料库,用于分块以及实体和关系提取。到目前为止,我已经找到了一个繁琐的多步骤解决方案:

  1. 将带有 的文件读入纯文本语料库:

    from nltk.corpus.reader import PlaintextCorpusReader
    my_corp = PlaintextCorpusReader(".", r".*\.txt")
  2. 使用内置的 Penn POS-tagger 标记语料库:

    my_tagged_corp= nltk.batch_pos_tag(my_corp.sents())

(顺便说一下,此时 Python 抛出了一个错误:NameError: name 'batch' is not defined)

  1. 将标记的句子写入文件:

    taggedfile = open("output.txt" , "w")
    for sent in dd_tagged:
    line = " ".join( w+"/"+t for (w, t) in sent )
    taggedfile.write(line + "\n")
    taggedfile.close ()
  2. 最后,再次阅读此输出作为标记语料库:

    from nltk.corpus.reader import TaggedCorpusReader
    my_corpus2 = TaggedCorpusReader(".",r"output.txt")

这对于一个非常常见的任务来说非常不方便(分块总是需要标记的语料库)。我的问题是:是否有更紧凑和优雅的方式来实现它?例如,同时获取原始输入文件和标注器的语料库阅读器?

最佳答案

我得到了解决方案:请引用link一步一步的过程。

here 下载必要的文件.

一旦您遵循来自 1 的命令将生成 pickle 文件,这是您标记的语料库。

生成 pickle 文件后,您可以通过运行以下代码来检查您的标记器是否正常工作:

import nltk.data
tagger = nltk.data.load("taggers/NAME_OF_TAGGER.pickle")
tagger.tag(['some', 'words', 'in', 'a', 'sentence'])

关于python - 如何使用 NLTK 构建词性标注语料库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38020141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com