Нэмэлт үсгүүдэд зориулсан програм n грамм. N-грамм. n-граммыг олж авах арга

Эдгээр алгоритмуудыг хөшигний ард үл мэдэгдэх текст хайхад ашигладаг бөгөөд жишээлбэл, текст засварлагч, баримт бичгийг шалгах програм эсвэл хөшигний ард хайхад зориулсан вэб хөтчүүдэд ашиглаж болно. Өмхий үнэр нь текстийн цаашдын боловсруулалтад саад учруулахгүй боловч мэдээллийн тасралтгүй урсгалаар урсаж болно.

Шугаман хайлт

Өгөгдсөн хэмжигдэхүүнийг (жишээ нь, Левенштейн хэмжүүр) оролтын бичвэрт дараалан тодорхойлоход хангалттай. Хэмжээ нь харилцан адилгүй байх үед энэ арга нь роботын оновчтой хурдыг бий болгох боломжийг олгодог. Ale хэнтэй илүү байдаг к, ажлын цаг нэмэгдэх тусам нэмэгдэнэ. Цагийн тооцоо нь асимптотик байна - О(kn).

Битап (мөн Shift-Or эсвэл Baeza-Yates-Gonnet гэгддэг, Ву-Манберийн өөрчлөлт)

Алгоритм БитапМөн индексжүүлэлтгүйгээр бүдэг хайлт хийхэд янз бүрийн өөрчлөлтүүдийг ихэвчлэн ашигладаг. Энэ хувилбарыг жишээлбэл, Unix хэрэгсэл agrep-д ашигладаг бөгөөд түүний функц нь стандарт grep-тэй төстэй боловч хайлтын үгэнд нэмэлт мэдээлэл оруулан, байнгын оруулгуудыг зогсонги байдалд оруулах боломжтой гэж найдаж байна.

Хэний алгоритмыг аваргууд анх дэлгэрүүлсэн Рикардо Баеза-Йейтсі Гастон Гоннет, 1992 онд тусдаа нийтлэл хэвлүүлсэн.
Алгоритмын анхны хувилбар нь зөвхөн тэмдэгт орлуулалтаас бүрдэх бөгөөд үнэн хэрэгтээ орлуулалтыг тооцдог. Хэминг. Гурван рублийн дараа Сун Вуі Уди Манбердэд хэсгийг тооцоолох энэхүү алгоритмын өөрчлөлтийг нэвтрүүлсэн Левенштейн, дараа нь. Тэд оруулах дэмжлэгийг нэмсэн бөгөөд үүний үндсэн дээр agrep хэрэгслийн анхны хувилбарыг бүтээжээ.






Үр дүнгийн утга

Де к- урамшууллын тоо, j- Тэмдэгтийн индекс, с x - тэмдгийн маск (маск дээр нэг битийг оруулга дахь энэ тэмдгийн байрлалд тохирох байрлалд эргүүлнэ).
Оролтын зугтах буюу тусгаарлалтыг үүссэн R векторын үлдсэн битээр илэрхийлнэ.

Роботын алгоритмын өндөр хурдыг бит параллелизмын тооцоогоор хангадаг - нэг үйлдлээр 32 ба түүнээс дээш битийг нэгэн зэрэг тооцоолох боломжтой.
Энэ тохиолдолд өчүүхэн хэрэгжүүлэлт нь 32-аас дээш хоёр, гурван дуу чимээгээр дэмжигддэг. Энэ харилцан холболтыг стандарт төрлийн өргөнөөр тодорхойлно. int(32 битийн архитектур дээр). Та том хэмжээсийн төрлийг сонгож болохоос гадна алгоритмыг сайжруулж болно.

Алгоритмын хувьд асимптотик цагтай хүмүүсээс үл хамааран О(kn)Энэ шугаман аргыг хэрэглэхээс зайлсхий, урт гүйлт, олон тооны гүйлтээр илүү хурдан байх болно к 2-оос дээш.

Туршилт хийх

Туршилтыг 3.2 сая үгтэй текст дээр хийсэн бөгөөд дундаж үг нь 10 байна.
Нарийвчилсан хайлт
Хайлтын цаг: 3562 мс
Wikoristany дээр Levenshtein хэмжигдэхүүнийг хайх
Би нэг цаг хайна k=2: 5728 мс
Би нэг цаг хайна k=5: 8385 мс
Wu-Manber-ийн өөрчлөлттэй Bitap алгоритмыг хайж олоорой
Би нэг цаг хайна k=2: 5499 мс
Би нэг цаг хайна k=5: 5928 мс

Битап алгоритмын дагуу хэмжүүрүүдийн энгийн хайлт нь олон тооны алдаа гаргахад хүргэдэг нь ойлгомжтой. к.

Тим ч багагүй, хэрэв та агуу их хийрхлийн хувиршгүй бичвэрүүд дэх онигооны тухай ярихыг хүсвэл ийм текстийн эхний хэсгийг бөглөх замаар хошигнолын цагийг нэлээд богиносгож болно. Индексжүүлэх.

Индексжүүлсэн тодорхой бус хайлтын алгоритмууд (Оффлайн)

Индексжүүлэлт бүхий бүх бүдэг хайлтын алгоритмуудын онцлог нь индекс нь толь бичгийн ард, гаралтын текстийн ард эсвэл дурын мэдээллийн санд байгаа бичлэгийн жагсаалтын ард байх болно.

Эдгээр алгоритмууд нь асуудлыг шийдэхийн тулд янз бүрийн арга барилыг ашигладаг - зарим нь яг хайлтанд хүрэхийн тулд өгөгдлийг ашигладаг, бусад нь орон зайн өөр өөр бүтцийг тодорхойлохын тулд хэмжүүр ашигладаг гэх мэт.

Юуны өмнө гаралтын текстийн хажууд текст дэх үг, байрлалыг байрлуулах толь бичиг байх болно. Та хайлтын үр дүнгийн эрчмийг бууруулахын тулд үг, үгийн давтамжийг сайжруулж болно.

