пятница, 31 марта 2023 г.

Приложения на основе GPT для обработки и анализа файлов. Ч.1 ChatPDF

 Введение

Как показывает практика работы с ChatGPT, получение сколько-нибудь достоверной информации, базирующейся на идентифицируемых источниках, непосредственно от самой LLM очень проблемно. Информация, которую мы получаем нуждается в пристальной проверке и контроле. «Галлюцинации» ChatGPT стали притчей во языцех и вызывают отторжение пользователей. Спасение многим видится в использовании возможностей ChatGPT для извлечения и обработки информации из конкретного источника или источников. 

Таким образом, перспективным и востребованным направлением использования LLM типа ChatGPT является анализ текстов, предоставляемых самим пользователем, с целью:

  • Извлечения наиболее важной интересной для потребителя информации
  • В том числе из текстов на иностранном языке
  • Сравнения информации в разных источниках
  • Получение текстовых и иных данных из наборов однотипных текстов (договоры, протоколы и т.п.) для дальнейшего анализа 
  • Преобразования текстов для: 1) автореферирования, суммаризации; 2) изменения данных в формальных документах 3) создания учебных материалов и т.д. 
  • Мета-анализа источников
  • Использования в прочих задачах, связанных с анализом текстов, что актуально для всей гуманитарики как таковой и даже для литературного творчества (пример «Красного колеса»)

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

Возможность обработки вводимого текста упирается в ограничение модели ChatGPT.  В запросе-промте  могут использовать до 4097 токенов, причем в сумме на запрос и на ответ. Если Ваш промт составляет 4000 токенов, то ответ Вам может быть максимум 97 токенов. А токен это не слово, а меньше -  причем для разных языков среднее соотношение токенов и слов разное. Для английского языка – это примерно 750 слов на 1000 токенов, для русского много меньше этого. Я встречал разные цифры, но очень возможно, что не более 100 слов на 1000 токенов. То есть если вы анализируете русский текст, то объем анализируемого текста не более 300-400 слов.

