Используйте окончательную обратную связь с пользователем для улучшения производительности модели Knowledge Studio - PullRequest
0 голосов
/ 22 февраля 2019

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

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

1 Ответ

0 голосов
/ 23 февраля 2019

Ну, я нашел ответ, попробовав его.Я загрузил корпус из 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 и создайте набор аннотаций с загруженными документами.Затем создайте новую задачу для аннотирования этого нового набора, и вы должны увидеть, что документ уже снабжен записями, добавленными вами вручную.Итак, модель готова к обучению на этих новых примерах после подачи документов и принятия задания.Я думаю, что это должно быть похоже на ручное аннотирование отношений.

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

...