Как определить категорию запроса?

Я делаю проект, суть которого заключается в следующем: есть поле input, в него вводится запрос и под него выдаются необходимы инструменты / ответы.
Например:
{запрос} => {результат / инструмент}
"2 + 2" => (выдаётся приложение калькулятора или ответ)
5f0862e25f72e810836666.png
"png to jpg" => (выдаётся конвертор картинок)
P.S. поле "convert to jpg" - это кнопка
5f0862f949e8a197989287.png
"умопомрачение" => (выдаётся определение из словаря)
5f0862fdea879687140057.png

Как это примерно должно работать: запрос из input отправляется на сервер python, где он как-то обрабатывается и скрипт определяет какой инструмент / модуль лучше подойдёт, затем запрос отправляется в подобранный модуль, где обрабатывается ещё раз и возвращает ответ, который в свою очередь выводится на экран.
То есть у нас присутствует папка modules, в которой лежат папки math, converter, dictionary; в каждой подпапке (modules/math/, modules/converter, и.т.д.) лежат необходимые скрипты, которые получают конкретный запрос, например математическое выражение, и возвращают ответ.
Ещё есть скрипт main, который и решает, какой модуль/модули дадут наилучший ответ на запрос.

И собственно вопросы: Насколько я правильно представляю как такие вещи должны работать? Как можно реализовать такую классификацию, которая будет происходить в скрипте main? Где можно прочитать про то, как проектировать такие системы? И возможно есть ещё какая-то полезная литература, которая поможет в создании такого проекта, тоже хотелось бы узнать про её существование.
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 2
kocherman
@kocherman
В первую очередь надо разобраться с регулярными выражениями RegEx. Вот вроде толковая статья на русском:
https://tproger.ru/translations/regular-expression...
Но на английском более углубленно:
https://docs.python.org/3/howto/regex.html
Когда разберётесь с регулярками, считайте уже на 90% парсер готов.

Вы так подробно описали вашу задачу, но забыли написать (или я не заметил), что это вообще такое должно получиться? Это сайт? или клиентское приложение? Если приложение, то на какие платформы и какие фреймворки (Gtk, Qt и т.д.)? Напишите в комментариях.

И проектирование там никакое не нужно, пишите влоб в одном файле, слишком маленькая задача.
Вообще, навыки проектирования получаются не из знаний, а из опыта. Потому, чтобы научиться проектировать, надо много вjobывать, а не книжки/статьи читать.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
гугли про NLP и вектора

ну и девочка с нопочками попервой либо Watson
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы