Тема: Генерування тексту живою мовою на основі формально заданих структур.

Всім привіт!
Пишу свою текстову гру в стилі multi-user dungeon (MUD) і хочу щоб описи предметів, локацій, персонажів, подій, генерувалися програмно.

Нехай в базі даних записано щось таке:
дія - вистріл
діяч - RTZ-579
ціль - задня ліва кінцівка арахнід
знаряддя - бластер
результат: 100%

На виході потрібно отримати щось типу: "RTZ-579 прострелив в задню ліву кінцівку арахніда із бластера"


Для цього, я так розумію потрібно вирішити щонайменше дві проблеми:
1) Задавати слова в різних граматичних формах: відмінках, числах, родах, часах, і.т.д (бажано з підтримкою багатомовності: врахування особливостей різних мов)
2) Якось задавати зв'язки між формальними структурами і послідовностями слів.

Підкажіть, будь ласка, чи є готові бібліотеки, бажано на Python, які дозволяють це реалізувати?

Подякували: 0xDADA11C7, ch0r_t2

2 Востаннє редагувалося ch0r_t (28.04.2021 15:54:13)

Re: Генерування тексту живою мовою на основі формально заданих структур.

https://www.infoworld.com/article/35194 … ssing.html
https://sunscrapers.com/blog/8-best-pyt … libraries/
https://www.i2tutorials.com/top-natural … or-python/

Подякували: Володимир Бойко1

3

Re: Генерування тексту живою мовою на основі формально заданих структур.

Володимир Бойко написав:

1) Задавати слова в різних граматичних формах: відмінках, числах, родах, часах, і.т.д (бажано з підтримкою багатомовності: врахування особливостей різних мов)

Для чого ?

дія - віддавати перевагу
діяч - leofun01
ціль - Володимир Бойко
знаряддя - форма:

Володимир Бойко написав:

дія - вистріл
діяч - RTZ-579
ціль - задня ліва кінцівка арахнід
знаряддя - бластер
результат: 100%

результат: 100%

Re: Генерування тексту живою мовою на основі формально заданих структур.

leofun01 написав:
Володимир Бойко написав:

1) Задавати слова в різних граматичних формах: відмінках, числах, родах, часах, і.т.д (бажано з підтримкою багатомовності: врахування особливостей різних мов)

Для чого ?

дія - віддавати перевагу
діяч - leofun01
ціль - Володимир Бойко
знаряддя - форма:

Володимир Бойко написав:

дія - вистріл
діяч - RTZ-579
ціль - задня ліва кінцівка арахнід
знаряддя - бластер
результат: 100%

результат: 100%

Ой, та нащо придиратися до деталей :)) Суть в тому, що є формально задані об'єкти різної природи (фізичні, біологічні, психологічні, соціальні), а також їхні властивості і взаємодії. І на основі цього треба генерувати більш-менш адекватні тексти.

5

Re: Генерування тексту живою мовою на основі формально заданих структур.

Володимир Бойко написав:

Ой, та нащо придиратися до деталей :))

Не придираюсь, серйозно. Чому б не дати користувачу текст в тій формі, в якій він зберігається ? Його ж читати буде легше.

Re: Генерування тексту живою мовою на основі формально заданих структур.

leofun01 написав:
Володимир Бойко написав:

Ой, та нащо придиратися до деталей :))

Не придираюсь, серйозно. Чому б не дати користувачу текст в тій формі, в якій він зберігається ? Його ж читати буде легше.


Тобто? Видавати гравцям дамп бази даних і хай розбираються? Боюсь, мало хто зрозуміє, ще менше тих, хто оцінить :)

7 Востаннє редагувалося ch0r_t (28.04.2021 17:30:02)

Re: Генерування тексту живою мовою на основі формально заданих структур.

В грі NEO Scavenger було реалізовано подібну систему. Результат доволі цікавий.
https://store.steampowered.com/app/2488 … Scavenger/

(Текстовий опис бою внизу)

Прихований текст

https://i.kinja-img.com/gawker-media/image/upload/t_original/xmeqtn8nv5nlzqszzkmr.jpg

8

Re: Генерування тексту живою мовою на основі формально заданих структур.

раджу почитати про оте NLP, або глянути кілька відео на ютубі, тоді хоч будете розуміти, наскільки та штука складна, і як можна застосувати оті ліби

Подякували: Володимир Бойко1

Re: Генерування тексту живою мовою на основі формально заданих структур.

tchort написав:

В грі NEO Scavenger було реалізовано подібну систему. Результат доволі цікавий.
https://store.steampowered.com/app/2488 … Scavenger/

(Текстовий опис бою внизу)

Прихований текст

https://i.kinja-img.com/gawker-media/image/upload/t_original/xmeqtn8nv5nlzqszzkmr.jpg

Дякую. Досить схоже на те, що я маю на меті.

10 Востаннє редагувалося Droid 77 (28.04.2021 17:38:29)

Re: Генерування тексту живою мовою на основі формально заданих структур.

Володимир Бойко, по перше цікаво от що. Розробляєте ігровий ШІ, чи ні?
Бо як ні тоді leofun01 правий. Нащо ускладнювати, коли достатньо ретельно розробити БД та робити потрібні запити згідно ситуації. Там тих слів у грі, раз-два і речення.

11

Re: Генерування тексту живою мовою на основі формально заданих структур.

Droid 77 написав:

Володимир Бойко, по перше цікаво от що. Розробляєте ігровий ШІ, чи ні?
Бо як ні тоді leofun01 правий. Нащо ускладнювати, коли достатньо ретельно розробити БД та робити потрібні запити згідно ситуації. Там тих слів у грі, раз-два і речення.

Якщо коротко, то я хочу зробити 100% текстову гру, в якій взагалі не буде жодних візуальних елементів (навіть ascii-карт місцевості) а вся обстановка описується словами (ліворуч - злий вовк, праворуч - гранітна стіна), і до того ж у грі нічого не має подаватися у вигляді цифр (типу hp, сила атаки, клас броні). Замість цього гравець має отримувати схожі повідомлення - "уламки снаряду розтрощили істоті панцир на грудях, із глибокої рани витікає кров". Ну щоб гравцям були доступні тільки видимі ознаки процесів, а не їхня внутрішня суть.

Подякували: 0xDADA11C7, ch0r_t2