Qo'shimcha harflar n gramm uchun dastur. N-gram. n-gramm olish usullari

Ushbu algoritmlar sahna ortidagi noma'lum matnni qidirish uchun ishlatiladi va ular, masalan, matn muharrirlarida, hujjatlarni ko'rib chiqish dasturlarida yoki sahna ortida qidirish uchun veb-brauzerlarda ishlatilishi mumkin. Noxush hid matnni oldinga qayta ishlashga xalaqit bermaydi, lekin ma'lumotlarning uzluksiz oqimi bilan oqishi mumkin.

Lineer qidiruv

Kiritilgan matnga berilgan ko'rsatkichni (masalan, Levenshteyn ko'rsatkichi) ketma-ket aniqlang. Ko'rsatkich almashinuvlar bilan o'zgarganda, bu usul sizga robotning optimal tezligiga erishish imkonini beradi. Ale kim bilan ko'proq k, ish soatlari ko'payadi. Soat uchun taxmin asimptotik - O(kn).

Bitap (shuningdek, Shift-Or yoki Baeza-Yates-Gonnet nomi bilan ham tanilgan, Wu-Manber modifikatsiyasi)

Algoritm Bitap Turli xil modifikatsiyalar ko'pincha indekslanmasdan loyqa qidiruv uchun ishlatiladi. Ushbu o'zgarish, masalan, Unix yordam dasturida qo'llaniladi agrep , uning funktsiyasi standart grep ga o'xshaydi, lekin qidiruv so'ziga ishora qo'shilishi bilan va umid qilamanki, muntazam yozuvlarning to'xtab qolish ehtimoliga aralashadi.

Kimning algoritmi birinchi marta gigantlar tomonidan targ'ib qilingan Rikardo Baeza-Yatesі Gaston Gonnet, 1992 yilda alohida maqola chop etilgan.
Algoritmning asl nusxasi faqat belgilarni almashtirishdan iborat bo'lib, aslida almashtirishni hisoblab chiqadi. Hemming. Ale uch rubl keyin Sun Vuі Udi Manber bo'linmani hisoblash uchun ushbu algoritmning modifikatsiyasini kiritdi Levenshteyn, keyin. Ular qo'shimchalar uchun qo'llab-quvvatlashni qo'shdilar va keyin shu asosda agrep yordam dasturining birinchi versiyasini yaratdilar.






Natija qiymati

De k- imtiyozlar soni, j- Belgiga indeks, s x - belgi uchun niqob (niqobda bitta bitlar yozuvdagi ushbu belgining pozitsiyalariga mos keladigan pozitsiyalarda aylantiriladi).
Kirishning qochishi yoki ajralishi natijada R vektorining qolgan biti bilan ko'rsatiladi.

Robot algoritmining yuqori tezligi bit parallelizmini hisoblash bilan ta'minlanadi - bitta operatsiyada bir vaqtning o'zida 32 yoki undan ortiq bitni hisoblash mumkin.
Bu holda, arzimas amalga oshirish ikki yoki uch 32 dan ortiq ovoz bilan qo'llab-quvvatlanadi Bu o'zaro bog'liqlik standart turi kengligi bilan belgilanadi. int(32-bitli arxitekturalarda). Siz katta o'lchamlarning turlarini tanlashingiz mumkin, lekin siz algoritmni ham yaxshilashingiz mumkin.

Algoritm uchun asimptotik soatga ega bo'lganlardan qat'i nazar O(kn) Ushbu chiziqli usulni qo'llashdan saqlaning, uzoq yugurish va ko'p sonli yugurish bilan u ancha tezroq bo'ladi k 2 dan ortiq.

Sinov

Sinov 3,2 million so'zdan iborat matnda o'tkazildi, o'rtacha 10 so'z.
Aniq qidiruv
Qidiruv vaqti: 3562 ms
Wikoristany-da Levenshtein ko'rsatkichini qidiring
Men bir soat qidiraman k=2: 5728 ms
Men bir soat qidiraman k=5: 8385 ms
Wu-Manber-dan o'zgartirishlar bilan Bitap algoritmini qidiring
Men bir soat qidiraman k=2: 5499 ms
Men bir soat qidiraman k=5: 5928 ms

Shubhasiz, Bitap algoritmiga muvofiq o'lchovlarni oddiy qidirish bir qator xatolarga olib kelishi mumkin. k.

Tim kam emas, agar siz buyuk obsesifning o'zgarmas matnlarida hazil haqida gapirmoqchi bo'lsangiz, unda hazil soati bunday matnning birinchi qismini to'ldirish orqali sezilarli darajada qisqartirilishi mumkin, shuningdek, deb ataladi. Indekslash.

Indekslash bilan noaniq qidiruv algoritmlari (oflayn)

Indekslash bilan barcha loyqa qidiruv algoritmlarining o'ziga xos xususiyati shundaki, indeks lug'at orqasida bo'ladi, chiqish matni yoki istalgan ma'lumotlar bazasidagi yozuvlar ro'yxati orqasida saqlanadi.

Bu algoritmlar muammoni hal qilish uchun turli yondashuvlardan foydalanadi - ba'zilari aniq qidiruvga erishish uchun ma'lumotlardan foydalanadi, boshqalari turli fazoviy tuzilmalarni aniqlash uchun ko'rsatkichlardan foydalanadi va hokazo.

