Согласно предоставленному вами образцу аннотации, вы устанавливаете весь text_snippet
как name
(или любое другое поле, которое вы хотите извлечь).
Это может запутать модель в понимании того, что весь текст является этим объектом.
Было бы лучше иметь данные обучения, аналогичные данным в документация. Там есть большой кусок текста, а затем мы аннотируем объекты, которые хотим извлечь оттуда.
В качестве примера предположим, что из этих текстовых фрагментов я сообщаю модели, что часть курсивом - это сущность с именем a
, а полужирная часть - это сущность с именем b
:
- Джей Джей Пицца
- LL Буррито
- Шашлык ММ
- Шуши Н.Н.
- Сан-Франциско
- Нью-Йорк
- Вашингтон
- Лос-Анджелес
Затем, когда модель читает Best JJ Pizza, она думает, что все представляет собой единый объект (мы обучили модель с этим предположением), и просто выбирает тот, который соответствует наилучшему (в данном случае , скорее всего, это a
сущность).
Однако, если я предоставлю следующий образец текста (также помеченный как cursive - это сущность a
, а полужирным шрифтом - сущность b
):
- Лучшая пиццерия в Сан-Франциско - это JJ Pizza.
- Если вы хотите получить роскошные впечатления, не забудьте посетить LL Burritos, когда вы находитесь в Нью-Йорке.
- Однажды я посетил Kebab MM, но в Вашингтоне есть варианты получше.
- Вы можете найти Shushi NN в Лос-Анджелесе
Вы можете видеть, как вы обучаете модель находить объекты в фрагменте текста, и она попытается извлечь их в соответствии с контекстом.
Важной частью обучения модели является предоставление обучающих данных, максимально приближенных к реальным данным.
В приведенном вами примере, если данные в вашем реальном сценарии будут иметь формат <ADJECTIVE> <NAME> <CITY>
, тогда ваши данные обучения должны иметь тот же формат:
{
"annotations": [{
"text_extraction": {
"text_segment": {
"end_offset": 16,
"start_offset": 6
}
},
"display_name": "Name"
},
{
"text_extraction": {
"text_segment": {
"end_offset": 30,
"start_offset": 21
}
},
"display_name": "City"
}],
"text_snippet": {
"content": "Worst JJ's Pizza in San Francisco\n "
}
}
Обратите внимание, что суть модели машинного обучения естественного языка заключается в обработке естественного языка. Если ваши входные данные будут выглядеть такими же / простыми / короткими, возможно, не стоит идти по пути машинного обучения. Достаточно простого регулярного выражения. Без части естественного языка будет сложно правильно обучить модель. Подробнее читайте в руководстве для начинающих.
person
Jofre
schedule
12.08.2020