Beste antwoord
Mensen lezen teksten. De teksten bestaan uit zinnen en ook zinnen bestaan uit woorden. Mensen kunnen taalstructuren en hun betekenis gemakkelijk begrijpen, maar machines zijn nog niet succesvol genoeg in het begrijpen van natuurlijke taal. Dus proberen we sommige talen aan machines te leren, zoals we dat doen voor een basisschoolkind. Dit is het belangrijkste concept; woorden zijn elementaire, betekenisvolle elementen met het vermogen om een andere betekenis weer te geven wanneer ze in een zin staan. Op dit punt houden we in gedachten dat woordgroepen soms meer voordelen bieden dan slechts één woord bij het uitleggen van de betekenis. Hier is onze zin “ Ik heb een boek gelezen over de geschiedenis van Amerika. ” De machine wil de betekenis van de zin achterhalen door deze in kleine stukjes te splitsen. Hoe moet dat gebeuren? 1. Het kan woorden een voor een beschouwen. Dit is unigram ; elk woord is een gram. “I”, “read”, “a”, “book”, “about”, “the”, “history”, “of”, “America” 2. Het kan woorden twee tegelijk bevatten. Dit is bigram ( digram ); elke twee aangrenzende woorden vormen een bigram. “Ik lees”, “lees een”, “een boek”, “boek over”, “over de”, “de geschiedenis”, “geschiedenis van”, “van Amerika” 3. Het kan woorden drie tegelijk bevatten. Dit is trigram ; elke drie aangrenzende woorden vormen een trigram. “I read a”, “read a book”, “a book about”, “book about the”, “about the history”, “the history of”, “history of America”
Antwoord
Misschien is je vraag meer zoiets als “wat is een bigram / trigram” en waarom zou ik het nodig hebben?
Zo ja, dan is hier mijn antwoord: het idee is om (statistische ) voorspellingen over wat er in een zin gebeurt. Dingen die gebeuren, kunnen zijn dat een bepaald woord hierna wordt weergegeven, of dat een element dat tot een bepaalde woordklasse behoort, daarna wordt weergegeven (zoals: ik verwacht echt een werkwoord na De man zei dat hij … had. Dus idealiter, je voorspelling is naar verwachting beter als je alles in overweging neemt, van het begin * de * tot * de * had *, wat een 7 gram zou vormen (zes voorspellers en de zevende om te voorspellen). Het probleem is dat de gegevens te schaars worden voor het maken van voorspellingen op basis van n + 1 gram, wanneer n een getal is groter dan … 2 (of misschien 4)! Het bovenstaande voorbeeld was een 6 + 1 gram. Mensen werken dus met benaderingen zoals bigrammen (1 + 1 gram ) en trigrammen (2 + 1 gram). Een bigram maakt een voorspelling voor een woord op basis van het voorgaande, en een trigram maakt een voorspelling voor het woord op basis van de twee woorden ervoor.
Nou , in feite zijn er geen echte toepassingen voor bigrammen (als ik het me goed herinner), maar trigrammen werken prima. Een unigram bestaat alleen uit het woord, en de enige winst die u zou hebben met een unigram w Het zou kunnen zijn dat je de frequentie van het woord als voorspeller hebt, in plaats van dat absoluut alles met gelijke verdeling gebeurt. (Voor Engels geven unigrammen je zoiets als het meest waarschijnlijke woord is altijd de ; de bigram geeft je zoiets als hebben is niet echt zo waarschijnlijk na de , en een trigram geeft je appel is heel goed mogelijk na “de rotte”.