Добрый день.
Спасибо команде и всему сообществу за проделанную работу. Это очень круто!
Я являюсь новичком в этой теме и немного закопался в объёмах информации, поэтому буду благодарен за любую помощь.
Вопрос такой: какой кратчайший путь по шагам для реализации функционала поиска ответа на вопрос по тексту, как в демо?
Я хочу сделать форму на сайте, через которую пользователи смогли бы получать ответы из некоего файла или набора файлов (велкомбук, инструкции и пр.).
Спасибо!
Добрый день @manuilovmax !
Начните изучение ODQA с последнего нашего поста-туториала на Хабре https://m.habr.com/ru/company/microsoft/blog/501782/.
1 Like
Добрый день @Moryshka!
Спасибо за ваш ответ. Изучил несколько постов на Хабре, но решил начать с образов в Docker.
В принципе, для начала этого должно хватить. Я могу с помощью REST могу отдать текст и получить ответ на вопрос по нему.
Но сразу возникает несколько вопросов на будущее при использовании образа из Docker:
- Правильно ли я понимаю, что в таком случае я могу использовать только один текст\файл? То есть я не могу использовать несколько файлов, допустим инструкций, как разные контексты?
- Можно ли как-то исправлять ответы, на которые даются неправильные ответы? Чтобы система точнее отвечала в будущем?
Заранее спасибо!
Добрый день, @manuilovmax
- Нет, можно обрабатывать сразу несколько запросов. Например, если использовать для вашей задачи конфигурационный файл
squad_bert_infer
, то модель принимает два агрумента: squad_bert_infer
- контекст, squad_bert_infer
- вопрос. В качестве значений этих аргументов передаются списки контекстов и вопросов, т.е. передав ["контекст 1", "контекст 2"]
и ["вопрос 1", "вопрос 2"]
вы получите список из результатов обработки первой пары контекст-вопрос и второй пары контекст-вопрос. В ответе модели будет содержаться не только ответ на вопрос, но и логит - число с плавающей точкой, которое пропорционально уверенности модели в правильности ответа на вопрос для данной пары контекст-вопрос. Т.о. вы можете отправить в качестве значения контекста список из разных контекстов, а в качестве вопроса отправить в модель список той же длины из одинаковых вопросов. Затем, на стороне клиента по значению логита вы можете выбрать наиболее вероятный ответ. Кроме того, существует компонент, добавив который в пайплайн, можно уже для нескольких контектов получать наилучший ответ без наобходимости дублирования вопроса для разных контекстов и отбора наилучшего ответа на стороне клиента.
В данный момент я затрудняюсь ответить на второй ваш вопрос, в ближайшие дни вам на него ответит мой коллега или я подготовлю подходящий ответ.
1 Like
Спасибо, @Ignatov!
Как оказалось, конфиг squad_bert тоже может принимать несколько контекстов. А вот squad_bert_infer очень плохо отвечает на мой набор вопросов.
Думаю, что для начала этого вполне достаточно.
Остается открытым второй вопрос: Можно ли как-то исправлять ответы, на которые даются неправильные ответы? Чтобы система точнее отвечала в будущем?