Avvalo, chiqish matni yonida matndagi so'zlar va pozitsiyalarni joylashtirish uchun lug'at bo'ladi. Qidiruv natijalarining intensivligini kamaytirish uchun so'zlar va so'zlarning chastotasini ham yaxshilashingiz mumkin.

Xabar qilinishicha, indeks ham xuddi lug‘at kabi to‘liq topishmoqqa bag‘ishlangan.

Lug'atning taktik va texnik tavsifi

  • Chiqish matni - Moshkov kutubxonasidan (lib.ru) 8,2 gigabayt materiallar, 680 million so'z;
  • Lug'at hajmi - 65 megabayt;
  • So'zlar soni - 3,2 million;
  • So'zning o'rta dovjinasi 9,5 belgidan iborat;
  • So'zning o'rtacha kvadratik dovjinasi (ma'lum algoritmlarni baholashda qulay bo'lishi mumkin) - 10,0 belgi;
  • Alfavit - A dan Z gacha bo'lgan ajoyib harflar, E holda (ba'zi operatsiyalarni soddalashtirish uchun). Belgilari alifboda bo'lmagan so'zlar lug'atga kiritilmaydi.
Matnga nisbatan lug'at hajmining chuqurligi qat'iy chiziqli emas - kun oxirigacha so'zlarning asosiy ramkasi shakllanadi, u 500 ming so'zda 15% dan 5 million so'ngda 5% ga, so'ngra chuqurlikka aylanadi. l xorijiy yondashuvlar, sezilarli darajada kamayadi va 6 million so'z boshiga 0,5% gacha etadi. Noyob so'zlar yordamida o'sishning keyingi saqlanishi yanada ta'minlanadi.

Tanlovni kengaytirish algoritmi

Ushbu algoritm ko'pincha imloni tekshirish tizimlarida (yoki imlo tekshirgichlarda), lug'at hajmi kichik bo'lgan va ishning ravonligi asosiy mezon bo'lmagan joylarda tiqilib qoladi.
Bu aniq qidiruv haqidagi muammoga noaniq qidiruv haqidagi oldingi muammoga asoslanadi.

Kun oxirida aniq so'zlar bo'lmaydi, ular uchun lug'atda aniq qidiruv amalga oshiriladi.

Ish soati k harflar soniga qadar yotib, A alifbosining o'lchamini bosgandan so'ng, lug'atni ikkilik qidiruvi bo'ladi:

Masalan, qachon k = 1 Va 7-asrning so'zlari (masalan, "Timsoh") rus alifbosida so'zsiz 450 ga yaqin hajmda bo'ladi, shuning uchun lug'at oldidan 450 ta so'z yaratish kerak, bu juda yoqimli.
Ale allaqachon uchun k = 2 bunday ko'plikning o'lchami 115 ming variantdan oshadi, bu kichik lug'atni to'liq qidirishni yoki bizning tanlovimizda 1/27 ni ko'rsatadi va shuning uchun ish soati katta bo'ladi. Bunday holda, ushbu so'zlarning har biri uchun lug'atda aniq moslikni izlash kerakligini unutmaslik kerak.

Xususiyatlari:
Algoritm qo'shimcha qoidalar yordamida tasodifiy variantlarni yaratish uchun osongina o'zgartirilishi mumkin va qo'shimcha ravishda lug'atga qo'shimcha ishlov berishni va shuning uchun qo'shimcha xotirani talab qilmaydi.
Mumkin ranglar:
Barcha ma'nosiz so'zlarni emas, balki faqat real vaziyatga mos keladiganlarni yaratish mumkin, masalan, keng imlo o'zgarishlari va to'plamlari bo'lgan so'zlar.

Ushbu ixtiro usuli uzoq vaqtdan beri mavjud bo'lib, eng ko'p qo'llaniladi, chunki uni amalga oshirish juda oddiy va yaxshi samaradorlikni ta'minlaydi. Algoritm quyidagi printsipga asoslanadi:
"Agar A so'zini B so'zi ko'p kechirimlar tufayli chetlab o'tsa, ular N dan oldin bir do'zaxni xohlashadi."
N ning bu pastki qatorlari N-grammlar deyiladi.
Indekslash soatida so'z shunday N-grammlarga bo'linadi, so'ngra so'z ushbu N-grammlarning har biri uchun ro'yxatlarga qisqartiriladi. Kun oxirida qidiruv so'rovi ham N-grammlarga bo'linadi va ulardan bunday ketma-ketlikni almashtirish uchun so'zlar ro'yxatiga keyingi qidiruv amalga oshiriladi.

Amalda eng ko'p ishlatiladigan trigrammalar dovzhin tartibi 3. Kattaroq qiymatni tanlash, agar kechirishni aniqlash mumkin bo'lsa, minimal dovzhina so'zining almashinuviga olib keladi.

Xususiyatlari:
N-gramma algoritmi doimiy ravishda kechirimli so'zlardan xabardor. Masalan, VOTKA so'zini olaylik va uni trigrammalarga ajratamiz: IN T KA → VO T Haqida T Oldin T KA - ularning barchasi T.dan qasos olishlarini e'tiborga olishingiz mumkin. Shu tarzda, "SHAHARLAR" so'zi topilmaydi, modomiki siz ushbu trigrammalarning har biridan o'ch ololmaysiz va siz ularni yo'qotmaysiz. ularning ro'yxatidan. Shunday qilib, yangisida qancha so'z kam bo'lsa va qancha ko'p so'z bo'lsa, ro'yxatdagi eng muhim N-grammlarni isrof qilmaslik ehtimoli ko'proq bo'ladi va natija bo'lmaydi.

Hozirgi vaqtda N-gramm usuli etarli kuch va murakkablik bilan quvvat ko'rsatkichlarini tanlash uchun ko'proq joydan mahrum qiladi, ammo buning uchun siz to'lashingiz kerak - bu o'zgarish bilan lug'atning taxminan 15 foizini izchil qidirishga hojat yo'q. katta ahamiyatga ega lug'atlar uchun keyin xato olish uchun buyurtma.

Mumkin ranglar:
Siz N-gramm xesh jadvalini so'zlar va N-grammlarning bir so'zdagi pozitsiyalari asosida ajratishingiz mumkin (modifikatsiya 1). Og'zaki so'zning oxiri kabi, uni boshqa takrorlash mumkin emas k, va N-grammlarning soʻzdagi oʻrinlarini k ga boʻlish mumkin. Bundan tashqari, siz so'zning N-grammlari pozitsiyasiga mos keladigan jadvalni tekshirishingiz kerak, keyin esa yovuz shaytonning stoliga va o'ng qo'lning stoliga o'ting. hamma narsa 2k+1 Sud stollari.

Shuningdek, jadvallarni oxirgi so'zga bo'lish va shunga o'xshash tarzda boshqa harflarni ko'rib chiqish orqali ko'rib chiqish uchun zarur bo'lgan ko'plik hajmini biroz o'zgartirishingiz mumkin. 2k+1 jadval (2-modda).

Bu algoritm L.M.Boytsovning maqolasida tasvirlangan. "Kheshuvannya imzo bilan." U so'zning "tuzilishi" ning bit darajalari ko'rinishida aniq taqdimotiga asoslanadi, bu xesh jadvalidagi xesh (imzo) sifatida talqin etiladi.

Indekslash vaqtida bunday xeshlar har bir so'z bo'yicha hisoblanadi va jadvalda ushbu xesh uchun lug'at so'zlari ro'yxatiga muvofiqligi qayd etiladi. Keyin, kun oxirida so'rov uchun xesh hisoblab chiqiladi va barcha mintaqaviy xeshlar takrorlanadi, natijada chiqish k bitdan oshmaydi. Ushbu xeshlarning har biri uchun o'xshash so'zlar ro'yxati qidiriladi.

Xeshni hisoblash jarayoni - xeshning har bir bitiga alifbodagi belgilar guruhi tayinlanadi. Bit 1 holatida i xesh chiqish so'zining belgisiga ega ekanligini bildiradi i-chi alifbo guruhlari. Bir so'zdagi harflarning tartibi mutlaqo ma'noga ega emas.

Bitta belgini olib tashlash yoki xesh qiymatini o'zgartirmaslik (chunki so'z alifbodagi bir guruhdagi belgilarni yo'qotgan) yoki tegishli bitlar guruhi 0 ga o'zgaradi. Qo'shganda xuddi shunday yoki bitta bit 1 ga o'rnatiladi, aks holda hech qanday o'zgarishlar bo'lmaydi. Belgilarni almashtirishda barcha qismlar murakkabroq - xesh o'zgarmas yoki 1 yoki 2 pozitsiyada o'zgarishi mumkin. Kundalik o'zgarishlarni almashtirishda u eslab qolmaydi, shuning uchun xeshni so'rashda, avval belgilanganidek, belgilar tartibi saqlanib qolmaydi. Shu tarzda, k afvni to'liq qamrab olish uchun ularni imkon qadar kamroq o'zgartirish kerak 2k oz xash.

Ish vaqti, o'rtada, k "mos kelmaydigan" (qo'shishlar, o'chirilgan va ko'chirishlar, shuningdek almashtirishlarning kichik qismi) tuzatishlar bilan:

Xususiyatlari:
Bitta belgini almashtirishda bir vaqtning o'zida ikkita bitni o'zgartirish mumkinligi sababli, masalan, bir vaqtning o'zida 2 bitdan ko'p bo'lmagan aralashtirishni amalga oshiradigan algoritmda qiymat mavjudligi orqali natijalarni ko'rish mumkin emas (Inda saqlanadi). alifbodagi xesh hajmiga bog'liqligi) ikkita almashtirishli so'zlarning qismlari (va xesh hajmi qanchalik katta bo'lsa, belgini almashtirish ikki bitning kombinatsiyasini qanchalik tez-tez talab qiladi va natija shunchalik kamroq doimiy bo'ladi) . Bundan tashqari, ushbu algoritm prefikslarni qidirishga ruxsat bermaydi.

BK-daraxtlar

Daraxtlar Burkhard-Keller- metrik daraxtlar, bunday daraxtlar uchun algoritmlar trikutanning beqarorligini ko'rsatish uchun metrikaning kuchiga asoslanadi:

Bu quvvat o'lchovlarga etarli o'lchamdagi metrik bo'shliqlarni yaratishga imkon beradi. Bunday metrik bo'shliqlar og'ir emas Evklid, masalan, ko'rsatkichlar Levenshteynі Damerau-Levenshteyn da'vo qilish evklid bo'lmagan bo'sh joy. Ushbu vakolatlarga asoslanib, Barkhard-Keller daraxti kabi metrik fazoga tegishli bo'lgan ma'lumotlarning tuzilishi haqida xulosa chiqarish mumkin.

Tozalash:
Yuqori chegarani o'rnatish orqali chegaralardan masofani hisoblash uchun ma'lum ko'rsatkichlardan foydalanishingiz mumkin, bu tepaning tepasiga maksimal masofa va natijada olingan masofaga teng, bu jarayonni biroz tezlashtirishga imkon beradi:

Sinov

Sinov Intel Core Duo T2500 (2GHz/667MHz FSB/2MB), 2Gb RAM, OS – Ubuntu 10.10 Desktop i686, JRE – OpenJDK 6 Update 20 bilan jihozlangan noutbukda o‘tkazildi.

Sinov Damerau-Levenshtein stantsiyasida va bir qator murosalar bilan o'tkazildi k = 2. Lug'atdagi bayonotlar indeksining o'lchami (65 MB).

Indeks hajmi: 65 MB
Qidiruv soati: 320 ms / 330 ms
Natijalarning takrorlanishi: 100%

N-gram (asl)
Indeks hajmi: 170 MB
Indeksning ochilish vaqti: 32 s
Qidiruv soati: 71 ms / 110 ms
Natijalarning takrorlanishi: 65%
N-gram (modifikatsiya 1)
Indeks hajmi: 170 MB
Indeksning ochilish vaqti: 32 s
Qidiruv soati: 39 ms / 46 ms
Natijalarning takrorlanishi: 63%
N-gram (modifikatsiya 2)
Indeks hajmi: 170 MB
Indeksning ochilish vaqti: 32 s
Qidiruv soati: 37 ms / 45 ms
Natijalarning takrorlanishi: 62%

Indeks hajmi: 85 MB
Indeksning ochilish vaqti: 0,6 s
Qidiruv soati: 55 ms
Natijalarning takrorlanishi: 56,5%

BK-daraxtlar
Indeks hajmi: 150 MB
Indeksni yaratish vaqti: 120 s
Qidiruv soati: 540 ms
Natijalarning takrorlanishi: 63%

Birga

Indekslash bilan ko'pchilik noaniq qidiruv algoritmlari haqiqatan ham sublinear emas (shuning uchun asimptotik ish soati bo'lishi mumkin) O(log n) yoki undan pastroq) va ularning suyuqligi o'rtada bo'lishini talab qiladi N. Vaqt kam emas, ko'plab yaxshilanishlar va qo'shimcha tadqiqotlar bizga hatto lug'atlarning katta vazifalari uchun ham etarlicha qisqa vaqt ishlashga imkon beradi.

Shuningdek, turli xil va samarasiz usullarning etishmasligi va boshqa narsalar qatori, ma'lum bir mavzu bo'yicha turli xil va ehtimol to'xtab qolgan texnika va yondashuvlarni moslashtirishga asos. Bunday usullar orasida prefiks daraxtlarini (Trie) loyqa g'oyani yaratishga moslashtirish kiradi, bu ularning past samaradorligi tufayli hurmat pozitsiyasidan mahrum bo'ladi. Asl yondashuvlarga asoslangan algoritmlar ham mavjud, masalan, algoritm Maassa-Novak, bu ishning subchiziqli asimptotik soati bo'lishi mumkin, lekin katta indeks o'lchami ko'rinishida paydo bo'ladigan bunday soatlik bahoning orqasida turgan katta konstantalar tufayli juda samarasiz.

Haqiqiy qidiruv tizimlarida loyqa qidiruv algoritmlaridan amaliy foydalanish fonetik algoritmlar, leksik asosli algoritmlar bilan chambarchas bog'liq - bir xil so'zning turli xil so'z shakllarining asosiy qismini ko'rish (masalan, bunday funksionallik Snowball va Yandex mystem tomonidan taqdim etilgan ), kabi shuningdek, statistik ma'lumotlarga asoslangan yoki turli xil murakkab, murakkab ko'rsatkichlar bilan reytinglar.

  • Levenshteinning ko'rinishi (boshqa va prefiks versiyasi bilan);
  • Vidstan Damerau-Levenshtein (boshqa va prefiks versiyasi bilan);
  • Bitap algoritmi (Shift-OR/Shift-AND Wu-Manber modifikatsiyalari bilan);
  • Namunalarni kengaytirish algoritmi;
  • N-gramm usuli (original va o'zgartirishlar bilan);
  • Imzo bo'yicha xeshlash usuli;
  • BK daraxti.
Men kodni tushunish oson va amaliy foydalanish uchun yanada samaraliroq qilishni xohlayman. JVM dan qolgan sharbatlarni olish mening rejamning bir qismi emas edi. Rohatlaning.

Shuni ta'kidlash kerakki, ushbu jarayonni o'rganish jarayonida men indeks hajmini oqilona oshirish uchun qidiruvni tezlashtirishga imkon beradigan vakolatlarni ishlab chiqdim va o'lchovlarni tanlash erkinligining har qanday almashinuvi . Ammo bu butunlay boshqacha hikoya.

Semantik yadro

Muvaffaqiyatli rivojlanish va bugungi kun voqeligida saytning ko'rinishini oshirish uchun semantik yadroni bosqichma-bosqich kengaytirish kerak. Kengayishning eng yaxshi usullaridan biri bu raqobatchilardan kalit so'zlarni yig'ishdir.

Bugungi kunda raqobatchilarning semantikasini farqlash qiyin, chunki... Pullik va bepul xizmatlarning bir qatori mavjud.

Mushuksizlar ro'yxati:

- megaindex.ru - "Sayt ko'rinishi" vositasi

- xtool.ru - universal xizmat, shuningdek, sayt qaysi kalit so'zlarni ko'rsatadi

To'langanlar ro'yxati:

- spywords.ru - Yandex va Google uchun mos

- semrush.ru - faqat Google ostida yo'nalishlar

- prodvigator.ua - spywords.ru ning Ukraina analogi

Xizmatlarni qo'shish uchun siz n-gramm uchun sarlavha va tavsifga asoslangan qo'lda usuldan foydalanishingiz mumkin, bu esa iboralarning qo'shimcha ro'yxatini keltirib chiqaradi.

N-gramm - n ta elementning ketma-ketligi. Darhaqiqat, N-gramm ko'pincha pastki darajalarda keskinlashadi. Ikki keyingi elementlarning ketma-ketligi ko'pincha deyiladi bigrama, uchta elementdan iborat ketma-ketlik deyiladi trigramma. Kamida to'rt yoki undan ko'p element N-gramm sifatida belgilanadi, ya'ni N bir qator keyingi elementlar bilan almashtiriladi.

Keling, texnologiyani bosqichma-bosqich ko'rib chiqaylik:

- Raqobatchilarning sarlavhasini (tavsifini) jonlantirish. Screaming Frog SEO dasturi bilan qo'shimcha yordam olishingiz mumkin.

- Matn muharriri tilning xizmat ko'rsatish qismlari, bo'linuvchi belgilar va boshqa narsalar kabi eng so'nggilarning toza ro'yxatiga ega. Men oddiy iboralar bilan ajoyib matn muharririda (ctrl+H) “qidirish va almashtirish” funksiyasidan foydalanmoqdaman:

— Biz kerakli n-grammni tanlaymiz va chastotani kamida bittaga o'rnatamiz. Eng yaxshi variant trigramlar va 4 grammdir:

- Biz darhol natijani rad etishimiz mumkin:

Stovpetshisoblashtakrorlash sonini ko'rsatadin-gramm, pechkachastota -Chastotasin-grami.

Biz iboralar ro'yxatini tanlaganimizdan so'ng, biz uni tahlil qilishimiz va semantik yadroni kengaytirish uchun tegishli kalit so'zlarni tanlashimiz kerak. Hisobotni blogimizning maxsus bo'limida topishingiz mumkin.

So'rovlarni guruhlash

Raqobatchilarning semantik yadrosi qanday guruhlanganligini tushunish juda muhim, chunki Bu sayt sahifalarida asosiy iboralarni to'g'ri tarqatishga yordam beradi.

Shu maqsadda, so'rovlarning yangi ro'yxatini shakllantirganimizdan so'ng, raqobatchilarning tegishli sahifalari va pozitsiyalarini tanlashimiz kerak (siz seolib.ru dan foydalanishingiz mumkin), so'ngra ularni bizning guruhlarimiz bilan taqqoslashimiz kerak. Raqobatchi yaxshi mavqega ega ekanligi aniq va bu holda guruhlash biznikidan farq qiladi (masalan, raqobatchining turli tomonlardagi bo'linmalari bor, biz ham bitta bo'limda o'tirishimiz kerak), bozor ulushini oshirish kerak. Iltimos, veb-saytingizdagi ochilish sahifalarini ko'rib chiqing.

Keling, o'sha raqibning aqliy saytini guruhlashning kichik dumbasini ko'rib chiqaylik.

Jadvaldan ko'rinib turibdiki, site.ru veb-saytida barcha kalit so'zlar uchun bitta ochilish sahifasi mavjud. Raqobatchi ushbu so'rovlar uchun turli saytlarni tartiblaydi va TOP yoki TOPga yaqin pozitsiyalarni egallaydi. Shundan kelib chiqib, siz sayt.ru saytidagi guruhlashni ko'rib chiqishingiz kerak, shu bilan birga siz "fasad" so'zi bilan asosiy iboralar uchun yon sahifa yaratishingiz kerak degan xulosaga kelishingiz mumkin.

Matn yorqinligi

Avvalo, raqobatchilarning matnlarini tahlil qilishga e'tibor berish kerak, lekin omborning katta hajmiga emas (matnga kiritilgan ma'lumotlar soni ham), lekin aniq va mazmunli bo'lishi kerak - bu qanchalik qimmatlidir. Raqobatchini va qanday ishlashni etkazishim kerak bo'lgan ma'lumot.

Keling, bir guruh dumbalarni ko'rib chiqaylik.

Siz chiptalarni matndagi asosiy sahifaga yetkazib berish va ularning yangiligini kafolatlash bilan shug'ullanayotgan bo'lishingiz mumkin. Masalan, bu kabi:

Yetkazib berish xizmatisayt. rusovuq mavsumda guldastalarni tejashni kafolatlaydi.

Va raqobatchilardan birining dumba o'qi:

Xushbo'y kompozitsiyalarni yaratish biz bilan oson, chunki biz 100% tiyin qaytarilishini kafolatlaymiz, chunki chiptalarning yangiligi shubhasizdir.

Raqobatchining kafolati mavhum kafolatdan ko'ra ko'proq ma'noli bo'lgan arzimas pul bilan ta'minlanadi.

Keling, yana bir misolni ko'rib chiqaylik - onlayn-do'kon uchun "keramik plitkalar" toifasi sahifasidagi matn:

Bu matn har qanday korisnogo semantik ma'no, sutylna suv olib emas. Xo'sh, har bir narsa uchun, saytga kelgan va sotib olish to'g'risida qaror qabul qilgan kishi, mahsulotning afzalliklari va mumkin bo'lgan konfiguratsiyalar haqida bilishni xohlaydi, keyin belgilarni betartib yozish mavjud.

Keling, raqobatchining matniga hayron bo'laylik:

Bu matn jigarrang rangda, chunki ... kafelning ko'p qirraliligi haqida qisqacha ma'lumot beradi va to'g'ri tanlashni tushunishga yordam beradi.

Shu tarzda, raqobatchilaringizning matnlarini o'zingizning matningiz bilan taqqoslab, texnik xususiyatlarni birlashtirishda kopirayterlarga yordam beradigan juda ko'p foydali ma'lumotlarni olishingiz mumkin.

Matnlarning dolzarbligi

Matnlilik mavzusini davom ettirsak, ularning dolzarbligini ta'kidlamaslik mumkin emas. Bugungi kunda matn tegishli bo'lishi uchun kalit so'zlarni kiritish etarli emas. Sahifaning dolzarbligini oshirish va matnni spam qilmaslik uchun siz mavzuga tegishli so'zlarni tanlashingiz kerak.

Qidiruv matnining matnga aloqadorligini baholagan holda, qidiruv tizimi matnni almashtirish uchun ishlatiladigan kalit so'zlar va qo'shimcha so'zlar mavjudligini tahlil qiladi. Misol uchun, agar biz fil haqida matn yozayotgan bo'lsak, u holda bog'langan so'zlar bilan biz "magistral", "tuklar", "tabiat", "hayvonot bog'i" dan foydalanishimiz mumkin. Agar matn chek parchasi episkop haqida bo'lsa, unda quyidagi so'zlar bo'ladi: parcha, chek, malika va boshqalar.

Raqobatchilaringizning matnlaridan so'rovlaringiz uchun eng mos mos keladigan ro'yxatni topishingiz mumkin. Nima uchun quyidagi amallarni bajarishingiz kerak:

— Biz TOP-10 dan barcha matnlarni kerakli HF kiritishdan keyin turli matnli fayllarga ko'chiramiz.

— Matnlardan tilning xizmat qismlarini, tinish belgilarini va raqamlarni ko'rishingiz mumkin (oldindan ko'rib chiqilgan).

— Soʻzlarni qatorga qoʻyish — oddiy iboralar bilan “qidirish va almashtirish” funksiyasidan foydalanish. Bo'sh joyni \n bilan almashtiring.

- Keyinchalik, barcha so'z shakllarini oddiy so'z shakliga (lemi) keltirish kerak. Buning uchun https://tools.k50project.ru/lemma/ xizmatidan tezda foydalanishingiz mumkin. Maydonda siz har bir fayldan ma'lumotlar ro'yxatini kiritishingiz kerak, "Lemetize va CSV jadvalida ko'rsatish" tugmasini bosing. Natijada lemetlashtirilgan so'zlardan 10 ta fayl bo'lishi mumkin.

— Teri faylida soʻzlarning dublikatlari koʻrinadi.

— Fayllardagi soʻzlarni bitta roʻyxatga birlashtirish.

- Endi siz chastota lug'atini yaratishingiz kerak. Buning uchun ro'yxat https://tools.k50project.ru/lemma/ xizmatiga qo'shiladi va "CSV ko'rinishida chastota lug'atini olish" tugmasini bosing.

— Ovqatlanishga tayyor mahsulotlarimiz roʻyxati:

Agar chastota 10 bo'lsa, bu so'z barcha 10 ta saytda vikorizatsiya qilinganligini anglatadi, agar 8 ta bo'lsa, faqat 8 tasida va hokazo. Eng yuqori chastotali so'zlarni tanlash tavsiya etiladi, ammo kamdan-kam uchraydigan so'zlarning o'rtasida siz foydali echimlarni topishingiz mumkin.

Ushbu oddiy usulda siz kopirayterlar uchun texnik xususiyatlarni tuzish uchun tematik so'zlar ro'yxatini tanlashingiz mumkin.

Ko'rinishidan, raqobatchilar saytlaringizni yaxshiroq optimallashtirishga yordam beradigan juda muhim ma'lumot manbai. Men ushbu maqolaning barcha jihatlarini ko'rib chiqmadim va yaqin kelajakda men sizning raqobatchilaringizdan tortib olishingiz mumkin bo'lgan yaxshi narsalar haqida yozaman.

Axborot byulleteniga obuna bo'ling

,

Qaradi N-grammlar zamonaviy voqelikni namunaviy konstruksiya sifatida fiksatsiyasi sifatida. Model havolalari tanlangan N-grammatik va rasmiy grammatika. Qisqa vaqt ichida hurmat va ishqalanish qayta tiklandi, bu xalqaro modellarning shafqatsizligi bilan bog'liq.

Kirish

Rasmiylik bilan yakunlaylik. Keling, kuylash alifbosining topshiriqlarini bajaramiz VT={wi), de wi- Maxsus belgi. Alifbo belgilaridan hosil bo'lgan so'nggi doveginning qirralari (qatorlari)siz VT, alifboda meniki deb ataladi VT va ko'rsatilgan L(VT). Okremiy lanciuzhok z kino L(VT) Biz buni sevgim deymiz. Yuragingizda, N- Abetsida grammu VT lanzyuzhok dovjina deb ataladi N. N-Grama har qanday majburiyatlardan qochishi mumkin, agar siz ketma-ket bo'lsangiz yoki siz qadar kirmasangiz L(VT).

