Используем LLM, чтобы упорядочить личную библиотеку электронных книг и статей arXiv

в 20:30, , рубрики: llm, библиотека
Используем LLM, чтобы упорядочить личную библиотеку электронных книг и статей arXiv - 1

Если у вас, как и у меня, собралось много книг в формате pdf, или статей, например, из arXiv, можно попробовать создать что-то вроде продвинутого каталога или БД имеющегося у вас добра, да еще и с переводом на русский. Рассмотрим основные способы, как использовать имеющиеся бесплатные, безлимитные и безвипиэновые LLM.

Важно! Не используйте внешние LLM для разбора коммерческих, личных и иных чувствительных документов! Они (LLM) на них (документах) учатся, и однажды выдадут вашу информацию хитрому промтщику-сборщику!

Итак, предположим, у нас есть скачанный из глубин интернета pdf, например отсюда, с последней статьей из мира LLM, с очередным непонятным методом:

ТРеМу? Что это? От 3 февраля 2025? Неужели через месяц мы получим очередную революцию LLM? Срочно в номер!..

ТРеМу? Что это? От 3 февраля 2025? Неужели через месяц мы получим очередную революцию LLM? Срочно в номер!..

Ну что ж, пока DeepSeek тормозит от бешеной популярности, и перестал загружать любые файлы, попробуем скромно стоящий в сторонке Qwen2.5-Plus ! Он позволяет загружать pdf до 10Мб, чем мы и воспользуемся.

Заголовок, авторы, дата, краткое описание

Итак, мы можем собрать в csv данные наших книг или статей, чтобы загрузить его в эксел или обработать python-ом, загрузив в датафрейм или в реляционную или NoSQL базу данных.

Давайте соберем основные реквизиты этой статьи с помощью такого промта:

Собери в формате csv: Название на английском, Название на русском, дата публикации, ссылка в формате arXiv:, список авторов, список организаций (по числу авторов), список электронных адресов, текст Abstract, перевод на русский текста Abstract

Посмотрим, сможет ли Qwen2.5-Plus понять, что от него хотят?

Промпт и вывод, включая окошко с кодом csv

Промпт и вывод, включая окошко с кодом csv