Толь бичгийн нэгэн адил энэ индекс бүхэлдээ оньсого зориулагдсан гэж мэдээлсэн.

Толь бичгийн тактик, техникийн шинж чанар

  • Гаралтын текст - Мошковын номын сангийн 8.2 гигабайт материал (lib.ru), 680 сая үг;
  • Толь бичгийн хэмжээ 65 мегабайт;
  • Үгийн тоо - 3.2 сая;
  • Үгийн дунд довжина 9.5 тэмдэгт;
  • Үгийн дундаж квадрат dovzhina (тодорхой алгоритмыг үнэлэхэд тухтай байж болно) - 10.0 тэмдэгт;
  • Цагаан толгой - A-Z агуу үсэг, Е-гүй (тодорхой үйлдлийг хялбарчлахын тулд). Тэмдэгт нь цагаан толгойд ороогүй үгсийг толь бичигт оруулаагүй болно.
Тексттэй холбоотой үгсийн сангийн хэмжээ нь нарийн шугаман биш юм - өдрийн эцэс хүртэл үгсийн үндсэн хүрээ үүсдэг бөгөөд энэ нь 500 мянган үгэнд 15%, 5 саяд 5% болж, дараа нь гүн болно. Гадаад хэл рүү хандах хандлага нь мэдэгдэхүйц буурч, 6 сая үг тутамд 0.5% хүрдэг. Өсөлтийг цаашид хадгалах нь ховор үгсийн тусламжтайгаар улам бүр баталгаажих болно.

Сонголтыг өргөжүүлэх алгоритм

Энэ алгоритм нь үг үсгийн сангийн хэмжээ бага, ажлын уян хатан байдал нь гол шалгуур болдоггүй зөв бичгийн алдаа шалгах системд (эсвэл зөв бичгийн алдаа шалгагч) ихэвчлэн гацдаг.
Энэ нь тодорхойгүй хайлттай холбоотой өмнөх асуудал дээр үндэслэсэн бөгөөд нарийн хайлттай холбоотой асуудал юм.

Өдрийн төгсгөлд толь бичгээс нарийн хайлт хийх тодорхой үгс байхгүй болно.

Түүний ажлын цаг бол к үсгийн тоо хүртэл хэвтээд, А цагаан толгойн хэмжээг дарж, толь бичгийн хоёртын хайлт нь:

Жишээлбэл, хэзээ k = 1Мөн 7-р зууны үеийн үгс (жишээ нь, "Матар") орос цагаан толгойн үсэггүй 450 орчим хэмжээтэй байх тул толь бичгийн өмнө 450 үг бий болгох шаардлагатай байгаа нь маш таатай байна.
Ale аль хэдийн зориулагдсан k = 2Ийм олон талт байдлын хэмжээ нь 115 мянга гаруй сонголт болж байгаа нь жижиг үгсийн санг бүрэн хайхыг харуулж байна, эсвэл бидний сонголтын 1/27, тиймээс ажлын цаг их байх болно. Энэ тохиолдолд эдгээр үгс бүрийн хувьд толь бичгээс яг тохирохыг хайх шаардлагатай гэдгийг мартаж болохгүй.

онцлог:
Алгоритмыг нэмэлт дүрэм ашиглан санамсаргүй хувилбаруудыг үүсгэхийн тулд хялбархан өөрчилж болох бөгөөд үүнээс гадна толь бичигт нэмэлт боловсруулалт хийх шаардлагагүй, улмаар нэмэлт санах ой шаарддаг.
Боломжит өнгө:
Бүх утгагүй үгсийг биш, зөвхөн бодит нөхцөл байдалд тохирох хамгийн их магадлалтай үгсийг, тухайлбал зөв бичгийн дүрмийн өөрчлөлт, багц бүхий үгсийг үүсгэх боломжтой.

Энэхүү шинэ бүтээлийн арга нь удаан хугацааны туршид бий болсон бөгөөд хамгийн өргөн хэрэглэгддэг, учир нь түүний хэрэгжилт нь маш энгийн бөгөөд сайн бүтээмжийг баталгаажуулдаг. Алгоритм нь дараахь зарчим дээр суурилдаг.
"Олон өршөөлийн шийдвэрийн улмаас А гэдэг үг Б үгнээс зайлсхийвэл тэд Н-ийн өмнө нэг тамын хэрүүл хүсэх нь гарцаагүй."
Эдгээр N-ийн дэд тушаалуудыг N-грамм гэж нэрлэдэг.
Индексжүүлэлтийн цагт үгийг ийм N-граммд хувааж, дараа нь үгийг эдгээр N-грамм бүрийн жагсаалт болгон бууруулна. Өдрийн төгсгөлд хайлтын асуулга нь N-граммд хуваагддаг бөгөөд тэдгээрээс ийм дарааллыг орлуулах үгсийн жагсаалт руу дараагийн хайлтыг хийдэг.

Практикт хамгийн их ашиглагддаг trigrams нь dovzhin захиалга юм 3. илүү том утгыг сонгох нь өршөөлийг тодорхойлох боломжтой бол хамгийн бага dovzhina үгийг солилцоход хүргэдэг.

онцлог:
N-грамын алгоритм нь өршөөл үзүүлэх боломжтой үгсийг байнга мэддэг. Жишээлбэл, VOTKA гэдэг үгийг аваад триграммд хуваая: IN Т KA → VO Ттухай ТӨмнө нь ТКА - тэд бүгд Т-ээс өшөө авах болно гэдгийг та анзаарч болно. Ийм байдлаар та эдгээр триграм бүр дээр өшөө авч чадахгүй бол "TOWN" гэсэн үг олдохгүй бөгөөд чи тэднийг алдахгүй. тэдний жагсаалтаас. Ийм маягаар, шинэ үгэнд цөөн үг, олон үг байх тусам жагсаалтын хамгийн чухал N-граммыг дэмий үрэхгүй байх магадлал өндөр бөгөөд үр дүн гарахгүй.

