Hitz-zaku eredu: berrikuspenen arteko aldeak
Ezabatutako edukia Gehitutako edukia
t Robota: Testu aldaketa automatikoa (-[Cc]ite[ _]book +erreferentzia) |
t Robota: Aldaketa kosmetikoak |
||
1. lerroa:
'''Hitz-zaku''' edo '''bag-of-words''' eredua [[Informazioa eskuratzea|informazioaren berreskuratze]] eta [[
Hitz-zaku eredua askotan [[Dokumentuen sailkapena|dokumentu saenilkapenean]] erabiltzen da, non hitz bakoitzaren agerpen-kontaketa sailkatzailearen entrenamendu datu gisa erabiltzen den.<ref> McTear et al 2016, p. 167. </ref>
“Hitz-zaku” terminoaren erabilera goiztiar bat Zellig Harris-en 1954ko ''Distributional Structure'' artikuluan aurki daiteke.<ref>[[:en:Zellig_Harris|Hallis, Zellig]] (1954).
== Inplementazio adibide bat ==
13. lerroa:
</syntaxhighlight>BOW adierazpidea lortzeko bakarrik kontatuko da hitz bakoitza zenbat aldiz agertzen den, hitzen arteko ordena edo harremana kontuan hartu gabe. Adibidez, ''JSON'' objektuen bidez gorde ditzakegu BOW adierazpidea:<syntaxhighlight lang="javascript">
BoW1 =
BoW2 = {"Asierrek":1, "pilota":1, "jardunaldiak":1, "ikustea":1, "gogoko":1, "du":1};
</syntaxhighlight>Objektu horietan hitz bakoitza dokumentuan zenbat aldiz agertzen den gordetzen da. Gainera adierazpide hau ordenarekiko independentea da, hitz bakoitzaren agerpen-kontaketak beste edozein ordenatan adierazita BoW adierazpen bera lortzen dugu. Gainera, bi dokumentuak kateatzen baditugu hurrengo esaldia lortzen da:<syntaxhighlight lang="text">
19. lerroa:
</syntaxhighlight> Eta esaldi honen BoW adierazpena hau izango da: <syntaxhighlight lang="javascript">
BoW3 =
</syntaxhighlight>Hitz bat dokumentu horietako bakar batean agertzen denean bere agerpen kopuru bera erabiliko da kateaketaren adierazpenean, eta bi dokumentuetan agertzen denean kontaketen batura erabiliko da. Hau bat dator multi-multzo egituren gehiketa operazioarekin.
31. lerroa:
Lista adierazpen honek ez du hitzen ordenari buruz informaziorik ematen, hau hitz-zaku ereduaren ezaugarri nagusi bat da. Adierazpen mota hau arrakastarekin erabilia izan da hainbat aplikazioetarako, adibidez [[Naive Bayesen bidezko spam iragazketa|email iragazketan]].
Hala ere, termino-maiztasunak askotan ez dira testuaren adierazpide egokia. Hitz arruntak, adibidez ‘the’ edo ‘to’ ingelesaren kasuan, izaten dira ia beti dokumentu luzeetan maiztasun handieneko elementuak, baina maiztasun handiko hitz hauek ez dute dokumentuari buruzko informazio esanguratsurik ematen. Arazo hau ekiditeko metodo ezagun bat da terminoen-maiztasunak ‘normalizatzea’ [[Tf–idf|tf-idf]] teknikaren bidez. Horren helburua dokumentu guztietan zehar maiztasun handiak dituzten hitzei garrantzia txikitzea da, kasu hauetan maiztasun handia ez baita esanguratsua. [[Hitz hutsak]] edo ''stop words'' esaten zaie hits horiei. Hitz batek maiztasun orokor (dokumentu multzo osoan kalkulatua) txikia badu, baina dokumentu zehatz batean askotan agertzen bada, berriz, aukera handiagoarekin hitz horrek dokumentuari buruzko informazio baliotsua ematen du. Gainera, aplikazio batzuetan adierazpide bitarra (dokumentuan agertzen den edo ez) erabiltzen da maiztasunen ordez (adibidez aukera hau [[Weka|WEKA]] ikasketa automatiko software sisteman inplementatua dago).
BoW adierazpenetik lortutako termino-maiztasun zerrendak, sailkatzaile bati pasatzeko ezaugarri posibleak izateaz gain, zuzenean erabili daitezke aplikazio batzuetan. Adibidez, bi dokumenturen arteko antzekotasuna neurtzeko dokumentu horien termino-maiztasun bektoreen arteko hainbat operazio erabili daitezke. Operazio hauetako bat [[Kosenu antzekotasuna|kosinu-antzekotasuna]] da. Bi bektore <math>x,y\in \mathbb{R}^n</math>izanda, haien arteko kosinu-antzekotasuna <math>\frac{x . y }{||x||||y||}</math> zenbakia izango da, non <math>x.y</math>bi bektoreen [[
Maiztasun-kontaketak termino-dokumentu matrizeak sortzeko ere erabiltzen dira. Matrize hauetan lerro bakoitzak termino bat adierazten du, eta zutabe bakoitzak dokumentu bat. i. errenkadako eta j. zutabeko gelaxkan j dokumentuan i terminoa zenbat aldiz agertu den gordetzen da. Beste modu batean esanda, j. zutabea j. dokumentuaren termino maiztasun zerrenda izango da. Goiko adibidearen kasuan, (1) (2) eta (3) dokumentuekin osatutako termino-dokumentu matrizea hurrengoa izango da:
<math>\begin{pmatrix} 1 & 0 & 1 \\ 2 & 0 & 2 \\ 2 & 1 & 3 \\ 2 & 0 & 2 \\ 1 & 0 & 1\\ 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 1 & 1 \\ \end{pmatrix}</math>
Matrize honen gainean hainbat teknika desberdin erabil daitezke dokumentu edo terminoen adierazpide trinkoak lortzeko, adibidez, [[Ezkutuko semantikaren analisia|Ezkutuko Semantikaren Analisia]].
== N-grama modeloa ==
62. lerroa:
</syntaxhighlight>Eta errepresentazio horiek erabiliz argi geratzen da zein den bi esaldien esanahien arteko desberdintasuna. Horrela, n-gramen bidez testuaren errepresentazio aberatsago bat lortu daiteke.
N-gramen beste erabilera bat OOV edo [[
== Hashing trukoa ==
Adierazpenak gordetzeko hiztegiak erabili ordez askotan ezaugarri [[hashing]]-a edo ''hashing trick'' deritzona erabiltzen da, hitzak zuzenean indizeetara mapatzeko.<ref name="Weinberger05">{{Cite aldizkari|author=Weinberger|first=K. Q.|title=Feature hashing for large scale multitask learning,|year=2009|pages=1113–1120|bibcode=2009arXiv0902.2206W}}</ref> Horrela memoria aurrezten da, baina [[
Aplikazioak atalean ikusi den bezala, BoW adierazpenak askotan termino-dokumentu matrizeak eraikitzeko erabiltzen dira, eta matrize hauetan lerro bakoitzak hitz bat adierazten du. Jakiteko hitz bakoitzari ze zutabe dagokion, soluzio erraz bat hiztegiak erabiltzea da. Horrela, goiko adibidearen kasuan hurrengo hiztegia eraikiko zen:
{| class="wikitable"
|+
103. lerroa:
!11
|}
Eta taula honen bidez zehaztuta geratzen da zein den termino-dokumentu matrizeko errenkada bakoitzari dagokion hitza. Baina dokumentu handiak tratatzean hiztegi hauek memoria asko beharko dute.
Hiztegi hauek erabili ordez, posible da hash funtzio bat aplikatzea hitzei, eta zuzenean funtzio horren emaitza hitz horren indize gisa erabiltzea. Horrela, termino-matrizea eraikitzean dokumentu batean hitz berri bat aurkitzen denean, hiztegi bat kontsultatu ordez hash funtzio baten bidez lortuko da hitz horri dagokion indizea, eta indize hori erabiliko da termino-dokumentu matrizea eguneratzeko.
Praktikan, mota honetako teknikak erabiliak izan dira [[Naive Bayesen bidezko spam iragazketa|spam iragazkien]] arazoan, emaitza positiboekin. <ref>{{erreferentzia|hizkuntza=|izenburua=Feature Hashing for Large Scale Multitask Learning|urtea=2009|abizena=|izena=Kilian Weinberger, Anirban Dasgupta, John Langford, Alex Smola, Josh Attenberg|orrialdeak=|orrialdea=|argitaletxea=Proc. ICML|ISBN=}}</ref>
== Erabilera adibide bat: spam iragazkia ==
[[Naive Bayesen bidezko spam iragazketa|Spam iragazki Bayesiarretan]] e-posta mezu bat probabilitate banaketa batetik sortutako ordenatu gabeko hitz multzo bat bezala adierazten da. Probabilitate banaketa hau bitako bat izan daiteke: spam mezuetan erabiltzen diren hitzek sortzen dutena, edo benetako mezuetan erabiltzen diren hitzek sortzen dutena.
Eredu Bayesiar hauek suposatzen dute mezuko '''hitz-zakua''' bi banaketa hauetako batek sortua izan dela, eta metodo Bayesiarrak erabiltzen dira erabakitzeko bietako zein izan den.
== Erreferentziak ==
{{erreferentzia_zerrenda}}
== Ikus, gainera ==
* [[Bag-of-words eredua ikusmen artifizialean]]
* [[Dokumentuen sailkapena]]
* [[Dokumentu-termino matrizea]]
* [[Ezaugarri erauzketa]]
* Hashing trukoa
* [[Ikasketa automatiko
* [[MinHash]]
* [[n-grama]]
* [[Hizkuntzaren prozesamendu|Hizkuntza naturalaren prozesamendua]]
* [[Bektore espazio eredua]]
* [[w-shingling]]
* [[Ezkutuko semantikaren analisia]]
== Kanpo estekak ==
{{autoritate kontrola}}
|