将未标记语料转换为标记语料(NLTK)
我有一堆纯文本的数据,想给它们加标签并保存,这样我以后可以用到。请问有什么好的方法吗?
我已经做了一个标签工具,但我不知道怎么才能把这些数据改得不那么麻烦。
2 个回答
0
你是在做简单的单词标记,还是在真正分析文本呢?我觉得NLTK会把每个词处理成一个输出,格式是(词,词性)。用一个包含元组的数组来存储你的语料库不行吗?你觉得这样很乱的原因是什么呢?
1
看看其他带标签的语料库,比如brown,看看输出的例子。这能让你了解一个带标签的语料库应该是什么样子的。接下来,使用PlaintextCorpusReader
加载你的语料库,然后逐句处理每个句子,为每个句子加上标签。接着,把每个带标签的句子写入一个文件,可以通过把带标签的句子转成字符串来实现,像这样:' '.join([tuple2str(t) for t in tagged_sent])
(在这之前要先执行from nltk.tag.util import tuple2str
)。如果你的代码看起来“乱七八糟”也没关系,只要它能正确完成任务就行。你这里不需要追求优雅的算法,只是在运行一个非常具体的脚本来创建一个自定义的语料库。