N-грама (іноді також Q-грама) — в обчислювальній лінгвістиці та теорії ймовірностей: послідовність з n елементів із певної вибірки тексту або мовлення. Елементами можуть бути фонеми, склади, букви, слова залежно від застосування. N-грами зазвичай отримуються з тексового або [en]. Якщо елементи — слова, то N-грами також називають шинґли (англ. shingles, ймовірно від шиндель, ґонт, бо послідовні N-грами в тексті перекриваються як покриття даху).
Використовуючи латинські числівникові префікси N-грама розміру 1 називається «уніграмою», розміру 2 «біграма» (чи «диграма»); розміру 3 — «триграма». Також використовуються звичайні числівники, «чотири-грама» і т. ін. В обчислювальній біології полімер чи олігомер відомого розміру називають [en]ом, а не N-грамою і конкретні грецькі числівникові префікси, такі як «мономер», «димер», «тример».
Використання N-грам
Загальне використання N-грам
N-грами в цілому знаходять своє застосування в широкій області наук. Вони можуть застосовуватися, наприклад, у галузі теоретичної математики, біології, картографії, а також в музиці. Найбільш часто використання N-грам включає наступні області:
- вилучення даних для кластеризації серії супутникових знімків Землі з космосу, щоб потім вирішити, які конкретні частини Землі на зображенні,
- пошук генетичних послідовностей,
- в області генетики використовуються для визначення того, з яких конкретних видів тварин зібрані зразки ДНК,
- в комп'ютерному стисненні,
- для індексування даних в пошукових системах; з використанням N-грам, як правило, індексовані дані, пов'язані зі звуком.
Також N-грами широко застосовуються в обробці природної мови.
Використання N-грам для потреб обробки природної мови
В області обробки природної мови, N-грами використовується в основному для передбачення на основі імовірнісних моделей. N-грамна модель розраховує ймовірність останнього слова N-грами, якщо відомі всі попередні. При використанні цього підходу для моделювання мови передбачається, що поява кожного слова залежить тільки від попередніх слів.
Інше застосування N-грам є виявлення плагіату. Якщо розділити текст на кілька невеликих фрагментів, представлених N-грамами, їх легко порівняти один з одним, і таким чином отримати ступінь подібності контрольованих документів. N-грами часто успішно використовуються для категоризації тексту та мови. Крім того, їх можна використовувати для створення функцій, які дозволяють отримувати знання з текстових даних. Використовуючи N-грами, можна ефективно знайти кандидатів, щоб замінити слова з помилками правопису.
Приклад біграмної моделі
N-грами часто успішно використовуються для категоризації тексту та мови. Крім того, їх можна використовувати для створення функцій, які дозволяють отримувати знання з текстових даних. Використовуючи N-грами, можна ефективно знайти кандидатів, щоб замінити слова з помилками правопису.
P = P (щастя) * P (є | щастя) * P (задоволення | щастя є) * P (без | щастя є задоволення) * P (каяття | щастя є задоволення без)
Розрахувати ймовірність P (щастя) справа нехитра: потрібно всього лише порахувати скільки разів це слово зустрілося в тексті і поділити це значення на загальне число слів. Але розрахувати ймовірність P (каяття | щастя є задоволення без) уже не так просто. На щастя, ми можемо спростити цю задачу. Приймемо, що ймовірність слова в тексті залежить тільки від попереднього слова. Тоді наша формула для розрахунку фрази прийме наступний вигляд:
P = P (щастя) * P (є | щастя) * P (задоволення | є) * P (без | задоволення) * P (каяття | без)
Вже простіше. Розрахувати умовну ймовірність P (є | щастя) не складно. Для цього рахуємо кількість пар «щастя є» і ділимо на кількість в тексті слова «щастя».
У результаті, якщо ми порахуємо всі пари слів в деякому тексті, ми зможемо обчислити імовірність довільної фрази. Цей набір розрахованих ймовірностей і буде біграмною моделлю.
Науково-дослідні проєкти Google
Дослідницькі центри Google використовували N-грамні моделі для широкого кола досліджень і розробок. До них належать такі проєкти, як статистичний переклад з однієї мови на іншу, розпізнавання мови, виправлення орфографічних помилок, вилучення інформації та багато іншого. Для цілей цих проєктів були використані текстові корпуси, які містять кілька трильйонів слів.
Google вирішила створити свій навчальний корпус. Проєкт називається Google teracorpus і він містить 1 024 908 267 229 слів, зібраних із загальнодоступних вебсайтів.
Методи для вилучення N-грам
У зв'язку з частим використанням N-грам для вирішення різних завдань необхідний надійний і швидкий алгоритм для вилучення їх з тексту. Відповідний інструмент для вилучення N-грам повинен бути в змозі працювати з необмеженим по розміру текстом, працювати швидко й ефективно використовувати наявні ресурси. Є кілька методів вилучення N-грам з тексту. Ці методи засновані на різних принципах:
- Алгоритм Nagao 94 для текстів на японському
- Алгоритм Лемпеля — Зіва — Велча
- Суфіксне дерево
- Інвертований індекс
Синтаксичні N-грами
Синтаксичні N-грами — це N-грами, що визначаються шляхами в деревах синтаксичних залежностей або деревах складових, а не лінійною структурою тексту. Наприклад, речення: «Економічні новини мають незначний вплив на фінансові ринки» може бути перетворено в синтаксичні N-грами слідуючи деревоподібній структурі його відносин залежностей: новини-економічні, вплив-незначний, вплив-на-ринки-фінансові та інші.
Синтаксичні N-грами відображають синтаксичну структуру на відміну від лінійних N-грам і можуть використовуватися в тих же програмах, що й лінійні N-грами, в тому числі як ознаки у векторній моделі. Застосування синтаксичних N-грам дає кращі результати при вирішенні певних завдань, ніж використання стандартних N-грам, наприклад, для визначення авторства.
Компроміс зсуву та дисперсії
Аби обрати значення n в N-грамній моделі, необхідно знайти компроміс між стабільністю оцінки і її доречністю. Це означає що триграми є частим вибором для великого навчального корпусу (мільйони слів), а біграми часто використовуються з меншими.
Методи згладжування
Є завдання балансування ваги між нечастими грамами (наприклад, якщо власне ім'я зустрінеться один раз у навчальних даних) та частими грамами. Крім того, елементи які не з'являлись у навчальних даних отримають ймовірність 0,0 без згладжування. Для незнайомих, але правдоподібних даних з вибірки, можна ввести [en].
На практиці, необхідно згладити розподіл ймовірності додавши ненульові ймовірності для слів чи N-грамів які ще не зустрічались. Причиною є те що моделі які напряму виводяться з частот N-грамів мають серйозні проблеми при зіткненні з раніше небаченими N-грамами — проблему нульової частоти. Використовуються різноманітні методи згладжування, від простого «додати один» (Лапласового) згладжування (присвоїти частоту 1 N-грамам які не зустрічалися, див [en]) до складніших, таких як [en] або [en]. Деякі з цих методів аналогічні присвоєнню апріорного розподілу до ймовірностей N-грамів і використання баєсового висновування для обчислення апостеріорних імовірностей N-грамів, але складніші методи виводять не таким чином, а через незалежні міркування.
- Лінійна інтерполяція (використання зваженого середнього уніграми, біграми і триграми)
- [en]
- [en]
- [en]
- [en]
Пропуск-грама
У галузі обчислювальної лінгвістики, особливо у моделюванні мови, пропуск-грами (англ. skip-grams) є узагальненням N-грамів, у якій компоненти (зазвичай слова) не обов'язково мають бути сусідами у тексті що обробляється, між ними можуть залишатися пропуски. Пропуск-грами є одним зі способів розв'язати проблему розрідженості даних до якої схильний звичайний N-грамний аналіз. В галузі комп'ютерної безпеки, пропуск-грами виявилися стійкішими до атак ніж N-грами.
Формально, N-грама — це підпослідовності довжини n сусідніх елементів деякої послідовності токенів w1 … wn. Тоді k-пропуск-n-грама це підпослідовність довжини n елементів які з'являються один від одного на відстані не більшій ніж k.
Наприклад, у тексті:
- the rain in Spain falls mainly on the plain
множина 1-пропуск-2-грамів включає всі біграми (2-грами), і на додачу послідовності
- the in, rain Spain, in falls, Spain mainly, falls on, mainly the, and on plain.
Див. також
Примітки
- Broder, Andrei Z.; Glassman, Steven C.; Manasse, Mark S.; Zweig, Geoffrey (1997). Syntactic clustering of the web. Computer Networks and ISDN Systems. 29 (8): 1157—1166. doi:10.1016/s0169-7552(97)00031-7.
- Jurafsky, D. and Martin, J.H. Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. — Pearson Prentice Hall, 2009. — 988 p. — .
- Proceedings of the ITAT 2008, Information Technologies — Applications and Theory, Hrebienok, Slovakia, pp. 23-26, September 2008.
- FRANZ, Alex, BRANTS, Thorsten.
- Grigori Sidorov, Francisco Velasquez, Efstathios Stamatatos, Alexander Gelbukh, and Liliana Chanona-Hernández.
- Grigori Sidorov.
- Grigori Sidorov, Francisco Velasquez, Efstathios Stamatatos, Alexander Gelbukh, and Liliana Chanona-Hernández.
- Huang, Xuedong; Alleva, Fileno; Hon, Hsiao-wuen; Hwang, Mei-yuh; Rosenfeld, Ronald (1 січня 1992). The SPHINX-II Speech Recognition System: An Overview. Computer Speech & Language. 7 (2): 137—148. CiteSeerX 10.1.1.45.1629. doi:10.1006/csla.1993.1007.
- David Guthrie та ін. (2006). (PDF). Архів оригіналу (PDF) за 17 травня 2017. Процитовано 27 квітня 2014.
- Jonathan Oliver та ін. (2021). Designing the Elements of a Fuzzy Hashing Scheme (PDF). (PDF) оригіналу за 14 квітня 2021. Процитовано 14 квітня 2021.
В іншому мовному розділі є повніша стаття n-gram(англ.). Ви можете допомогти, розширивши поточну статтю за допомогою з англійської.
|
Це незавершена стаття з інформатики. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
N grama inodi takozh Q grama v obchislyuvalnij lingvistici ta teoriyi jmovirnostej poslidovnist z n elementiv iz pevnoyi vibirki tekstu abo movlennya Elementami mozhut buti fonemi skladi bukvi slova zalezhno vid zastosuvannya N grami zazvichaj otrimuyutsya z teksovogo abo en Yaksho elementi slova to N grami takozh nazivayut shingli angl shingles jmovirno vid shindel gont bo poslidovni N grami v teksti perekrivayutsya yak pokrittya dahu Vikoristovuyuchi latinski chislivnikovi prefiksi N grama rozmiru 1 nazivayetsya unigramoyu rozmiru 2 bigrama chi digrama rozmiru 3 trigrama Takozh vikoristovuyutsya zvichajni chislivniki chotiri grama i t in V obchislyuvalnij biologiyi polimer chi oligomer vidomogo rozmiru nazivayut en om a ne N gramoyu i konkretni grecki chislivnikovi prefiksi taki yak monomer dimer trimer Vikoristannya N gramZagalne vikoristannya N gram N grami v cilomu znahodyat svoye zastosuvannya v shirokij oblasti nauk Voni mozhut zastosovuvatisya napriklad u galuzi teoretichnoyi matematiki biologiyi kartografiyi a takozh v muzici Najbilsh chasto vikoristannya N gram vklyuchaye nastupni oblasti viluchennya danih dlya klasterizaciyi seriyi suputnikovih znimkiv Zemli z kosmosu shob potim virishiti yaki konkretni chastini Zemli na zobrazhenni poshuk genetichnih poslidovnostej v oblasti genetiki vikoristovuyutsya dlya viznachennya togo z yakih konkretnih vidiv tvarin zibrani zrazki DNK v komp yuternomu stisnenni dlya indeksuvannya danih v poshukovih sistemah z vikoristannyam N gram yak pravilo indeksovani dani pov yazani zi zvukom Takozh N grami shiroko zastosovuyutsya v obrobci prirodnoyi movi Vikoristannya N gram dlya potreb obrobki prirodnoyi movi V oblasti obrobki prirodnoyi movi N grami vikoristovuyetsya v osnovnomu dlya peredbachennya na osnovi imovirnisnih modelej N gramna model rozrahovuye jmovirnist ostannogo slova N grami yaksho vidomi vsi poperedni Pri vikoristanni cogo pidhodu dlya modelyuvannya movi peredbachayetsya sho poyava kozhnogo slova zalezhit tilki vid poperednih sliv Inshe zastosuvannya N gram ye viyavlennya plagiatu Yaksho rozdiliti tekst na kilka nevelikih fragmentiv predstavlenih N gramami yih legko porivnyati odin z odnim i takim chinom otrimati stupin podibnosti kontrolovanih dokumentiv N grami chasto uspishno vikoristovuyutsya dlya kategorizaciyi tekstu ta movi Krim togo yih mozhna vikoristovuvati dlya stvorennya funkcij yaki dozvolyayut otrimuvati znannya z tekstovih danih Vikoristovuyuchi N grami mozhna efektivno znajti kandidativ shob zaminiti slova z pomilkami pravopisu Priklad bigramnoyi modeli N grami chasto uspishno vikoristovuyutsya dlya kategorizaciyi tekstu ta movi Krim togo yih mozhna vikoristovuvati dlya stvorennya funkcij yaki dozvolyayut otrimuvati znannya z tekstovih danih Vikoristovuyuchi N grami mozhna efektivno znajti kandidativ shob zaminiti slova z pomilkami pravopisu P P shastya P ye shastya P zadovolennya shastya ye P bez shastya ye zadovolennya P kayattya shastya ye zadovolennya bez Rozrahuvati jmovirnist P shastya sprava nehitra potribno vsogo lishe porahuvati skilki raziv ce slovo zustrilosya v teksti i podiliti ce znachennya na zagalne chislo sliv Ale rozrahuvati jmovirnist P kayattya shastya ye zadovolennya bez uzhe ne tak prosto Na shastya mi mozhemo sprostiti cyu zadachu Prijmemo sho jmovirnist slova v teksti zalezhit tilki vid poperednogo slova Todi nasha formula dlya rozrahunku frazi prijme nastupnij viglyad P P shastya P ye shastya P zadovolennya ye P bez zadovolennya P kayattya bez Vzhe prostishe Rozrahuvati umovnu jmovirnist P ye shastya ne skladno Dlya cogo rahuyemo kilkist par shastya ye i dilimo na kilkist v teksti slova shastya U rezultati yaksho mi porahuyemo vsi pari sliv v deyakomu teksti mi zmozhemo obchisliti imovirnist dovilnoyi frazi Cej nabir rozrahovanih jmovirnostej i bude bigramnoyu modellyu Naukovo doslidni proyekti GoogleDoslidnicki centri Google vikoristovuvali N gramni modeli dlya shirokogo kola doslidzhen i rozrobok Do nih nalezhat taki proyekti yak statistichnij pereklad z odniyeyi movi na inshu rozpiznavannya movi vipravlennya orfografichnih pomilok viluchennya informaciyi ta bagato inshogo Dlya cilej cih proyektiv buli vikoristani tekstovi korpusi yaki mistyat kilka triljoniv sliv Google virishila stvoriti svij navchalnij korpus Proyekt nazivayetsya Google teracorpus i vin mistit 1 024 908 267 229 sliv zibranih iz zagalnodostupnih vebsajtiv Metodi dlya viluchennya N gramU zv yazku z chastim vikoristannyam N gram dlya virishennya riznih zavdan neobhidnij nadijnij i shvidkij algoritm dlya viluchennya yih z tekstu Vidpovidnij instrument dlya viluchennya N gram povinen buti v zmozi pracyuvati z neobmezhenim po rozmiru tekstom pracyuvati shvidko j efektivno vikoristovuvati nayavni resursi Ye kilka metodiv viluchennya N gram z tekstu Ci metodi zasnovani na riznih principah Algoritm Nagao 94 dlya tekstiv na yaponskomu Algoritm Lempelya Ziva Velcha Sufiksne derevo Invertovanij indeksSintaksichni N gramiSintaksichni N grami ce N grami sho viznachayutsya shlyahami v derevah sintaksichnih zalezhnostej abo derevah skladovih a ne linijnoyu strukturoyu tekstu Napriklad rechennya Ekonomichni novini mayut neznachnij vpliv na finansovi rinki mozhe buti peretvoreno v sintaksichni N grami sliduyuchi derevopodibnij strukturi jogo vidnosin zalezhnostej novini ekonomichni vpliv neznachnij vpliv na rinki finansovi ta inshi Sintaksichni N grami vidobrazhayut sintaksichnu strukturu na vidminu vid linijnih N gram i mozhut vikoristovuvatisya v tih zhe programah sho j linijni N grami v tomu chisli yak oznaki u vektornij modeli Zastosuvannya sintaksichnih N gram daye krashi rezultati pri virishenni pevnih zavdan nizh vikoristannya standartnih N gram napriklad dlya viznachennya avtorstva Kompromis zsuvu ta dispersiyiAbi obrati znachennya n v N gramnij modeli neobhidno znajti kompromis mizh stabilnistyu ocinki i yiyi dorechnistyu Ce oznachaye sho trigrami ye chastim viborom dlya velikogo navchalnogo korpusu miljoni sliv a bigrami chasto vikoristovuyutsya z menshimi Metodi zgladzhuvannya Ye zavdannya balansuvannya vagi mizh nechastimi gramami napriklad yaksho vlasne im ya zustrinetsya odin raz u navchalnih danih ta chastimi gramami Krim togo elementi yaki ne z yavlyalis u navchalnih danih otrimayut jmovirnist 0 0 bez zgladzhuvannya Dlya neznajomih ale pravdopodibnih danih z vibirki mozhna vvesti en Na praktici neobhidno zgladiti rozpodil jmovirnosti dodavshi nenulovi jmovirnosti dlya sliv chi N gramiv yaki she ne zustrichalis Prichinoyu ye te sho modeli yaki napryamu vivodyatsya z chastot N gramiv mayut serjozni problemi pri zitknenni z ranishe nebachenimi N gramami problemu nulovoyi chastoti Vikoristovuyutsya riznomanitni metodi zgladzhuvannya vid prostogo dodati odin Laplasovogo zgladzhuvannya prisvoyiti chastotu 1 N gramam yaki ne zustrichalisya div en do skladnishih takih yak en abo en Deyaki z cih metodiv analogichni prisvoyennyu apriornogo rozpodilu do jmovirnostej N gramiv i vikoristannya bayesovogo visnovuvannya dlya obchislennya aposteriornih imovirnostej N gramiv ale skladnishi metodi vivodyat ne takim chinom a cherez nezalezhni mirkuvannya Linijna interpolyaciya vikoristannya zvazhenogo serednogo unigrami bigrami i trigrami en en en en Propusk grama U galuzi obchislyuvalnoyi lingvistiki osoblivo u modelyuvanni movi propusk grami angl skip grams ye uzagalnennyam N gramiv u yakij komponenti zazvichaj slova ne obov yazkovo mayut buti susidami u teksti sho obroblyayetsya mizh nimi mozhut zalishatisya propuski Propusk grami ye odnim zi sposobiv rozv yazati problemu rozridzhenosti danih do yakoyi shilnij zvichajnij N gramnij analiz V galuzi komp yuternoyi bezpeki propusk grami viyavilisya stijkishimi do atak nizh N grami Formalno N grama ce pidposlidovnosti dovzhini n susidnih elementiv deyakoyi poslidovnosti tokeniv w1 wn Todi k propusk n grama ce pidposlidovnist dovzhini n elementiv yaki z yavlyayutsya odin vid odnogo na vidstani ne bilshij nizh k Napriklad u teksti the rain in Spain falls mainly on the plain mnozhina 1 propusk 2 gramiv vklyuchaye vsi bigrami 2 grami i na dodachu poslidovnosti the in rain Spain in falls Spain mainly falls on mainly the and on plain Div takozhBigramnij shifrPrimitkiBroder Andrei Z Glassman Steven C Manasse Mark S Zweig Geoffrey 1997 Syntactic clustering of the web Computer Networks and ISDN Systems 29 8 1157 1166 doi 10 1016 s0169 7552 97 00031 7 Jurafsky D and Martin J H Speech and Language Processing An Introduction to Natural Language Processing Computational Linguistics and Speech Recognition Pearson Prentice Hall 2009 988 p ISBN 9780131873216 Proceedings of the ITAT 2008 Information Technologies Applications and Theory Hrebienok Slovakia pp 23 26 September 2008 FRANZ Alex BRANTS Thorsten Grigori Sidorov Francisco Velasquez Efstathios Stamatatos Alexander Gelbukh and Liliana Chanona Hernandez Grigori Sidorov Grigori Sidorov Francisco Velasquez Efstathios Stamatatos Alexander Gelbukh and Liliana Chanona Hernandez Huang Xuedong Alleva Fileno Hon Hsiao wuen Hwang Mei yuh Rosenfeld Ronald 1 sichnya 1992 The SPHINX II Speech Recognition System An Overview Computer Speech amp Language 7 2 137 148 CiteSeerX 10 1 1 45 1629 doi 10 1006 csla 1993 1007 David Guthrie ta in 2006 PDF Arhiv originalu PDF za 17 travnya 2017 Procitovano 27 kvitnya 2014 Jonathan Oliver ta in 2021 Designing the Elements of a Fuzzy Hashing Scheme PDF PDF originalu za 14 kvitnya 2021 Procitovano 14 kvitnya 2021 V inshomu movnomu rozdili ye povnisha stattya n gram angl Vi mozhete dopomogti rozshirivshi potochnu stattyu za dopomogoyu perekladu z anglijskoyi Divitis avtoperekladenu versiyu statti z movi anglijska Perekladach povinen rozumiti sho vidpovidalnist za kincevij vmist statti u Vikipediyi nese same avtor redaguvan Onlajn pereklad nadayetsya lishe yak korisnij instrument pereglyadu vmistu zrozumiloyu movoyu Ne vikoristovujte nevichitanij i nevidkorigovanij mashinnij pereklad u stattyah ukrayinskoyi Vikipediyi Mashinnij pereklad Google ye korisnoyu vidpravnoyu tochkoyu dlya perekladu ale perekladacham neobhidno vipravlyati pomilki ta pidtverdzhuvati tochnist perekladu a ne prosto skopiyuvati mashinnij pereklad do ukrayinskoyi Vikipediyi Ne perekladajte tekst yakij vidayetsya nedostovirnim abo neyakisnim Yaksho mozhlivo perevirte tekst za posilannyami podanimi v inshomovnij statti Dokladni rekomendaciyi div Vikipediya Pereklad Ce nezavershena stattya z informatiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi