Word2vec on yleisnimi kokoelmalle keinotekoisia hermoverkkomalleja, jotka on suunniteltu hankkimaan luonnollisen kielen sanojen vektoriesitystä . Käytetään luonnollisten kielten semantiikan analysointiin distributiivisen semantiikan , koneoppimisen ja sanojen vektoriesityksen perusteella. Ohjelmiston nimeltä "word2vec" kehitti joukko Googlen tutkijoita vuonna 2013 [1] [2] . Työkaluja vektorisemanttisten mallien luomiseen oli olemassa ennen [3] [4] , mutta word2vecistä tuli ensimmäinen suosittu toteutus: pääasiassa helppokäyttöisyyden, avoimen lähdekoodin ja nopeuden ansiosta.[5]
Ohjelma toimii seuraavasti: word2vec ottaa suuren tekstikorpuksen syötteeksi ja kartoittaa jokaisen sanan vektoriksi antaen sanojen koordinaatit tulosteena. Se luo ensin sanakirjan korpusesta ja laskee sitten vektoriesityksen sanoista "oppimalla" syöttöteksteistä. Vektoriesitys perustuu kontekstuaaliseen läheisyyteen: sanoilla, jotka esiintyvät tekstissä samojen sanojen vieressä (ja joilla on siksi samanlainen merkitys), on lähellä ( kosinin etäisyyden mukaan ) vektoreita. Tuloksena saatuja sanojen vektoriesityksiä voidaan käyttää luonnollisen kielen käsittelyyn ja koneoppimiseen.
Word2vec toteuttaa kaksi pääasiallista oppimisalgoritmia: CBoW ( Continuous Bag of Words ) ja Skip -gram. CBoW on arkkitehtuuri, joka ennustaa nykyisen sanan ympäröivän kontekstin perusteella. Skip-gramin kaltainen arkkitehtuuri toimii päinvastoin: se käyttää nykyistä sanaa ennustamaan ympäröivät sanat. Word2vec-mallin rakentaminen on mahdollista käyttämällä näitä kahta algoritmia. Kontekstin sanajärjestys ei vaikuta tulokseen missään näistä algoritmeista.
Tuloksena olevat sanojen vektoriesitykset mahdollistavat sanojen välisen "semanttisen etäisyyden" laskemisen. Joten voit löytää sanoja, joilla on samanlainen merkitys. Yleensä he antavat esimerkin kuninkaan ja kuningattaren kanssa: kuningas kohtelee miestä samalla tavalla kuin kuningatar kohtelee naista. Word2vec tekee ennusteita näiden sanojen kontekstuaalisen läheisyyden perusteella. Koska word2vec-työkalu perustuu yksinkertaisen hermoverkon harjoittamiseen , sen tehokkaimman suorituskyvyn saavuttamiseksi on tarpeen käyttää suuria korpuja sen harjoittamiseen. Tämä parantaa ennusteiden laatua.