Өнөө үед N-gram арга нь хангалттай хүч чадал, нарийн төвөгтэй байдлын хэмжүүрийг сонгоход илүү их зай эзэлдэг боловч та үүнийг төлөх шаардлагатай болдог - энэ өөрчлөлтийн хувьд толь бичгийн 15 орчим хувийг тогтмол хайх шаардлагагүй болно. дараа нь алдаа авахын тулд маш чухал толь бичгүүдэд.

Боломжит өнгө:
Та N-грамын хэш хүснэгтийг үг болон N-грамын байрлалд үндэслэн хувааж болно (өөрчлөлт 1). Ярианы төгсгөлтэй адил үүнийг дахин давтаж болохгүй к, мөн үг дэх N-грамын байрлалыг k-д хувааж болно. Мөн та үгийн N граммын байрлалд тохирох хүснэгтийг шалгаж, муу ёрын болон баруун гартны ширээ рүү очих хэрэгтэй. бүх зүйл 2к+1Шүүхийн ширээ.

Хүснэгтүүдийг сүүлчийн үгээр нь хувааж, бусад үг хэллэгийг үүнтэй адилаар хянаж үзэхэд шаардлагатай олон тооны хэмжээг бага зэрэг өөрчилж болно. 2к+1хүснэгт (өөрчлөлт 2).

Энэ алгоритмыг Л.М.Бойцовын нийтлэлд тайлбарласан болно. "Гарын үсэгтэй Хэшування." Энэ нь хэш хүснэгт дэх хэш (гарын үсэг) гэж тайлбарлагддаг битийн зэрэглэлийн хэлбэрээр үгийн "бүтэц" -ийг тодорхой харуулсан дээр үндэслэсэн болно.

Индексжүүлэх явцад ийм хэшийг үг бүрээр тооцдог бөгөөд хүснэгтэд тухайн хэшийн үгсийн сангийн үгсийн жагсаалттай харьцах харьцааг тэмдэглэнэ. Дараа нь өдрийн төгсгөлд хэшийг тооцоолж, бүх хэшийг дахин давтах ба үр дүнд нь k битээс ихгүй гаралт гарна. Эдгээр хэш бүрийн хувьд ижил төстэй үгсийн жагсаалтыг хайдаг.

Хэшийг тооцоолох үйл явц - хэшийн бит бүрт цагаан толгойн тэмдэгтүүдийн бүлэг оноогдсон. Бит 1 байрлал дээр бихэш гэдэг нь гаралтын үг нь тэмдэгтэй байна гэсэн үг i-рцагаан толгойн бүлгүүд. Үг дэх үсгийн дараалал нь ямар ч утгагүй юм.

Нэг тэмдэгтийг хасах эсвэл хэш утгыг өөрчлөхгүй байх (цагаан толгойн ижил бүлгийн тэмдэгтүүд алдагдсан тул) эсвэл харгалзах бүлэг битүүд 0 болж өөрчлөгдөнө. Оруулах үед үүнтэй адилаар эсвэл нэг битийг 1 болгож тохируулна. ямар ч өөрчлөлт гарахгүй. Тэмдэгтүүдийг солих үед бүх хэсгүүд нь илүү төвөгтэй байдаг - хэш нь өөрчлөгдөхгүй эсвэл 1 эсвэл 2 байрлалд өөрчлөгдөж болно. Өдөр тутмын өөрчлөлтийг өөрчлөх үед үүнийг санахгүй байгаа тул урьд өмнө тэмдэглэсэн шиг хэш оруулах үед тэмдэглэгээний дараалал хадгалагдаагүй болно. Энэ мэтчилэн k өршөөлийг бүрэн хамрахын тулд аль болох бага өөрчлөх шаардлагатай байна Хэш дээр жаахан.

Ажлын цаг, дундуур, k "зөрчил" (оруулга, устгасан, шилжүүлэг, түүнчлэн орлуулалтын бага хэсэг) залруулга:

онцлог:
Нэг тэмдэгтийг солих үед хоёр битийг нэг дор өөрчлөх боломжтой байдаг тул жишээ нь нэг удаад 2-оос илүүгүй битийг холих алгоритм нь утгыг (In-д хадгалагдсан) байгаагаар үр дүнг харах боломжгүй юм. цагаан толгойн хэшийн хэмжээтэй хамаарал) хоёр орлуулалттай үгсийн хэсгүүд (мөн хэш хэмжээ том байх тусам тэмдэгтийг солих нь хоёр битийн хослолыг шаарддаг бөгөөд үр дүн нь тогтмол биш байх болно) . Түүнчлэн, энэ алгоритм нь угтвар хайлтыг зөвшөөрдөггүй.

BK моднууд

Мод Бурхард-Келлер- метрийн мод, ийм модны алгоритмууд нь гурвалжингийн тогтворгүй байдлыг харуулах хэмжүүрийн хүч дээр суурилдаг.

Энэ хүч нь хэмжүүрүүд нь хангалттай хэмжээний хэмжигдэхүүнүүдийн орон зайг үүсгэх боломжийг олгодог. Ийм хэмжигдэхүүн зай нь ачаалал ихтэй байдаггүй Евклиджишээлбэл, хэмжүүр Левенштейні Дамерау-Левенштейнбатлах евклидийн бусзай. Эдгээр эрх мэдэлд үндэслэн Баркхард-Келлер мод гэх мэт хэмжигдэхүүнтэй холбоотой өгөгдлийн бүтцийг дүгнэж болно.

Сайжруулалт:
Та тодорхой хэмжүүрийг ашиглан хил хязгаараас зайг тооцоолохдоо дээд хязгаарыг тохируулах боломжтой бөгөөд энэ нь дээд талын дээд цэг хүртэлх хамгийн их зай ба түүнээс гарах зайтай тэнцүү бөгөөд энэ нь үйл явцыг бага зэрэг хурдасгах боломжийг олгоно.

