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

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

Apr. 30th, 2023|11:58 pm
phantom
Генерация текста через вероятностные графы

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

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

Слабал легко и быстро, так что сам удивился. По дороге понял, что графы, матрицы и адаптация 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/
Link Read Comments

Reply:
From:
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: