Не верь, не бойся, не проси - [entries|archive|friends|userinfo]
phantom

[ website | My Website ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

[Apr. 30th, 2023|11:58 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
Генерация текста через вероятностные графы

Захотелось нагенерировать имён. Увидел эту картинку:

и переизобрёл вероятностный граф (цепь Маркова), - простейший случай.

Слабал легко и быстро, так что сам удивился. По дороге понял, что графы, матрицы и адаптация RNG в простейшей имплементации не нужны. Просто берём выборку, разбиваем на биграммы букв, их на классы эквивалентности по первой букве, плюс стартер/терминатор. И идём от стартера к терминатору, выбирая равнораспределённо из пар-переходов текущего класса. (Заметки на полях: пары составляют мультимножество согласно частотности).

Нашёл старые чат-логи из eve online, имена из них (несколько сотен) взял за выборку. Игроки их там придумывали забористые такие. Вот, что получилось:

A Matinturalustanteriph
Ens Dfelis
Mo Inb
N Warevon
Snsmesteresmaje Emil
Ssallveerykn Llzulel
Seikeangul Stuhalx
Deiastrotachur Lkn
Gann S
Ser Pol
Pevo Kapor
Pa G
Idfamondevlarlynkona Rortale
Laramaladohes Monatumovveabeman
Tadocherdrahvarronjatenallachagd Korsiaty
Win Onergari
At Paga
Pedobudyevau Ivio
Jajes K
Ohelazan Wkkapaianamifollli
Anenco Je
Sak Joren
La S
Huraghen Acanarour
R Mero
Kr Veleshandbrevexy
Sola Ccilv
St Cheaia
Moy N
Crseliy Blearinniolepei

Неплохой результат, однако.

А вот продвинутый генератор на том же принципе (и не только), с выбором тренировочных выборок и их смешиванием:
https://www.samcodes.co.uk/project/markov-namegen/
LinkLeave a comment

Comments:
From:(Anonymous)
Date:May 9th, 2023 - 05:12 pm
(Link)
ты реально не свернул хуйлашку в трубочку и читаешь?!
From:[info]phantom
Date:May 19th, 2023 - 01:20 pm
(Link)
Кого читаю, hex_laden-a? Читаю, точнее, пролистываю. Я всех пролистываю быстренько... за редкими исключениями.