Туршилт хийх

Туршилтыг Intel Core Duo T2500 (2GHz/667MHz FSB/2MB), 2Gb RAM, OS – Ubuntu 10.10 Desktop i686, JRE – OpenJDK 6 Update 20 бүхий зөөврийн компьютер дээр хийсэн.

Туршилтыг Дамерау-Левенштейн станцад хийсэн бөгөөд хэд хэдэн буулт хийсэн k = 2. Толь бичгээс авсан мэдэгдлийн индексийн хэмжээ (65 MB).

Индексийн хэмжээ: 65 MB
Хайлтын цаг: 320 мс / 330 мс
Үр дүнгийн давтагдах чадвар: 100%

N-грамм (эх хувь)
Индексийн хэмжээ: 170 MB
Индекс нээх цаг: 32 сек
Хайлтын цаг: 71 мс / 110 мс
Үр дүнгийн давтагдах чадвар: 65%
N-грамм (өөрчлөлт 1)
Индексийн хэмжээ: 170 MB
Индекс нээх цаг: 32 сек
Хайлтын цаг: 39 мс / 46 мс
Үр дүнгийн давтагдах чадвар: 63%
N-грамм (өөрчлөлт 2)
Индексийн хэмжээ: 170 MB
Индекс нээх цаг: 32 сек
Хайлтын цаг: 37 мс / 45 мс
Үр дүнгийн давтагдах чадвар: 62%

Индексийн хэмжээ: 85 MB
Индекс нээх цаг: 0.6 сек
Хайлтын цаг: 55 мс
Үр дүнгийн давтагдах чадвар: 56.5%

BK моднууд
Индексийн хэмжээ: 150 MB
Индекс үүсгэх хугацаа: 120 сек
Хайлтын цаг: 540 мс
Үр дүнгийн давтагдах чадвар: 63%

Хамтдаа

Индексжүүлсэн ихэнх бүдэг бадаг хайлтын алгоритмууд нь үнэхээр дэд шугаман биш (тиймээс асимптотик ажлын цаг байж болно) O(лог n)эсвэл түүнээс доош), мөн тэдгээрийн урвуу чанар нь дундуур байхыг шаарддаг Н. Цаг хугацаа бага биш, олон тооны сайжруулалт, нэмэлт судалгаа нь толь бичгүүдийн томоохон үүргийг ч хангалттай богино хугацаанд гүйцэтгэх боломжийг олгодог.

Төрөл бүрийн, үр дүнгүй аргууд дутмаг, бусад зүйлсийн дотор янз бүрийн, аль хэдийн зогсонги байдалд орсон техник, хандлагыг тухайн сэдэвт дасан зохицох үндэс суурь болдог. Ийм аргуудын дунд угтвар модыг (Trie) дасан зохицох нь бүдэг бадаг санааг бий болгох явдал бөгөөд энэ нь үр ашиг багатай тул хүндэтгэлийн байр сууриа алдах болно. Анхны хандлагууд дээр суурилсан алгоритмууд байдаг, жишээлбэл, алгоритм Маасса-Новак, энэ нь дэд шугаман асимптотик ажлын цаг байж болох ч ийм цагийн тооцооллын ард байгаа том тогтмолуудын улмаас туйлын үр дүн муутай бөгөөд энэ нь том индекс хэлбэрээр гарч ирдэг.

Бодит хайлтын системд бүдэг бадаг хайлтын алгоритмыг практикт ашиглах нь дуудлагын алгоритм, лексик ишний алгоритмтай нягт холбоотой байдаг - ижил үгийн өөр өөр үгийн үндсэн хэсгийг харах (жишээлбэл, ийм функцийг Сноуболл болон Yandex mystem-ээр хангадаг). түүнчлэн статистик мэдээлэлд суурилсан зэрэглэл, эсвэл төрөл бүрийн нарийн төвөгтэй, боловсронгуй хэмжигдэхүүнтэй.

  • Левенштейн үзэл бодол (өөр болон угтвар хувилбартай);
  • Видстан Дамерау-Левенштейн (өөр болон угтвар хувилбартай);
  • Битап алгоритм (Shift-OR/Shift-AND Wu-Manber-ийн өөрчлөлттэй);
  • Түүвэрлэлтийн өргөтгөлийн алгоритм;
  • N-грамын арга (эх болон өөрчлөлттэй);
  • Гарын үсгээр хэш хийх арга;
  • BK мод.
Би кодыг ойлгоход хялбар, практик хэрэглээнд илүү үр дүнтэй болгохыг хүсч байна. JVM-ээс үлдсэн шүүсийг гаргаж авах нь миний төлөвлөгөөний нэг хэсэг биш байсан. Сайхан амраарай.

Энэ үйл явцыг судлах явцад би индексийн хэмжээг боломжийн нэмэгдүүлэх эрэл хайгуулыг хурдасгах, хэмжигдэхүүнийг сонгох эрх чөлөөний солилцоог хурдасгах боломжийг бий болгосон гэдгийг тэмдэглэх нь чухал юм. Гэхдээ энэ бол огт өөр түүх юм.

Семантик цөм

Өнөөгийн бодит байдалд сайтын алсын харааг амжилттай хөгжүүлж, нэмэгдүүлэхийн тулд семантик цөмийг аажмаар өргөжүүлэх шаардлагатай байна. Өрсөлдөгчдөөс түлхүүр үг цуглуулах нь өргөжүүлэх хамгийн сайн арга замуудын нэг юм.

Өнөөдөр өрсөлдөгчдийн семантикийг ялгахад хэцүү байдаг, учир нь... Төлбөртэй, үнэ төлбөргүй хэд хэдэн үйлчилгээ байдаг.

Муургүй хүмүүсийн жагсаалт:

- megaindex.ru - "Сайтын харагдах байдал" хэрэгсэл

- xtool.ru - сайтын эрэмбэлсэн түлхүүр үгсийг харуулдаг бүх нийтийн үйлчилгээ

Төлбөртэй хүмүүсийн жагсаалт:

- spywords.ru - Yandex болон Google-д тохиромжтой

- semrush.ru - зөвхөн Google-ийн дагуу чиг баримжаа

- prodvigator.ua - spywords.ru-ийн Украины аналог

Үйлчилгээнээс гадна та гарчиг, тайлбарыг n-граммд хуваарилах үндсэн дээр гарын авлагын аргыг ашиглаж болох бөгөөд үүний үр дүнд гаралт нь хэллэгийн нэмэлт жагсаалт болно.

N-грам - n элементийн дараалал. Үнэн хэрэгтээ N-грамм нь доод түвшинд илүү хурц байдаг. Дараагийн хоёр элементийн дарааллыг ихэвчлэн нэрлэдэг биграма, гурван элементийн дарааллыг гэж нэрлэдэг триграм. Дөрөв ба түүнээс дээш элементийг N-грам гэж тэмдэглэсэн бөгөөд энэ нь N-г хэд хэдэн дараагийн элементүүдээр сольсон гэсэн үг юм.

Техникийг алхам алхмаар авч үзье.

- Өрсөлдөгчдийн нэрийг (тодорхойлолт) амилуулах. Та Screaming Frog SEO програмын талаар нэмэлт тусламж авах боломжтой.

- Текст засварлагч нь хэлний үйлчилгээний хэсгүүд, хуваах тэмдэгтүүд болон бусад зүйлс гэх мэт хамгийн сүүлийн үеийн цэвэр жагсаалттай. Би "хайх ба солих" функцийг гайхалтай текст засварлагчийн (ctrl+H товч) энгийн илэрхийлэлтэй ашиглаж байна:

— Бид шаардлагатай n-граммыг сонгож, давтамжийг дор хаяж нэг болгон тохируулна. Хамгийн сайн сонголт бол триграмм ба 4 грамм юм:

- Бид шууд үр дүнгээс татгалзаж болно:

Зуухнуудтоолохдавталтын тоог харуулнаn- грамм, зуухдавтамж -Давтамжn- грамми.

Бид хэллэгүүдийн жагсаалтыг сонгосны дараа бид үүнийг шинжилж, семантик цөмийг өргөжүүлэхийн тулд холбогдох түлхүүр үгсийг сонгох хэрэгтэй. Тайланг манай блогын тусгай хэсгээс олж болно.

Асуултуудыг бүлэглэх

Өрсөлдөгчдийн семантик цөмийг хэрхэн бүлэглэж байгааг ойлгох нь маш чухал юм, учир нь Энэ нь сайтын хуудсан дээрх гол хэллэгүүдийг зөв хуваарилахад тусалдаг.

Энэ зорилгоор бид асуулгын шинэ жагсаалтыг гаргасны дараа бид өрсөлдөгчдийн холбогдох хуудас, байр суурийг сонгох хэрэгтэй (та seolib.ru ашиглаж болно), дараа нь тэдгээрийг манай бүлэглэлүүдтэй харьцуулах хэрэгтэй. Өрсөлдөгч нь сайн байр суурь эзэлдэг нь тодорхой бөгөөд энэ тохиолдолд бүлэглэл нь манайхаас ялгаатай (жишээлбэл, өрсөлдөгч өөр өөр талдаа хуваагддаг, бид бас нэг дээр суух ёстой) зах зээлийн эзлэх хувийг нэмэгдүүлэх шаардлагатай байна. Вэбсайтынхаа буух хуудсуудыг харна уу.

Тэр өрсөлдөгчийн сэтгэцийн сайтыг бүлэглэх жижиг өгзөгийг харцгаая.

Хүснэгтээс харахад site.ru вэбсайт нь бүх түлхүүр үгсийн нэг буух хуудастай. Өрсөлдөгч нь эдгээр асуулгад зориулж өөр өөр сайтуудыг эрэмбэлж, TOP буюу ТОП-д ойрхон байр суурийг эзэлдэг. Эндээс харахад та site.ru дээрх бүлэглэлийг анхаарч үзэх хэрэгтэй бөгөөд "фасад" гэсэн үг бүхий гол хэллэгүүдийн хажуугийн хуудсыг үүсгэх хэрэгтэй гэсэн дүгнэлтэд хүрч болно.

Текстийн тод байдал

Юуны өмнө, өрсөлдөгчийн текстийн дүн шинжилгээнд анхаарлаа хандуулах нь чухал боловч агуулахын хэмжээ их хэмжээгээр биш (текстэд орсон оролтын тоо ч бас), гэхдээ тодорхой бөгөөд утга учиртай байх нь чухал юм. Өрсөлдөгч, хэрхэн ажиллах талаар надад хүргэх шаардлагатай мэдээлэл.

Багцыг нь харцгаая.

Та текстийн үндсэн хуудсанд тасалбар хүргэж, тэдний шинэлэг байдлыг баталгаажуулах ажлыг хийж магадгүй юм. Жишээлбэл, иймэрхүү:

Хүргэлтийн үйлчилгээсайт. ruхүйтний улиралд баглааг хэмнэх баталгаа өгдөг.

Мөн өрсөлдөгчдийн нэгний өгзөг тэнхлэг:

Анхилуун үнэртэй найрлага хийх нь бидний хувьд хялбар байдаг, учир нь тасалбарын шинэхэн эсэх нь эргэлзээгүй тул бид пенни 100% буцааж өгөхийг баталгаажуулдаг.

Өрсөлдөгчийн баталгаа нь хийсвэр баталгаа гэхээсээ илүү утга учиртай бага үнээр баталгааждаг.

Өөр нэг жишээг харцгаая - онлайн дэлгүүрийн "керамик хавтан" ангиллын хуудсан дээрх текст:

