Эмоциональный RAG: интеллект для улучшенной ролевой игры с помощью эмоционального поиска

рефераты

Область исследований ролевых игр для генерации человекоподобных ответов привлекает все больше внимания, поскольку большие языковые модели (LLM) продемонстрировали высокую степень человекоподобных возможностей. Это способствовало изучению ролевых агентов в различных приложениях, таких как чат-боты, которые могут вести естественные беседы с пользователями, и виртуальные помощники, которые могут предоставлять персонализированную поддержку и рекомендации. Ключевым элементом задач ролевой игры является эффективное использование памяти персонажа, в которой хранятся его профиль, опыт и исторические диалоги. Чтобы повысить эффективность генерации ответов ролевых агентов, используются методы расширенного поиска (RAG) для доступа к соответствующим воспоминаниям. В большинстве современных исследований релевантная информация извлекается на основе семантического сходства воспоминаний, чтобы сохранить персонализированные характеристики персонажа, в то время как лишь немногие попытки были предприняты для использования LLM в RAG Мы предлагаем новую теорию памяти с учетом эмоций, вдохновленную теорией "эмоционально-зависимой памяти" (которая утверждает, что люди лучше вспоминают события, если они реактивируют свои первоначальные эмоции во время обучения). Вдохновленные теорией "эмоционально-зависимой памяти" (которая утверждает, что люди лучше вспоминают события, если первоначальная эмоция в момент обучения реактивируется в момент вспоминания), мы предлагаем новую систему извлечения информации из памяти с учетом эмоций под названием Emotional RAG (Emotional RAG). " (Emotional RAG), которая учитывает эмоциональные состояния в ролевых играх агентов для вызова соответствующих воспоминаний. В частности, мы разрабатываем две стратегии извлечения, а именно стратегию комбинации и стратегию последовательности, чтобы объединить семантику памяти и аффективные состояния в процессе извлечения. Обширные эксперименты на трех репрезентативных наборах данных ролевых игр показали, что наша система Emotional RAG лучше сохраняет индивидуальность персонажа по сравнению с подходами, не учитывающими эмоции. Это еще раз подтверждает теорию эмоционально-зависимой памяти в психологии. Наш код находится в открытом доступе на сайте https://github.com/BAI-LAB/EmotionalRAG.

Важные выводы:

Включение эмоциональных состояний в процесс восстановления памяти повышает согласованность личности
Теория эмоционально-зависимой памяти в психологии может быть применена к ИИ-агентам
Для разных показателей оценки личности лучше всего подходят разные стратегии поиска
Эмоциональная согласованность улучшает гуманизацию генерируемых ответов

 

Эмоциональный RAG, ролевые агенты, большое языковое моделирование

Emotional RAG(情感 RAG): 通过情感检索增强角色扮演的智能体

Рис. 1: Общая архитектура системы Emotional RAG. Она состоит из четырех компонентов: компонента кодирования запроса, компонента кодирования воспоминаний, компонента извлечения эмоций и компонента генерации ответа. Эмоциональные воспоминания, извлеченные с помощью Emotional RAG, отправляются в LLM вместе с профилем роли и запросом для генерации ответа.

 

доктрина

По мере развития искусственного интеллекта большие языковые модели (LLM) демонстрируют высокую степень человекоподобных возможностей. Использование LLM в качестве агентов ролевых игр, которые имитируют человеческие реакции, продемонстрировало высокую способность генерировать ответы, которые сохраняют индивидуальные характеристики персонажей. Ролевые агенты используются в нескольких областях, таких как агенты по обслуживанию клиентов и агенты-гиды. Эти агенты продемонстрировали большой потенциал в коммерческих приложениях и привлекают все больше внимания в исследованиях LLM.

Наиболее важным фактором для поддержания персонализированных характеристик и возможностей роли является память. Агенты ролевых игр получают доступ к историческим данным, таким как профили пользователей, опыт событий, недавние разговоры и т. д., выполняя поиск в своих блоках памяти, чтобы предоставить богатую персонализированную информацию для LLM в задачах ролевых игр. Для получения доступа к соответствующим воспоминаниям и дополнения к генерации ответа ролевого агента используются методы дополненного поиска (RAG), называемые RAG памяти.

Различные механизмы памяти использовались в различных приложениях LLM. Например, кривая забывания Эббингауза вдохновила на разработку MemoryBank, который облегчает реализацию более человекоподобных схем памяти. Кроме того, основываясь на теории двойного процесса Канемана, фреймворк MaLP представляет инновационный механизм улучшения памяти с двойным процессом, который эффективно объединяет долгосрочную и краткосрочную память.

 

