igandea, uztaila 25, 2021

Textu bat (demagun novela bat) guztiz atzekoz aurrera idatziz gero, bere entropia ez litzake aldatuko

Baldin berridatziko bagenu novela bat (demagun Joyce-ren "Ulisses" bera), baina járriz hitzak guztiz alderantziz (esan nahi baita, hasiz tika originaleko azken hitza eta bukatuz kin originaleko lehena), novela alderantzizkatu horren entropia ez litzake aldatuko (halakoxea da entropia), nahiz irakurleak ezin izanen lukén interpretatu (prozesatu) bere edukia linealki, aurrerantza. 

Gainera, baldin irakurleak ahalko balu joan memórizatzen alderantzizko informazio guzti hori (milaka hitz horiek), ezin izanen luke ondo intérpretatu gordetako informazio hori harik jaso bukerako informazioa (originalean, hasierakoa), non aurkituko lukén oinarrizko informazioa zeintaz ari diren novelaren kontu guztiak (esan nahi baita ze bukaerako informazio alderantzizkatu hori dá originaleko hasiera).

Areago, novelaren hitz berberak jarriko balira guztiz aleatorioki, textuaren entropia ez litzake horregatik aldatuko (zeren hitzen maiztasunak ez liraken aldatuko), nahiz interpretazioa izanen litzaké ezin ezinagoa. [1332] [>>>]

Etiketak: ,

astelehena, uztaila 19, 2021

Nóla aldatzen den entropia teorikoa an corpus linguistikoak artio 100000 hitz ezberdin

Sarrera honetan kalkulatu genuen a entropia teorikoa on bi corpus linguistiko non zeudén oso hitz ezberdin gutxi, bata kin n=2 (esan nahi baita, 2 hitz ezberdin):

TEnt(2)

0.9182958

eta bestea kin n=3 (esan nahi baita, 3 hitz ezberdin):

