API для анализа отзывов Google Maps с ИИ на русском языке
Необходимо разработать приложение для анализ списка отзывов из Google Maps на русском языке (около 1000 отзывов) с реализацией следующих пользовательских сценариев:1. Составление облака слов: необходимо использовать лемматизацию и стемминг, удалять стоп-слова. В облако слов должны войти только 10 наиболее часто упоминаемых слов. Каждое слово также должно пройти анализ тональности со значениями от 0 до 1, где 0 соответствует строго негативной оценке, а 1 — строго позитивной. Анализ должен проводиться для каждого отзыва в списке. Предполагается использование искусственного интеллекта.Пример формта входных данных для задачи 1:```json{ "reviews": [ "Очень разочарована посещением ресторана 'У Паши Техника'. Обслуживание было медленным и невнимательным, а пицца пришла холодной и пересушенной. Не советую тратить здесь свое время и деньги.", "Ресторан 'У Паши Техника' оставил потрясающее впечатление! Обслуживание на высшем уровне, а пицца просто незабываемая – идеальное тесто и свежайшие ингредиенты. Обязательно вернусь снова!", "Посетила 'У Паши Техника' в прошлые выходные. Вкус пиццы был действительно хорош, особенно понравилась пицца с морепродуктами. Однако сервис оставил желать лучшего – долго ждали официанта и счет." ]}```Пример формата выходных данных для задачи 1:```json{ "wordCloud": [ {"word": "пицца", "sentimentScore": 0.7}, {"word": "обслуживание", "sentimentScore": 0.4}, {"word": "ресторан", "sentimentScore": 0.8}, {"word": "впечатление", "sentimentScore": 1.0}, {"word": "ингредиенты", "sentimentScore": 0.9}, {"word": "тесто", "sentimentScore": 0.9}, {"word": "сервис", "sentimentScore": 0.2}, {"word": "официант", "sentimentScore": 0.3}, {"word": "счет", "sentimentScore": 0.3}, {"word": "время", "sentimentScore": 0.1} ]}```2. Определение упоминаний тем в отзывах: предполагается наличие предопределенных тегов (например: "обслуживание", "еда", "доставка"). Предположительно с помощью языковых моделей и ИИ требуется определить, упоминается ли какая-либо из этих тем напрямую или косвенно в отзыве, и провести анализ тональности, если это имеет место. Анализ должен выполняться для каждого отзыва в списке.Пример формата входных данных для задачи 2:```json{ "reviews": [ "Очень разочарована посещением ресторана 'У Паши Техника'. Обслуживание было медленным и невнимательным, а пицца пришла холодной и пересушенной. Не советую тратить здесь свое время и деньги.", "Ресторан 'У Паши Техника' оставил потрясающее впечатление! Обслуживание на высшем уровне, а пицца просто незабываемая – идеальное тесто и свежайшие ингредиенты. Обязательно вернусь снова!", "Посетила 'У Паши Техника' в прошлые выходные. Вкус пиццы был действительно хорош, особенно понравилась пицца с морепродуктами. Однако сервис оставил желать лучшего – долго ждали официанта и счет." ], "topics": ["service", "food"]}```Пример формата выходных данных для задачи 2:```json{ "topicsMentioned": [ { "reviewIndex": 0, "topics": [ {"topic": "service", "sentimentScore": 0.1}, {"topic": "food", "sentimentScore": 0.1} ] }, { "reviewIndex": 1, "topics": [ {"topic": "service", "sentimentScore": 1.0}, {"topic": "food", "sentimentScore": 1.0} ] }, { "reviewIndex": 2, "topics": [ {"topic": "service", "sentimentScore": 0.2}, {"topic": "food", "sentimentScore": 0.8} ] } ]}```3. Суммарный анализ всего списка отзывов с выявлением позитивных аспектов деятельности компании и областей для улучшения. Для этого также предполагается использование искусственного интеллекта.Пример входных данных для задачи 3:```json{ "reviews": [ "Замечательное обслуживание и качественная еда.", "Еда была не очень вкусная, медленная доставка." ]}```Пример выходных данных для задачи 3:```json{ "summary": "На основе анализа отзывов клиентов ресторана 'У Паши Техника', можно выделить следующие ключевые моменты для улучшения и поддержания. Положительные аспекты включают в себя качество пиццы и уровень обслуживания, высоко оцененные большинством клиентов. Особенно выделяются свежие ингредиенты и идеальное тесто. Однако, среди областей для улучшения стоит отметить временные задержки в обслуживании и неудовлетворительное внимание официантов к клиентам. Крайне рекомендуется уделить внимание подготовке и обучению персонала, чтобы повысить общую удовлетворенность клиентов. Существует потенциал для значительного повышения уровня сервиса, что, несомненно, повлияет на общие впечатления посетителей."}```Конечным продуктом должно стать консольное приложение или web API, реализующее указанные функции. Выбор языка программирования остается за исполнителем, однако предполагается, что скорее всего будет использован Python. Также желательно обеспечить возможность развертывания этой службы в виде Web API в Docker-контейнере.
Bots