Python 如何使用line_tokenize或word_tokenize使用nltk分隔新行?
尝试用单词_tokenize和sent _tokenize标记段落的新行,但无法识别新行 尝试通过在新行中将其拆分为段落,但仍然不起作用Python 如何使用line_tokenize或word_tokenize使用nltk分隔新行?,python,python-3.x,nltk,Python,Python 3.x,Nltk,尝试用单词_tokenize和sent _tokenize标记段落的新行,但无法识别新行 尝试通过在新行中将其拆分为段落,但仍然不起作用 from nltk import sent_tokenize, word_tokenize, pos_tag para="the new line \n new char" sent=sent_tokenize(para) print(sent) 输出: ['the new line \n new char'] [['the new line'], ['
from nltk import sent_tokenize, word_tokenize, pos_tag
para="the new line \n new char"
sent=sent_tokenize(para)
print(sent)
输出:
['the new line \n new char']
[['the new line'], [' new char']]
如果数据在python中以字符串格式指定,但在从docx文件提取时失败,那么它就可以工作
对于python中的数据,我使用
from nltk import sent_tokenize, word_tokenize, pos_tag
para="the new line \n new char"
paragraphs = [p for p in para.split('\n') if p]
par3=[sent_tokenize(par) for par in paragraphs]
print(par3)
输出:
['the new line \n new char']
[['the new line'], [' new char']]
PS:我正在用UTF-8编码从文档文件中读取数据。在NLTK中,
sent\u tokenize
是一种统计算法。这是一个Punkt算法的实现
word\u tokenize
是一种基于规则(regex搜索和替换)的算法,它是对原始算法的扩展
要使用\n
符号分隔字符串,只需执行str.split('\n'
),例如
sent\u tokenize()
不会根据新行分割数据。它像..一样寻找句子结束符。因此,当我在python变量中使用普通文本拆分它时,它可以工作,但在python中使用getText从docx文件提取数据时失败。此外,我还检查了docx文件提取后的提取,新行消失,并捆绑在相同的数据中。例如,docx文件中的“Jerry McGuire NewYork”被提取为Jerry McGuire NewYork