TEnt(3

1.435371

Baina, gauza da ze gure intereseko corpus linguistikoak dirá askoz zabalagoak zein 2 edo 3 hitz ezberdin, batez ere noiz nahi dugun kalkulatu a entropiá on hizkuntza bat (adibidez, ingles idatzia). Kasu horietan, hitz ezberdinen kopurua oszilatu ahal dira artén mila gutxi batzuk eta hamar mila batzuk, zein den tamaina askoz representagarriagoa.

Gure asmoa an sarrera hau dá aztertzea nóla aldatzen den entropia teorikoa noiz hitz ezberdinen kopurua mugitzen den artén 1 eta 100000 hitz diferente, adieraziz grafikoki ibilera hori bidéz ondorengo kodea an R:

plot(unlist(lapply(c(1:100000), FUN=TEnt)), type="l", xlab = "n", ylab = "TEnt(n)")

zek ematen digu honako grafikoa:

Hortxe ikus daikegu a entropia teorikoa an corpus linguistikoak artio 100000 hitz ezberdin, non:

TEnt(20000)

10.13008

eta

TEnt(100000)

11.4954

zein diren mugak zeinen artean aldatzen dén entropia teoriko hori noiz hitz ezberdinen kopurua mugitzen den tartén 20000 eta 100000 hitz ezberdin. Tarte horren zabalera dá:

11.4954 - 10.13008 = 1.36532

eta esan dugunez, soilik dependitzen da ti zénbat hitz ezberdin aurkitzen diren an corpusa ("n"). [1326] [>>>]

Etiketak: ,

asteartea, uztaila 06, 2021

Ondo justifikatu beharko litzake kontzeptu horren erabilera an kontextuak nola prozesamendu humanoa on mezu linguistikoak, zein den oso urrutiko esparrua respektu transmisio formala on ber mezuak

Txopi-k zioen atzo:

Pixkana naiz hasi ulertzen -gutxi gora-bera, geyo bera-, kontu hauek on estadistika.

Estadistikak (eta estadistika horietatik ateratako neurriak berdin) ez dira baizik zenbaketa (neurketa) gehio edo gutxio sofistikatuak. Kontua, benetako kontua da zér zenbatzen (neurtzen) dugun, eta zertáko erabiltzen ditugun zenbaketa (gehio edo gutxio sofistikatu) horiek, eta  nóla interpretatzen ditugun handik ateratako emaitzak. Eta soilik lortuko dugu erabilera eta interpretazio egoki bat noiz ondo eta zehazki ulertzen dugun zér kalkulatzen ari garen: alegia, guk aplikatutako neurri horiek zinez zér egiten duten.

Adibidez, entropia jaio zen ki neurtu zénbat bit beharko ziren ki transmititu mezu bat bidéz sistema kodifikatzaile bat (dá kapazitate-neurri fisiko bat), non kontua (eta kezka) zén transmititzea mezuaren forma inanbiguoki (nolabait esan, kontua zirén hitzak eurak, eta ez euren edukia edo interpretazio egokia). 

Marko horretan, hain ongi transmitituko da mezu bat zein ez den batere konprenitzen nola-ere mezu bat zein dén interpretatzen guztiz efektiboki. Izan ere,  eta esana dugunez, mezuaren esangura edo interpretazioa ez ziren sartzen artén interesak on personak zek sortu zutén kontzeptua on entropia, zein, genioenez, gehiago dagokio ki telekomunikazio-ingeniaritza ezenezta ki linguistika. Hortaz, ondo justifikatu beharko litzake kontzeptu horren erabilera an kontextuak nola prozesamendu humanoa on mezu linguistikoak, zein den oso urrutiko esparrua respektu transmisio formala on ber mezuak.

Eta gauza da ze gure kasuan ez gaude (bereziki) interesaturik an transmisioa on mezu formalak gehio edo gutxio efizienteki, baizik an efektu komunikatiboak (informatibo-expresiboak) zein derivatzen diren tik mezuen estrukturazio diferenteak. Gure interesa zentratzen da an efektibitate komunikatiboa noiz kodetzen (sortzen) edo dekodetzen (interpretatzen) mezu linguistikoak.

Mezuen forma ez da guretzat zerbait emana, baizik gure aztergaia, halan-ze gure erronka da aztertzea nolákoa izan beharko litzaken mezuen forma bera (estrukturalki, sintaktikoki) afinda euren efektu komunikatiboa (kodifikazioan zein dekofikazioan) orohar izan dadín ahalik-eta efiziente-efektiboena. Nola genioen hemen, gure erronka linguistikoa hasten da noiz euren ingenieritza-erronka amaitzen den. [1313] [>>>]

Etiketak: , ,

igandea, uztaila 04, 2021

Adibide bat konpáratuz entropia eta entropia teorikoa

Ikus daigun adibide sinple bat nahirik argitu zéin den erlazioa artén entropia eta entropia teorikoa

Demagun hitz-banaketa bat zeintan soilik agertzen zaizkigun bi hitz: bata, erabiliena, bi aldiz agertzen da an corpus hori; eta bestea, gutxien erabilia, behin agertzen da soilik. Guztira, hitz-kopurua dá 3, eta hitz ezberdinen kopurua dá 2, kin maiztasun absolutuák 2 eta 1. Corpus horretan betetzen dá Zipf-en erlazioa perfektuki, zeren bigarren hitz erabiliena dá erabiltzen %50 respektu lehenengo hitz erabiliena, halan-ze corpuseko bi hitzetan (guztietan) betetzen da Zifp-en erlazio hori estuki. Galdera dá: zéin izanen litzake corpus horren entropia?

Entropy(c(2,1))

0.9182958

Eta, zéin izanen litzake corpus horren entropia teorikoa? (gogora ze entropia teorikoa kalkulatzeko, soilik jakin behar dugu zénbat hitz diferente agertzen diren an corpusa: kasu honetan, 2 hitz ezberdin, n = 2):

TEnt(2)

 0.9182958

Eta entropia teorikoa horixe izanen da (0.9182958) noiz ere agertzen dirén 2 hitz diferente an corpus bat non den perfektuki betetzen Zipf-en legea (erlazio horrek determinatzen dú beste guztia). Horrela, beste corpus batean berdin agertuko balira soilik bi hitz, baina bata, adibidez 2244 aldiz, eta bestea 1122 aldiz (hau da aurrekoaren erdia) halan-ze hor ere betetzen da perfektuki Zipf-en legea, orduan corpus horren entropia izanen litzaké:

Entropy(c(2244,1122))

0.9182958

hots, lehengo berbera, zein orobat izanen dén berbera zein gure entropia teorikoa:

TEnt(2)

 0.9182958

Esan nahi baita ze, Zipf-en legea beteta, berdin izanen zaizkigu maiztasun absolutu konkretuak, soilik inportako zaigu zénbat hitz ezberdin agertzen zaizkigun an corpusa, nondik kalkula daikegún haren entropia teorikoa. [1311] [>>>]

Etiketak: , ,

larunbata, uztaila 03, 2021

Berridátziz atzoko "TEnt" funtzioa an R erábiliz "Entropy" funtzioa ("DescTools")

Atzo emán genuén R funtzio(txo) bat non lotzen dirén Shannon-en entropia eta Zipf-en legea afinda kalkúlatu corpus linguistiko baten entropia teorikoa:

Horrela, defini geinke (an R softwarea) ondorengo funtzioa ki kalkulatu entropia teorikoa on corpus linguistiko bat non perfektuki betetzen dén (teorikoki ere) Zipf-en legea ("TEnt" dá hainbeste nola "Theoretical Entropy"):

TEnt <- function(n){sum((1/(sum(1/(1:n))*(1:n))*log2(1/(1/(sum(1/(1:n))*(1:n))))))} 

non "n" parametro bakarra dagoen, zeintan aplikatuko dugún edozein kopuru on hitz ezberdinak, hala nola adibidez n = 29899:

TEnt(29899)

zeinen emaitza izanen dén goragoko entropia teorikoa (an "Ulisses"): 

10.47395
Horretarako, soilik jakin behar dugu zénbat hitz ezberdin agertzen diren an corpusa: Zipf-en legeak determinatzen dú beste guztia.

Genioenez, funtzio hori eman dá an R softwarea, zein doan deskarka litekén an gune hau. Behin R instalatuta, funtzio horrekin kalkulatu ahalko dá entropia teorikoa on edozein "n", adibidez "n = 10000":

TEnt(10000)

zeinen erantzuna dén:

9.532297

eta zein, dakigunez, izanen dén hori entropia teorikoa on corpus linguistiko bat kin 10000 hitz diferente.

Bestalde, R-n programatuta aurkitzen dirá hainbat funtzio, eta bádira paketeak non kalkulatu ahal den Shannon-en entropia ("DescTools" edo "Entropy"), eta non aurkitzen dugún ondorengo aukera ("DescTools"):


 kin azalpen hau ("DescTools"):

The Shannon entropy equation provides a way to estimate the average minimum number of bits needed to encode a string of symbols, based on the frequency of the symbols. It is given by the formula \(H = - \sum(\pi log(\pi))\) where \(\pi\) is the probability of character number i showing up in a stream of characters of the given "script". The entropy is ranging from 0 to Inf.

"Entropy" funtzio hori erabiltzeko, aurrena kargatu behar da "DescTools" paketea (gure atzoko funtzioa erabiltzeko ez da ezer deskargatu behar, salbu R programa), eta, adibidez, hari emanez probabilitate-sorta oso bat (demagun 0.5 eta 0.5, bidez kodeá: c(0.5,0.5)), programak emanen digú haren entropia teorikoa (baita eman geneioke maiztasun absolutuak edota balio ez-numerikoak nola hitzen zerrenda bat, eta programak automatikoki kalkulatuko ditú euren probabilitateak):

Entropy(c(0.5,0.5)) = 1

Gure kasuan, berdefini geinke gure funtzioa erábiliz "Entropy" funtzioa, honela:

TEnt<- function(n){Entropy((1/((sum(1/(1:n)))*(1:n))))}

non (1/((sum(1/(1:n)))*(1:n)))) zati horrek adierazten du hori probabilitate-sorta zeinen entropia teorikoa kalkulatu nahi dugun:

TEnt(10000) = 9.532297
zein dén atzoko ber funtzioa baina orain erábiliz "Entropy" funtzioa ("DescTools"). [1310] [>>>]

Etiketak: , ,

ostirala, uztaila 02, 2021

Entropia teorikoa soilik dependitzen da tik kopurua on hitz ezberdinak

Aurreko sarreretan kalkulatu dugú zenbait entropia teoriko:

  • Ulisses: 29899 hitz ezberdin, zeintako bakoitzari teorikoki dagozkión batezbeste 10.47396 bit.
  • lagin periodistiko bat: 6002 hitz ezberdin, zeintako bakoitzari teorikoki dagozkión batezbeste 9.087565 bit. 
  • C marra teorikoa: 10000 hitz ezberdin, zeintako bakoitzari teorikoki dagozkión batezbeste 9.532297 bit.

Eta gauza da ze entropia teoriko hori soilik dependitzen da tik kopurua on hitz ezberdinak: zenbat-eta hitz ezberdin gehiago agértu an corpus linguistiko jakin bat, orduan-eta altuagoa izanen da hori kopurua on bit-ak (hori kopurua on galdera-erantzun teorikoak) zein beharko genituzkén, batezbeste, ki identifikátu (transmitiíu) hitz horietako bakoitza bidéz sistema kodifikatu bat.

