LLM помогает в обработке первого интервью Карлсона-Путина
LLM помогает в обработке первого интервью Карлсона-Путина
LLM aids for processing of the first Carlson-Putin interview (Russian version)
Введение
Введение
В этом блокноте мы предоставляем вспомогательные средства и вычислительные процессы для анализа первого интервью Карлсона-Путина, состоявшегося 9 февраля 2024 года. В основном мы используем большие языковые модели (LLM). Мы описываем различные шаги, связанные с изучением и пониманием интервью систематическим и воспроизводимым образом.
Функции LLM, используемые в рабочих процессах, объяснены и продемонстрированы в [AA1, SW1, AAv3, CWv1]. Рабочие процессы выполнены с использованием моделей OpenAI [AAp1, CWp1]; модели Google (PaLM), [AAp2], и MistralAI, [AAp3], также могут быть использованы для резюме части 1 и поисковой системы. Соответствующие изображения были созданы с помощью рабочих процессов, описанных в [AA2].
Out[]=
Английскую версию этого блокнота можно посмотреть здесь: “LLM aids for processing of the first Carlson-Putin interview", [AA3].
Структура
Структура
Структура блокнота выглядит следующим образом:
1
.Получение текста интервью
Стандартное вхождение.
Стандартное вхождение.
2
.Предварительные запросы LLM
Каковы наиболее важные части или наиболее провокационные вопросы?
Каковы наиболее важные части или наиболее провокационные вопросы?
3
.Часть 1: разделение и резюме
Обзор исторического обзора.
Обзор исторического обзора.
4
.Часть 2: тематические части
TLDR в виде таблицы тем.
TLDR в виде таблицы тем.
5
.Разговорные части интервью
Не-LLM извлечение частей речи участников.
Не-LLM извлечение частей речи участников.
6
.Поисковая система
Быстрые результаты с вкраплениями LLM.
Быстрые результаты с вкраплениями LLM.
7
.Разнообразные варианты
Как бы это сформулировала Хиллари? И как бы ответил Трамп?
Как бы это сформулировала Хиллари? И как бы ответил Трамп?
Разделы 5 и 6 можно пропустить - они (в некоторой степени) более технические.
Наблюдения
Наблюдения
◼
Использование функций LLM для программного доступа к LLM ускоряет работу, я бы сказал, в 3-5 раз.
◼
Представленные ниже рабочие процессы достаточно универсальны - с небольшими изменениями блокнот можно применить и к другим интервью.
◼
Использование модели предварительного просмотра OpenAI “gpt-4-turbo-preview” избавляет или упрощает значительное количество элементов рабочего процесса.
◼
Модель “gpt-4-turbo-preview” принимает на вход 128K токенов.
◼
Таким образом, все интервью может быть обработано одним LLM-запросом.
◼
Поскольку я смотрел интервью, я вижу, что результаты LLM для наиболее провокационных вопросов или наиболее важных утверждений хороши.
◼
Интересно подумать о том, как воспримут эти результаты люди, которые не смотрели интервью.
◼
Поисковую систему можно заменить или дополнить системой ответов на вопросы (QAS).
◼
Вкусовые вариации могут быть слишком тонкими.
◼
На английском языке: Я ожидал более явного проявления задействованных персонажей.
◼
На русско языке: многие версии Трампа звучат неплохо.
◼
При использовании русского текста модели ChatGPT отказываются предоставлять наиболее важные фрагменты интервью.
◼
Поэтому сначала мы извлекаем важные фрагменты из английского текста, а затем переводим результат на русский.
Получение текста интервью
Получение текста интервью
Интервью взяты с выделенной страницы Кремля “Интервью Такеру Карлсону”, расположенной по адресу en.kremlin.ru.
Здесь мы определяем функцию статистики текста:
In[]:=
Clear[TextStats];TextStats[t_String]:=AssociationThread[{"Chars","Words","Lines"},{StringLength[t],Length@TextWords[t],Length@StringSplit[t,"\n"]}];
Здесь мы получаем русский текст интервью:
In[]:=
txtRU=Import["https://raw.githubusercontent.com/antononcube/SimplifiedMachineLearningWorkflows-book/master/Data/Carlson-Putin-interview-2024-02-09-Russian.txt"];txtRU=StringReplace[txtRU,RegularExpression["\\v+"]->"\n"];TextStats[txtRU]
Out[]=
Chars91566,Words13705,Lines291
Здесь мы получаем английский текст интервью:
In[]:=
txtEN=Import["https://raw.githubusercontent.com/antononcube/SimplifiedMachineLearningWorkflows-book/master/Data/Carlson-Putin-interview-2024-02-09-English.txt"];txtEN=StringReplace[txtEN,RegularExpression["\\v+"]->"\n"];TextStats[txtEN]
Out[]=
Chars97354,Words16913,Lines292
Замечание: При использовании русского текста модели ChatGPT отказываются предоставлять наиболее важные фрагменты интервью. Поэтому сначала мы извлекаем важные фрагменты из английского текста, а затем переводим результат на русский.
Ниже мы покажем несколько экспериментов с этими шагами.
Ниже мы покажем несколько экспериментов с этими шагами.
Предварительные запросы по программе LLM
Предварительные запросы по программе LLM
Здесь мы настраиваем доступ к LLM - мы используем модель OpenAI “gpt-4-turbo-preview”, поскольку она позволяет вводить 128K токенов:
In[]:=
conf=LLMConfiguration[<|"Model"->"gpt-4-turbo-preview","MaxTokens"->4096,"Temperature"->0.2|>]
Out[]=
LLMConfiguration
Вопросы
Вопросы
Сначала мы сделаем LLM-запрос о количестве заданных вопросов:
In[]:=
LLMSynthesize["Сколько вопросов было задано на следующем собеседовании?",txtRU,LLMEvaluator->conf]
Out[]=
Этот текст представляет собой транскрипт интервью с Владимиром Путиным, в котором обсуждаются различные темы, включая отношения России с Украиной, НАТО, США, а также вопросы внутренней и внешней политики России. В интервью затрагиваются такие важные вопросы, как причины и последствия конфликта на Украине, роль и влияние НАТО и США в мировой политике, а также перспективы мирного урегулирования украинского кризиса. Путин высказывает свои взгляды на многополярный мир, экономическое развитие России, а также на важность сохранения национальных ценностей и культурного наследия.
Здесь мы просим извлечь вопросы в JSON-список:
In[]:=
llmQuestions=LLMSynthesize["Извлечь все вопросы из следующего интервью в JSON-список.",txtRU,LLMPrompt["NothingElse"]["JSON"],LLMEvaluator->conf];llmQuestions=FromJSON[llmQuestions];
In[]:=
DeduceType[llmQuestions]
Out[]=
Vector[Struct[{question,context},{Atom[String],Atom[String]}],9]
Мы видим, что количество извлеченных LLM вопросов в намного меньше, чем количество вопросов, полученных с помощью LLM. Вот извлеченные вопросы (как Dataset объект):
In[]:=
Dataset[llmQuestions][All,{"context","question"}]
Out[]=
Важные части
Важные части
Здесь мы выполняем функцию извлечения значимых частей из интервью:
Здесь мы определяем другую функцию, используя английский текст:
Здесь мы определяем функцию для перевода:
Здесь мы определяем функцию, которая преобразует спецификации форматирования Markdown в спецификации форматирования Wolfram Language:
Замечание: Преобразование из Markdown в WL с помощью LLM не очень надежно. Ниже мы используем лучшие результаты нескольких итераций.
Самые провокационные вопросы
Самые провокационные вопросы
Здесь мы пытаемся найти самые провокационные вопросы:
Замечание: Поскольку в ChatGPT мы получаем бессмысленные ответы, ниже приводится перевод соответствующих английских результатов из [AA3].
Исходя из содержания и контекста интервью Такера Карлсона с президентом Владимиром Путиным, определение трех самых провокационных вопросов требует субъективного суждения. Однако, учитывая потенциал для споров, международные последствия и глубину реакции, которую они вызвали, следующие три вопроса можно считать одними из самых провокационных:
1. Расширение НАТО и предполагаемые угрозы для России:
◼
Вопрос: “24 февраля 2022 года вы обратились к своей стране в своем общенациональном обращении, когда начался конфликт на Украине, и сказали, что вы действуете, потому что пришли к выводу, что Соединенные Штаты через НАТО могут начать, цитирую, “внезапное нападение на нашу страну”. Для американских ушей это звучит как паранойя. Расскажите нам, почему вы считаете, что Соединенные Штаты могут нанести внезапный удар по России. Как вы пришли к такому выводу?”
◼
Контекст: Этот вопрос напрямую ставит под сомнение оправдание Путиным военных действий на Украине, наводя на мысль о паранойе, и требует объяснения воспринимаемой Россией угрозы со стороны НАТО и США, что является центральным для понимания истоков конфликта с точки зрения России.
2. Возможность урегулирования конфликта на Украине путем переговоров:
◼
Вопрос: “Как вы думаете, есть ли у Зеленского свобода вести переговоры об урегулировании этого конфликта?”
◼
Контекст: Этот вопрос затрагивает автономию и авторитет президента Украины Владимира Зеленского в контексте мирных переговоров, неявно ставя под сомнение влияние внешней власти. Переведено с помощью www.DeepL.com/Translator (бесплатная версия)
3. Применение ядерного оружия и глобальный конфликт:
◼
Вопрос: “Как вы думаете, беспокоилась ли НАТО о том, что это может перерасти в глобальную войну или ядерный конфликт?”
◼
Контекст: Учитывая ядерный потенциал России и эскалацию напряженности в отношениях с НАТО, этот вопрос затрагивает опасения относительно более широкого, потенциально ядерного, конфликта. Ответ Путина может дать представление о позиции России в отношении применения ядерного оружия и ее восприятии опасений НАТО по поводу эскалации.
Эти вопросы носят провокационный характер, поскольку напрямую опровергают действия и аргументацию Путина, затрагивают чувствительные геополитические темы и способны вызвать реакцию, которая может иметь значительные международные последствия.
Самые важные высказывания
Самые важные высказывания
Здесь мы пытаемся найти самые важные утверждения:
Замечание: Опять, поскольку в ChatGPT мы получаем бессмысленные ответы, ниже приводится перевод соответствующих английских результатов из [AA3].
На основе обширного интервью можно выделить 3 наиболее важных высказывания, которые имеют большое значение для понимания более широкого контекста беседы и позиций участвующих сторон:
1. Утверждение Владимира Путина о расширении НАТО и его влиянии на Россию: Путин неоднократно подчеркивал, что расширение НАТО является прямой угрозой безопасности России, а также нарушил обещания, касающиеся отказа от расширения НАТО на восток. Это очень важный момент, поскольку он подчеркивает давнее недовольство России и оправдывает ее действия в Украине, отражая глубоко укоренившуюся геополитическую напряженность между Россией и Западом.
2. Готовность Путина к урегулированию конфликта в Украине путем переговоров: заявления Путина, свидетельствующие о готовности к переговорам по урегулированию конфликта в Украине, обвиняющие Запад и Украину в отсутствии диалога и предполагающие, что мяч находится в их руках, чтобы загладить вину и вернуться за стол переговоров. Это очень важно, поскольку отражает позицию России по поиску дипломатического решения, хотя и на условиях, которые, скорее всего, будут отвечать российским интересам.
2. Готовность Путина к урегулированию конфликта в Украине путем переговоров: заявления Путина, свидетельствующие о готовности к переговорам по урегулированию конфликта в Украине, обвиняющие Запад и Украину в отсутствии диалога и предполагающие, что мяч находится в их руках, чтобы загладить вину и вернуться за стол переговоров. Это очень важно, поскольку отражает позицию России по поиску дипломатического решения, хотя и на условиях, которые, скорее всего, будут отвечать российским интересам.
3. Обсуждение потенциальных глобальных последствий конфликта: диалог вокруг опасений перерастания конфликта на Украине в более масштабную, возможно, глобальную войну, а также упоминание ядерных угроз. Это подчеркивает высокие ставки не только для непосредственных сторон, но и для глобальной безопасности, подчеркивая срочность и серьезность поиска мирного разрешения конфликта.
Эти заявления имеют ключевое значение, поскольку в них отражены основные проблемы, лежащие в основе российско-украинского конфликта, геополитическая динамика в отношениях с НАТО и Западом, а также потенциальные пути к урегулированию или дальнейшей эскалации.
Часть 1: разделение и резюме
Часть 1: разделение и резюме
В первой части интервью Путин дал историческую справку о формировании и эволюции “украинских земель”. Мы можем извлечь первую часть интервью “вручную” следующим образом:
Кроме того, мы можем попросить ChatGPT сделать извлечение за нас:
Вот первая часть собеседования по результатам LLM:
Примечание: Видно, что LLM “добавил” к “вручную” выделенному тексту почти на 1/5 больше текста. Ниже мы продолжим работу с последним.
Краткое содержание первой части
Краткое содержание первой части
Вот краткое изложение первой части интервью:
В интервью Такеру Карлсону, Владимир Путин отрицает, что Россия опасалась внезапного удара от США через НАТО, и утверждает, что его слова были истолкованы неверно. Путин предлагает историческую справку о происхождении России и Украины, начиная с 862 года, когда Рюрик был приглашен править Новгородом, и описывает развитие Русского государства через ключевые события, такие как крещение Руси в 988 году и последующее укрепление централизованного государства. Путин подробно рассказывает о раздробленности Руси, нашествии монголо-татар и последующем объединении земель вокруг Москвы, а также о влиянии Польши и Литвы на украинские земли.
Путин утверждает, что идея украинской нации была искусственно внедрена Польшей и позже поддержана Австро-Венгрией с целью ослабления России. Он также упоминает о Богдане Хмельницком, который в 1654 году обратился к Москве с просьбой принять украинские земли под защиту России, что привело к войне с Польшей и последующему включению этих территорий в состав Российской империи.
Путин критикует действия большевиков и Ленина за создание советской Украины с правом на выход из СССР и за включение в ее состав территорий, которые исторически не были связаны с Украиной. Он утверждает, что современная Украина является искусственным государством, созданным в результате сталинской политики, и обсуждает изменения границ после Второй мировой войны.
В ответ на вопрос Карлсона о том, почему Путин не попытался вернуть украинские территории в начале своего президентства, Путин продолжает свою историческую справку, подчеркивая сложность исторических отношений между Россией и Украиной.
Часть 2: тематические части
Часть 2: тематические части
Здесь мы делаем LLM-запрос на поиск и выделение тем или вторую часть интервью:
Здесь мы приводим таблицу найденных тем:
Разговорные части интервью
Разговорные части интервью
В этом разделе мы разделяем разговорные фрагменты каждого участника интервью. Для этого мы используем регулярные выражения, а не LLM.
Здесь мы находим позиции имен участников в тексте интервью:
Разделите текст интервью на разговорные части:
Замечание: Мы предполагаем, что части, произнесенные участниками, имеют соответствующий порядок и количество.
Здесь объединены произнесенные части и табулированы первые 6:
Здесь объединены произнесенные части и табулированы первые 6:
Здесь мы приводим таблицу всех произнесенных Такером Карлсоном частей речи (и считаем все из них “вопросами”):
Поисковая система
Поисковая система
В этом разделе мы создадим (мини) поисковую систему из частей интервью, полученных выше.
Вот шаги:
1
.Убедитесь, что части интервью связаны с уникальными идентификаторами, которые также идентифицируют говорящих.
2
.Найдите векторы вкраплений для каждой части.
3
.Создайте рекомендательную функцию, которая:
3
.1
.Фильтрует вкрапления в соответствии с заданным типом
3
.2
.Находит векторное вложение заданного запроса
3
.3
.Находит точечные произведения вектора запроса и векторов частей
3
.4
.Выбирает лучшие результаты
Здесь мы создаем ассоциацию частей интервью, полученных выше:
Здесь мы находим LLM-векторы вкраплений частей интервью:
Вот функция для поиска наиболее релевантных частей интервью по заданному запросу (с использованием точечного произведения):
Здесь мы находим 3 лучших результата по запросу:
Стилизованные вариации
Стилизованные вариации
В этом разделе мы покажем, как можно перефразировать разговорные фрагменты в стиле некоторых политических знаменитостей.
Карлсон -> Клинтон
Карлсон -> Клинтон
Здесь приведены примеры использования LLM для перефразирования вопросов Такера Карлсона в стиле Хиллари Клинтон:
Путин -> Трамп
Путин -> Трамп
Вот примеры использования LLM для перефразирования ответов Владимира Путина в стиле Дональда Трампа:
Ссылки
Ссылки
Ссылки даны на английском языке, поскольку именно на этом языке они были созданы, и по английским названиям их легче искать.
Статьи / Articles
Статьи / Articles
[AA2] Anton Antonov, "Day 21 - Using DALL-E models in Raku" , (2023), Raku Advent Calendar blog for 2023 .
[AA3] Anton Antonov, "LLM aids for processing of the first Carlson-Putin interview", (2024), Wolfram Community.
[OAIb1] OpenAI team, "New models and developer products announced at DevDay" , (2023), OpenAI/blog .
[SW1] Stephen Wolfram, "The New World of LLM Functions: Integrating LLM Technology into the Wolfram Language", (2023), Stephen Wolfram Writings.
Пакеты / Packages
Пакеты / Packages
Видео / Videos
Видео / Videos
[AAv2] Anton Antonov, "Jupyter Chatbook multi cell LLM chats teaser (Raku)" , (2023), YouTube/@AAA4Prediction .
[AAv3] Anton Antonov "Integrating Large Language Models with Raku" , (2023), YouTube/@therakuconference6823 .