我已经下载了 Conll 2003 语料库(“eng.train”)。我想用它来使用 python crfsuite 训练来提取实体。但我不知道如何加载这个文件进行训练。
我找到了这个示例,但它不适用于英语。
train_sents = list(nltk.corpus.conll2002.iob_sents('esp.train'))
test_sents = list(nltk.corpus.conll2002.iob_sents('esp.testb'))
将来我还想培训 POS 或位置以外的新实体。我怎样才能添加这些。
还请建议如何处理多个单词。
最佳答案
您可以使用ConllCorpusReader。
这里是一般实现:
ConllCorpusReader('文件路径', '文件名', columntypes=['','',''])
这里列出了您可以使用的列类型:'WORDS'、'POS'、'TREE'、'CHUNK'、'NE'、'SRL'、'IGNORE '
示例:
from nltk.corpus.reader import ConllCorpusReader
train = ConllCorpusReader('CoNLL-2003', 'eng.train', ['words', 'pos', 'ignore', 'chunk'])
test = ConllCorpusReader('CoNLL-2003', 'eng.testa', ['words', 'pos', 'ignore', 'chunk'])
关于machine-learning - 如何在 python crfsuite 中使用 Conll 2003 语料库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45619892/