Keling, bir guruh dumbalarni nishonga olaylik N-gram.

3. , N- rus grammlari. // Ma'lumot to'plami.

4. Glanz. Tibbiy va biologik statistika Prov. ingliz tilidan boshiga ed. V. M., 1999 yil.

5. Tasviriy tilshunoslik. Peredmova G. Glisonning "Tasviriy tilshunoslikka kirish" kitobiga. M., 1959 yil.

6. Tilshunoslik nazariy va amaliydir. M., 1968 yil.

8. , Avtomatik kino sintezi vaqtida pauza. // Ilmiy tadqiqot nazariyasi va amaliyoti. M. 1999 yil.

9. Minsky M. Kognitiv noma'lumning mavjudligi va mantiqiyligi. // Chet el tilshunosligida yangilik. VIP. XXIII. M., 1988 yil.

10. Slobin D., Green J. Psixolingvistika. M., 1976 yil

11. Viruslilik nazariyasi. M., 1972 yil.

12. Fu Do. Tasvirni aniqlashning strukturaviy usullari. M., 1977 yil.

13. Xarris T. Epizodik jarayonlar nazariyasi, shuning uchun u issiq. M., 1966 yil.

14. Brill E. va in. Beyond N-grams: lingvistik murakkablik tilni modellashtirishni yaxshilay oladimi?

15. But T. Rasmiy tillarning ehtimollik bilan ifodalanishi. // IEEE yillik simp. Kommutatsiya va avtomatlar nazariyasi. 1969 yil.

16. Jelinek F. Nutqni tanib olish uchun o'z-o'zidan tashkil etilgan tilni modellashtirish. // Nutqni aniqlash bo'yicha o'qishlar. 1989 yil.

17. Jechiziq F., Lafferti J. Stoxastik kontekstsiz grammatika bo'yicha boshlang'ich pastki qator hosil qilish ehtimolini hisoblash. //Hisoblash tilshunosligi, jild.

18. Xarris Z. S. Strukturaviy tilshunoslikda metod. Chikago, 1951 yil.

19. Lashley K. Xulq-atvorda ketma-ket tartib bilan bog'liq muammo. // Psixolingvistika: O'qishlar kitobi, N. Y. 1961.

20. Shlesinger E. Gapning tuzilishi va o'qish jarayoni. Mouton. 1968 yil.

21. Shieber S. Tabiiy tilning kontaktsizligidan dalolat beradi. // Tilshunoslik va falsafa, jild.

22. Sola hovuz I. Bugungi kunda kontentni tahlil qilish tendentsiyalari. // Psixolingvistika: O'qishlar kitobi, N. Y. 1961

23. Stolke A., Segal J. Stokastik kontekstsiz grammatikalardan Virishenya n-gramm ehtimolliklari. // ACLning 32-yillik yig'ilishi materiallari. 1994 yil.

Vikoristannya N-gram

Zagalne vikoristannya N-gram

  • koinotdan Yerning bir qator sun'iy yo'ldosh tasvirlarini klasterlash uchun ma'lumotlardan foydalanib, tasvirda Yerning qaysi aniq qismlari borligini aniqlash uchun,
  • genetik ketma-ketlikni qidirish,
  • Genetika sohasida hayvonlarning qaysi aniq turlaridan DNK namunalarini olishlarini aniqlash bo'yicha tadqiqotlar olib borilmoqda.
  • kompyuter qo'lida
  • Tegishli N-grammalardan tovush bilan bog'liq indekslangan ma'lumotlarni chaqiring.

N-grammalar tabiiy til namunalarida ham keng qo'llaniladi.

Tabiiy tilni qayta ishlash ehtiyojlari uchun Vikoristannya N-gram

Tabiiy tilni qayta ishlash sohasida N-grammalar asosan xalqaro modellar asosida tarjima qilish uchun ishlatiladi. N-gram modeli qolgan N-gram so'zining imkoniyatini aniqlaydi, chunki biz hamma narsani oldindan bilamiz. Modellashtirish uchun ushbu yondashuvdan foydalanganda, til teri so'zining ko'rinishi oldingi chiziqlardan biroz yuqoriroq bo'lishi uchun o'tkaziladi.

Aks holda, N-grammlardan foydalanish plagiat belgisidir. Matnni n-gramm bilan ifodalangan bir qancha kichik bo'laklarga bo'lish orqali ularni osongina bir-biri bilan solishtirish mumkin va shu bilan boshqariladigan hujjatlarning o'xshashlik darajasini olib tashlash mumkin. N-grammasi ko'pincha matn va tilni turkumlash uchun muvaffaqiyatli ishlatiladi. Bundan tashqari, ular matn ma'lumotlaridan bilim olish imkonini beruvchi ijodiy funktsiyalar uchun ishlatilishi mumkin. N-grammasidan foydalanib, so'zlarni imlo imtiyozlari bilan almashtirish uchun nomzodlarni samarali topishingiz mumkin.

Googlening so'nggi tadqiqot loyihalari

Ilgari Google tadqiqot markazlari keng ko'lamli tadqiqot va ishlanmalar uchun N-gram modellarini ishlab chiqdi. Bular qatoriga bir tildan boshqa tilga statistik tarjima, tilni aniqlash, imloni tuzatish, maʼlumot olish va boshqa koʻplab loyihalar kiradi. Ushbu loyihalarning maqsadlari uchun korpus matnlari trillionlab so'zlarni o'z ichiga olgan.

