Робот
Устройство и подключение
Управляющее ПО
Язык BML
Словарь жестов
SSSender
API робота
Когнитивный компонент
Обработка текста
Парсер
Массивы текстов
База разборов

Как устроена обработка текста?

Система анализа текста «семантический парсер» – это один из основных компонентов робота. С помощью парсера робот строит смысл текста, а затем реагирует на этот смысл с помощью сценариев. Робот может получать высказывания из непосредственного общения с пользователем (тогда используется сторонний сервис преобразования звука в текст) и из письменных текстов. Это могут быть текстовые файлы или новости, полученные с помощью подписки RSS или через телеграм-каналы. Парсер последовательно разбирает предложения текста и для каждого предложения строит синтаксическое дерево и семантическое представление (смысл). Если высказывание многозначно, то парсер строит для него сразу множество деревьев и для каждого дерева – свой смысл.

Синтаксическое дерево показывает синтаксическую структуру предложения. Каждому слову приписывается набор грамматических признаков. Слова связываются в общую структуру (дерево) с помощью зависимостей. Каждая зависимость устанавливается синтаксическим правилом. Правила описываются на разработанном нами языке SyntXML. Грамматика, которой пользуется наш робот, включает около 700 синтаксических правил.

Синтаксическое дерево высказывания "Петя организует конференцию"

Рисунок 1 – Синтаксическое дерево высказывания Петя организует конференцию

В нашей синтаксической модели мы комбинируем принципы грамматики зависимостей и грамматики непосредственно составляющих. Например, глагол подчиняет подлежащее и прямое дополнение, но сочинённые группы (например, Вася и Петя) объединяются вместе в одну виртуальную вершину, которая может подчиняться глаголу или подчинять общие прилагательные или предлоги. Такая комбинация принципов используется в Системе синтаксических групп Гладкого.

Для каждого синтаксического дерева строится семантическое представление. В семантическом представлении признаки отдельных лексем группируются в валентности. Мы используем инвентарь валентностей, примерно соответствующий инвентарю Чарльза Филлмора: агенс (ag), пациенс (pat), инструмент (instr) и т. д. (всего 24 валентности). Основному предикату отводится валентность предикат (p).

Семантическое представление высказывания "Петя организует конференцию"

Рисунок 2 – Семантическое представление высказывания Петя организует конференцию

В семантическом представлении высказывания Петя организует конференцию указано, что некоторый агенс (Петя), имеющий признаки субъект (ч-некто) и названный по имени (о-имя) выполняет некоторое действие p – это управление (п-управлять) и организация (признак @организовывать_VERB) некоторого пациенса (pat). Где пациенс, это что-то типа симпозиума (признак @симпозиум_NOUN) и может быть метафорически представлен как абстрактный контейнер (можно попасть на конференцию или погрузиться в конференцию) или акция (о-акция).

Такое семантическое представление сравнивается со сценариями робота. Сценарии позволяют роботу рационально или эмоционально прореагировать на ситуацию. Для рациональной классификации поступившего события используется инвентарь из 3800 рациональных сценариев (р-сценариев). Для эмоциональных реакций робот опирается на инвентарь доминантных сценариев (д-сценариев) (см. Котов А. А. Механизмы речевого воздействия. М.: РГГУ, 2021).

Один или несколько сценариев могут активизироваться в ответ на поступивший стимул: смысл высказывания или событие реального мира. Сценарию могут быть приписаны поведенческие пакеты на языке BML, и при активизации сценария эти фрагменты поведения будут выполнены на роботе. Таким образом робот реагирует на смысл обращённого к нему текста, а также на другие события, переданные системой технического зрения или сенсорами, расположенными на теле робота.