Общий подход к решению проблемы анализа большого документа приведен в ресурсе PDF GPT (https://github.com/bhaskatripathi/pdfGPT):

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

Итак, спасением и прорывом видятся инструменты, создаваемые на основе API с моделями GPT и другими LMM, специально «заточенные» под работу с текстами пользователей

Мы попробуем дать обзор таких инструментов. При этом рассматрим только фримиум-инструменты с простым доступом из России.

 

ChatPDF, https://www.chatpdf.com/


Насколько я понимаю, это один из первых, если не первый из подобных инструментов, привлекший большое количество пользователей. Ресурс работает с января 2023 г.

Как пишут его создатели ChatPDF - это быстрый и простой способ общаться с любыми PDF-файлами, бесплатно и без регистрации. В настоящее время он работает на chat-3.5-turbo, но сообщается о дальнейшей возможной интеграции gpt-4. Страна происхождения: Германия

Поначалу это действительно был бесплатный ресурс, но сейчас возможны 2 варианта:

Таблица 1.1.

Тариф

Ограничения

$ в месяц

Кол-во страниц

Размер файла, МБт

Количество файлов, в день

Количество вопросов, в день

0

120

10

3

50

5

2000

32

50

1000

Бесплатный вариант доступен даже без регистрации, но с ограничениями по странам. В России надо пользоваться vpn или аналогами (я в основном пользуюсь браузером Тор). 28.03.23 внесена возможность сохранения сессий и их продолжения.

Рис. 1 Интерфейс ресурса

Ограничения:

  • Файлы принимаются только в формате pdf с текстовым слоем. OCR не подключено, т.е. сканы не принимаются
  • Инструмент не позволяет загружать одновременно несколько файлов и проводить сравнения
  • Публичного API пока не предоставляется
  • Запрос-промт ограничен по объему (объем для русскоязычного запроса до 500 знаков). Это ограничивает возможность сложных промтов.

Как ресурс работает с большими файлами разработчики не раскрывают. В обсуждениях высказано несколько предположений. Вот, например: «У OpenAI есть API для встраивания, документация есть на их сайте. Я предполагаю, что они используют pandoc или что-то подобное для преобразования PDF в текст, затем разбивают текст на части и отправляют его в API». В силу этого «chat pdf имеет проблемы с генерацией ключевых моментов и ключевых слов из сотен страниц PDF». Если предположить, что идет разбиение документа и запрос к каждой части, а затем некая «сшивка» ответа, то если ответ может быть полностью получен на основе анализа одной посылаемой в chatgpt части – он может быть точен, но если из нескольких, то «сшивка» вряд ли будет согласованной. То есть на короткие и однозначные запросы можно ожидать релевантных ответов, а на вопросы, требующие выделения информации из всего документа релевантность ответов будет хуже.

Это подтверждает администратор ресурса в обсуждениях:

  • ChatPDF имеет доступ ко всему PDF-файлу, но при генерации ответа он может одновременно просматривать только 3 абзаца, что может привести к тому, что он скажет, что имеет доступ только к нескольким страницам
  • он не очень хорошо подходит для резюме, он предназначен для ответа на конкретные вопросы, на которые можно ответить с помощью подмножества всего документа

Также пользователи отмечают:

  • ChatPDF (или, GPT) может предоставлять выдуманную, ложную, информацию, о статьях, придумывая цитаты. То есть и он не является надежным инструментом: «Да, я ожидал, что chatpdf останется в рамках содержания предоставленного pdf-файла. На некоторые вопросы он ответил, что информации, которую я искал, нет в pdf, но он знает то-то и то-то из других источников».
  • Другие также отмечают: «Ложноотрицательный результат (не дает информацию из файла, хотя она там есть) - это нормально. И были ситуации, когда chatpdf не мог найти ссылку в pdf (даже если она существует). А вот ложное срабатывание - сказать, что в pdf есть что-то, хотя это не так - это совсем другая проблема. Можно ли сделать так, чтобы chatpdf был более жестко привязан к предоставленному pdf-файлу, даже если он может применять GPT для выяснения смысла заданных вопросов?»
  • Нерегулярность, нестабильность работы: «Я использовал его на PDF с минимальными ошибками. Я заметил, что после того, как он получил 10 из 25 примеров, которые я задал, завершение стало завершаться с ошибками. Первые 12 были точными».

Итак, пользователи отмечают в качестве главных функциональных ошибок работы с содержанием документов:

- неполноту извлечения информации;

- «галлюционирование» как наиболее важную ошибку;

- нестабильность релевантности ответов от сессии к сессии

В этой связи мы попробовал понять надежность инструмента с помощью эксперимента. Исходное физико-химическое образование и деятельность приучили автора  к такому подходу. Я провел 2 серии экспериментов:

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

Для экспериментов выбраны короткие (от 1 до 4 страниц) документы на русском языке. Это протоколы допросов бывших советских военнослужащих, побывавших в немецком плену. Как правило, в каждом документе есть однозначный ответ на первые 5 формальных, биографических вопросов и есть информация для составления или хотя бы выделения ответа на вопросы 6 и 7.   

Таблица 1.1. Результаты 1-й серии запросов

Вопрос

Ответ, доля точных и верных,  %

Ответ, доля неточных или неполных, %

1.

Фамилия, имя, отчество допрашиваемого

100

0

2.

Год рождения

100

0

3.

Где он проживает     

50

50

4.

Кем и где работает

100

0

5.

Национальность

100

0

6.

Когда и при каких обстоятельствах он попал в плен

0

100

7.

В каких лагерях для военнопленных побывал допрашиваемый с момента пленения до освобождения или окончания войны

0

Отвечал, что информации нет

0

Таблица показывает, что стабильность в шести ответах из семи на одном источнике 100%-я. Различия в вопросе 3 зависели от точки входа: браузер Тор или  https://www.croxyproxy.com/ (здесь и возникала неточность: в ответе к верному приплетена «галлюциногенная» локальность). Также видим, что ответ на вопрос №7, который требует сбора данных неверен в 100% случаев.

Выводы:

  • Надежность хорошая, хотя в одном из случаев по непонятной причине имеется зависимость от условий доступа к ресурсу
  • «Галюциногенность» наблюдается в одном из 7 вопросов в 50% случаев, то есть примерно на уровне 7%  ответов
  • Неполные и ложноотрицательные ответы наблюдаются для вопросов, предполагающих обобщение информации по документу, причем, чем более «развернута» по документу необходимость обобщения, тем хуже ответ. Ненадежность для таких запросов от 50 до 100%. Наоборот, ответы, предполагающие ответы с конкретными данными, размещенными в определенном участке документа (3 абзаца? см. выше), имеют надежность 100%.    

Таблица 1.2. Результаты 2-й серии запросов .

Вопрос

Верные, %

Неверные, %

Неточные, %

1.

Фамилия, имя, отчество допрашиваемого

80

10

10

2.

Год рождения

70

30

0

3.

Где он проживает     

90

10

0

4.

Кем и где работает

70

30

0

5.

Национальность

70

30

0

6.

Когда и при каких обстоятельствах он попал в плен

30

40

30

7.

В каких лагерях для военнопленных побывал допрашиваемый с момента пленения до освобождения или окончания войны

10

80

10

Выводы:

  • Надежность на «простых» вопросах составляет 70-90%, на «сложных» 10-30%
  • «Галлюциногенность» примерно 11%. Ответы на один из документов оказались полностью  не соответствующими информации в документе, «нафантазированы». К подобному можно отнести еще 1-2 ответа
  • Неполных и ложноотрицательных ответов для 5-ти простых вопросов (исключив галлюцинации) – 8%. Для двух сложных вопросов – 70%

Итак, приложение ChatPDF можно охарактеризовать как:

  1. достаточно удобный для пользователя, в том числе из России (vpn)
  2. имеющий ряд ограничений по юзабилити (впрочем, характерных и для аналогичных ресурсов в текущем исполнении)
  3. слабо функциональный для получения общих резюме по загружаемым текстам
  4. при использовании для ответов на вопросы способный «галлюциировать» примерно в 10% вопросов
  5. дающий неполные и ложноотрицательные ответы от 0 до 100% в зависимости от сложности вопросов


Комментариев нет:

Отправить комментарий