Получение интерпретируемых ключевых слов со связанными терминами для понимания отзывов потребителей

Как специалист по обработке данных, работающий в сфере потребительских товаров в Clorox, одна из моих «ежедневных задач» - быстро и кратко извлечь полезную информацию из большой коллекции пользовательских отзывов о конкретном продукте. По внешнему виду задача требует некоторого резюмирования большого набора текста. Когда дело доходит до создания текстовых резюме, мы обычно думаем о сложных моделях и решениях, связанных с глубоким обучением - модель последовательность-последовательность, RNN кодера-декодера, механизм внимания и т. Д. Однако, хотя эти модели глубокого обучения требуют огромных усилий для обучения, их показатели не всегда удовлетворяют конкретным задачам. Что еще более важно, иногда нам действительно не нужно лингвистическое резюме текста, если наша цель - извлечь полезную информацию из содержания текста. В этом блоге я хотел бы представить метод, который может генерировать «резюме» из текстов обзоров только с подсчетом на основе частоты.

В качестве примера я буду использовать подмножество общедоступных отзывов пользователей с Amazon об одном из лучших продуктов для уборки дома - салфетках Clorox. Эта ссылка перенесет вас на страницу обзора. Ниже приводится сводка, которую я могу составить из коллекции отзывов.

Вот как это работает:

Пометка части речи

Первый шаг - пометить каждый токен в тексте обзора его частью речи. Когда мы думаем об отзывах пользователей об определенном продукте вместе с компонентами текста, являющимися частями речи, неудивительно, что термины или токены, которые предоставляют наиболее информативную информацию, скорее всего, найдены как существительные или прилагательные. Существительные помогают объяснить вопрос «Что» (что покупатель говорит о продукте, предметах. Это может быть упаковка, доставка, запах и т. Д.), А прилагательные помогают с вопросом «что насчет». (Как насчет упаковки; как насчет доставки; как насчет запаха). После добавления тегов мы извлечем 15 самых популярных существительных и 15 самых популярных прилагательных.

Поиск по похожему запросу

Теперь, когда у нас есть частоты существительных и прилагательных, следующим шагом будет поиск отношений между ними.

В частности, как мы можем узнать самые популярные прилагательные, относящиеся к популярному существительному? Как и в случае с прилагательным, как мы можем узнать главные родственные существительные? Знание связанных терминов потенциально может помочь нам углубить информацию, которую мы получаем из текстов, но сама задача не так проста, как кажется.

Возьмем для примера термин «цена». Он показан на графике выше как третье популярное существительное, теперь я хотел бы знать, «что насчет» цены, посмотрев на самые популярные прилагательные, которые используют наши потребители. Тогда возникает проблема - как определить родственные? Более конкретно, как построить алгоритм поиска, который находит и отображает самые популярные прилагательные?

Позвольте мне использовать следующий обзор в качестве примера, чтобы проиллюстрировать мой подход:

В этом случае давайте назовем термин «цена» целевым термином, поскольку мы хотим получить информацию о «цене». В рамках конкретного обзора мы повторяем следующие шаги для каждого вхождения целевого термина.

1. Определите позицию целевого термина (выделено желтым).

2. Найдите ближайшие термины с тем же тегом POS, что и целевой термин. Назовите их «граничными условиями» (выделены синим). В этом случае, поскольку «цена» - существительное, граничными условиями будут ближайшие существительные.

3. Найдите все прилагательные в границах терминов и сохраните их в списке.

Затем мы повторяем описанный выше процесс с «ценой» в качестве целевого термина для всех обзоров. В конце концов, у нас будет список прилагательных, которые потенциально «связаны» с термином «цена». Таким образом, я могу получить 15 самых популярных прилагательных, как показано ниже:

Такие термины, как «хорошо» и «отлично», чрезвычайно популярны. Что на самом деле верно, поскольку на Amazon можно найти множество обзоров, в которых говорится «хорошая цена» и «отличная цена». Наконец, мы повторяем весь процесс поиска связанных терминов для всех упомянутых выше существительных и прилаживаний, и в конечном итоге мы дойдем до сводной таблицы, которую я представил в начале.

Это несложный подход, но он очень эффективен и прост в использовании. Это так же просто, как создание облака слов, но также дает больше понимания и более интерпретируемо. Чтобы узнать больше об этой технике, о том, как она применялась и о некоторых недостатках, вот ссылка на исходный блог, который я написал для нее.

Здесь вы можете найти код упомянутого выше метода. Ниже описано, как его использовать:

Я надеюсь, что этот блог окажется для вас полезным, и я хотел бы услышать ваши отзывы

Спасибо, что прочитали!