TUZ_4-03 Форма слова из текстового корпуса
4.3. Форма слова из текстового корпуса
Форма заданного слова w длиной m – это список l, состоящий из m – 1 зна- чений +1, –1 и 0.
Число, добавляемое в результирующий список l, зависит от алфавитного порядка:
'a' < 'b' < 'c' < 'd' < 'e' < 'f' < 'g' < 'h' < 'i' < 'j' < 'k' < 'l' < 'm' < 'n' < 'o' < 'p' < 'q'' < 's' < 't' < 'u' < 'v' < 'w' < 'x' < 'y' < 'z'.
Для каждой пары α и β если α < β, то shape = 1, если α > β, то shape = –1 и если α = β, то shape = 0.
Например, пусть дано слово word = optimum,
для определения его формы выполняются следующие шаги:
o < p, соответственно, shape = [1] →
p < t, соответственно, shape = [1, 1] →
t > i, соответственно, shape = [1, 1, –1] →
i < m, соответственно, shape = [1, 1, –1, 1] →
m < u, соответственно, shape = [1, 1, –1, 1, 1] →
u > m, соответственно, shape = [1, 1, –1, 1, 1, –1].
В этом задании требуется найти все слова, формы которых совпадают с заданной.
Напишите функцию, которая принимает список слов (корпус текста) и эталонную форму и возвращает список слов,
форма которых совпадает с заданной.
В табл. 4.3 показаны ожидаемые результаты для некоторых входных данных.
а Words, shape Ожидаемый результат
Таблица 4.3. Некоторые ожидаемые результаты для задачи формы слова из текстового корпуса |
Words/ shape |
Ожидаемый результат |
congeed, outfeed, strolld, mail, stopped
1, -1, -1, -1, 0, -1 |
congeed, outfeed, strolld |
eeten, good, aare, oozes, sstor
0, 1, -1, 1 |
eeten, oozes, sstor |