Как устроена обработка текста?
Система анализа текста «семантический парсер» – это один из основных компонентов робота. С помощью парсера робот строит смысл текста, а затем реагирует на этот смысл с помощью сценариев. Робот может получать высказывания из непосредственного общения с пользователем (тогда используется сторонний сервис преобразования звука в текст) и из письменных текстов. Это могут быть текстовые файлы или новости, полученные с помощью подписки RSS или через телеграм-каналы. Парсер последовательно разбирает предложения текста и для каждого предложения строит синтаксическое дерево и семантическое представление (смысл). Если высказывание многозначно, то парсер строит для него сразу множество деревьев и для каждого дерева – свой смысл.
Синтаксическое дерево показывает синтаксическую структуру предложения. Каждому слову приписывается набор грамматических признаков. Слова связываются в общую структуру (дерево) с помощью зависимостей. Каждая зависимость устанавливается синтаксическим правилом. Правила описываются на разработанном нами языке SyntXML. Грамматика, которой пользуется наш робот, включает около 700 синтаксических правил.
Рисунок 1 – Синтаксическое дерево высказывания Петя организует конференцию
В нашей синтаксической модели мы комбинируем принципы грамматики зависимостей и грамматики непосредственно составляющих. Например, глагол подчиняет подлежащее и прямое дополнение, но сочинённые группы (например, Вася и Петя) объединяются вместе в одну виртуальную вершину, которая может подчиняться глаголу или подчинять общие прилагательные или предлоги. Такая комбинация принципов используется в Системе синтаксических групп Гладкого.
Для каждого синтаксического дерева строится семантическое представление. В семантическом представлении признаки отдельных лексем группируются в валентности. Мы используем инвентарь валентностей, примерно соответствующий инвентарю Чарльза Филлмора: агенс (ag), пациенс (pat), инструмент (instr) и т. д. (всего 24 валентности). Основному предикату отводится валентность предикат (p).
Рисунок 2 – Семантическое представление высказывания Петя организует конференцию
В семантическом представлении высказывания Петя организует конференцию указано, что некоторый агенс (Петя), имеющий признаки субъект (ч-некто) и названный по имени (о-имя) выполняет некоторое действие p – это управление (п-управлять) и организация (признак @организовывать_VERB) некоторого пациенса (pat). Где пациенс, это что-то типа симпозиума (признак @симпозиум_NOUN) и может быть метафорически представлен как абстрактный контейнер (можно попасть на конференцию или погрузиться в конференцию) или акция (о-акция).
Такое семантическое представление сравнивается со сценариями робота. Сценарии позволяют роботу рационально или эмоционально прореагировать на ситуацию. Для рациональной классификации поступившего события используется инвентарь из 3800 рациональных сценариев (р-сценариев). Для эмоциональных реакций робот опирается на инвентарь доминантных сценариев (д-сценариев) (см. Котов А. А. Механизмы речевого воздействия. М.: РГГУ, 2021).
Один или несколько сценариев могут активизироваться в ответ на поступивший стимул: смысл высказывания или событие реального мира. Сценарию могут быть приписаны поведенческие пакеты на языке BML, и при активизации сценария эти фрагменты поведения будут выполнены на роботе. Таким образом робот реагирует на смысл обращённого к нему текста, а также на другие события, переданные системой технического зрения или сенсорами, расположенными на теле робота.