Вeликий pусский читатель
Восемь миллиардов человек, населяющих землю, — это сила. Пять миллиардов из них, имеющих доступ в Интернет, — это уже стихия. Информационные цунами, которые люди с легкостью разгоняют в соцсетях, можно и нужно уметь предсказывать. Для этого достаточно всего лишь читать и понимать все, что пишут пять миллиардов человек
Людям такая работа не по плечу, исследовать коллективное бессознательное в планетарных масштабах можно только с помощью роботов. Специалисты по компьютерной лингвистике и машинному обучению из компании Brand Analytics уже 10 лет учат машины понимать людей. Они рассказали нам, что…
Язык — это алгоритм, но…
Люди часто меняют правила по ходу игры. Так, еще в 1960-е годы пионеры компьютерной лингвистики решили представить язык как базу данных слов во всех возможных формах, а также свод правил их использования. При таком подходе обучение машины чтению напоминает знакомые всем уроки русского языка в школе. Учитель одновременно развивает словарный запас учеников и тренирует их определять части речи, проводить синтаксический анализ предложений, морфологический разбор слов по формальным признакам.
Пример: «Танцовщица распрямила кисть». Первое слово — существительное «танцовщица», имеет окончание «-а», а значит, используется в именительном падеже, единственном числе, имеет женский род. «Распрямила» — глагол, в котором окончание «-а» указывает на прошедшее время. Также можно установить, что «танцовщица» — подлежащее, это существительное указывает на объект, совершавший действие.
Такой простой, на первый взгляд, подход позволял машинам неплохо справляться с переводом официальных документов. Если слово нашлось в словаре на одном языке, нетрудно подобрать смысловой аналог из базы данных другого языка. Однако сразу возникли препятствия: алгоритмический анализ спотыкался об омонимы — одинаковые слова разного значения. Например, существительное «кисть» может означать часть руки, инструмент для рисования или ветку с ягодами. Для разрешения таких случаев лингвисты добавили в алгоритм анализ контекста, заставив машину смотреть, какие слова связаны со спорным словом. Другой проблемой стали редко используемые в языке слова и термины. Например, фамилию бывшего президента Франции Саркози компьютер может считать несуществующим глаголом «саркозить» в повелительном наклонении. Такие казусы решаются регулярным пополнением словарей, а также анализом частоты упоминания каждого слова вместе с другими.
Однако когда в 2000-е годы появились соцмедиа — площадки, на которых пользователи сами оставляют сообщения, — языки начали очень быстро меняться. Люди стали пользоваться письменной речью как устной*, и для выражения интонаций и эмоций потребовались новые инструменты: сокращения, эмодзи, фонетическое письмо. «Дратути» вместо «здравствуйте», «щас» вместо «сейчас» и «кагбэ» вместо «как бы». Чтобы понять такое, машины должны приспособиться к творческому использованию языка человеком.
* Подробнее об этом «Цифровой океан» вместе с лингвистом Максимом Кронгаузом рассказывал в материале «Садись, два!», опубликованном в выпуске № 5.
«В начале нашей работы с лингвистическими алгоритмами мы использовали готовые словари, но быстро поняли, что для качественного распознавания живого языка нужно создавать свои базы данных и тезаурус реального современного языка, а также регулярно их пополнять. Вложения в разработку словарей окупились: нам удалось поднять точность классификации текста и его тональности в среднем с 85% до 92%. Позже мы стали первой компанией в мире, разработавшей определение тональности для казахского языка».