在一个文件中我有文字,像这样用随机换行:地图线句子分解到另一个列表
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
的索引,希望每个split都对应句子中的一个单词(这可能不总是正确的),然后在该索引处打破标签列表。这更像是一种黑客攻击,在很多情况下都会失败。什么是更强大的方式来实现这一目标?
您为什么删除标点符号?他们非常有用。 – alvas 2014-11-25 08:07:11
@alvas我没有。我正在使用的标记器做到了。 – slider 2014-11-26 00:27:20