Доктран и ЛЛМ Мощный дуэт для анализа жалоб потребителей

Доктран и ЛЛМ Мощный дуэт для анализа жалоб потребителей

Введение

На сегодняшнем конкурентном рынке компании стремятся эффективно понимать и разрешать жалобы потребителей. Жалобы потребителей могут осветить широкий спектр проблем, от дефектов товаров и плохого обслуживания клиентов до ошибок в выставлении счетов и проблем безопасности. Они играют важную роль в обратной связи (относительно продуктов, услуг или опыта) между компаниями и их клиентами. Анализ и понимание этих жалоб могут дать ценные понимания о улучшении продуктов или услуг, удовлетворенности клиентов и общем росте бизнеса. В этой статье мы рассмотрим, как использовать библиотеку Doctran Python для анализа жалоб потребителей, извлечения понимания и принятия решений на основе данных.

Цели обучения

В этой статье вы:

  • Узнаете о библиотеке Doctran Python и ее ключевых возможностях
  • Узнаете о роли Doctran и LLMs в трансформации и анализе документов
  • Изучите шесть типов трансформации документов, поддерживаемых Doctran, включая извлечение, удаление, допрос, уточнение, суммирование и перевод
  • Получите общее понимание преобразования сырых текстовых данных из жалоб потребителей в реальные понимания
  • Поймете структуру данных документа Doctran, класс ExtractProperty для определения схемы извлечения свойств

Эта статья была опубликована в рамках блогона Data Science.

Doctran

Doctran – это современная библиотека на языке Python, предназначенная для трансформации и анализа документов. Она предоставляет набор функций для предварительной обработки текстовых данных, извлечения ключевой информации, категоризации/классификации, допроведения документа до вопросно-ответного формата, суммирования информации и перевода текста на другие языки. Doctran использует LLM (Large Language Models), такие как модели на основе OpenAI GPT и открытые библиотеки NLP, для анализа текстовых данных.

Она поддерживает следующие шесть типов трансформации документов:

  1. Извлечение: Извлечение полезных функций/свойств из документа.
  2. Удаление: Удаление лично идентифицируемой информации (ЛИИ), такой как имя, электронный адрес, номер телефона и т.д. из документа перед отправкой данных в OpenAI. При этом внутренне используется библиотека spaCy для удаления конфиденциальной информации.
  3. Допрос: Преобразование документа в формат вопросов и ответов.
  4. Уточнение: Устранение содержимого из документа, не относящегося к заранее определенному набору тем.
  5. Суммирование: Представление документа в виде краткого, полного и содержательного обзора.
  6. Перевод: Перевод документа на другие языки.

Интеграция также доступна в рамках платформы LangChain в модуле document_transformers. LangChain – это передовая платформа для создания приложений, основанных на LLM.

LangChain предоставляет гибкость для исследования и использования широкого спектра открытых и закрытых моделей LLM. Она позволяет без проблем подключаться к различным внешним источникам данных, таким как PDF-файлы, текстовые файлы, электронные таблицы Excel, PPT-файлы и т.д. Она также позволяет экспериментировать с различными подсказками, заниматься инжинирингом подсказок, использовать встроенные цепи и агенты и многое другое.

Внутри модуля document_transformers Langchain есть три реализации: DoctranPropertyExtractor, DoctranQATransformer и DoctranTextTranslator. Они используются для трансформаций Extract, Interrogate и Translate документов соответственно.

Установка

Установка Doctran может быть произведена с помощью команды pip.

pip install doctran

