Обзор проекта
Entity + Мнение (аспект) Извлечение из обзоров обслуживания клиентов наряду с оценкой против истинных аннотированных ярлыков.
Набор данных:
- Описание: Обзоры ресторанов обслуживания клиентов Yelp
- Название:
train.csv - Содержание: файл CSV содержит два столбца (Review, Sentiment/Murcie/Ampose Label)
- Примечание. Были проанализированы только необработанные обзоры. Метка настроения/мнения была игнорирована, поскольку цель кода состояла в том, чтобы найти улучшенные способы его извлечения.
- Примечание. Этот файл использовался только для целей EDA.
Настоящие этикетки
- Набор данных не подвергался человеческому аннотации для генерации истинных ярлыков.
- Был был создан файл
sample_review.csv (содержащий единый аннотированный обзор) для сравнения POC метелок True-VS-Pred.
Части проекта:
Часть I - Эда
Часть II - извлечение сущности сущности
Этот модуль связан с извлечением объекта, которая рассматривается (например, «еда») наряду с мнением рецензента о сущности (например, «несколько вкусно»).
Часть III - оценка
Этот модуль связан с оценкой извлечения кортежей сущности против наземных аннотаций правды.
EDA: начальное и общее понимание
- Число обзора: 1121
- Настроение: ~ 60% (POS); ~ 20% (нейтральный); ~ 20% (нег) Большинство людей проявляют положительные эмоции в отношении их ужина.

- Длина слова: ок. 50% обзоров составляют 6-15 токенов длиной. Большинство людей не тратят время, чтобы написать «очень тщательный» обзор.

- Extended EDA - Additional NLP techniques that can be used for gaining insights: Q&A model, WordCloud, N-gram frequency count (after stopwords removal), fuzzy matching, exact/partial matching (stopwords, morphological prefixes and suffixes), clustering algorithms (lexicosyntactic, semantic), sentiment, polarity, aspect and sentiment combined, NER, distinction в еду/напитки, различие в типах блюд (завтрак, обед, ужин), бинарное различие токенов на основе POS (прилагательные против отдыха), анализ интенсивного наречия, анализ синтаксических зависимостей, распределение пункции (типы, бинар, комбинация с настроениями).
Код
- EDA - см. Файл
EDA.ipynb - Исключение мнения сущности + True-VS-Pred Eval. - Проект (
.py Modules)
Инструкции
Запустите модуль main.py
Примечания:
- Обязательно создайте файл
.env для хранения вашего ключа API OpenAI. - Используйте следующий формат:
OPENAI_API_KEY = "your_openai_api_key"
Реализация и альтернативы:
Эда
Упрощенные подходы (быстро, предоставьте просто начальное представление о макросе данных)
- Распределение количества слов (как абсолютного, так и нормализованного) для измерения общей длины обзоров.
- Слово облако
Более подробное понимание
Переход от лексикосинтаксики к подходу к разделам в семантике-прагматике
- Тематическое моделирование с бертопическим
Экстракция сущности
- Модели NER ограничены набором обученных сущностей, которые не отражают полный спектр возможных объектов во всех областях (например, обзоры ресторанов). Они требуют утомительного процесса аннотаций, обзора и обучения.
- Модели Q & A в основном обучаются на определенном наборе вопросов и наборов данных и могут иметь больше ошибок типа I и II, чем LLMS.
Оперативная инженерия
Акцент был сделан на следующее:
- Кроватка (цепь мысли)
- Несколько выстрелов
- Система/пользователь/помощник роли различий
- Обнаружение модели
Подход к оценке: извлечение LLM против наземных аннотаций правды
Берт-трансформаторы предложения для измерения семантического текстового сходства с использованием сходства косинуса.
После тестирования различных лингвистических вариаций истинных VS-предсказанных сущностей и мнений (аспектов) был установлен порог 0,85 для принятия прогноза модели в производство.
Альтернативы оценки
Трансформаторы предложений наряду с решениями на основе правил
Объединение сложных подходов (например, преобразователей предложений) с традиционными подходами, основанными на правилах, чтобы укрепить обоснованность результатов.
Например, решения на основе трансформаторов в сочетании с синтаксическим анализацией зависимости, POS и NER (лингвистические функции) могут помочь в том, чтобы «ресторан» и «ресторан» считались такими же (с/выходящими примером), в отличие от «вкусного» и «несколько вкусного» примера.
Традиционные показатели классификации (отзыв, точность, F1-показатель, точность)
Более традиционные показатели классификации (отзыв, точность, F1-показатель, точность) менее актуальны в этом случае.
Многие из компонентов матрицы путаницы не имеют значения в задаче бинарной классификации только одного слова/фразы из целого обзора (один раз для распознавания сущности и один раз для аспекта). Это делает невозможным рассчитать некоторые из этих метрик.
Кроме того, эти метрики не могут полностью захватить минутную семантику под влиянием включения/удаления модификаторов прилагательных/существительных и усилителей наречия. Возьмем, к примеру, «вкусно» против «несколько вкусного».
Более того, это поднимает вопрос о том, учитывать ли учитывать, не обращают внимания на частичные совпадения, такие как они при использовании отзыва, точности, F1-показателя и точности.
Традиционные метрики на основе N-грамма (лексикосинтаксическое сходство)
Я действительно считаю, что традиционные метрики на основе N-грамма могут быть использованы для установления базовой линии:
- Bleu (ориентированная на точность)
- Rouge (сфокусированный напоминание)
- Метеор (рассчитывает гармоническое среднее точно
Жизнеспособность решения в производстве
Хотя это требует более тщательного тестирования, подход сходства косинуса, используемый для измерения семантического текстового сходства между встраиваемыми трансформаторами предложений BERT наряду с относительно строгим порогом (который должен в основном учитывать наличие/отсутствие модификаторов прилагательных/существительных и интенсивных наречие) может работать в производственной среде.
Существуют также дополнительные соображения в производственной среде, такие как задержка, время вычисления, проведение тяжелых моделей на серверах и дополнительные затраты.