0
該函數必須檢測文本中的否定詞,並在否定詞後面加上NEG_前綴。邏輯是將否定詞的索引保存在文本列表中,然後將NEG_prefix添加到(索引+ 1)解決算法錯誤當文本中出現多個列表項時
問題是,例如,當文本中有多個「not」時,它不起作用正確。
def negationDetection(tweet):
position = []
words = tweet.split()
#to prevent error when negation word appears at the end of text
size = len(words)-1
print words
negationList = ["not","no","never"]
for word in words:
if word in negationList:
if words.index(word) != size:
position.append(words.index(word) + 1)
else:
continue
else:
continue
print position
for i in position:
tweet = (tweet).replace(words[i], 'NEG_' + words[i])
return tweet
a = "hello I am not good,but I can never feel it"
print negationDetection(a)
結果是
你好,我是不是NEG_good,但我從來沒有NEG_feel它
這是正確的,但是當文本是「你好,我是不是好,但我感覺不到「,結果是
你好,我不是NEG_NEG _good,但我感覺不到它的
代替
你好,我是不是NEG_good,但我不能NEG_feel它
我怎樣才能修復這個bug?