我想使句子如下:
(N(Hace卡路里)-(S(De todas formas,no salgo a Casa))))>>
(N(Además,va venir Peter。)-(S(禁运,无任何法律效力)))] >>
但是该程序只能给我第一句话,并给出一个错误,如ValueError:在第二句话中找不到子字符串。有人可以帮忙吗?谢谢!
这是我的代码:
from nltk import tokenize sent = 'Hace calor. De todas formas, no salgo a casa. Además, va a venir Peter. Sin embargo, no lo sé a qué hora llegará exactamente.' Ant = ['De todas formas', 'Sin embargo'] sent = tokenize.sent_tokenize(sent) for i in sent: for DMAnt in Ant: if DMAnt in i: sent = '(N(' + str(sent[sent.index(i)-1]) + ')-Antithesis-' +'(S(' + str(sent[sent.index(i)]) + '))' print(sent)
[我想作以下句子:(N(Hace calor。)-(S(De todas formas,no salgo a casa。)))(N(Además,va an venir Peter。)-(S(禁运罪,没有任何法律效力。)))但是...
您正在更改sent
。我建议创建一个新变量,它将解决问题。
import nltk
nltk.download('punkt')
from nltk import tokenize
sent = 'Hace calor. De todas formas, no salgo a casa. Además, va a venir Peter. Sin embargo, no lo sé a qué hora llegará exactamente.'
Ant = ['De todas formas', 'Sin embargo']
sent = tokenize.sent_tokenize(sent)
new=[]
for i in sent:
for DMAnt in Ant:
if DMAnt in i:
new.append('(N(' + str(sent[sent.index(i)-1]) + ')-Antithesis-' +'(S(' + str(sent[sent.index(i)]) + '))')
print(new)