СИНТЕЗ ТЕКСТА СЕРГЕЙ СЛЕПОВ sergey@morpher.ru Речь существует в двух основных формах: устной и письменной. <...> Синтезу устной речи посвящено много исследований и статей, а вот синтезу речи письменной не уделено достаточно внимания, хотя проблемы в этой области есть очень интересные. <...> Приходилось ли вам читать подобные фразы: «Мария поделился ссылка», «Забронировать отель в Москва», «Уважаемый(-ая) Иван Петрович», «21 файла(-ов) выбрано»? <...> И хотя до уровня Толстого или Достоевского «искусственному разуму» еще очень далеко, генерировать тексты по составленному человеком шаблону у них получается неплохо, а главное — быстро. <...> Количество веб-страниц, электронных писем и СМС-сообщений, генерируемых компьютерами в день, исчисляется миллиардами. <...> В типовой текст договора компьютер мигом подставит ФИО представителя контрагента, дату, номер, сумму (цифрами и прописью), процентные ставки и сроки. <...> А все потому, что внутри предложения действуют особые грамматические законы, требующие согласования их частей по родам, числам и падежам. <...> Проще говоря, перед подстановкой в шаблон данные бывает необходимо просклонять. <...> ПОДХОДЫ К РЕШЕНИЮ ПРОБЛЕМЫ Первый вариант — просклонять вручную. <...> Например, CONTROL ENGINEERING РОССИЯ #1 (55), 2015 вам нужно отобразить в почтовом ящике сообщение: «У вас 5 новых писем» и варьировать эту надпись в зависимости от количества писем. <...> А вот задача чуть посложнее: необходимо из названия языка (английский язык, французский язык, суахили…) построить фразы: «на английском языке», «на французском языке», «на суахили». <...> Второй — перестроить фразу так, чтобы склонение не требовалось: «Новых писем: 5». <...> Бывает, что текст документа закреплен нормативно или заказчик не хочет его менять. <...> К тому же бывают и объективные причины, почему стоит использовать склонение: текст лучше читается и больше нравится поисковым системам (SEO). <...> В области автоматической обработки текстов (Natural Language Processing, NLP) задачу склонения и спряжения слов решают <...>