У меня есть список из 4 граммов, которые я хочу найти в тексте, но у меня проблемы с некоторыми словами с акцентами. Например, предположим, что наш 4-граммовый список равен Quad = [(u'Jogos', u'Olímpicos', u'de', u'Verão'), (u'Jogos', u'Olímpicos', u'de', u'Inverno'), (u'Jogos', u'Olímpicos', u'de', u'Sidney')]
У меня есть небольшой текст для проверки:
'Tasha fez parte da equipe norte americana que disputou os Jogos Olímpicos de Sidney em 2000 na Austrália'
Но я не могу сопоставить это «Олимпийские игры Сиднея» из текста с тем, что написано на моем 4-граммовом.
Я попробовал пару вещей,
Первое: я составил второй список Quad2 = [u'Jogos_Ol\xedmpicos_de_Ver\xe3o', u'Jogos_Ol\xedmpicos_de_Inverno', u'Jogos_Ol\xedmpicos_de_Sidney']
Вот результат, если я сделаю Quad2 [2], я получу Jogos_Olímpicos_de_Sidney
Когда я пытаюсь
while i < (len(test) - 3):
if (test[i] + '_' + test[i+1] + '_' + test[i+2] + '_' + test[i+3]) in Quad2:
print test[i]
Он ничего не печатает.
Второй:
while k< len(test)-3:
for i in range(3):
if test[k] == Quad[i][0] and test[k+1] == Quad[i][1] and test[k+2] == Quad[i][2] and test[k+3] == Quad[i][3]:
print test[k]
k = k+1
Со словами без ударения оба метода слова, но такие слова, как «Олимпикос», это не так. Есть предположения?