Horrela, defini geinke (an R softwarea) ondorengo funtzioa ki kalkulatu entropia teorikoa on corpus linguistiko bat non perfektuki betetzen dén (teorikoki ere) Zipf-en legea ("TEnt" dá hainbeste nola "Theoretical Entropy"):

TEnt <- function(n){sum((1/(sum(1/(1:n))*(1:n))*log2(1/(1/(sum(1/(1:n))*(1:n))))))} 

non "n" parametro bakarra dagoen, zeintan aplikatuko dugún edozein kopuru on hitz ezberdinak, hala nola adibidez n = 29899:

TEnt(29899)

zeinen emaitza izanen dén goragoko entropia teorikoa (an "Ulisses"): 

10.47395
Horretarako, soilik jakin behar dugu zénbat hitz ezberdin agertzen diren an corpusa: Zipf-en legeak determinatzen dú beste guztia. [1309] [>>>]

Etiketak: ,

igandea, ekaina 27, 2021

Nóla kalkulatu entropia teorikoa on "Ulisses"?

Behin atzokoan ikusita nóla kalkulatu Sn proportzioa an "Ulisses" (alegia, nóla kalkulatu proportzioa artén hitz-kopuru totala eta hitz ezberdinen kopurua:

S29.899 = 1 + (1/2) + (1/3) + (1/4) + ... + (1/29.898) + (1/29.899) = 10.88281

halan-ze hitz ezberdin bakoitzeko, izanen dugú 10.88281 hitz, guztira), gaurko sarrera honetan saiatuko gara kalkulatzen entropia on "Ulisses" baldin corpus horretan Zipf-en erlazioa beteko balitz perfektuki (ordezta aproximatuki, nola betetzen den): esan nahi baita, baldin beheragoko irudiko A marra, "Ulisses"-i dagokiona, izango balitz perfektuki zuzena, nola dén C marra teorikoa, ordezta aproximatuki zuzena, nola den (ikus grafiko hori hemen ere).

Bestela galdetuta, zéin izango litzake C marra teorikoaren entropia baldin hasiko balitz an 29.899 hitz ezberdin (bere ordenatu-balioa = 29.899) ordezta hasí an 10.000 (hitz ezberdin)?

Kalkulu hori egiteko behar dugú "Ulisses"-en hitz ezberdin guztien probabilitateak (finean, euren maiztasun erlatiboak respektu hitz-kopuru totala), zeini aplikatuko diegún entropia-ren formula (ikus hemen edo hemen): 

Hortaz, zéin izanen da probabilitateá on hitz erabiliena an Ulisses? Ba, dakigularik ze hitz horren maiztasuna agertzen da an erlazioa 1/10.88281 respektuz hitz-kopuru totala, ondoriozta daikegu ze justuki horixe da bere probabilitatea, alegia:

(1/10.88281) = 0.09188803

Eta bigarren hitz erabilienaren probabilitatea? Ba, dakigularik ze probabilitate hori dá justuki erdia respektu lehenengo hitz erabiliena (zeren Zipf-en erlazioa perfektuki betetzen baita), hauxe izanen da:

(1/(10.88281*2)) = 0.04594402

Eta n-garren hitz erabilienaren probabilitatea?

pn = 1/(10.88281*n)

Eta hitz gutxien erabilienaren probabilitatea? 

(1/(10.88281*29.889)) = 0.003074309

Puntu honetan, ziurta gaitezen ze probabilitate-sorta horrek osatzen dú probabilitate-banaketa ondo definitu bat, hau dá, konproba daigun ze 29.899 probabilitate guzti horien batura dén 1, bidéz ondorengo operazioa:

sum(1/(10.88281*(1:29899))) = 1         

[OHARRA: Expresio horren lehenengo termino hori dá R kodetxo bat adiéraziz ze batu dirá goragoko n (29.899) probabilitate guzti horiek, zeinen emaitza ateratzen dén 1]

Hortaz, gure zenbaki-segida horrek betetzen ditú guk bilatutako eskakizunak: 

  • lehenengo zenbakia (finean, probabilitatea) dá (1/(10.88281*2)) = 0.04594402
  • n-garren zenbakia dá lehenengo zenbaki hori zati n, eta 
  • euren batura dá 1.

Orain kalkula daikegu hori entropia zeinen bila genbiltzan, H, hau dá entropia on Ulisses:

H = sum((1/(10.88281*(1:29899)))*log2(1/(1/(10.88281*(1:29899))))) = 10.47396 bit, batez beste, hitz bakoitzeko.

[OHARRA: Expresio horren lehenengo termino hori dá R kodetxo bat adiéraziz ze batu dirá 29.899 entropia partzialak zein dagozkien ki 29.899 hitz ezberdinak, zeinen emaitza, hau dá H entropia, dén 10.47396

Justuki horixe (10.47396 bit per hitza) izanen dá entropia teorikoa on "Ulisses" (kin bere 29.899 hitz ezberdin). [1304] [>>>]

Etiketak: ,

osteguna, ekaina 24, 2021

[Zipf, enpirikoki: C * 10 ≈ corpusaren hitz-kopuru totala] Baina, kalkulatu al liteke proportzio hori (10 misteriotsu hori) teorikoki?

Atzoko sarreran konprobatzen genuen nóla adieraz geinken grafikoki Zipf-en erlazioa (artén hitzen maiztasuna eta maiztasun horien ordenalitatea) an corpus teoriko bat non Zipf-en formula beteko baitzén (hortaz, emaitza dá zuzen teoriko bat, zein atzoko grafikoan geldituko zén gorago edo beherago aráuz maiztasuna on hitz erabiliena: zénbat eta altuagoa, gorago). 

Bide teoriko beretik, duela gutxi ikusten genuén ondorengo taula (aterea tik ber liburua ga Zipf) non agertzen baitzen 10 zenbaki (proportzio) interesgarri bezain misteriotsu bat lótuz C kantitatea (hitz erabilienaren frekuentzia noiz f = 1) eta aztertutako corpusaren hitz-kopuru totala (C * 10). Gogora daigun:


 hau dá:

Baina,

  • kalkulatu al liteke proportzio hori (10 misteriotsu hori) teorikoki?
  • corpus guztietan mantendu beharko litzake?, ala: aldatu beharko lizake an funtzioa on beste zerbait?
  • nóla erlazionatu ahal dira proportzio hori eta entropiaren kalkulua an corpus linguisiko bat?
Horretaz saiatuko gara mintzatzen an ondorengo sarrerak. [1301] [>>>]

Etiketak: ,