Энэ текст нь ямар ч korisnogo семантик утгыг, sutіlna ус авч явах биш юм. Сайт руу орж, худалдан авалт хийх шийдвэр гаргасан хүн бүтээгдэхүүний давуу тал, боломжит тохиргооны талаар мэдэхийг хүсч байгаа бол бүх зүйл дээр тэмдэгтүүдийг бичих явдал гардаг.

Одоо өрсөлдөгчийн бичвэрийг гайхшруулъя:

Энэ бичвэр бор өнгөтэй, учир нь... хавтангийн олон талт байдлын талаар товч мэдээлэл өгч, хэрхэн зөв сонгохыг ойлгоход тусална.

Ингэснээр та өрсөлдөгчдийнхөө бичвэрийг өөрийн тексттэй харьцуулж, техникийн үзүүлэлтүүдийг нэгтгэхэд хуулбар зохиогчдод туслах олон хэрэгтэй мэдээллийг гаргаж авах боломжтой.

Текстүүдийн хамаарал

Текстийн сэдвийг үргэлжлүүлэхийн тулд тэдгээрийн хамаарлыг онцлохгүй байхын аргагүй юм. Өнөөдөр текст хамааралтай байхын тулд түлхүүр үг оруулах нь хангалтгүй юм. Хуудасны хамаарлыг нэмэгдүүлэх, текстийг спам болгохгүйн тулд та сэдэвтэй холбоотой үгсийг сонгох хэрэгтэй.

Хайлтын текстийн тексттэй хамаарлыг үнэлж хайлтын систем нь текстийг орлуулахад ашигладаг түлхүүр үг, нэмэлт үгс байгаа эсэхийг шинжилдэг. Жишээлбэл, хэрэв бид зааны тухай бичвэр бичиж байгаа бол "их бие", "соёо", "байгаль", "амьтны хүрээлэн" гэсэн үгсийг холбож болно. Хэрэв текст бишопын тухай байгаа бол дараах үгс нь: хэсэг, чек, хатан гэх мэт байх болно.

Та өрсөлдөгчдийнхөө бичвэрүүдээс асуусан асуултуудад тохирох хамгийн тохиромжтой жагсаалтыг олох боломжтой. Та яагаад дараах алхмуудыг хийх шаардлагатай байна вэ?

— Бид ЭМС-ын шаардлагатай оролтын дараа TOP-10-ын бүх текстийг янз бүрийн текст файлд хуулж авдаг.

— Текстүүдээс та хэлний үйлчилгээний хэсгүүд, цэг таслал, тоонуудыг харж болно (өмнө нь харав).

— Үгсийг эгнээнд оруулах — "хайх ба солих" функцийг ердийн хэллэгээр ашиглах. Орон зайг \n-ээр солино уу.

- Дараа нь бүх үгийн хэлбэрийг ердийн үгийн хэлбэрт (леми) оруулах шаардлагатай. Үүний тулд та https://tools.k50project.ru/lemma/ үйлчилгээг хурдан ашиглаж болно. Талбарт та файл тус бүрийн өгөгдлийн жагсаалтыг оруулах шаардлагатай бөгөөд "Lemetize and харуулах CSV хүснэгтэд" товчийг дарна уу. Үр дүн нь метжүүлсэн үгсээс 10 файл байж болно.

— Арьсны файлд үгийн давхардлаас харагдаж байна.

— Файлын үгсийг нэг жагсаалтад нэгтгэх.

- Одоо та давтамжийн толь бичиг үүсгэх хэрэгтэй. Үүний тулд жагсаалтыг https://tools.k50project.ru/lemma/ үйлчилгээнд нэмж, "CSV харагдах давтамжийн толь бичиг авах" дээр дарна уу.

- Бидний идэхэд бэлэн бүтээгдэхүүний жагсаалт:

Хэрэв давтамж нь 10 бол энэ нь бүх 10 сайт дээр, хэрэв 8 байвал зөвхөн 8 дээр гэх мэт үг vikorized гэсэн үг юм. Хамгийн их давтамжтай үгсийг сонгохыг зөвлөж байна, гэхдээ бараг давхцдаггүй үгсийн дунд та ашигтай шийдлүүдийг олох боломжтой.

Ийм энгийн аргаар та хуулбар зохиогчдын техникийн үзүүлэлтүүдийг эмхэтгэх сэдэвчилсэн үгсийн жагсаалтыг сонгож болно.

Өрсөлдөгчид бол сайтаа илүү оновчтой болгоход туслах мэдээллийн маш чухал эх сурвалж юм. Би энэ нийтлэлийг бүх талаас нь авч үзээгүй бөгөөд ойрын ирээдүйд өрсөлдөгчдөөсөө салгаж болох сайн зүйлсийн талаар бичих болно.

Мэдээллийн товхимолд бүртгүүлнэ үү

,

Харсан Н-граммууд нь орчин үеийн бодит байдлыг загвар бүтээн байгуулалт болгон тогтоодог. Загварын холбоосыг сонгосон Н-грамм ба албан ёсны дүрэм. Олон улсын загвар өмсөгчдийн харгис хэрцгий байдалтай холбоотой богино хугацаанд хүндэтгэл, үрэлт сэргэсэн.

Оруулна уу

Албан ёсны асуудлаа дуусгая. Дууны цагаан толгойн даалгавруудыг хийцгээе В.Т={wi), де wi- Тусгай бэлэг тэмдэг. Цагаан толгойн тэмдэгтүүдээс бүрдсэн тагтаа төгсгөлийн тал (мөр) байхгүй. В.Т, цагаан толгойн үсгээр минийх гэж нэрлэдэг В.Тмөн зааж өгсөн болно L(VT). Okremiy lanciuzhok z кино L(VT)Бид үүнийг миний хайр гэж нэрлэдэг. Таны зүрх сэтгэлд, Н-Абеци дахь грамму В.Тланзюжок довжина гэж нэрлэдэг Н. Н-Грам нь хэрвээ дараалсан эсвэл орохгүй бол ямар нэгэн үүрэг хариуцлагаас зайлсхийх боломжтой L(VT).

