คุณได้พบกับแนวคิดนี้มากกว่าหนึ่งครั้งในชีวิต ถ้าคุณต้องทำงานกับข้อความ โดยเฉพาะอย่างยิ่ง คุณสามารถเปลี่ยนไปใช้เครื่องคิดเลขออนไลน์ที่วิเคราะห์ความถี่ของข้อความได้อย่างแม่นยำ เครื่องมือที่มีประโยชน์เหล่านี้แสดงจำนวนครั้งที่อักขระหรือตัวอักษรหนึ่งๆ เกิดขึ้นในข้อความใดๆ มักจะแสดงเปอร์เซ็นต์ด้วย ทำไมสิ่งนี้จึงจำเป็น? การวิเคราะห์ความถี่ของข้อความมีส่วนทำให้เกิด "การแตก" ของการเข้ารหัสอย่างง่ายอย่างไร สาระสำคัญของมันคืออะไรใครเป็นคนคิดค้นมัน? เราจะตอบคำถามเหล่านี้และคำถามสำคัญอื่น ๆ ในหัวข้อในบทความ
คำจำกัดความ
การวิเคราะห์ความถี่เป็นหนึ่งในความหลากหลายของการเข้ารหัส มันขึ้นอยู่กับสมมติฐานของนักวิทยาศาสตร์เกี่ยวกับการดำรงอยู่ของการกระจายตัวแบบไม่สำคัญทางสถิติของอักขระแต่ละตัวและลำดับปกติของอักขระทั้งในรูปแบบข้อความธรรมดาและตัวเลข
เชื่อกันว่าการแจกจ่ายดังกล่าว จนถึงการแทนที่ของอักขระแต่ละตัว จะถูกเก็บรักษาไว้ในกระบวนการเข้ารหัส/ถอดรหัส
ลักษณะกระบวนการ
ตอนนี้ มาดูการวิเคราะห์ความถี่ในแง่ง่ายๆ กัน นี่หมายความว่าจำนวนครั้งที่เกิดขึ้นของตัวอักษรเดียวกันในข้อความที่มีความยาวเพียงพอจะเท่ากันในข้อความต่างๆ ที่เขียนในภาษาเดียวกัน
แล้วการเข้ารหัสแบบ monoalphabetic ล่ะ? สันนิษฐานว่าหากมีอักขระที่มีความเป็นไปได้คล้ายกันที่จะเกิดขึ้นในส่วนที่มีข้อความเข้ารหัส ก็ถือว่าสมจริงที่จะถือว่ามันคือตัวอักษรที่เข้ารหัส
ผู้ติดตามการวิเคราะห์ข้อความความถี่ใช้เหตุผลเดียวกันกับไดแกรม (ลำดับของตัวอักษรสองตัว) Trigrams - นี้สำหรับกรณีของการเข้ารหัสแบบหลายตัวอักษรอยู่แล้ว
ประวัติวิธีการ
การวิเคราะห์ความถี่ของคำไม่ใช่การค้นหาความทันสมัย เป็นที่รู้จักในโลกวิทยาศาสตร์ตั้งแต่ศตวรรษที่ 9 การสร้างมีความเกี่ยวข้องกับชื่อ Al-Kindi
แต่กรณีที่ทราบกันดีอยู่แล้วว่าการประยุกต์ใช้วิธีการวิเคราะห์ความถี่นั้นเป็นของยุคหลังมาก ตัวอย่างที่โดดเด่นที่สุดคือการถอดรหัสอักษรอียิปต์โบราณซึ่งผลิตขึ้นในปี พ.ศ. 2365 โดย J.-F. Champollion
ถ้าเรากลายเป็นนิยาย เราจะพบข้อมูลอ้างอิงที่น่าสนใจมากมายเกี่ยวกับวิธีการถอดรหัสนี้:
- โคนัน ดอยล์ - "The Dancing Men".
- จูลส์เวิร์น - "ลูกของกัปตันแกรนท์".
- Edgar Poe - "แมลงทอง".
อย่างไรก็ตาม ตั้งแต่กลางศตวรรษที่ผ่านมา อัลกอริธึมส่วนใหญ่ที่ใช้ในการเข้ารหัสได้รับการพัฒนาโดยคำนึงถึงความต้านทานต่อการเข้ารหัสความถี่ดังกล่าว ดังนั้นมันวันนี้พวกเขามักจะใช้สำหรับการฝึกอบรม cryptographers ในอนาคตเท่านั้น
วิธีพื้นฐาน
ตอนนี้ขอนำเสนอการวิเคราะห์การตอบสนองความถี่โดยละเอียด การวิเคราะห์ประเภทนี้ขึ้นอยู่กับข้อเท็จจริงที่ว่าการทดสอบประกอบด้วยคำและตัวอักษรเหล่านั้น ตัวอักษรประจำชาติมีจำนวนจำกัด สามารถระบุตัวอักษรได้ที่นี่
ลักษณะที่สำคัญที่สุดของข้อความดังกล่าวจะเป็นทั้งการซ้ำตัวอักษร, บิ๊กแรมต่างๆ, ตรีแกรมและ n-grams ตลอดจนความเข้ากันได้ของตัวอักษรต่างๆ ที่เชื่อมต่อกัน, การสลับพยัญชนะ / สระและอื่น ๆ ความหลากหลายของสัญลักษณ์เหล่านี้
แนวคิดหลักของวิธีการคือการนับจำนวนการเกิดขึ้นของ n-grams ที่เป็นไปได้ (แสดงด้วย nm) ในข้อความธรรมดาที่ยาวเพียงพอสำหรับการวิเคราะห์ (แสดงโดย T=t1t2…tl) ประกอบด้วยตัวอักษรของตัวอักษรประจำชาติ (แสดงโดย {a1, a2, …, an}) จากทั้งหมดที่กล่าวมาทำให้เกิดข้อความต่อเนื่องกันเป็นจำนวน m-gram:
t1t2…tm, t2t3… tm+1, …, ti-m+1tl-m+2…tl.
หากเป็นจำนวนครั้งของ m-gram ai1ai2…ตั้งเป้าไปที่ข้อความ T และ L คือจำนวนรวมของ m-grams ที่ผู้วิจัยวิเคราะห์ ก็สามารถสรุปได้ว่าสำหรับ L ขนาดใหญ่เพียงพอ ความถี่สำหรับ m-gram ดังกล่าวจะแตกต่างกันเล็กน้อย
ตัวอักษรที่ใช้บ่อยของตัวอักษรรัสเซีย
แต่การวิเคราะห์ความถี่เวลา แม้จะชื่อคล้ายกัน แต่ก็ไม่เกี่ยวอะไรกับหัวข้อสนทนาของเรา การวิเคราะห์ประเภทนี้ดำเนินการเพื่อสัญญาณจากสถานีเรดาร์ที่สังเกตได้ต่ำโดยใช้การแปลงเวฟเล็ตแบบพิเศษ
ตอนนี้กลับไปที่หัวข้อหลักกัน เมื่อทำการวิเคราะห์ความถี่ คุณสามารถค้นหาตัวอักษรของตัวอักษรรัสเซียตัวใดที่มักพบในข้อความจำนวนมาก (ร้อยละ 0.062 ถึง 0.018):
- A.
- V.
- D.
- F.
- I.
- K.
- ม.
- O.
- ร.
- T.
- F.
- T.
- ช.
- b.
- E.
- I.
แม้แต่กฎช่วยจำพิเศษได้รับการแนะนำ ซึ่งช่วยให้เรียนรู้อักษรทั่วไปของตัวอักษรรัสเซีย การทำเช่นนี้ แค่จำคำเดียว - "hayloft" ก็พอ
ในกรณีทั่วไป ความถี่ของการใช้ตัวอักษรในเงื่อนไขแบบเปอร์เซ็นต์นั้นง่าย: ผู้เชี่ยวชาญจะนับจำนวนตัวอักษรที่เกิดขึ้นในข้อความ จากนั้นหารค่าผลลัพธ์ด้วยจำนวนอักขระทั้งหมดในข้อความ และเพื่อแสดงค่านี้เป็นเปอร์เซ็นต์ ก็เพียงพอที่จะคูณด้วย 100
สิ่งสำคัญคือต้องคำนึงว่าความถี่จะขึ้นอยู่กับระดับเสียงของข้อความเท่านั้น แต่ยังขึ้นกับลักษณะของข้อความด้วย ตัวอย่างเช่น ในแหล่งข้อมูลทางเทคนิค ตัวอักษร "F" ปรากฏบ่อยกว่าในนิยาย ดังนั้นเพื่อผลลัพธ์ที่เป็นรูปธรรม ผู้เชี่ยวชาญต้องพิมพ์ข้อความที่มีลักษณะและรูปแบบต่างๆ เพื่อการวิจัย
Bi- สาม- สี่กรัม
ในข้อความที่มีความหมาย คุณสามารถค้นหาคำที่พบบ่อยที่สุดได้ (ตามลำดับ มากที่สุดซ้ำ) การรวมกันของตัวอักษรสองตัวหรือมากกว่า ผู้เชี่ยวชาญยังได้รวบรวมตารางหลายตาราง ซึ่งระบุความถี่ของไดแกรมที่คล้ายกันของตัวอักษรต่างๆ
สำหรับภาษารัสเซีย การวิเคราะห์ความถี่ของระบบข้อความที่มีความหมายมากมายทำให้สามารถกำหนด bigrams และ trigrams ที่พบบ่อยที่สุดได้:
- EN.
- ST.
- BUT.
- NOT.
- เปิด.
- RA.
- OV.
- KO.
- VO.
- STO.
- ใหม่
- ENO.
- TOV.
- OVA.
- OVO.
ความสัมพันธ์ที่ต้องการของจดหมายถึงกัน
และนี่ไม่ใช่ความเป็นไปได้ทั้งหมดที่การวิเคราะห์ความถี่สามารถมอบให้กับนักวิจัยข้อความได้ การจัดระบบข้อมูลจากตาราง bigrams และ trigrams ที่คล้ายคลึงกันทำให้สามารถดึงข้อมูลเกี่ยวกับตัวอักษรทั่วไปส่วนใหญ่ได้ หรืออีกนัยหนึ่งคือความสัมพันธ์ที่พวกเขาชอบกัน
การศึกษาอย่างละเอียดดังกล่าวได้ดำเนินการโดยผู้เชี่ยวชาญแล้ว ผลลัพธ์ของมันคือตารางที่ระบุเพื่อนบ้านพร้อมกับตัวอักษรแต่ละตัว ยิ่งกว่านั้นตัวละครเหล่านั้นที่มักจะพบทั้งก่อนและหลังมัน ตัวอักษรในตารางไม่ได้สะกดออกมาโดยบังเอิญ ใกล้กับสัญลักษณ์จะมีการระบุเพื่อนบ้านบ่อยที่สุดเพิ่มเติม - หายากมากขึ้น
พิจารณาตัวอย่าง:
- ตัวอักษร "A". การเชื่อมต่อที่ต้องการต่อไปนี้มีความโดดเด่นที่นี่: l-d-k-t-v-r-n-A-l-n-s-t-r-v-to-m จากนี้เราจะเห็นว่าส่วนใหญ่ก่อน "A" ในตำราจะมี "H" ("NA") และหลังจาก "A" บ่อยที่สุดในข้อความในภาษารัสเซียเราสามารถพบ "L"("AL")
- ตัวอักษร "ม". ผู้เชี่ยวชาญระบุการเชื่อมต่อที่ต้องการดังกล่าว: "I-s-a-i-e-o-M-i-e-o-u-a-n-p-s"
- ตัวอักษร "b". การเชื่อมต่อที่ต้องการมีดังนี้: "n-s-t-l-b-n-k-v-p-s-e-o-i"
- จดหมาย "ช". การเชื่อมต่อที่ต้องการ: "e-b-a-i-u-Sch-e-i-a".
- ตัวอักษร "ป". การเชื่อมต่อที่ต้องการกับสัญลักษณ์ตัวอักษรรัสเซียนี้: "v-s-u-a-i-e-o-P-o-r-e-a-u-i-l"
การวิเคราะห์กำหนดอะไร
โปรแกรมวิเคราะห์ข้อความความถี่สมัยใหม่ช่วยในการศึกษาบทความ เรียงความ เนื้อเรื่อง และอื่นๆ ในปริมาณมาก ข้อมูลต่อไปนี้มอบให้กับผู้วิจัยตามมาตรฐาน:
- จำนวนตัวอักษรทั้งหมดในข้อความ
- จำนวนช่องว่างที่ผู้เขียนใช้
- จำนวนหลัก
- ข้อมูลเกี่ยวกับเครื่องหมายวรรคตอนที่ใช้ - จุด จุลภาค ฯลฯ
- จำนวนตัวอักษรในแต่ละตัวอักษรที่มี - Cyrillic, Latin, etc.
- ข้อมูลเกี่ยวกับความถี่ในการใช้ตัวอักษรและสัญลักษณ์แต่ละตัวในข้อความ - จำนวนการกล่าวถึงและเปอร์เซ็นต์เทียบกับข้อความทั้งหมด
ต่อสู้กับการปรับให้เหมาะสมมากเกินไปและความอิ่มตัวของสี
ทำไมจึงทำการวิเคราะห์ความถี่ข้อความ มันเป็นเพียงเพื่อจุดประสงค์ของความอยากรู้ - เพื่อกำหนดว่าอักขระใดในข้อความที่เขียนขึ้นซึ่งมักพบบ่อย? ไม่ การวิเคราะห์แบบหลักๆ นั้นใช้ได้จริง และอยู่ในที่อื่น
N-grams ไม่เพียงแต่มี bigrams และ trigrams ที่เสถียรเท่านั้น ไปเหมือนกันหมวดหมู่รวมถึงคำหลัก (แท็ก) การจัดระเบียบ นั่นคือชุดค่าผสมที่เสถียรซึ่งประกอบด้วยคำสองคำขึ้นไป พวกเขามีความโดดเด่นด้วยความจริงที่ว่าองค์ประกอบดังกล่าวเกิดขึ้นพร้อมกันในข้อความและในขณะเดียวกันก็มีความหมายบางอย่าง
สิ่งนี้อยู่ในมือของผู้เชี่ยวชาญด้าน SEO ที่ไร้ยางอาย ในงานของพวกเขา บางครั้งพวกเขาใช้แท็กและคำหลักซ้ำๆ ในข้อความในทางที่ผิด เพื่อเพิ่มความเกี่ยวข้องของหน้าเว็บบางหน้า พวกเขากำลังพยายามหลอกลวงระบบด้วย "กลอุบาย" เช่นนี้: เปลี่ยนการผสมผสานที่เป็นธรรมชาติด้วยการผสมคำตามปกติซึ่งเป็นแบบดั้งเดิมสำหรับภาษารัสเซีย ("ซื้อขนมิงค์") ให้กลายเป็นคำที่ไม่สอดคล้องกัน นั่นคือได้จากการจัดเรียงคำใน N-gram ตามธรรมชาติ ("buy a mink coat")
แต่วันนี้ อัลกอริธึมการค้นหาได้เรียนรู้ที่จะตรวจจับการเพิ่มประสิทธิภาพมากเกินไปเช่นเดียวกับสแปมเกิน - ความอิ่มตัวของข้อความด้วยคำหลัก แท็กที่ส่งผลต่อการจัดอันดับผลลัพธ์บนหน้าการค้นหา ในทางกลับกัน หน้าที่ปรับให้เหมาะสมที่สุดแล้ว กลับถูกจัดอันดับที่ต่ำกว่าตามคำค้นหาของผู้ใช้ และตัวคนเองมักไม่อ่านข้อความที่ไร้ความหมาย ใช้ข้อความแท็กมากเกินไป โดยเลือกข้อมูลที่เป็นประโยชน์จากแหล่งข้อมูลอื่น
ช่วยวิเคราะห์ส่วนตัวสำหรับผู้เชี่ยวชาญ SEO
ดังนั้น ตัวกรองข้อความของเครื่องมือค้นหาสมัยใหม่ในปัจจุบันจึงให้ความสำคัญกับหน้าอินเทอร์เน็ตเหล่านั้นมากกว่า ข้อมูลที่ไม่เพียงแต่อ่านง่าย แต่ยังมีประโยชน์สำหรับผู้เยี่ยมชมอีกด้วย เพื่อเพิ่มประสิทธิภาพการทำงานสำหรับมาตรฐานใหม่ ผู้เชี่ยวชาญ SEOและหันไปวิเคราะห์ความถี่ของข้อความ วันนี้มีบริการยอดนิยมมากมาย
การวิเคราะห์ความถี่ช่วยในการทบทวนข้อความที่เตรียมไว้สำหรับการเผยแพร่เพื่อเป็นข้อมูล ขจัดความซ้ำซ้อนของแท็กและวลีสำคัญที่ไม่จำเป็น นอกจากนี้ยังช่วยให้คุณสามารถดึงความสนใจของผู้เขียนไปยังการใช้คำที่ก่อให้เกิดความสงสัยในตัวกรองข้อความของเครื่องมือค้นหา
การวิเคราะห์ความถี่ของข้อความจึงช่วยในการกำหนดความถี่ของการกล่าวถึงอักขระบางตัวในแหล่งที่มา วิธีการนี้ถูกใช้ในปัจจุบันเพื่อประเมินข้อความที่มากเกินไปด้วยแท็ก การเรียงสับเปลี่ยนของคำที่ผิดธรรมชาติ