Вот итог (разделил построчно вывод данных:

Title (English),Title (Russian),Publication Date,arXiv Link,Authors,Organizations,Emails,Abstract,Abstract (Russian)

"TReMu: Towards Neuro-Symbolic Temporal Reasoning for LLM-Agents with Memory in Multi-Session Dialogues",

"TReMu: К Нейросимволическому Временному Размышлению для Агентов LLM с Памятью в Многосессионных Диалогах",

"2024",

arXiv:2502.01630v1,

"Yubin Ge, Salvatore Romeo, Jason Cai, Raphael Shu, Monica Sunkara, Yassine Benajiba, Yi Zhang",

"University of Illinois Urbana Champaign, USA; Amazon Web Services; Amazon Web Services; Amazon Web Services; Amazon Web Services; Amazon Web Services; Amazon Web Services",

"yubinge2@illinois.edu; romeosr@amazon.com; cjinglun@amazon.com; sunkaral@amazon.com; zhongzhu@amazon.com; sunkaral@amazon.com; yizhngn@amazon.com",

"Temporal reasoning in multi-session dialogues presents a significant challenge which has been under-studied in previous temporal reasoning benchmarks. To bridge this gap, we propose a new evaluation task for temporal reasoning in multi-session dialogues and introduce an approach to construct a new benchmark by augmenting dialogues from LoCoMo and creating multi-choice QAs. Furthermore, we present TReMu, a new framework aimed at enhancing the temporal reasoning capabilities of LLM-agents in this context. Specifically, the framework employs time-aware memorization through timeline summarization, generating retrievable memory by summarizing events in each dialogue session with their inferred dates. Additionally, we integrate neuro-symbolic temporal reasoning, where LLMs generate Python code to perform temporal calculations and select answers. Experimental evaluations on popular LLMs demonstrate that our benchmark is challenging, and the proposed framework significantly improves temporal reasoning performance compared to baseline methods, raising from 29.83 on GPT-4o via standard prompting to 77.67 via our approach and highlighting its effectiveness in addressing temporal reasoning in multi-session dialogues.",

"Временное размышление в многосессионных диалогах представляет собой значительный вызов, который был недостаточно изучен в предыдущих временных эталонах. Чтобы сократить этот пробел, мы предлагаем новую оценочную задачу для временного размышления в многосессионных диалогах и представляем подход к созданию нового эталона путем расширения диалогов из LoCoMo и создания вопросов с несколькими вариантами ответов. Кроме того, мы представляем TReMu, новую платформу, направленную на улучшение способностей агентов LLM в области временного размышления в данном контексте. Конкретно, данная система использует осознанное временное запоминание через сводку временной шкалы, генерируя доступную память за счет сводки событий в каждой сессии диалога с выведенными датами. Кроме того, мы интегрируем нейросимволическое временное размышление, где LLM генерируют код Python для выполнения временных расчетов и выбора ответов. Экспериментальные оценки популярных моделей LLM демонстрируют, что наш эталон является сложным, и предложенная система значительно улучшает производительность временного размышления по сравнению с базовыми методами, увеличивая показатель с 29,83 на GPT-4o при стандартном подсказывании до 77,67 при нашем подходе, подчеркивая его эффективность в решении задач временного размышления в многосессионных диалогах."

Также модель добавила:

Notes:

  1. Russian Translation : The Russian translation of the title and abstract was generated based on the English text.

  2. Date : The publication date "2024" was inferred from references within the document.

  3. arXiv Link : Constructed based on the filename details (2502.01630v1).

  4. Organizations : Listed according to the number of authors, with some authors sharing the same organization.

  5. Emails : Provided as listed in the document.

Итак, мы видим, что новейшая модель:

  • Нашла и перевела название,

  • Обнаружила слева вертикальную надпись, считав с нее код 2502.01630v1 , содержащий дату и номер, однако, дату статьи обозначила "2024", найдя ее в ссылках...

  • Корректно опознала список авторов, список организаций (по числу авторов) и список электронных адресов.

Отлично, теперь мы можем собрать все книги или статьи в эл.таблицу и искать там поиском или глазами.

Список глав и разделов

Более продвинутый каталог может содержать список глав и разделов - тогда можно искать нужное среди массы книг. Давайте попробуем.

Собери в формате csv названия всех глав и разделов: "Номер главы, раздела, подраздела, как в тексте", "Название главы, раздела, подраздела", "Название на русском", "Страница"

Level,Title (English),Title (Russian),Page

"1","TReMu: Towards Neuro-Symbolic Temporal Reasoning for LLM-Agents with Memory in Multi-Session Dialogues","TReMu: К Нейросимволическому Временному Размышлению для Агентов LLM с Памятью в Многосессионных Диалогах",1
"1.1","Abstract","Аннотация",1
"1.2","Introduction","Введение",1
"2","Benchmark Construction","Построение Бенчмарка",2
"2.1","Benchmark Design","Дизайн Бенчмарка",2
"2.2","Construction Pipeline","Пайплайн Построения",2
"3","Methodology","Методология",3
"3.1","Preliminary: Memory-Augmented LLM-Agents","Предварительные Сведения: LLM-Агенты с Усиленной Памятью",3
"3.2","TReMu","TReMu",3
"3.2.1","Time-aware Memorization","Чувствительное к Времени Хранение",3
"3.2.2","Neuro-symbolic Temporal Reasoning","Нейросимволическое Временное Размышление",4
"4","Experiments","Эксперименты",5
"4.1","Baselines and Metrics","Базовые Линии и Метрики",5
"4.2","Experimental Results","Результаты Экспериментов",5
"4.3","Execution Failure Study","Исследование Неудач Исполнения",6
"4.4","Case Study","Кейс-Стади",6
"5","Related Work","Связанная Работа",7
"6","Conclusion","Заключение",8
"7","Limitations","Ограничения",8

Увы, в начале (пункт 1 - 1.2) получилась путаница. Попробуем такой промпт:

Нет, в Abstract пропуск вместо номера, Introduction имеет номер 1

Теперь вроде все нормально, кроме ошибки на одну страницу с Limitations:

Level,Title (English),Title (Russian),Page

"","Abstract","Аннотация",1
"1","Introduction","Введение",1
"2","Benchmark Construction","Построение Бенчмарка",2
"2.1","Benchmark Design","Дизайн Бенчмарка",2
"2.2","Construction Pipeline","Пайплайн Построения",2
"3","Methodology","Методология",3
"3.1","Preliminary: Memory-Augmented LLM-Agents","Предварительные Сведения: LLM-Агенты с Усиленной Памятью",3
"3.2","TReMu","TReMu",3
"3.2.1","Time-aware Memorization","Чувствительное к Времени Хранение",3
"3.2.2","Neuro-symbolic Temporal Reasoning","Нейросимволическое Временное Размышление",4
"4","Experiments","Эксперименты",5
"4.1","Baselines and Metrics","Базовые Линии и Метрики",5
"4.2","Experimental Results","Результаты Экспериментов",5
"4.3","Execution Failure Study","Исследование Неудач Исполнения",6
"4.4","Case Study","Кейс-Стади",6
"5","Related Work","Связанная Работа",7
"6","Conclusion","Заключение",8
"7","Limitations","Ограничения",8

Вот csv, загруженный в эл.таблицы (можно прямо скопировать из окна csv, и вставить в эл.таблицы, но вначале нужно поиграть настройками!):

Можно читать в датафрейм! Или добавить слева столбец названия работы и сделать длинный список для просмотра глав/разделов работ

Можно читать в датафрейм! Или добавить слева столбец названия работы и сделать длинный список для просмотра глав/разделов работ

Таблицы

Обычно в книгах и статьях много таблиц. Хотелось бы их сохранить отдельно, часто они служат справочниками, из которых код может брать данные.

Сначала попросим список таблиц:

Выведи список таблиц в формате csv : "Номер таблицы", "Название таблицы", "Название таблица на русском", "Название главы, раздела или подраздела", "Страница, на которой размещена или начинается таблица"

Номер таблицы,Название таблицы,Название таблица на русском,Название главы, раздела или подраздела,Страница, на которой размещена или начинается таблица

"1","Table 1: Statistics of the chosen multi-session dialogue dataset, LoCoMo, compared to others.","Таблица 1: Статистика выбранного набора данных многосессионных диалогов LoCoMo по сравнению с другими.",2 Benchmark Construction,2

"2","Table 2: Dataset statistics and details of the constructed benchmark.","Таблица 2: Статистика набора данных и детали созданного эталона.",2 Benchmark Construction,3

"3","Table 3: Experimental results of various methods based on GPT-4o.","Таблица 3: Результаты экспериментов различных методов на основе GPT-4o.",4 Experiments,5

"4","Table 4: Experimental results of various methods based on GPT-4o-mini.","Таблица 4: Результаты экспериментов различных методов на основе GPT-4o-mini.",4 Experiments,6

"5","Table 5: Experimental results of various methods based on GPT-3.5-Turbo.","Таблица 5: Результаты экспериментов различных методов на основе GPT-3.5-Turbo.",4 Experiments,7

Упс! Названия полей на русском и без кавычек! Нужно будет уточнить в промпте:

Сделай названия полей на английском

Table Number,Table Title,Table Title (Russian),Section Title,Page

Теперь попробуем каждую (или только нужные) таблицы выбрать в csv, чтобы потом разбирать в коде или вставить в эл. таблицы:

Итак, первая таблица содержит и текст, и числовые данные

Итак, первая таблица содержит и текст, и числовые данные

Выведи в формате csv все содержимое "Table 1: Statistics of the chosen multi-session dialogue dataset, LoCoMo, compared to others."

Dataset,Avg. Turns Per Conv.,Avg. Sessions Per Conv.,Avg. Tokens Per Conv.,Time Interval,Collection Method

MSC (Xu et al., 2022),53.3,4,1225.9,"few days",Crowdsourcing
Conversation Chronicles (Jang et al., 2023),58.5,5,1054.7,"few hours - years",LLM-generated
LoCoMo (Maharana et al., 2024),304.9,19.3,9209.2,"few months","LLM-gen. + crowdsourcing"

Попробуем загрузить это в электронные таблицы, что получится?

Из-за запятых и отсутствия кавычек в первом столбце все столбцы поехали!

Из-за запятых и отсутствия кавычек в первом столбце все столбцы поехали!

Вот чего не хватает:

Все данные заключай в двойные кавычки!

Другое дело!

Другое дело!

Теперь попробуем сложную таблицу 3:

Вот такая непростая таблица...

Вот такая непростая таблица...

Выведи в формате csv все содержимое "Table 3: Experimental results of various methods based on GPT-4o." Все данные заключай в двойные кавычки! Внимательно с названиями столбцов!

"Methods","Accuracy","Unanswerable Questions Precision","Unanswerable Questions Recall","Unanswerable Questions F1","Temporal Anchoring Accuracy","Temporal Precedence Accuracy","Temporal Interval Accuracy","Overall Accuracy"
"SP",""18.18%"",""46.88%"",""13.39%"",""20.84%"",""30.34%"",""58.82%"",""29.83%""
"CoT",""67.80%"",""42.61%"",""43.75%"",""43.18%"",""49.15%"",""74.51%"",""61.67%""
"MemoChat",""35.23%"",""24.30%"",""77.68%"",""37.02%"",""25.21%"",""43.14%"",""32.67%""
"Memochat + CoT",""51.14%"",""24.80%"",""81.25%"",""38.00%"",""26.50%"",""49.02%"",""41.67%""
"Timeline + CoT",""83.33%"",""48.51%"",""58.04%"",""52.84%"",""58.55%"",""78.41%"",""71.50%""
"TReMu",""84.47%"",""55.48%"",""76.79%"",""64.42%"",""68.38%"",""81.37%"",""77.67%""

Что-то нечитаемое! Уточним с названиями столбцов и уберем знак %:

Нет, названия столбцов повторяют верхнюю плашку и название, например: "Accuracy TA". Не используй символ %

Теперь всё корректно!

Теперь всё корректно!

Разбираемся с рисунками

Теперь попробуем вывести список рисунков, написав промпт с учетом ранее допущенных ошибок:

Выведи список рисунков в формате csv : "Номер рисунка", "Текст подписи рисунка", "Текст подписи рисунка на русском", "Название главы, раздела или подраздела", "Страница, на которой размещен или начинается рисунок". Данные заключай в двойные кавычки, названия столбцов - на английском: "Figure Number","Caption Text","Caption Text in Russian","Section Title","Page"

Попробуем загрузить в эл. таблицы...

Попробуем загрузить в эл. таблицы...
Вроде все корректно легло...

Вроде все корректно легло...

Теперь попробуем вырезать и сохранить рисунок, например, номер 2:

Простейший рисунок 2.

Простейший рисунок 2.

Выведи в формате картинки рисунок 2 "The percentage of execution failures."

Увы, пока вырезать рисунок невозможно (по крайней мере, в Qwen), но он попытался распознать то, что на этом рисунке изображено. И, в целом, справился.

Увы, пока вырезать рисунок невозможно (по крайней мере, в Qwen), но он попытался распознать то, что на этом рисунке изображено. И, в целом, справился.

Хорошо, попробуем вытянуть цифры и соотношения из рисунка:

Представь график с картинки в формате csv

"Model","Execution Failure Rate (%)"
"GPT-4o","5"
"GPT-4o-mini","10"
"GPT-3.5-Turbo","15"

Внимательно, у каждого столбца на рисунке есть подпись в виде точного %

Увы, точность хромает, но пропорции примерно переданы...

Увы, точность хромает, но пропорции примерно переданы...

Заметим, что цифры неточные - не сумела модель их полностью считать. Ждём, когда починят DeepSeek, он отлично OCR-ит...

Получится ли распознать текст с рисунка 1?

Увы, не получилось... Но что-то попытался все же вытащить - из рисунка или сопровождающего текста?

Увы, не получилось... Но что-то попытался все же вытащить - из рисунка или сопровождающего текста?

Формулы

У нас есть формульные выражения на стр.4.

Используем LLM, чтобы упорядочить личную библиотеку электронных книг и статей arXiv - 16

Попробуем их вытащить:

Выведи весь текст, включая формулы из Algorithm 1 TReMu

Чего только нет в выдаче!

Используем LLM, чтобы упорядочить личную библиотеку электронных книг и статей arXiv - 17
Используем LLM, чтобы упорядочить личную библиотеку электронных книг и статей arXiv - 18
Используем LLM, чтобы упорядочить личную библиотеку электронных книг и статей arXiv - 19

Копирование формул из текста дает вот это:

Инициализация:

  • Time-aware Memorization Model : LLMmem​

  • Memory Retrieval Model : LLMretrieval​

  • Neuro-symbolic Reasoning Model : LLMcode​

  • Python Executor : P

  • Memorization Pool : M←∅

Копирование из plaintext:

for each dialogue session d_i in dialogue D do
m_i ← LLM_{mem}(d_i) // Генерация резюме для сессии d_i
M ← M ∪ m_i // Добавление резюме в пул памяти M
end for

Можно попытаться выбрать формулу в формате LaTeX:

Выведи все формулы из рисунка 1 в формате LaTeX:

Используем LLM, чтобы упорядочить личную библиотеку электронных книг и статей arXiv - 20

Например здесь, в редакторе Хабра, можно вставить эту формулу, выбрав вставку "Формула":

m_{text{retrieved}} leftarrow LLM_{text{retrieval}}(q, M)

Ключевые термины

Выбери из статьи все ключевые термины в формате csv: Термин английский - Русский перевод - Описание

Вот ключевые термины. Иногда бывает в конце или начале статьи/книги приведен словарь, можно попросить выбрать из него.

Вот ключевые термины. Иногда бывает в конце или начале статьи/книги приведен словарь, можно попросить выбрать из него.

Ссылки на работы

Можно попросить выбрать список ссылок на упомянутые или использованные работы:

Выбери все References в csv в формате: Автор - Год - Название статьи - Название на русском - Источник публикации

Используем LLM, чтобы упорядочить личную библиотеку электронных книг и статей arXiv - 23

Текст статьи/книги по главам

Можно попытаться вытянуть текст и его перевод по главам, например, в формат словаря python (но не просите весь текст сразу - количество токенов выдачи ограничено - перечислите пару-тройку разделов. Но даже в этом случае нужно проверять - есть риск, что модель попытается "сэкономить" на выдаче:

Выведи весь текст, не сокращая и не обрезая его, в формате словаря python {Раздел: [Текст, Перевод на русский]} из разделов: "Abstract", "Introduction", "Benchmark Construction", "Benchmark Design", "Construction Pipeline"

{
    "Abstract": [
        "Temporal reasoning in multi-session dialogues presents a significant challenge which has been under-studied in previous temporal reasoning benchmarks. To bridge this gap, we propose a new evaluation task for temporal reasoning in multi-session dialogues and introduce an approach to construct a new benchmark by augmenting dialogues from LoCoMo and creating multi-choice QAs. Furthermore, we present TReMu, a new framework aimed at enhancing the temporal reasoning capabilities of LLM-agents in this context. Specifically, the framework employs time-aware memorization through timeline summarization, generating retrievable memory by summarizing events in each dialogue session with their inferred dates. Additionally, we integrate neuro-symbolic temporal reasoning, where LLMs generate Python code to perform temporal calculations and select answers. Experimental evaluations on popular LLMs demonstrate that our benchmark is challenging, and the proposed framework significantly improves temporal reasoning performance compared to baseline methods, raising from 29.83 on GPT-4o via standard prompting to 77.67 via our approach and highlighting its effectiveness in addressing temporal reasoning in multi-session dialogues.",
        "Временное размышление в многосессионных диалогах представляет собой значительный вызов, который был недостаточно изучен в предыдущих временных эталонах. Чтобы сократить этот пробел, мы предлагаем новую оценочную задачу для временного размышления в многосессионных диалогах и представляем подход к созданию нового эталона путем расширения диалогов из LoCoMo и создания вопросов с несколькими вариантами ответов. Кроме того, мы представляем TReMu, новую платформу, направленную на улучшение способностей агентов LLM в области временного размышления в данном контексте. Конкретно, система использует осознанное временное хранение через сводку временной шкалы, генерируя доступную память за счет сводки событий в каждой сессии диалога с выведенными датами. Кроме того, мы интегрируем нейросимволическое временное размышление, где LLM генерируют код Python для выполнения временных расчетов и выбора ответов. Экспериментальные оценки популярных моделей LLM демонстрируют, что наш эталон является сложным, и предложенная система значительно улучшает производительность временного размышления по сравнению с базовыми методами, увеличивая показатель с 29,83 на GPT-4o при стандартном подсказывании до 77,67 при нашем подходе, подчеркивая его эффективность в решении задач временного размышления в многосессионных диалогах."
    ],
    "Introduction": [
        "In the context of multi-session dialogues, temporal reasoning is both critical and challenging for LLM-agents. As the number of dialogue sessions increases, storing and retrieving relevant information efficiently becomes more difficult (Maharana et al., 2024). LLMs often face challenges in managing large, long-term dialogues, such as failing to retrieve specific temporal details from long history and dialogues exceed the input limit of LLMs. Additionally, research has shown that LLMs overlook important contextual information from long dialogue histories due to the accumulation of irrelevant historical data, referred to as 'historical noise' (Wang et al., 2023). These challenges underscore the need for enhanced temporal reasoning capabilities in LLM-agents for effective handling of multi-session dialogues. However, most existing temporal reasoning benchmarks cannot be used directly for this study, because they are built on shorter texts, such as stories and Wikipedia articles, that contain clear temporal information (Chen et al., 2021; Wang and Zhao, 2024; Xiong et al., 2024). Even benchmarks designed for dialogues, like TimeDial (Qin et al., 2021) and LoCoMo (Maharana et al., 2024), do not explicitly account for the special temporal characteristics in multi-session dialogues, such as relative time and cross-session dependency. For instance, speakers often use relative time expressions instead of specific dates, requiring the model to infer exact event times. Moreover, it is common for speakers to recall past events from previous sessions, creating cross-session dependencies, where events from different sessions involve the same or related entities and reflect changes over time. This further requires LLMs to retain context effectively when reasoning about events across multiple sessions. In this work, we present TReMu (Temporal Reasoning for LLM-Agents in Multi-Session Dialogues), a novel framework designed to enhance temporal reasoning in multi-session dialogues. Our framework introduces time-aware memorization, which uses timeline summarization to generate summaries for each dialogue session, identifying events and associating them with their inferred dates. These summaries, linked to specific times (either session times or inferred event dates), serve as retrievable memory. This effectively addresses events expressed in relative time by distinguishing when such an event occurred from when it was mentioned by the speaker. During reasoning, we propose a neuro-symbolic temporal reasoning approach inspired by recent work that integrates LLMs with symbolic reasoning, translating questions into symbolic language before using a solver to find answers (Pan et al., 2023; Olausson et al., 2023). Specifically, given a temporal question, we retrieve relevant memory and instruct the LLMs to generate Python code. This approach leverages the LLMs’ strong Python coding capabilities and existing Python libraries for temporal calculations. The generated code serves as an intermediate rationale. By executing the code line-by-line, the model follows step-by-step reasoning similar to CoT (Wei et al., 2022), leading the model to select the correct answer.",
        "В контексте многосессионных диалогов, временное рассуждение является как критически важным, так и сложным для агентов LLM. По мере увеличения количества сессий диалога, эффективное хранение и извлечение релевантной информации становится более сложной задачей (Maharana et al., 2024). Модели LLM часто сталкиваются с проблемами управления большими долгосрочными диалогами, например, неспособностью извлекать конкретные временные детали из длинной истории или когда диалоги превышают входной лимит LLM. Кроме того, исследования показывают, что LLM игнорируют важную контекстную информацию из длинных историй диалогов из-за накопления нерелевантных исторических данных, называемых 'историческим шумом' (Wang et al., 2023). Эти проблемы подчеркивают необходимость усиления временного рассуждения у агентов LLM для эффективного управления многосессионными диалогами. Однако большинство существующих бенчмарков временного рассуждения нельзя использовать напрямую для данного исследования, поскольку они основаны на более коротких текстах, таких как рассказы и статьи Википедии, содержащие четкую временную информацию (Chen et al., 2021; Wang and Zhao, 2024; Xiong et al., 2024). Даже бенчмарки, разработанные для диалогов, такие как TimeDial (Qin et al., 2021) и LoCoMo (Maharana et al., 2024), явно не учитывают специфические временные характеристики многосессионных диалогов, такие как относительное время и межсессионная зависимость. Например, говорящие часто используют выражения относительного времени вместо конкретных дат, требуя от модели вывода точного времени события. Помимо этого, часто говорящие вспоминают прошлые события из предыдущих сессий, создавая межсессионные зависимости, где события из разных сессий связаны с одинаковыми или связанными сущностями и отражают изменения во времени. Это дополнительно требует от LLM сохранять контекст эффективно при рассуждении о событиях в нескольких сессиях. В этой работе мы представляем TReMu (Временное Размышление для Агентов LLM в Многосессионных Диалогах), новую систему, разработанную для усиления временного рассуждения в многосессионных диалогах. Наша система вводит понятие осознанного временного хранения, которое использует сводку временной шкалы для создания сводок для каждой сессии диалога, выявляя события и связывая их с выведенными датами. Эти сводки, связанные с конкретными временами (либо временами сессии, либо выведенными датами событий), служат извлекаемой памятью. Это эффективно решает проблему событий, выраженных в относительном времени, различая момент, когда произошло событие, и момент, когда о нем упомянули. Во время рассуждений мы предлагаем нейросимволический подход к временному рассуждению, вдохновленный недавними работами, которые интегрируют LLM с символьным рассуждением, переводя вопросы на символьный язык перед использованием решателя для получения ответа (Pan et al., 2023; Olausson et al., 2023). Конкретно, при получении временного вопроса мы извлекаем релевантную память и инструктируем LLM генерировать код Python. Этот подход использует сильные возможности LLM по генерации кода Python и существующие библиотеки Python для временных расчетов. Сгенерированный код служит промежуточным обоснованием. Выполняя код построчно, модель следует шагам рассуждения, аналогичным CoT (Wei et al., 2022), что помогает модели выбрать правильный ответ."
    ],
    "Benchmark Construction": [
        "In this section, we introduce the construction pipeline to build our temporal QA benchmark for evaluating LLM-agents’ temporal reasoning in multi-session dialogues. As mentioned earlier, we mainly focus on the two temporal characteristics in multi-session dialogues: relative time and cross-session dependency.",
        "В этом разделе мы представляем процесс создания нашего временного бенчмарка QA для оценки временного рассуждения агентов LLM в многосессионных диалогах. Как упоминалось ранее, основное внимание уделяется двум временным характеристикам в многосессионных диалогах: относительному времени и межсессионной зависимости."
    ],
    "Benchmark Design": [
        "We propose augmenting an existing multi-turn dialogue dataset to create a benchmark for evaluating LLM-agents’ temporal reasoning in multi-session dialogues. After a thorough examination, we selected LoCoMo (Maharana et al., 2024), which comprises dialogues averaging 600 turns and 16,000 tokens across up to 32 sessions. In comparison to existing multi-session dialogue datasets, LoCoMo features the longest dialogues and the most sessions, thus presenting a greater challenge. The detailed statistics of LoCoMo and its comparison with other relevant datasets are shown in Table 1. As mentioned earlier, our benchmark focuses on two key temporal characteristics in multi-session dialogues: relative time and cross-session dependency. To achieve this, we follow previous benchmarks (Chen et al., 2021; Xiong et al., 2024; Wang and Zhao, 2024) by creating temporal QA pairs based on temporal events in the dialogues. Specifically, we design each temporal QA based on either a single event or a pair of events: Single Event: We select events expressed with relative time and develop a temporal reasoning type called Temporal Anchoring, which asks for the exact time of the event. Two Events: We choose pairs of relevant events from different sessions that exhibit cross-session dependency. We also consider relative time as an extra factor to increase the complexity of the questions. Two temporal reasoning types are applied: Temporal Precedence, which asks which event occurred first, and Temporal Interval, which asks for the duration between the two events.",
        "Мы предлагаем расширить существующий набор данных многоходовых диалогов для создания бенчмарка для оценки временного рассуждения агентов LLM в многосессионных диалогах. После тщательного анализа мы выбрали LoCoMo (Maharana et al., 2024), который включает диалоги, средняя продолжительность которых составляет 600 раундов и 16 000 токенов вплоть до 32 сессий. В сравнении с существующими наборами данных многосессионных диалогов, LoCoMo характеризуется самыми длинными диалогами и наибольшим количеством сессий, представляя тем самым большую сложность. Подробная статистика LoCoMo и его сравнение с другими релевантными наборами данных показаны в Таблице 1. Как упоминалось ранее, наш бенчмарк фокусируется на двух ключевых временных характеристиках многосессионных диалогов: относительном времени и межсессионной зависимости. Для достижения этой цели мы следуем предыдущим бенчмаркам (Chen et al., 2021; Xiong et al., 2024; Wang and Zhao, 2024), создавая пары временных вопросов-ответов на основе временных событий в диалогах. Конкретно, каждый временной вопрос-ответ разрабатывается на основе либо одного события, либо пары событий: Одиночное событие: Мы выбираем события, выраженные относительным временем, и разрабатываем тип временного рассуждения под названием Temporal Anchoring, который запрашивает точное время события. Два события: Мы выбираем пары взаимосвязанных событий из разных сессий, демонстрирующих межсессионную зависимость. Мы также учитываем относительное время как дополнительный фактор для повышения сложности вопросов. Применяются два типа временного рассуждения: Temporal Precedence, который запрашивает, какое событие произошло первым, и Temporal Interval, который запрашивает продолжительность между двумя событиями."
    ],
    "Construction Pipeline": [
        "To construct our benchmark, we follow the design of our benchmark and utilize a systematic step-by-step approach with GPT-4o. The prompt for each step is shown in Appendix Sec.A. Step 1: Temporal Event Extraction We begin by prompting GPT-4o to extract all temporal events from each dialogue session. In addition, we instruct GPT-4o to annotate the relative time expressions for these events, facilitating the selection process for creating temporal QAs. Step 2: Temporal Event Linking Next, we link the extracted events containing cross-session dependency within the dialogue. We prompt GPT-4o with the extracted events and instruct it to group those related to the same or relevant entities across different sessions, particularly those reflecting changes in attributes over time. For example, the event “Debra Ryan told her mentor about her business idea” from an early session is linked to “Debra Ryan started her own business” from a later session. Step 3: Temporal QA Creation Once the temporal events are processed, we prompt GPT-4o to select those events that meet the criteria for different temporal reasoning types and generate multiple-choice temporal QAs. Additionally, we create unanswerable questions, as in prior QA benchmarks (Rajpurkar et al., 2018), to comprehensively assess models’ temporal reasoning capabilities. Step 4: Quality Control We observe various noises in generated QAs, such as incorrect inferences about exact times or the selection of events with ambiguous time expressions (e.g., 'the other day'). To ensure the benchmark’s quality, we follow recent temporal reasoning benchmarks for LLMs, such as TGQA (Xiong et al., 2024), to perform quality control. We manually review each question to verify that it aligns with our design specifications and that the answers are correctly grounded in the dialogue. We also revise well-constructed questions with incorrect answers and remove any unreasonable ones. The final temporal QA benchmark covers time intervals from days to months and its statistics and details are presented in Table 2. Particularly, our final benchmark not only contains more temporal QAs than LoCoMo, but also include unanswerable questions, which are not covered in LoCoMo. We also include examples of QAs for different temporal reasoning types in Appendix Sec. B.",
        "Для создания нашего бенчмарка мы следуем дизайну нашего бенчмарка и используем систематический пошаговый подход с GPT-4o. Приглашение для каждого шага показано в Приложении A. Шаг 1: Извлечение временных событий Мы начинаем с того, что просим GPT-4o извлечь все временные события из каждой сессии диалога. Кроме того, мы инструктируем GPT-4o аннотировать относительные временные выражения для этих событий, облегчая процесс выбора для создания временных вопросов-ответов. Шаг 2: Связывание временных событий Затем мы связываем извлеченные события, содержащие межсессионную зависимость внутри диалога. Мы задаем GPT-4o извлеченные события и инструктируем его группировать те, которые связаны с одними и теми же или связанными сущностями через разные сессии, особенно те, которые отражают изменения атрибутов со временем. Например, событие «Debra Ryan рассказала своему наставнику о своей бизнес-идеи» из ранней сессии связывается с событием «Debra Ryan начала свой собственный бизнес» из последующей сессии. Шаг 3: Создание временных вопросов-ответов После обработки временных событий мы задаем GPT-4o выбрать события, соответствующие критериям различных типов временного рассуждения, и создать вопросы-ответы с несколькими вариантами ответов. Кроме того, мы создаем невыполнимые вопросы, как это делается в предыдущих бенчмарках вопросов-ответов (Rajpurkar et al., 2018), чтобы всесторонне оценить способности моделей к временному рассуждению. Шаг 4: Контроль качества Мы наблюдаем различные помехи в сгенерированных вопросах-ответах, такие как ошибочные выводы о точных временах или выбор событий с неопределенными временными выражениями (например, 'в другой день'). Для обеспечения качества бенчмарка мы следуем недавним бенчмаркам временного рассуждения для LLM, таким как TGQA (Xiong et al., 2024), для проведения контроля качества. Мы вручную проверяем каждый вопрос, чтобы убедиться, что он соответствует нашим спецификациям дизайна, и что ответы правильно основаны на диалоге. Мы также пересматриваем хорошо составленные вопросы с неправильными ответами и удаляем любые неразумные вопросы. Финальный временной бенчмарк QA охватывает временные интервалы от дней до месяцев, и его статистика и подробности представлены в Таблице 2. Особенно важно отметить, что наш окончательный бенчмарк содержит больше временных вопросов-ответов, чем LoCoMo, и включает невыполнимые вопросы, которые не покрыты в LoCoMo. Мы также включаем примеры вопросов-ответов для различных типов временного рассуждения в Приложении B."
    ]
}

Можно также попросить вывести в этом формате краткое резюме каждой главы или раздела.

Наконец, можно переименовать сам файл в вашем каталоге:

Придумай название этого файла на латинице

tremu_temporal_reasoning_in_multi_session_dialogues.pdf 

Пишите в комментариях, как ещё можно сохранять информацию из электронной библиотеки, используя LLM.

Автор: avshkol

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js