我在使用自然语言工具箱执行命名实体识别时遇到问题。在我可以执行NER之前,我必须执行句子切分、标记化和词性标注。我使用以下代码完成了此操作:
def prepfunc(doc):
segsents = nltk.sent_tokenize(doc)
toksents = [nltk.word_tokenize(sent) for sent in segsents]
possents = [nltk.pos_tag(sent) for sent in toksents]
return possents
prepfunc(doc)
我需要这个的输出在一行上:
[[('word1', 'tag'), ('word2', 'tag'), ('word3', 'tag'), ...]...]
相反,我得到的是每一个单词都在一行:
[[('word1', 'tag'),
('word2', 'tag'),
('word3',
'tag'),
...]
...]
我可能忽略了一些简单的原则,但是我不知道如何删除列表项之间的新行。你知道吗
我一直在寻找解决这个问题的方法,但是,我找到的大多数方法都是从列表中的字符串中删除新行。我需要从列表中删除换行符。你知道吗
编辑:
打印输出的代码是:
prepfunc(doclist[0])
我像这样打开了文件:
f='myfile.txt'
opf=open(f, encoding="UTF-8")
doclist=opf.read().split('\n')
我必须这样打开文件。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