Хотя исследования показали эффективность использования памяти в описанных выше приложениях Large Language Modelling (LLM), достижение более человекоподобных ответов от ролевых агентов остается областью исследований, которая еще не до конца изучена. Вдохновленные когнитивными исследованиями в психологии, мы предприняли первую попытку смоделировать когнитивные процессы человека во время вспоминания. За основу была взята теория эмоционально-зависимой памяти, предложенная психологом Гордоном Боуэром (Gordon H. Bower) в 1981 году:Люди лучше запоминают события, когда они каким-то образом восстанавливают и вспоминают те эмоции, которые испытывали в процессе обучения.. Экспериментально вызывая у испытуемых радостные или грустные эмоции, чтобы изучить влияние эмоций на память и мышление, он заметил, что эмоции определяют не только выбор вспоминаемой информации, но и то, как воспоминания извлекаются. Это говорит о том, что люди с большей вероятностью вспомнят ту информацию, которая соответствует их текущему эмоциональному состоянию.

Основываясь на теории эмоционально-зависимой памяти в психологии, мы предлагаем новую систему извлечения воспоминаний с учетом эмоций под названием Emotional RAG для улучшения процесса генерации ответов ролевых агентов. В Emotional RAG извлечение воспоминаний происходит в соответствии с критерием эмоциональной согласованности, что означает, что в процессе извлечения учитывается как семантическая релевантность вспоминаемых воспоминаний, так и эмоциональное состояние. В частности, мы разработали две гибкие стратегии извлечения, а именно стратегию сочетания и стратегию последовательности, чтобы объединить семантическое и эмоциональное состояние воспоминаний в процессе RAG. Благодаря использованию Emotional RAG ролевой агент может проявлять более человекоподобные качества, что повышает интерактивность и привлекательность большой языковой модели. Ниже приводится краткое описание вклада данной работы:

  • Вдохновленные теорией эмоционально-зависимой памяти, мы делаем первую попытку смоделировать человеческие когнитивные процессы, вводя эффекты эмоциональной когерентности в воспоминания ролевого агента. Мы всесторонне демонстрируем эффективность применения теории эмоциональной памяти Боуэра для разработки искусственного интеллекта, что в дальнейшем служит подтверждением теории эмоционально-зависимой памяти в психологии.
  • Мы предлагаем новую систему извлечения воспоминаний с учетом эмоций, названную Emotional RAG, которая вызывает соответствующие воспоминания на основе семантической релевантности и эмоционального состояния в ролевой игре. Кроме того, мы предлагаем гибкие стратегии поиска, т. е. комбинаторные и последовательные стратегии, для объединения семантических и эмоциональных состояний воспоминаний во время поиска.
  • Мы провели обширные эксперименты на трех репрезентативных наборах данных ролевых игр, InCharacter, CharacterEval и Character-LLM, и показали, что наш фреймворк Emotional RAG значительно превосходит методы, не учитывающие эмоции, в сохранении личностных качеств ролевых агентов.

 

Общая архитектура эмоционального RAG

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

Цель ролевых агентов - подражать человеческим реакциям при создании диалогов. Агенты управляются большими языковыми моделями (LLM) и способны генерировать ответы, основываясь на контексте диалога. Как показано на рис. 1 Как показано на рисунке, в случае, когда агенту необходимо ответить на запрос, предлагаемая нами структура эмоциональных ролевых агентов RAG содержит четыре компонента, а именно: компонент кодирования запроса, компонент построения памяти, компонент извлечения эмоций и компонент генерации ответа. Роль каждого компонента заключается в следующем:

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

 

Компонент кодирования запросов

  • импорт: Текст запроса пользователя
  • экспорт: Семантический вектор $\textbf{semantic}_q$ и вектор настроений $\textbf{emotion}_q$ для запроса
  • методологии::
    • Текст запроса преобразуется в 768-мерный семантический вектор с помощью модели встраивания (например, bge-base-zh-v1.5).
    • Преобразуйте текст запроса в 8-мерное настроение (содержащее 8 состояний настроения) с помощью GPT-3.5 и шаблона подсказок настроения.

компонент кодирования памяти

  • импорт: Запоминание информации из диалога в модуле
  • экспорт: Семантический вектор $\textbf{семантический}_m^k$ и вектор эмоций $\textbf{эмоций}_m^k$ для фрагментов памяти
  • методологии::
    • Текст диалога преобразуется в семантические векторы с помощью той же модели встраивания, что и в компоненте кодирования запросов.
    • Текст преобразуется в векторы настроения с использованием тех же шаблонов GPT-3.5 и sentiment cue, что и в компоненте кодирования запросов.

 