Бөөн бөгсөө онилъё Н- грамм.

3. , Н- Оросын грамм. // Лавлагааны цуглуулга.

4. Гланз.Анагаах ухаан, биологийн статистик Пров. англи хэлнээс хэвлэлээр. В. М., 1999.

5. Тайлбарлах хэл шинжлэл. Передмова Г.Глисоны "Дүрслэлийн хэл шинжлэлийн оршил" номонд. М., 1959 он.

6. Хэл шинжлэл нь онолын болон хэрэглээний шинж чанартай байдаг. М., 1968.

8. , Киноны автомат синтезийн үед түр зогсоох. // Шинжлэх ухааны судалгааны онол, практик. М. 1999.

9. Мински М.Танин мэдэхүйн үл мэдэгдэх оршихуй ба логик. // Гадаад хэл шинжлэлийн шинэ. VIP. XXIII. М., 1988.

10. Слобин Д., Ногоон Ж.Психолингвистик. М., 1976

11. Вирусын онол. М., 1972.

12. Фу До.Зургийг таних бүтцийн аргууд. М., 1977.

13. Харрис Т.Эпизод үйл явцын онол, яагаад халуун байдаг. М., 1966.

14. Brill E. and in.Цааш нь Н-грам: Хэл шинжлэлийн боловсронгуй байдал нь хэлний загварчлалыг сайжруулж чадах уу?

15. Бут Т.Албан ёсны хэлнүүдийн магадлалын төлөөлөл. // IEEE жилийн симп. Шилжүүлэгч ба автоматын онол. 1969 он.

16. Желинек Ф.Яриа танихын тулд өөрөө зохион байгуулсан хэлний загварчлал. // Яриа танин мэдэхүйн уншлага. 1989 он.

17. Жеlinek F., Лафферти Ж.Стохастик контекстгүй дүрмийн дагуу анхны дэд мөр үүсгэх магадлалыг тооцоолох. //Тооцооллын хэл шинжлэл, боть.

18. Харрис З.С.Бүтцийн хэл шинжлэлийн арга. Чикаго, 1951 он.

19. Лашли К.Зан үйлийн цуваа дарааллын асуудал. // Психолингвистик: Уншлагын ном, N. Y. 1961.

20. Шлезингер Э.Өгүүлбэрийн бүтэц, унших үйл явц. Моутон. 1968 он.

21. Шибер С.Байгалийн хэлээр харилцахын өмнөх эрх чөлөөний нотолгоо. // Хэл шинжлэл ба философи, боть.

22. Sola Pool I.Өнөөдрийн агуулгын шинжилгээний чиг хандлага. // Психолингвистик: Уншлагын ном, N. Y. 1961

23. Столке А., Сегал Ж.Стохастик контекстгүй дүрмийн Виришеня n-граммын магадлал. // ACL-ийн 32 дахь удаагийн хурлын эмхэтгэл. 1994 он.

Використання N-грамм

Загалне використання N-грамм

  • Сансар огторгуйгаас авсан дэлхийн хэд хэдэн хиймэл дагуулын зургийг бөөгнөрүүлэхийн тулд өгөгдлийг ашиглан дэлхийн аль хэсэг нь зураг дээр байгааг тодорхойлох;
  • генетикийн дарааллыг хайх,
  • Генетикийн чиглэлээр ямар тодорхой төрлийн амьтнаас ДНХ-ийн дээж цуглуулдаг болохыг тогтоох судалгаа хийгдэж байна.
  • компьютерийн гарт
  • Харгалзах N-грамаас дуу чимээтэй холбоотой индексжүүлсэн өгөгдлийг дуудна.

N-граммыг мөн байгалийн хэлний дээжид өргөн ашигладаг.

Байгалийн хэлний боловсруулалтын хэрэгцээнд зориулж Vikoristannya N-грамм

Байгалийн хэлний боловсруулалтын салбарт N-граммыг олон улсын загвар дээр үндэслэн орчуулахад голчлон ашигладаг. N-грамын загвар нь бид бүх зүйлийг урьдчилан мэддэг тул N-грамм үгийн үлдэх боломжийг тодорхойлдог. Загварчлалын хувьд энэ аргыг ашиглахдаа хэлийг шилжүүлж, арьсны үгийн дүр төрх нь урд талын шугамын яг дээр байрладаг.

Үгүй бол N-грамм ашиглах нь хулгайн шинж тэмдэг юм. Текстийг n граммаар илэрхийлсэн хэд хэдэн жижиг хэсгүүдэд хуваах замаар тэдгээрийг бие биетэйгээ хялбархан харьцуулж, хяналттай баримт бичгийн ижил төстэй байдлын түвшинг арилгах боломжтой. N-gram нь ихэвчлэн текст болон хэлийг ангилахад амжилттай хэрэглэгддэг. Нэмж дурдахад тэдгээрийг текстийн өгөгдлөөс мэдлэг олж авах боломжийг олгодог бүтээлч функцүүдэд ашиглаж болно. N-граммыг ашигласнаар та үг үсгийн алдаагаар солихын тулд нэр дэвшигчдийг үр дүнтэй олох боломжтой.

Google-ийн хамгийн сүүлийн үеийн судалгааны төслүүд

Google-ийн өмнөх судалгааны төвүүд өргөн хүрээний судалгаа, боловсруулалтад зориулж N-грамм загваруудыг боловсруулсан. Эдгээрт нэг хэлээс нөгөө хэл рүү статистик орчуулга хийх, хэл таних, зөв ​​бичгийн алдаа засах, мэдээлэл олж авах гэх мэт төслүүд багтана. Эдгээр төслүүдийн зорилгын үүднээс корпусын бичвэрүүдийг их наяд үг агуулсан байхаар ашигласан.

Google өөрийн төв байраа барихаар шийджээ. Төслийг Google teracorpus гэж нэрлэдэг бөгөөд хууль бусаар нэвтэрсэн вэбсайтуудаас цуглуулсан 1,024,908,267,229 үг агуулдаг.

n-граммыг олж авах арга

Төрөл бүрийн даалгаварт N-граммыг хэсэгчлэн орлуулахтай холбогдуулан тэдгээрийг текстээс гаргаж авахад найдвартай, уян хатан алгоритм шаардлагатай. N-граммыг задлах нэмэлт хэрэгсэл нь хязгаарлагдмал хэмжээтэй тексттэй ажиллах, өгөгдлийг боловсруулах, байгаа нөөцийг үр ашигтай ашиглах чадвартай холбоотой юм. Текстээс N-граммыг гаргаж авах хэд хэдэн арга байдаг. Эдгээр аргууд нь өөр өөр зарчим дээр суурилдаг:

Тэмдэглэл

Див. бас


Викимедиа сан. 2010 он.

  • n-tv
  • N-кадерин

Бусад толь бичигт "N-gram" гэж юу байдгийг гайхаж байна.

    Грам- (Франц Gramme, Грек Gramma будаа). Одиница Франц. vago = vago 1 шоо см нэрмэл ус = 22.5 шүүдэр. хэсгүүд. Орос хэлний агуулахад хүрсэн гадаад үгсийн толь бичиг. Чудинов А.Н., 1910. Франц дахь энхийн GRAM нэгж... Орос хэлний гадаад үгсийн толь бичиг

    грамм- грамм, ред. pl. грамм ба зөвшөөрөгдөх (тоонуудын дараа ердийн сурталчилгаанд) грамм. Нэг зуун гр (грамм). Шинэ маягтыг хамгаалахын тулд уншина уу. edmіnka mn. Граммын тоог орос хэлний нэрт зохиолч К.Чуковский танилцуулсан. Тэрээр "Амьдрал шиг амьдрах" номондоо юу гэж бичсэн бэ: ... Одоогийн орос хэл дээрх хэцүү үгс, үгсийн толь бичиг

    Грам- Грам, грамм, эрэгтэй. (Грек хэлээр дүрмийн тэмдэг, lettera). Метрийн систем дэх усны үндсэн нэгж нь 1 шоо см устай тэнцэнэ. Нэг грамм нь 1/400 фунттай ойролцоо байна. ❖ Грам атом (физик) нь атомын ваарнаас илүү настай ярианы граммын тоо. Ушаковын Тлумачный толь бичиг

    грамм рентген- грамм рентген/н, грамм рентген/на, ed. pl. грамм рентген болон грамм рентген ... Сайн байна. Окремо. Зураасаар.

    грамм- Грам, энэ энгийн үгийг толь бичигт ямар ч шалтаг тоолгүйгээр, хоёр нөхцөл байхгүй мэт хэрэглэж болно; Юуны өмнө, хэрэв та үнэхээр зөв хэлээ харуулахыг хүсч байвал дэлгүүрт очихдоо худалдагчаас зөвийг нь асуугаарай: Надад хоёр зуун грамм мэнд хүргэе (биш... ... Орос хэл дээрх өршөөлийн толь бичиг

    ГРАМ-АТОМ- ГРАМ АТОМ, элементийн тоо хэмжээ, граммаар илэрхийлсэн масс нь түүний атомын масстай төстэй. Үүнийг СІ мэнгэ системийн нэгжээр сольсон. Жишээлбэл, нэг грамм усны атом (H, атомын масс = 1) нь нэг граммтай тэнцэнэ. b>ГРАМ ТЭНЦҮҮЛЭГЧ, үүний граммаар вага... ... Шинжлэх ухаан, техникийн нэвтэрхий толь бичиг

    Грам- GRAM, аа, ред. pl. грамм, грамм, нөхөр. Арав дахь систем дэх нэг масс, килограммын мянганы нэг. Нитрохын нэг ч грамм (биш) ямар нэгэн зүйл (зөрчилтэй) биш, огт биш. Эдгээр хүмүүст ухамсар байхгүй. | нэмэх. грамм, өө, өө. Тлумачный...... Ожеговын Тлумачный толь бичиг

    грамм- А; pl. ed. грамм ба грамм; м [Франц хэл] грамм] Метрийн систем дэх массын нэгж, килограммын мянганы нэг. ◊ Төмрийн грамм байхгүй. Анитрохи, огтхон ч хангалттай биш. Хэн нь Л. Нэг унц ч худал хуурмаг зүйл биш. Хэнд ч мөс чанар гэж байдаггүй. * * * грамм (Франц ... Нэвтэрхий толь бичиг

    Грам Зеноб Теофил- (Грамм) (1826-1901), цахилгааны инженер. Бельгид төрсөн, Францаас гаралтай. Цагираган арматур бүхий практик цахилгаан үүсгүүрийн патентыг авсны дараа (1869). Цахилгаан машин үйлдвэрлэлийн үйлдвэрлэлд унтсан. * * * GRAM Зеноб... ... Нэвтэрхий толь бичиг

    грамм-атом- атомын масстай тоон утгаараа тэнцүү граммаар илэрхийлсэн ярианы тоо хэмжээ. Энэ нэр томъёог хэрэглэхийг зөвлөдөггүй. Бид эрвээхэйд маш их хэл амтай байдаг. * * * ГРАМ АТОМ ГРАМ АТОМ, граммаар илэрхийлсэн ярианы хэмжээ нь атомын массаас (хуваа... Нэвтэрхий толь бичиг

    грамм молекул- граммаар илэрхийлсэн ярианы тоо хэмжээ, тоон хувьд түүний молекул жинтэй тэнцүү байна. Энэ нэр томъёог хэрэглэхийг зөвлөдөггүй. Бид эрвээхэйд маш их хэл амтай байдаг. * * * ГРАМ МОЛЕКУЛ ГРАМ МОЛЕКУЛ, граммаар илэрхийлсэн ярианы хэмжээ нь тоон хувьд та... Нэвтэрхий толь бичиг

Windows 7