Используйте окончательную обратную связь с пользователем для улучшения производительности модели Knowledge Studio

У меня есть уже обученная модель Knowledge Studio, которая работает. Я развернул его в службе понимания естественного языка. Сущности и отношения, данные из NLU, не всегда точны, поэтому я пытаюсь дать конечному пользователю возможность исправить ошибки в извлеченной информации и улучшить модель с помощью своих отзывов.

Поскольку уже обученную модель можно экспортировать в новый экземпляр WKS, ее контент (предложения, слова и аннотированные связанные объекты и отношения) структурируется в формате JSON, что легко понять; Я хотел бы знать, возможно ли следовать той же структуре, чтобы пометить новый текст документа и загрузить его в WKS, чтобы отразить эту обратную связь с пользователем, и, надеюсь, улучшить модель.

1 ответ

Ну, я нашел ответ, попробовав это. Я загрузил корпус из Knowledge Studio и проанализировал структуру JSON каждого файла (внутри папки "./gt").

В конце каждого файла есть записи JSON для каждой ранее аннотированной сущности, поэтому я использовал их в качестве примера. Для каждой записи есть идентификатор, который имеет одно значение для номера предложения и другое для упомянутого числа (оба последовательных, начиная с нуля). Упомянутое число перезапускается для каждого предложения, причем каждое предложение разделяется (по крайней мере, как я мог заметить), на "\n", а также на ". " (Обратите внимание на пробел после "."). Кроме того, каждая запись имеет значение для номера символа в начале и в конце упоминания. При подсчете символов система не учитывает символ "\". Вот пример того, как это выглядит.

{
"id" : "s3-m0", //id for the first mention in the fourth sentence
"properties" : {
  "SIRE_MENTION_TYPE" : "NONE",
  "SIRE_MENTION_CLASS" : "SPC",
  "SIRE_ENTITY_SUBTYPE" : "NONE",
  "SIRE_MENTION_ROLE" : "TEST_ENTITY"  // mention name
},
"type" : "TEST_ENTITY",  // mention name again
"begin" : 11, // beginning of the mention
"end" : 19,  // end of the mention
"inCoref" : false
}

Если вы помечаете новое упоминание (ранее не входившее в систему типов), вам придется сначала создать его вручную. После добавления этой записи в каждый JSON загрузите измененный корпус в Knowledge Studio и создайте набор аннотаций с загруженными документами. Затем создайте новую задачу для аннотирования этого нового набора, и вы должны увидеть, что документ уже снабжен записями, добавленными вами вручную. Итак, модель готова к обучению на этих новых примерах после подачи документов и принятия задания. Я думаю, что это должно быть похоже на ручное аннотирование отношений.

Надеюсь, это поможет кому-то еще!

Другие вопросы по тегам