如何处理句子中的换行符? - 宽敞的内尔
How do I handle new line characters in my sentences? - spacy NER
我正在尝试训练 spacy NER,我收集了我所有的句子,但很多句子都嵌入了换行符 '\n' 所以当我将训练数据输入我的 jupyter notebook 时,它因错误而失败
TRAIN_DATA = [('Who is
^
SyntaxError: EOL when scanning string literal
我应该用这些做什么?
数据看起来像这样(
TRAIN_DATA = [('Who is
Shaka Khan?', {'entities': [(7, 17, 'PERSON')]}),
Jupyter
如果问题出在 jupyter 中,您需要 3x ' 围绕像这样的多行字符串
string=""" This string has many lines
that continues here
and here """
你的情况是
TRAIN_DATA = [('''Who is
Shaka Khan?''', {'entities': [(7, 17, 'PERSON')]})
如果我错了请纠正我,但看起来您复制粘贴了数据,这就是为什么会发生这种情况。您可以通过删除换行符来简单地解决 Jupyter 中的问题。或者,我建议您不使用复制粘贴将数据导入 Jupyter。
去掉换行符
如果你想删除字符串中的换行符,有很多选项。这是一个
import re
string = re.sub('\n', '', string)
说明
- 行:正则表达式模块的导入
行:使用方法'sub'
将字符串中的第一个输入 '\n' 替换为 ''。
输出:
' 这个字符串有很多行在这里和这里继续 '
我猜您可能正在使用 pandas,因此要在列上执行此操作,您可以执行以下操作:
df[col_name]=df[col_name].str.replace(r'^\n','')
我正在尝试训练 spacy NER,我收集了我所有的句子,但很多句子都嵌入了换行符 '\n' 所以当我将训练数据输入我的 jupyter notebook 时,它因错误而失败
TRAIN_DATA = [('Who is ^ SyntaxError: EOL when scanning string literal
我应该用这些做什么?
数据看起来像这样(
TRAIN_DATA = [('Who is
Shaka Khan?', {'entities': [(7, 17, 'PERSON')]}),
Jupyter
如果问题出在 jupyter 中,您需要 3x ' 围绕像这样的多行字符串
string=""" This string has many lines
that continues here
and here """
你的情况是
TRAIN_DATA = [('''Who is
Shaka Khan?''', {'entities': [(7, 17, 'PERSON')]})
如果我错了请纠正我,但看起来您复制粘贴了数据,这就是为什么会发生这种情况。您可以通过删除换行符来简单地解决 Jupyter 中的问题。或者,我建议您不使用复制粘贴将数据导入 Jupyter。
去掉换行符
如果你想删除字符串中的换行符,有很多选项。这是一个
import re
string = re.sub('\n', '', string)
说明
- 行:正则表达式模块的导入
行:使用方法'sub' 将字符串中的第一个输入 '\n' 替换为 ''。
输出: ' 这个字符串有很多行在这里和这里继续 '
我猜您可能正在使用 pandas,因此要在列上执行此操作,您可以执行以下操作:
df[col_name]=df[col_name].str.replace(r'^\n','')