Google o'zining bosh qarorgohini qurishga qaror qildi. Loyiha Google teracorpus deb ataladi va noqonuniy kirish mumkin bo'lgan veb-saytlardan to'plangan 1 024 908 267 229 so'zni o'z ichiga oladi.

n-gramm olish usullari

Turli vazifalar uchun N-grammalarning qisman almashtirilishi munosabati bilan ularni matndan ajratib olish uchun ishonchli va moslashuvchan algoritm talab qilinadi. N-grammlarni ajratib olish uchun qo'shimcha vosita cheklanmagan hajmdagi matn bilan ishlash, ma'lumotlarni qayta ishlash va mavjud resurslardan samarali foydalanish qobiliyati bilan bog'liq. Matndan N-gramm olishning bir qancha usullari mavjud. Ushbu usullar turli printsiplarga asoslanadi:

Eslatmalar

Div. shuningdek


Wikimedia fondi. 2010 yil.

  • n-tv
  • N-kaderin

Boshqa lug'atlarda "N-gram" nima ekanligiga hayron bo'ling:

    Gram- (frantsuzcha Gramme, yunoncha Gramma guruch). Odinitsa frantsuz. vago = vago 1 kub santimetr distillangan suv = 22,5 shudring. qismlar. Rus tilidagi omborga etib kelgan xorijiy so'zlarning lug'ati. Chudinov A.N., 1910. Frantsiyadagi tinchlikning GRAM birligi... Rus tilidagi xorijiy so'zlar lug'ati

    gramm- gramm, tahrir. pl. gramm va qabul qilinadigan (raqamlilardan keyin odatiy promoda) gramm. Yuz g (gramm). Yangi shaklni himoya qilish uchun o'qing. edminka mn. Gramlar soni mashhur rus tili yozuvchisi K. Chukovskiy tomonidan kiritilgan. U "Hayot kabi yashash" kitobida nima yozgan: ... Hozirgi rus tilidagi qiyin so'zlar va so'zlar lug'ati

    Gram- GRAM, gramma, odam. (yunoncha grammatika belgisi, lettera). Metrik tizimdagi suvning asosiy birligi 1 kub santimetr suvga teng. Bir gramm 1/400 funtga yaqin. ❖ Gram atom (jismoniy) - atom vazasidan kattaroq bo'lgan nutq grammlari soni. Ushakovning Tlumachny lug'ati

    gramm rentgenogrammasi- gramm rentgen/n, gramm rentgen/na, ed. pl. gramm rentgen va gramm rentgen ... Yaxshi. Okremo. Defis orqali.

    gramm- Gram, bu oddiy so'zni lug'atga hech qanday bahona keltirmasdan ishlatsa bo'lardi, go'yo ikkita shart bo'lmagandek; Birinchidan, agar siz mutlaqo to'g'ri tilingizni ko'rsatishni istasangiz, do'konga kelganingizda, sotuvchidan to'g'ri so'zni so'rang: Menga ikki yuz gramm salom bering (emas... ... Rus tilida kechirim lug'ati

    GRAM-ATOM- GRAM ATOM, elementning miqdori, grammdagi massasi uning ATOM MASSASIGA o'xshaydi. U SI mole tizimining birligi bilan almashtirildi. Masalan, bir gramm suv atomi (H, atom massasi = 1) bir grammga teng. b>GRAM EKVIVALENT, grammda vaga... ... Ilmiy-texnik entsiklopedik lug'at

    Gram- GRAM, ah, tahrir. pl. gramm va gramm, odam. Kirishning o'ninchi tizimidagi bir massa, kilogrammning mingdan bir qismi. Bir gramm ham (yo'q) hech narsa (diskordant) nitrox, umuman emas. Bu odamlarda vijdon yo'q. | qo'shish. gramm, oh, oh. Tlumachny...... Ozhegovning Tlumachny lug'ati

    gramm- A; pl. ed. gramm va gramm; m [frantsuzcha] gramm] Metrik tizimdagi massa birligi, kilogrammning mingdan bir qismi. ◊ Temir grammi yoʻq. Anitrohi, umuman etarli emas. Kimda L. Bir zum ham yolg'on emas. Hech kimda zarracha ham vijdon yo'q. * * * gramm (frantsuz ... Ensiklopedik lug'at

    Gram Zenob Teofil- (Gramme) (1826-1901), elektrotexnika muhandisi. Belgiyada tug'ilgan, Frantsiyada tug'ilgan. Halqa armaturali amaliy elektr generatoriga patent olgan (1869). Elektr mashinalarining sanoat ishlab chiqarishida uxlab qolgan. * * * GRAM Zenob... ... Ensiklopedik lug'at

    gram-atom- grammdagi nutq miqdori, son jihatdan atom massasiga teng. Ushbu atamadan foydalanish tavsiya etilmaydi. Bizda kuyalarda juda ko'p nutq mavjud. * * * GRAM ATOM GRAM ATOM, grammdagi nutq miqdori uning atom massasidan son jihatidan kattaroqdir (bo'lim ... Ensiklopedik lug'at

    gramm molekulasi- grammdagi nutq miqdori, son jihatdan uning molekulyar og'irligiga teng. Ushbu atamadan foydalanish tavsiya etilmaydi. Bizda kuyalarda juda ko'p nutq mavjud. * * * GRAM MOLEKULASI GRAM MOLEKULASI, grammdagi nutq miqdori son jihatdan yo...ga teng. Ensiklopedik lug'at

Windows 7