Word2vec

Wikipedia, Entziklopedia askea

Word2vec word embedding-ak sortzeko erabiltzen diren eredu multzoa da. Bi geruzez osatutako neurona sarea da, zeinen testu corpus erraldoiak emanda hitzen bektore distibuzionalak bueltatzen ditu. Normalean, dimentsio askotako bektoreak izan ohi dira, non corpuseko hitz bakoitzari espazioko bektore bat esleitzen zaio. Corpusean sarritan elkarren ondoan agertzen diren hitzak espazioan gertu egongo dira.

Word2vec Tomas Mikolov buru zen ikertzaile taldeak sortu zuen Googlen.[1] Algoritmo hau erabiliz sortutako bektore distribuzionalak aurretik zeuden ereduekin konparatuz zenbat hobekuntza zituen, ezkutuko semantikaren analisia adibidez.[2]

CBOW eta skipgram[aldatu | aldatu iturburu kodea]

Word2vec-ek bi arkitektura erabili ditzake hitzen errepresentazio distribuzionalak sortzeko: CBOW edo skip-gram. CBOW, testuinguruko hitzen batezbestekoa sarrera izanik, erdikoa aurresan. Skip-gram, erdiko hitza sarrera izanik, testuingurukoa aurresan.

CBOW vs Skipgram, bi ereduen arkitektura deskribatzen duen irudia.

Parametrizazioa[aldatu | aldatu iturburu kodea]

Arkitektura[aldatu | aldatu iturburu kodea]

Aurretik aipatu bezala bi eredu ezberdin erabili daiteke errepresentazio bektoreak lortzeko. Skipgram, motelagoa da baina ez ohiko hitzetan emaitza interesgarria sortzen ditu. CBOW, aurreko eredua baino azkarragoa da entrenatzerako orduan.

Entrenamendurako algoritmoa[aldatu | aldatu iturburu kodea]

Word2vec eredua softmax hierarkikoa edo laginketa negatiboaren bidez entrenatu ohi da. Softmax hierarkikoak Huffman zuhaitza erabiltzen du kalkuluak murrizteko. Laginketa negatiboak testuinguru desberdineko hitzen probabilitatea minimizatzen du; hitzen sakabanaketa eraginez bektore-espazioan.

Dimentsionalitatea[aldatu | aldatu iturburu kodea]

Oro har, bektoreen kalitatea hauen dimentsioekin egiten du gora, baina ez da beti betetzen. Normalean, bektoreen dimentsionalitatea 50-500 artean kokatzen da.

Leihoa[aldatu | aldatu iturburu kodea]

Leihoaren luzerak emandako hitzaren ondoan dauden zenbat hitzak sartu behar diren honen testuinguruan. Autoreek, skipgram-en 10 eta CBOWn 5 erabiltzea gomendatzen dute.

Hedapenak[aldatu | aldatu iturburu kodea]

Dokumentu osoen embedding-ak sortzeko word2vec-en hedapen desberdinak proposatu ziren. Hedapen hauek paragraph2vec edo doc2vec, zeinen C, Python eta Java/Scala-n dauden inplementatuta.

Analisia[aldatu | aldatu iturburu kodea]

Word2vec-ek sortzen duen word embedding-en arrakasta ez da oraindik ongi ulertzen. Goldberg eta Levy-k esan bezala, word2vec-ek antzeko testuinguruan dauden hitzek antzeko bektoreak izan ohi dituztela eta hau J.R. Firth's-n hipotesi distribusionalareik bat dator. Hala eta guztiz ere, azalpen hau ez dela nahikoa eta azalpen formalago bat eman zuten.

Erreferentziak[aldatu | aldatu iturburu kodea]

  1. Mikolov, Tomas; Chen, Kai; Corrado, Greg; Dean, Jeffrey. (2013-01-16). «Efficient Estimation of Word Representations in Vector Space» arXiv:1301.3781 [cs] (Noiz kontsultatua: 2018-02-27).
  2. Goldberg, Yoav; Levy, Omer. (2014-02-15). «word2vec Explained: deriving Mikolov et al.'s negative-sampling word-embedding method» arXiv:1402.3722 [cs, stat] (Noiz kontsultatua: 2018-02-27).

Ikus, gainera[aldatu | aldatu iturburu kodea]

Kanpo estekak[aldatu | aldatu iturburu kodea]