Python 如何处理句子中的新行字符斯帕西纳
我正在尝试训练spacy NER,我收集了我所有的句子,但许多句子都嵌入了新行字符“\n”,因此当我将训练数据输入jupyter笔记本时,它失败了,出现了一个错误 我该怎么处理这些 数据如下所示(Python 如何处理句子中的新行字符斯帕西纳,python,spacy,Python,Spacy,我正在尝试训练spacy NER,我收集了我所有的句子,但许多句子都嵌入了新行字符“\n”,因此当我将训练数据输入jupyter笔记本时,它失败了,出现了一个错误 我该怎么处理这些 数据如下所示( Jupyter 如果问题出在jupyter中,则需要在像这样的几行上的字符串周围设置3x“ string=""" This string has many lines that continues here and here """ 在你的情况下,那就
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)
解释
df[col_name]=df[col_name].str.replace(r'^\n','')
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)
解释
df[col_name]=df[col_name].str.replace(r'^\n','')
原始文本包含换行符。我可以很容易地删除它们,但如果我这样做,我将不得不用另一个长度相等的字符(可能是空格)替换它,以保持实体的开始和结束索引。删除原始换行符会对生成的模型产生任何影响吗?我还生成了train data从c#程序中,如果我这样做的话,我可能不得不稍微调整它以输出三重引号。它认为这取决于你试图实现的目标。如果你试图分析句子,我建议用空格替换换行符。除非换行符有意义,否则用一个可以表示b的句尾字符替换它当你标记句子时使用e。我猜删除换行符不会对生成的模型产生影响。但是,你可以很容易地在之后测试它。原始文本包含换行符。我可以很容易地删除它们,但如果我这样做,我将不得不用另一个等效l的字符替换它长度可能是空白,以保持实体的开始和结束索引。删除原始换行符会对生成的模型产生任何影响吗?此外,我从c#程序生成了列车数据,如果我走这条路线,我可能需要调整它以输出三重引号。它认为这取决于您试图实现的目标。如果如果您试图分析句子,我建议将换行符替换为空白。除非换行符具有含义,否则请将其替换为可以在标记句子时使用的句尾字符。我猜删除换行符不会对生成的模型产生影响。但是,之后您可以很容易地对其进行测试。