Python 如何将句子拆分成单词(有例外)
我正在做一个文本分类项目,我需要把一个句子分成几个单词,这样我就可以计算出它是正的还是负的概率。 问题是单词Python 如何将句子拆分成单词(有例外),python,Python,我正在做一个文本分类项目,我需要把一个句子分成几个单词,这样我就可以计算出它是正的还是负的概率。 问题是单词“not”,当它出现时,它会将原本认为是肯定的句子改为否定的句子,但我的系统仍然将句子归类为肯定的,这使它出错 我的想法是找到一种将句子拆分成单词的方法,除了“not” 例如,“她不漂亮” 而不是“她”、“是”、“不是”、“漂亮” 我想得到“她”、“是”、“不漂亮”你可以对单词“不” 重新导入 mystr=“她不漂亮” 关于split((?您也可以尝试 将文本拆分为“not” 获取新列表中
“not”
,当它出现时,它会将原本认为是肯定的句子改为否定的句子,但我的系统仍然将句子归类为肯定的,这使它出错
我的想法是找到一种将句子拆分成单词的方法,除了“not”
例如,“她不漂亮”
而不是“她”、“是”、“不是”、“漂亮”
我想得到“她”、“是”、“不漂亮”
你可以对单词“不”
重新导入
mystr=“她不漂亮”
关于split((?您也可以尝试
将文本拆分为“not”
获取新列表中的第一个元素并将其拆分,然后将其添加到另一个要返回的列表中
对于步骤1中列表的其他元素,我们拆分每个项目,并将not添加到第一个项目中
虽然like正则表达式是一种方法。如果在not
之后有多个单词,那么情况如何。例如她不是一个漂亮的人,也很好
import re
mystr = "she is not beautiful"
re.split("(?<!not)\s", mystr)
#['she', 'is', 'not beautiful']
def my_seperator(text):
text = text.strip()
my_text = []
text = text.split('not')
my_text = my_text + text[0].split()
for t in text[1:]:
temp_text = t.split()
my_text.append('not '+temp_text[0])
my_text = my_text+temp_text[1:]
return my_text
>>> my_seperator('she is not beautiful . but not that she is ugly. Maybe she is not my type')
['she', 'is', 'not beautiful', '.', 'but', 'not that', 'she', 'is', 'ugly.', 'Maybe', 'she', 'is', 'not my', 'type']