să scriem împreună un generator de text markov (iv)
sâmbătă, 26 ian. 2013, 12:40
Am stabilit în cadrul părții a treia a seriei că urmează să construim un generator de text Markov format din două componente:
- O componentă care primește la intrare un model statistic, adică un lanț Markov, și întoarce un text generat aleator. Aceasta a constituit subiectul celei de-a doua părți a tutorial-ului.
- O componentă care primește la intrare unul sau mai multe texte într-o limbă oarecare și construiește pe baza lui, respectiv a lor, lanțul Markov necesar generării de text. În cele ce urmează vom implementa această a doua parte, care este de fapt prima parte a algoritmului în totalitatea sa.
Am observat de asemenea că problema construirii unui model pentru generarea propozițiilor într-o limbă oarecare este teoretic intractabilă. Pe de o parte un „corpus al limbii” complet ar putea fi constituit doar din totalitatea textelor și cuvintelor scrise în limba respectivă. Pe de altă parte limba este o unealtă flexibilă, cu reguli și excepții care pot fi încălcate în diverse contexte, și a cărei formalizare este un subiect de cercetare intens la ora actuală în știința lingvisticii. (mai mult…)
să scriem împreună un generator de text markov (iii)
vineri, 4 ian. 2013, 23:44
Până acum am povestit despre lanțuri Markov și am găsit un model computațional de reprezentare a acestora, după care am construit pe baza modelului un program care parcurge pseudo-aleator lanțul și întoarce stările parcurse. Am arătat că stările pot diferi de la un apel la altul și că valoarea stării următoare depinde de distribuția de probabilitate formată de stările succesoare. Din fericire generatoarele de numere pseudo-aleatoare din calculatoarele de zi cu zi sunt suficient de bune încât să asigure încadrarea cu o anumită eroare (suficient de mică) în distribuția fiecărei stări.
O abordare mai serioasă a lanțurilor Markov ar presupune parcurgerea unor subiecte destul de aride precum procesele stochastice și distribuțiile de probabilitate. Din nefericire noi nu avem loc aici să intrăm în astfel de subiecte, motiv pentru care abordarea folosită în continuare va fi una așa-zis „intuitivă”, sau mai degrabă o bâjbâială empirică având rolul de a familiariza cititorul cu problema lanțurilor Markov și a generării de text pe baza lor. (mai mult…)