Emotional RAG(情感 RAG): 通过情感检索增强角色扮演的智能体

Рис. 2: Шаблон для оценки настроения подсказок в большой языковой модели.

 

Перевод на китайский язык:

### 任务描述
你是一位情感分析大师,能够仔细辨别每位面试官问题中隐含的细微情感。这种情感能够引导参与者回忆起具有类似情感的事件,从而更好地回答问题。
### 评分标准
假设每个问题包含八种基本情感,包括喜悦(joy)、接纳(acceptance)、恐惧(fear)、惊讶(surprise)、悲伤(sadness)、厌恶(disgust)、愤怒(anger)和期待(anticipation)。
接下来我将输入一个问题,你的任务是对这八种情感维度中的每一种进行评分,评分范围为 1 到 10,其中较高的分数表示该问题更强烈地表现了这一情感维度。
### 输出格式
分析面试官问题在这八种情感维度上的表现,给出原因和评分,并以 Python 列表的形式输出,如下所示:
```python
[
{"analysis": <原因>, "dim": "joy", "score": <分数>},
{"analysis": <原因>, "dim": "acceptance", "score": <分数>},
...
{"analysis": <原因>, "dim": "anticipation", "score": <分数>}
]
```
你的回答必须是有效的 Python 列表,以便可以直接在 Python 中解析,无需额外内容!给出的结果需要尽可能准确,并符合大多数人的直觉。

 

Компонент поиска по настроению

  • импорт: семантический вектор $\textbf{семантический}_q$, вектор эмоций $\textbf{эмоций}_q$ запроса и семантический вектор $\textbf{семантический}_m^k$ в блоке памяти, вектор эмоций $\textbf{ эмоция}_m^k$
  • экспорт: сегмент памяти, наиболее релевантный запросу
  • методологии::
    • Вычислите сходство между запросом и сегментом памяти, используя евклидово расстояние.
    • Косинусное расстояние использовалось для расчета сходства между запросом и сегментом памяти.
    • Семантическое сходство и сходство по смыслу объединяются для вычисления окончательного балла сходства.
    • Поиск осуществляется с использованием двух стратегий поиска (комбинированная стратегия и последовательная стратегия).

 

Компонент генерации ответа

  • импорт: Извлеченные сегменты памяти, информация о роли и информация о запросе
  • экспорт: Ролевой ответ
  • методологии::
    • Создайте ответ, используя шаблон подсказки LLM (например, ChatGLM, Qwen или GPT).

 

После получения воспоминаний мы разработали шаблон подсказки для Большой языковой модели (LLM) для ролевых агентов. Шаблон подсказки показан на рисунке 3. Запрос, информация о роли, полученный фрагмент памяти и описание задачи оформляются в шаблон, отправляемый в LLM.

Emotional RAG(情感 RAG): 通过情感检索增强角色扮演的智能体

Рисунок 3: Пример шаблона подсказки для создания ответа из набора данных CharacterEval.

 

Перевод на китайский язык:

[角色信息] 
--- 
{role_information} 
---

[记忆内容] 
--- 
{memory_fragments} 
---

角色信息包含有关 {role} 的一些基本信息。 
记忆内容是由 {role} 回忆出的与当前问题相关的内容。

现在你是 {role},请模仿 {role} 的语气和说话方式,参考角色信息和记忆内容来回答面试官的问题。 
请不要偏离角色,绝对不要说自己是人工智能助手。

以下是面试官的问题: 
面试官:{question}

 

тест

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

 

Мы провели эксперименты на трех общедоступных наборах данных для ролевых игр - InCharacter, CharacterEval и Character-LLM. Их статистика представлена в таблице I Средний.

  • InCharacter Dataset: Этот набор данных содержит 32 символа. Эти символы взяты из ChatHaruhi [3], RoleLLM [5] и C.AI11 https://github.com/kramcat/CharacterAI. Каждый персонаж связан с блоком памяти, содержащим диалоги из знаковых сцен, средняя длина которых составляет 337.
  • Набор данных CharacterEval: Этот набор данных содержит 77 уникальных персонажей и 4 564 пары вопросов и ответов. Эти персонажи взяты из известных китайских фильмов и телесериалов, а их диалоги извлечены из сценариев. Мы выбрали 31 наиболее популярного персонажа. Для каждого персонажа мы извлекли все пары "вопрос-ответ", чтобы создать единицы памяти, средний размер которых составляет 113.
  • Набор данных Character-LLM: Набор данных Character-LLM содержит 9 известных английских персонажей, например, Бетховен, Гермиона и так далее. Их единицы памяти получены в результате завершения диалогов на основе сцен (выполненных GPT). Для каждого персонажа мы используем 1 000 диалогов в формате "вопрос-ответ".

 

