N-gramm

Az N-gram  n elemből álló sorozat [1] . Szemantikai szempontból ez lehet hangok, szótagok, szavak vagy betűk sorozata . A gyakorlatban az N-gram gyakoribb szavak sorozataként, a stabil kifejezéseket kollokációnak nevezik . Két egymást követő elem sorozatát gyakran digramnak , a három elemből álló sorozatot trigramnak nevezik . Legalább négy vagy több elemet N-grammal jelöltünk meg, az N helyére az egymást követő elemek száma kerül.

N-gramok használata

Az N-gramok általános használata

Az N-gramok összességében a tudomány széles területén alkalmazzák. Alkalmazhatók például az elméleti matematika , biológia , térképészet , de a zene területén is . Az N-gramok leggyakoribb felhasználási területei a következők:

Ezenkívül az N-gramokat széles körben használják a természetes nyelvi feldolgozásban .

N-gramok használata természetes nyelvi feldolgozási igényekhez

A természetes nyelvi feldolgozás területén az N-gramokat elsősorban valószínűségi modelleken alapuló előrejelzésre használják . Az N-grammodell egy N-gram utolsó szava valószínűségét számítja ki , ha az összes előzőt ismerjük. Ha ezt a megközelítést alkalmazzuk a nyelvi modellezéshez, feltételezzük, hogy az egyes szavak megjelenése csak az előző szavaktól függ [2] .

Az N-gramok másik alkalmazása a plágiumészlelés . Ha a szöveget több apró, N-grammokkal ábrázolt töredékre osztjuk, könnyen összehasonlíthatók egymással, és így megkaphatjuk az elemzett dokumentumok hasonlóságának mértékét [3] . Az N-gramokat gyakran sikeresen használják szöveg és nyelv kategorizálására. Emellett olyan függvények létrehozására is használhatók, amelyek segítségével szöveges adatokból tudhatunk meg. Az N-gramok használatával hatékonyan találhatunk jelölteket a hibásan írt szavak helyettesítésére.

Példa egy biggram modellre

Az N-gram modellek felépítésének célja egy adott kifejezés használatának valószínűségének meghatározása. Ez a valószínűség formálisan beállítható egy szósorozat előfordulásának valószínűségeként egy bizonyos korpuszban (szöveghalmazban). Például a „boldogság lelkiismeret-furdalás nélküli öröm” kifejezés valószínűsége kiszámítható a kifejezés minden egyes szava valószínűségének szorzataként:

P = P(boldogság) * P(van|boldogság) * P(öröm|boldogság van) * P(nélkül|a boldogság öröm) * P(bűnbánat|boldogság öröm nélkül)

A P(boldogság) meghatározásához meg kell számolni, hogy ez a szó hányszor fordul elő a szövegben, és el kell osztani ezt az értéket a szavak teljes számával. A P(bűnbánat|boldogság öröm nélkül) valószínűség kiszámítása nehezebb. A feladat egyszerűsítésére feltételezzük, hogy egy szó valószínűsége a szövegben csak az előző szótól függ. Ekkor a kifejezés kiszámítására szolgáló képlet a következő formában lesz:

P = P(boldogság) * P(van|boldogság) * P(öröm|öröm) * P(öröm nélkül) * P(bűnbánat|nélkül)

A P(is|boldogság) feltételes valószínűség kiszámítása egyszerű. Ehhez megszámoljuk a „boldogság” párok számát, és elosztjuk a „boldogság” szavak számával a szövegben.

Ennek eredményeként, ha egy szövegben az összes szópárt megszámoljuk, kiszámíthatjuk egy tetszőleges kifejezés valószínűségét. Ez a kiszámított valószínűség-készlet lesz a biggram-modell.

Google kutatási projektek

A Google kutatóközpontjai N-gram modelleket használtak számos kutatáshoz és fejlesztéshez. Ezek közé tartoznak az olyan projektek, mint a statisztikai fordítás egyik nyelvről a másikra, a beszédfelismerés , a helyesírás-javítás, az információ kinyerése stb. E projektek céljaira több billió szót tartalmazó szövegkorpusokat használtak.

A Google úgy döntött, hogy létrehozza saját oktatási épületét. A projekt neve Google teracorpus, és 1 024 908 267 229 szót tartalmaz nyilvános webhelyekről [4] .

Az N-gramok kinyerésének módszerei

Az N-gramok gyakori használata különféle problémák megoldására miatt megbízható és gyors algoritmus szükséges ezeknek a szövegből való kiemeléséhez. Egy megfelelő N-gramos kivonatoló eszköznek képesnek kell lennie korlátlan szövegmérettel, gyorsan dolgozni és hatékonyan kihasználni a rendelkezésre álló erőforrásokat. Számos módszer létezik az N-gramok szövegből való kinyerésére. Ezek a módszerek különböző elveken alapulnak:

Szintaktikai N-gramok

A szintaktikai N-gramok olyan N-gramok, amelyeket a szintaktikai függőségi fák vagy összetevőfák elérési útjai határoznak meg, nem pedig a szöveg lineáris szerkezete [6] [7] . Például a következő mondat: „A gazdasági híreknek kevés hatása van a pénzügyi piacokra” szintaktikai N-grammokká konvertálható, követve a függőségi viszonyok fastruktúráját : hír-gazdasági, hatás-kisebb, hatás-piaci-pénzügyi, és mások [6] .

A szintaktikai N-gramok a szintaktikai struktúrát tükrözik a lineáris N-gramoktól eltérően, és ugyanazokban az alkalmazásokban használhatók, mint a lineáris N-gramok, beleértve a vektormodell jellemzőit is. A szintaktikai N-gramok használata jobb eredményeket ad bizonyos problémák megoldásában, mint a szabványos N-gramok használata, például a szerzőség meghatározására [8] .

Lásd még

Jegyzetek

  1. A 7th Annual Conference ZNALOSTI 2008, Pozsony, Szlovákia, pp. 54-65, 2008. február. ISBN 978-80-227-2827-0 .
  2. Jurafsky, D. és Martin, JH Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition. - Pearson Prentice Hall, 2009. - 988 p. — ISBN 9780131873216 .
  3. Proceedings of the ITAT 2008, Information Technologies - Applications and Theory, Hrebienok, Slovakia, pp. 2008. szeptember 23-26. ISBN 978-80-969184-8-5
  4. FRANZ, Alex, BRANTS, Thorsten. Hivatalos Google-kutatási blog: Minden N-gramunk az Öné, archiválva 2006. október 17-én a Wayback Machine -nél . 2006. augusztus 03. csütörtök, 2006.08.03 11:26:00. Az elkészített N-gramos alap 5 DVD formájában eladó.
  5. M. Nagao és S. Mori. Az N-gram statisztika új módszere nagyszámú n-hez, valamint szavak és kifejezések automatikus kivonása a japán nagy szövegadataiból. In Proceedings of the 15. International Conference on Computational Linguistics (COLING 1994), Kiotó, Japán, 1994.
  6. 1 2 Grigori Sidorov, Francisco Velasquez, Efstathios Stamatatos, Alexander Gelbukh és Liliana Chanona-Hernández. Szintaktikai függőség alapú N-gramok osztályozási jellemzőkként. LNAI 7630, pp. 2012. 1-11.
  7. Grigorij Szidorov. Szintaktikai függőségi alapú N-gramok szabályalapú automatikus angol nyelvtani korrekcióban. International Journal of Computational Linguistics and Applications, Vol. 4, sz. 2, pp. 169-188, 2013.
  8. Grigori Sidorov, Francisco Velasquez, Efstathios Stamatatos, Alexander Gelbukh és Liliana Chanona-Hernández. Szintaktikai N-gramok, mint gépi tanulási jellemzők a természetes nyelvi feldolgozáshoz. Expert Systems with Applications, Vol. 41. sz. 3, pp. 853-860, DOI 10.1016/j.eswa.2013.08.015 Archiválva : 2015. szeptember 24. a Wayback Machine -nél .