Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用line_tokenize或word_tokenize使用nltk分隔新行?_Python_Python 3.x_Nltk - Fatal编程技术网

Python 如何使用line_tokenize或word_tokenize使用nltk分隔新行?

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'], ['

尝试用单词_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'], [' 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