Оценка показателей

Мы оценили точность определения черт характера ролевых агентов с помощью Big Five Inventory (BFI) и оценочного теста MBTI. Подробное описание каждого показателя оценки представлено ниже:

  • Big Five Inventory (BFI): теория "Большой пятерки" - это широко распространенная психологическая модель, которая делит личность на пять основных измерений: открытость, добросовестность, экстраверсия, соглашательство и невротизм. Соглашательство) и эмоциональная нестабильность (Невротизм).
  • MBTI: популярный личностный тест, основанный на теории индикатора типов Майерс-Бриггс (MBTI). Он классифицирует типы личности людей в 16 различных комбинациях. Каждый тип представлен четырьмя буквами, соответствующими следующим четырем измерениям: экстраверсия (E) и интроверсия (I), чувство реальности (S) и интуиция (N), мышление (T) и чувствование (F), суждение (J) и восприятие (P).

MBTI оценивается в задании на категоризацию по 16 типам, а BFI предсказывает значения по пяти измерениям личности. Истинные значения для MBTI и BFI были собраны из трех наборов данных с сайта голосования по личностным характеристикам. В нашей модели ролевых агентов просили ответить на открытые психологические опросники, разработанные для MBTI и BFI. Затем все полученные ответы были проанализированы GPT-3.5, и были сгенерированы оценки MBTI и BFI. Шаблон оценки личности для GPT-3.5 показан на рисунке 4.

На основе результатов оценки мы сравнили выходные данные ролевых прокси с истинными метками, чтобы определить результаты следующих метрик оценки: точность (Acc), то есть Acc (Dim) и Acc (Full), средняя квадратичная ошибка (MSE) и средняя абсолютная ошибка (MAE).Метрики Acc (Dim) и Acc (Full) показывают точность предсказания для каждого измерения и всех комбинаций типов личности, соответственно. Точность предсказания типов личности по каждому измерению и всем комбинациям, соответственно.MSE и MAE измеряют ошибку между предсказанной и истинной метками личности персонажа. В наборе данных InCharacter мы используем BFI и MBTI для тестирования, в то время как в наборах CharacterEval и Character-LLM используется только MBTI из-за сложности сбора истинных меток BFI.

 

Emotional RAG(情感 RAG): 通过情感检索增强角色扮演的智能体

Рисунок 4. Пример шаблона подсказки для измерений экстраверсии (E) и интроверсии (I) опросника MBTI.

 

Перевод на китайский язык:

你是心理测量学方面的专家,尤其是 16 人格测试(与 MBTI 高度相似)。我(<实验者>)正在对某人进行 16 人格测试。我通过一系列开放式问题评估他/她在 E/I 维度上的表现。以下是关于此维度的一些背景信息:

===
E/I 维度:外向(E)与内向(I)

外向(E):外向者从与他人互动中获得能量。他们在社交环境中感到舒适,倾向于表达自己的想法。外向者通常更活跃,寻求社交刺激,并喜欢参与群体活动。对他们而言,与人建立联系、分享和交流想法往往是必要的。他们可能更关注外部世界的刺激,例如声音、色彩和社交动态。

内向(I):内向者在独处时感到更舒适。他们从内省和个人时间中获得能量。与外向者相反,长时间的社交互动可能让他们感到疲惫。内向者可能更加内省,喜欢深度思考,并倾向于建立有意义的人际关系。他们更关注内心世界,例如想法、情感和想象力。
===

我的名字是 <实验者>。我邀请了一位参与者,<参与者>,并且我们用英语进行了许多对话。我将输入这些对话。

请帮助我评估 <参与者> 在 16 人格测试中 E/I 维度上的得分。 
你需要提供每种类型的百分比,总和为 100%,例如:30% A 和 70% B。 
请按以下 JSON 格式输出:

===
```json
{
"analysis": "<基于对话的分析>",
"result": {
"E": "<百分比 1>",
"I": "<百分比 2>"
} 
}
```
(百分比 1 和百分比 2 的总和应为 100%。输出结果需包含百分号。)

 

Emotional RAG(情感 RAG): 通过情感检索增强角色扮演的智能体

 

Связанная работа

Агенты ролевых игр

