【发布时间】:2014-11-25 02:40:41
【问题描述】:
在一个文件中,我有这样的带有随机换行符的文本:
Spencer J. Volk, president and CEO of this company, was elected a director.
Mr. Volk, 55 years old, succeeds Duncan Dwight,
who retired in September.
我正在使用 nltk 的句子标记器来查找句子,然后使用词性标签标记这些句子中的单词。例如,标记后,我得到这样的输出(单词列表,句子中每个单词的标记元组):
[('Spencer', u'NNP'), ('J.', u'NNP'), ('Volk', u'NNP'), ('president', u'NN'), ('and', u'CC'), ('CEO', u'NN'), ('of', u'IN'), ('this', u'DT'), ('company', u'NN'), ('was', u'VBD'), ('elected', u'VBN'), ('a', u'DT'), ('director', u'NN')]
[('Mr.', u'NNP'), ('Volk', u'NNP'), ('55', u'CD'), ('years', u'NNS'), ('old', u'JJ'), ('succeeds', u'VBZ'), ('Duncan', u'NNP'), ('Dwight', u'NNP'), ('who', u'WP'), ('retired', u'VBD'), ('in', u'IN'), ('September', u'NNP')]
但现在我想将标签写入另一个文件中使用与我读取文本的原始文件中相同的换行符。对于上面的例子,它会是这样的:
NNP NNP NNP NN CC NN IN DT NN VBD VBN DT NN
NNP NNP CD NNS JJ VBZ NNP NNP
WP VBD IN NNP
我可以在这个表单中获取标签和所有内容,但是如何将原始换行符与标签列表中的换行符关联起来?
一种方法是拆分每个句子,找到\n 的索引,希望每个拆分对应于句子中的一个单词(这可能并不总是正确),然后在该索引处破坏标签列表.这更像是一种 hack,在许多情况下都失败了。实现这一目标的更稳健的方法是什么?
【问题讨论】:
-
为什么要删除标点符号?它们非常有用。
-
@alvas 我没有。我使用的标记器确实如此。