СПОСОБ АНИМАЦИИ SMS-СООБЩЕНИЙ

1. Способ подбора анимаций, соответствующих тексту на естественном языке, содержащий следующие этапы:
принимают текст запроса на естественном языке;
разбивают текст на предложения;
разбивают предложение по словам;
приводят каждое слово к нормализованной форме;
выбирают последовательность шаблонов для нормализованного текста;
объединяют последовательности шаблонов для каждого предложения по порядку в одну общую последовательность шаблонов;
выбирают анимации для каждого шаблона;
объединяют файлы выбранных анимаций в результирующий ролик.
2. Способ по п. 1, отличающийся тем, что проводят формализованную замену слов, выражений и символов на предопределенные эквивалентные им слова, выражения или символы.
3. Способ по п. 1, отличающийся тем, что исправляют опечатки в словах.
4. Способ по п. 1, отличающийся тем, что при необходимости для каждого шаблона выбирают нейтральные фоновые анимации.
5. Способ по п. 1, отличающийся тем, что проверяют нет ли в кэше последовательности шаблонов, соответствующих нормализованному тексту, при этом, если в кэше есть последовательность шаблонов, то выбирают последовательность шаблонов из кэша.
6. Способ по п. 1, отличающийся тем, что проверяют, задан ли стиль анимаций для входящего текста, при этом,
если стиль задан, то выбирают анимации, соответствующие стилю, если для выбранного стиля есть анимация каждого шаблона из последовательности в данном стиле; и
если стиль не задан, выбирают случайным образом тот стиль, в котором есть все анимации для выбранных шаблонов;
если таких стилей несколько, выбирают случайным образом любой;
если таких стилей нет, берется набор анимаций в разном стиле.
7. Способ по п. 1, отличающийся тем, что сохраняют в базе данных оригинальный текст запроса, выбранную последовательность шаблонов; и
обновляют статистику по шаблонам, словам, анимациям, список неизвестных слов и статистику по неизвестным словам.
8. Способ поиска оптимальной последовательности шаблонов для последующего выбора анимаций, соответствующих последовательности шаблонов, содержащий этапы, на которых:
а) из списка отбирают все шаблоны, у которых все слова шаблона содержатся в предложении, при этом, если задан конкретный стиль анимации, то шаблоны выбираются не из списка всех шаблонов, а из списка шаблонов, имеющих анимации в выбранном стиле;
б) получают из списка шаблонов, полученных на предыдущем этапе, информацию об иерархии шаблонов, при этом уровень иерархии шаблона определяет ранг шаблона;
в) если шаблоны одной иерархии, но разных уровней входят в одно множество шаблонов, полученных на этапе а), из этого множества исключают шаблоны с минимальным рангом (более верхним уровнем);
г) из списка шаблонов, полученных на этапе в), выбирают оптимальный набор шаблонов, для которого значение целевой функции будет самым оптимальным, при этом, целевая функция имеет вид:
где N пересечений - число пересечений слов шаблонов в наборе шаблонов,
покрытие
N - суммарное покрытие всех слов шаблонами (количество всех слов из предложения, встречающихся в шаблонах),
ранг
N - суммарный ранг всех шаблонов набора,
пар в правильной последовательности
N - число пар слов составных (т.е. состоящих из нескольких слов) шаблонов, соответствующих последовательности слов во фразе,
пар в неправильной последовательности
N - число пар слов составных шаблонов, не соответствующих последовательности слов во фразе,
1
2
3
4
а k, k, k, k - коэффициенты, вычисленные эмпирически, их значение 0.4, 0.33, 0.4, 0.2 соответственно.
9. Способ по п. 8, отличающийся тем, что поиск оптимального значения целевой функции производят либо полным перебором вариантов последовательности шаблонов (последовательно проходят все комбинации уникальных шаблонов), либо методами многокритериальной оптимизации.
10. Способ по п. 8, отличающийся тем, что проверяют, нет ли в кэше последовательности шаблонов, соответствующих нормализованному тексту, при этом, если в кэше есть последовательность шаблонов, то выбирают последовательность шаблонов из кэша.
11. Способ по п. 8, отличающийся тем, что проверяют, задан ли стиль анимаций для входящего текста, при этом,
если стиль задан, то выбирают анимации, соответствующие стилю, если для выбранного стиля есть анимация каждого шаблона из последовательности в данном стиле; и,
если стиль не задан, выбирают случайным образом тот стиль, в котором есть все анимации для выбранных шаблонов;
если таких стилей несколько, выбирают случайным образом любой;
если таких стилей нет, берется набор анимаций в разном стиле.
12. Способ по п. 8, отличающийся тем, что сохраняют в базе данных оригинальный текст запроса, выбранную последовательность шаблонов; и обновляют статистику по шаблонам, словам, анимациям, список неизвестных слов и статистику по неизвестным словам.
13. Способ поиска оптимальной последовательности шаблонов для последующего выбора анимаций, соответствующих последовательности шаблонов, содержащий этапы на которых:
- используя алгоритм определения расстояния Левенштейна, находят все шаблоны, все слова которых находятся в искомой фразе;
- сортируют найденные шаблоны по количеству слов по возрастанию; последовательно для каждого шаблона из этого сформированного множества шаблонов, проверяют, не входит ли шаблон в какой-то другой шаблон из множества, при этом, если шаблон входит в какой-либо другой шаблон из множества, его исключают;
- в полученном списке шаблонов выделяют шаблоны, непересекающиеся между собой и пересекающиеся между собой;
- непересекающиеся шаблоны добавляют в результирующее множество;
- по каждому шаблону вычисляют среднее значение позиций слов шаблона в тексте; и
- производят сортировку шаблонов по этому среднему значению, получая оптимальную последовательность шаблонов.
14. Способ по п. 13, отличающийся тем, что у пересекающихся шаблонов определяют мощность пересечения (число слов пересечения) со словами из множества непересекающихся шаблонов и число новых слов, покрывающих фразу, в это множество не входящих.
15. Способ по п. 13, отличающийся тем, что, если непересекающихся шаблонов нет, оптимальное множество шаблонов формируют из пересекающихся шаблонов, учитывая следующие критерии: максимальный суммарный ранг, максимальное покрытие, минимум пересечений; при этом
множество шаблонов формируют путем выполнения следующих этапов:
а) выбирают первый шаблон с максимальным весом, при этом весом шаблона является число слов в шаблоне;
б) выбирают шаблоны, минимально пересекающиеся с первым и непересекающиеся между собой;
в) из оставшихся шаблонов выбирают те, которые содержат ≥50% новых слов; при этом,
г) если на этапе а) шаблонов с максимальным весом было несколько, то результирующим множеством шаблонов выбирают то множество, у которого разность суммарного ранга шаблонов с количеством пересечений слов максимально.
16. Способ анимации SMS-сообщений, содержащий этапы на которых:
получают SMS-сообщение от отправителя;
разбирают полученное SMS-сообщение, выделяя текст сообщения;
посылают запрос с текстом сервису анимации;
подбирают анимации, используя способ по п. 1;
подобранные анимации объединяют и передают сервису обработки услуг;
формируют MMS с полученной анимацией и отправляют получателю.
17. Способ по п. 16, отличающийся тем, что в SMS-сообщении указывают номер телефона получателя и текст сообщения.
18. Способ по п. 16, отличающийся тем, что в полученном SMS-сообщении идентифицируют отправителя и получателя.
19. Способ по п. 16, отличающийся тем, что отправляют отправителю SMS-сообщение о том, что анимация отправлена или отправить анимацию не удалось.
20. Способ анимации SMS-сообщений, содержащий этапы на которых:
получают SMS-сообщение от абонента;
разбирают полученное SMS-сообщение, выделяя текст сообщения;
посылают запрос с текстом сервису анимации;
подбирают изображение или анимацию, используя способ по п. 1;
подобранное изображение или анимацию передают сервису обработки услуг;
формируют MMS с полученным изображением или анимацией и отправляют абоненту.
21. Способ по п. 20, отличающийся тем, что в полученном SMS-сообщении идентифицируют абонента.