После ознакомления с библиотекой Doctran давайте рассмотрим различные типы трансформации документов, доступные в Doctran, используя заявление потребителя, приведенное ниже и заключенное в тройные обратные кавычки (“`).

“`

26 ноября 2021 г.

Менеджер

Отдел обслуживания клиентов

Магазин Taurus

Нью-Дели – 110023

Тема: Жалоба на неисправную стиральную машину бренда ‘VIP’

Уважаемый господин,

Я купил автоматическую стиральную машину модели G 24 15 июля 2022 года с инвойсом под номером 1598.

На прошлой неделе машина неожиданно перестала работать и с тех пор не работает, несмотря на все наши усилия. Машина перестает работать после завершения процесса ополаскивания, что вызывает много проблем. Более того, машина с последнего времени начала издавать громкие шумы, что вызывает неудобства для нас.

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

С надеждой на скорый ответ,

Искренне ваш,

“`

Загрузка жалобы в качестве документа Doctran

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

Создайте объект doctran, указав OPENAI_API_KEY в параметре open_ai_key. Затем разберите необработанное содержимое как документ doctran, вызвав метод parse() на объекте doctran.

sample_complain  = """26 ноября 2021 г.МенеджерОтдел обслуживания клиентовМагазин TaurusНью-Дели - 110023Тема: Жалоба на неисправную стиральную машину бренда 'VIP'Уважаемый господин,Я купил автоматическую стиральную машину модели G 24 15 июля 2022 года с инвойсом под номером 1598.На прошлой неделе машина неожиданно перестала работать и с тех пор не работает, несмотря на все наши усилия. Машина перестает работать после завершения процесса ополаскивания, что вызывает много проблем. Более того, машина с последнего времени начала издавать громкие шумы, что вызывает неудобства для нас.Пожалуйста, отправьте своего техника для ремонта и, если необходимо, замените ее в течение следующей недели.С надеждой на скорый ответ,Искренне ваш."""doctran = Doctran(openai_api_key=OPENAI_API_KEY)document = doctran.parse(content=sample_complain)print(document.raw_content)

Результат:

DocTransformers

1. Извлечение

Одна из основных функций doctran – извлечение ключевых свойств из документа. Внутренне она использует функцию OpenAI для извлечения свойств (точек данных) из документа. Она использует модель GPT-4 OpenAI с лимитом токенов 8000.

GPT-4, сокращение от Generative Pre-trained Transformer 4, это многомодальная большая языковая модель, разработанная OpenAI. По сравнению с предшественниками, GPT-4 обладает улучшенной способностью справляться с сложными задачами. Кроме того, она может использовать визуальные данные (такие как изображения, графики, мемы и т. д.) вместе с текстом. Модель достигла производительности на уровне человека по различным профессиональным и академическим показателям, включая Uniform Bar Exam.

Нам нужно определить схему, создав экземпляр класса ExtractProperty для каждого свойства, которое нам нужно извлечь. Схема включает несколько ключевых элементов: имя свойства, описание, тип данных, список выбираемых значений и флаг обязательности, являющийся булевым индикатором.

Здесь мы указали четыре свойства – Категория, Отзыв, Агрессивность и Язык.

from doctran import ExtractPropertyproperties = [    ExtractProperty(        name="Category",         description="Какой тип жалобы это",        type="string",        enum=["Товар или услуга", "Время ожидания", "Доставка", "Проблемы с общением", "Персонал"],        required=True        ),    ExtractProperty(        name="Sentiment",         description="Оценить полярность/настроение",        type="string",        enum=["Положительное", "Отрицательное", "Нейтральное"],        required=True        ),     ExtractProperty(        name="Aggressiveness",         description="""описывает насколько настойчива жалоба,         чем выше число, тем более настойчива""",        type="number",        enum=[1, 2, 3, 4, 5],        required=True        ),       ExtractProperty(        name="Language",         type="string",        description="исходный язык",        enum=["Английский", "Хинди", "Испанский", "Итальянский", "Немецкий"],        required=True        )         ]

Для получения свойств мы можем вызвать функцию extract() на документе. Эта функция принимает свойства в качестве параметра.

extracted_doc = await document.extract(properties=properties).execute()

Операция извлечения возвращает новый документ с предоставленными свойствами в ключе extracted_properties.

print(extracted_doc.extracted_properties)

Вывод:

2. Допрос

Doctran позволяет нам преобразовывать содержимое документа в формат Вопрос-Ответ. Запросы пользователей обычно формулируются в виде вопросов. Поэтому, чтобы улучшить результаты поиска при использовании векторной базы данных, полезно преобразовывать информацию в вопросы. Создание индексов на основе этих вопросов позволяет более точно восстанавливать контекст в сравнении с индексированием исходного текста.

Для опроса документа используйте встроенную функцию interrogate(). Она возвращает новый документ, а сгенерированный набор Вопрос-Ответ доступен в атрибуте extracted_properties.

interrogated_doc = await document.interrogate().execute()print(interrogated_doc.extracted_properties['questions_and_answers'])

Вывод:

3. Суммирование

Используя doctran, мы также можем сгенерировать краткое и содержательное резюме исходного текста. Вызовите функцию summarize() для суммирования документа. Кроме того, укажите параметр token_limit для настройки размера резюме.

summarized_doc = await document.summarize(token_limit=30).execute()print(summarized_doc.transformed_content)

Вывод:

4. Перевод

Перевод документов на другие языки может быть полезен, особенно когда от пользователей ожидается поиск в базе знаний на разных языках, или когда не существует передовых моделей встраивания для определенного языка.

Языковой перевод для нашего случая использования жалоб потребителей может быть полезен для глобальных компаний с многоязычной клиентской базой. С помощью встроенной функции translate() мы можем перевести информацию на другие языки, такие как хинди, испанский, итальянский, немецкий и др.

translated_doc = await document.translate(language="hindi").execute()print(translated_doc.transformed_content)

Вывод:

Заключение

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

Основные моменты

  • Жалобы потребителей – это не только жалобы, но и ценные источники обратной связи, которые могут предоставить важные идеи для бизнеса.
  • Библиотека Python doctran, вместе с моделями больших языковых моделей (LLMs), таких как GPT-4, предлагает мощный набор инструментов для преобразования и анализа документов. Она поддерживает различные преобразования, такие как извлечение, редактирование, допрос, суммирование и перевод.
  • Возможности извлечения Doctran с использованием модели GPT-4 от OpenAI могут помочь бизнесу извлекать ключевые свойства из документов.
  • Преобразование содержимого документа в формат вопросов и ответов с помощью функции допроса Doctran улучшает извлечение контекста. Этот подход ценен для создания эффективных поисковых индексов и облегчения получения лучших результатов поиска.
  • Компании с глобальной клиентской базой могут воспользоваться возможностями перевода языка Doctran, чтобы сообщения были доступны на разных языках. Кроме того, он обеспечивает возможность генерации кратких и содержательных резюме текстового содержимого.

Часто задаваемые вопросы

Все изображения, показанные в этой статье, не принадлежат Analytics Vidhya и используются на усмотрение автора.