Ролевые агенты (RPA), также известные как ролевые разговорные агенты (RPCA), предназначены для моделирования разговорного поведения и моделей поведения персонажей с помощью больших языковых моделей. Ролевые агенты демонстрируют огромный потенциал и, как ожидается, значительно продвинут игровой, литературный и творческий секторы индустрии [123456] В настоящее время реализацию ролевых агентов можно разделить на два основных подхода. Первая стратегия расширяет ролевые возможности больших языковых моделей за счет инженерии подсказок и генеративных методов улучшения. Этот подход вводит данные о роли через контекст и использует расширенные возможности контекстного обучения современных больших языковых моделей. Например, ChatHaruhi [3] разработала систему RAG (Retrieval Augmented Generation), которая использует исторические диалоги из знаковых сцен, выученные на небольшом количестве примеров, чтобы передать черты характера и стиль речи персонажа. В отличие от этого, система RoleLLM [5] представили RoleGPT для разработки ролевых подсказок для модели GPT.

Другой подход к ролевым играм заключается в использовании собранных данных о персонаже для предварительного обучения или точной настройки модели большого языка, чтобы настроить модель большого языка в соответствии с конкретным сценарием ролевой игры. В [4], в которой диалоги и данные о персонажах, извлеченные из романов о Гарри Поттере, используются для обучения агентов, способных генерировать ответы, которые в значительной степени соответствуют контексту сцены и отношениям между персонажами.Character-LLM [1] Использование ChatGPT Создание диалоговых данных для построения сценариев и последующее обучение языковых моделей с использованием метапрограмм и этих диалогов. В рамках проекта были реализованы такие стратегии, как загрузка памяти и защитные расширения памяти для смягчения проблемы возникновения ролевых несоответствий в наборе данных для обучения моделей.RoleLLM [5] использует GPT для генерации пар вопросов и ответов на основе сценариев и представляет их в тернарном формате, состоящем из вопросов, ответов и уровней доверия. Введение метрик доверия значительно улучшает качество генерируемых данных.CharacterGLM [2] обучили ролевую модель с открытым исходным кодом на многоролевых данных. Этот подход встраивает знания о роли непосредственно в параметры модели.

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

 

RAG на основе памяти в применении к моделированию больших языков

В ролевых интеллектуальных агентах память является важным фактором для сохранения персонажами своих личностных качеств. Техника Retrieval Augmented Generation (RAG) широко используется для доступа к соответствующим воспоминаниям с целью повышения генеративных возможностей ролевых интеллектуальных агентов, которая называется Memory RAG [35]. Например, в литературе [36Архитектура автоматического агента на основе большой языковой модели (LLM), предложенная в ], состоит из четырех компонентов: модуля профилирования, модуля памяти, модуля планирования и модуля действий. Среди них модуль памяти является ключевой частью при разработке архитектуры интеллектуального агента. Он отвечает за получение информации из окружающей среды и использование записанных воспоминаний для улучшения будущих действий. Модуль памяти позволяет интеллектуальным агентам накапливать опыт, развиваться автономно и действовать более последовательно, рационально и эффективно [14]

Исследования, посвященные проектированию памяти при применении больших языковых моделей, можно разделить на две категории. Первая категория - это захват и хранение промежуточных состояний во время вывода модели в виде содержимого памяти. Эти воспоминания извлекаются при необходимости для поддержки генерации текущего ответа. Например, MemTRM [37] применяет гибридный механизм внимания как к текущему вводу, так и к прошлой памяти, сохраняя прошлые пары ключ-значение и выполняя поиск ближайших соседей по вектору запроса текущего ввода. Однако MemTRM сталкивается с проблемой устаревания памяти в процессе обучения. Для решения этой проблемы был разработан LongMEM [38] отделяет хранение памяти от процесса извлечения. Эта стратегия особенно подходит для моделей с открытым исходным кодом и может потребовать адаптивного обучения для эффективной интеграции содержимого банка памяти. Второй класс решений по проектированию памяти обеспечивает поддержку памяти через внешние банки памяти. Внешние банки памяти могут принимать различные формы для расширения возможностей системы по управлению и извлечению информации. Например, MemoryBank [10] хранит прошлые диалоги, сводки событий и характеристики пользователя в виде библиотеки векторов. Процесс восстановления памяти значительно ускоряется благодаря вычислению векторного сходства, что делает соответствующий прошлый опыт и данные быстро доступными.AI-town[12] использует естественно-языковой подход к сохранению памяти и представляет механизм отражения, который при определенных условиях преобразует простые наблюдения в более абстрактные и высокоуровневые размышления. Эта система учитывает три ключевых фактора в процессе извлечения информации: релевантность памяти, своевременность и значимость, обеспечивая тем самым извлечение наиболее релевантной и контекстуально значимой информации для текущего взаимодействия.

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

 

вынести вердикт

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

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...