เครื่องมือแยก N-gram

N-gram คือลำดับคำที่ต่อเนื่องกัน n คำในข้อความ เครื่องมือนี้จะแปลงข้อความของคุณเป็นตัวพิมพ์เล็ก ตัดข้อความออกเป็นคำที่ทุกช่องว่างและทุกเครื่องหมายวรรคตอน แล้วนับ n-gram ทุกตัวตามความยาวที่คุณเลือก (1 ถึง 8) ผลลัพธ์คือตารางความถี่แบบ CSV ที่เรียงจากคำที่พบบ่อยที่สุดลงมา ซึ่งเป็นตารางเดียวกับที่ใช้ตรวจความหนาแน่นคำหลักใน SEO ใช้ทำ smoothing ให้โมเดลภาษา และใช้ตรวจการคัดลอกผลงาน หมายเหตุสำคัญสำหรับภาษาไทย: เครื่องมือนี้ตัดคำด้วยช่องว่าง จึงต้องตัดคำภาษาไทยให้เรียบร้อยก่อนนำมาวาง (ดูหัวข้อด้านล่าง)

วิธีแยก n-gram

  1. 1

    วางข้อความของคุณ

    ใส่บทความ บทถอดเสียง หรือข้อความโฆษณาสินค้า ไม่จำกัดความยาวสำหรับข้อความขนาดปกติ

  2. 2

    เลือกค่า n

    ยูนิแกรม (1) ไบแกรม (2) ไตรแกรม (3) ไปจนถึง 8 เลือกได้ครั้งละหนึ่งค่า

  3. 3

    กดแยก n-gram

    ระบบจะแปลงข้อความเป็นตัวพิมพ์เล็กแล้วตัดออกเป็นคำ โดยถือว่าเครื่องหมายวรรคตอนเป็นตัวคั่นและตัดทิ้ง

  4. 4

    อ่านตารางความถี่

    n-gram แต่ละตัวจะแสดงพร้อมจำนวนครั้งที่พบ เรียงจากที่พบบ่อยที่สุดลงมา

  5. 5

    คัดลอกไฟล์ CSV

    ผลลัพธ์คั่นด้วยเครื่องหมายจุลภาค (N-gram,Count) พร้อมวางลงในสเปรดชีตได้ทันที

ความยาวของ n-gram แต่ละแบบบอกอะไรได้บ้าง

N ชื่อ กรณีการใช้งาน
1 ยูนิแกรม ความหนาแน่นคำหลัก การจัดผังหัวข้อ
2 ไบแกรม วลี (“search intent”, “page speed”) และคำที่มักปรากฏคู่กัน
3 ไตรแกรม วลีหางยาว การตรวจจับคุณลักษณะ
4+ สี่แกรมขึ้นไป การตรวจจับเนื้อหาซ้ำ สัญญาณการคัดลอกผลงาน

เครื่องมือนี้ตัดข้อความของคุณอย่างไร

  • ทุกอย่างถูกแปลงเป็นตัวพิมพ์เล็ก ดังนั้น “The” กับ “the” จึงถูกนับรวมเป็นแถวเดียวกัน
  • คำ คือชุดตัวอักษร ตัวเลข หรือเครื่องหมายอะพอสทรอฟีที่ติดกัน ส่วนอักขระอื่นทั้งหมด (เครื่องหมายวรรคตอน สัญลักษณ์ การขึ้นบรรทัดใหม่) ถือเป็นตัวคั่นและถูกตัดทิ้ง
  • ไม่มีการรักษาขอบเขตของประโยค คำสุดท้ายของประโยคหนึ่งกับคำแรกของประโยคถัดไปยังจับคู่เป็น n-gram ได้ จึงควรระวังคู่คำที่คร่อมประโยค หากเรื่องนี้สำคัญ ให้วิเคราะห์ทีละประโยคหรือทีละย่อหน้า
  • คำหยุด (stopword) ยังคงอยู่ ระบบไม่กรองให้ ถ้าต้องการเฉพาะวลีเชิงความหมาย ให้ลบแถวเหล่านั้นออกจาก CSV ภายหลัง
  • ระบบหาคำจากช่องว่างและเครื่องหมายวรรคตอน จึงนับ n-gram ระดับ คำ ได้เฉพาะภาษาที่เว้นวรรคระหว่างคำเท่านั้น ภาษาไทยไม่เว้นวรรคระหว่างคำ เช่นเดียวกับภาษาจีนและภาษาญี่ปุ่น ข้อความไทยที่เขียนติดกันทั้งประโยคจะถูกมองเป็น “คำ” เดียว ผลลัพธ์จึงไม่มีความหมาย ให้ตัดคำก่อนด้วยเครื่องมือตัดคำ (เช่น PyThaiNLP/newmm หรือ deepcut สำหรับภาษาไทย, jieba สำหรับภาษาจีน, MeCab สำหรับภาษาญี่ปุ่น) ให้ได้ข้อความที่คั่นแต่ละคำด้วยช่องว่าง แล้วจึงนำมาวางที่นี่

เมื่อไรควรตัดคำหยุดออก

คำหยุดคือคำที่ทำหน้าที่ทางไวยากรณ์และพบบ่อยมาก เช่น “the”, “a”, “of”, “and” ในภาษาอังกฤษ หรือ “ที่”, “และ”, “ของ”, “ใน” ในภาษาไทย การเก็บคำเหล่านี้ไว้จะทำให้รายการไบแกรมเต็มไปด้วยคู่คำที่ไม่มีสาระ เช่น “of the” หรือ “ที่ ใน” เครื่องมือนี้เก็บคำหยุดไว้ทั้งหมด ดังนั้นให้ลบแถวเหล่านั้นออกจากไฟล์ที่ส่งออกเมื่อคุณต้องการเฉพาะวลีเชิงความหมาย และเก็บไว้เมื่อคุณกำลังศึกษาสำนวนการเขียน การระบุตัวผู้ประพันธ์ หรือโมเดลภาษาที่คำเหล่านี้เป็นสัญญาณสำคัญ

กรณีการใช้งานด้าน SEO

สำหรับบทความที่ตั้งเป้าคำว่า “nginx config generator” ให้ตรวจสอบว่า:

  • ไบแกรมและไตรแกรมเป้าหมายของคุณอยู่ใน 20 อันดับแรก ถ้า “nginx config” อยู่อันดับที่ 40 แสดงว่าคุณน่าจะใช้คำนี้น้อยเกินไป
  • คุณไม่ได้ยัดคำหลักจนเกินพอดี ถ้าคำนั้นอยู่อันดับ 1 แบบทิ้งห่างคำอื่นมาก บทความจะอ่านดูเหมือนสแปม
  • มีคำข้างเคียงเชิงความหมายอยู่จริง ไบแกรมที่เกี่ยวข้อง เช่น “server block”, “proxy pass” และ “ssl certificate” ช่วยยืนยันกับเครื่องมือค้นหาว่าเนื้อหาครอบคลุมหัวข้อนั้นจริง

การใช้งานด้าน NLP และงานวิชาการ

  • โมเดลภาษา ใช้ความถี่ของ n-gram ในการทำ smoothing และ backoff (Kneser-Ney, Good-Turing)
  • งานวิจัยระบุตัวผู้ประพันธ์ เปรียบเทียบการกระจายของไตรแกรมระหว่างผู้ประพันธ์ที่เป็นไปได้
  • การประเมินการแปลด้วยเครื่อง (BLEU) ให้คะแนนจากการซ้อนทับของ n-gram ระหว่างคำแปลของระบบกับคำแปลอ้างอิง

คำถามที่พบบ่อย

ตั้งแต่ข้อความสั้นระดับทวีต (ซึ่ง n-gram แทบไม่มีความหมาย) ไปจนถึงหนึ่งบทของหนังสือ หากต้องการความน่าเชื่อถือทางสถิติสำหรับไบแกรม ควรมีคำตั้งแต่ 1,000 คำขึ้นไป ส่วนไตรแกรมควรมี 10,000 คำขึ้นไป ถ้าน้อยกว่านั้นอันดับที่ได้จะแกว่งและเชื่อถือได้ยาก

ได้ก็ต่อเมื่อคุณตัดคำภาษาไทยมาก่อนแล้วเท่านั้น เครื่องมือนี้มองว่า “คำ” คือชุดตัวอักษรที่อยู่ระหว่างตัวคั่น และภาษาไทยเขียนติดกันโดยไม่เว้นวรรคระหว่างคำ ประโยคไทยทั้งประโยคจึงถูกนับเป็นคำเดียว ให้ตัดคำด้วย PyThaiNLP (newmm) หรือ deepcut ให้แต่ละคำคั่นด้วยช่องว่างก่อน แล้วจึงนำข้อความที่ตัดคำแล้วมาวางที่นี่ ข้อจำกัดเดียวกันนี้ใช้กับภาษาจีน (jieba) และภาษาญี่ปุ่น (MeCab) ด้วย

ไม่แยกในเครื่องมือนี้ ข้อความจะถูกแปลงเป็นตัวพิมพ์เล็กเสมอก่อนนับ “The” กับ “the” (หรือ “Apple” กับ “apple”) จึงถูกนับรวมเป็นแถวเดียวกัน ไม่มีโหมดที่แยกแยะตัวพิมพ์ หากคุณจำเป็นต้องแยกชื่อเฉพาะหรือโค้ดออกจากกัน ให้ทำเครื่องหมายไว้ในข้อความก่อนนำมาวาง

มีผลในฐานะตัวคั่นคำ และจะไม่ปรากฏอยู่ภายใน n-gram แต่มันไม่ได้ตัดหน้าต่างการนับ คำสุดท้ายของประโยคหนึ่งกับคำแรกของประโยคถัดไปยังถูกนับรวมกันเป็นไบแกรมอยู่ดี หากคุณต้องการให้ยึดขอบเขตประโยคอย่างเคร่งครัด ให้ประมวลผลทีละประโยคหรือทีละย่อหน้า

เครื่องมือนี้ไม่ได้ใช้รายการคำหยุดใด ๆ คุณจึงต้องกรองเองหลังส่งออก รายการคำหยุดภาษาอังกฤษที่ใช้กันมากที่สุดคือชุด 179 คำของ NLTK ซึ่งเครื่องมือ SEO ส่วนใหญ่ใช้กัน ส่วน Snowball, SpaCy และ scikit-learn มีรายการที่ต่างกันเล็กน้อย สำหรับภาษาไทย ให้ใช้รายการคำหยุดภาษาไทยของ PyThaiNLP

เครื่องมือที่เกี่ยวข้อง

สัญลักษณ์น้อยกว่าหรือเท่ากับ

คัดลอกสัญลักษณ์ ≤ และสัญลักษณ์เปรียบเทียบทางคณิตศาสตร์ที่เกี่ยวข้อง รวมถึง Unicode เอนทิตี HTML และการเขียน LaTeX สำหรับสเปรดชีต งานวิจัย และหน้าเว็บ

เครื่องแปลงข้อความที่เหมาะกับผู้มีภาวะดิสเล็กเซีย

จัดเรียงข้อความที่วางใหม่เป็นย่อหน้าสั้นๆ และบรรทัดยาวประมาณ 72 ตัวอักษรเพื่อให้อ่านง่ายขึ้น คัดลอกผลลัพธ์ไปวางในเอกสาร อีเมล หรือโปรแกรมแก้ไขใดก็ได้

เครื่องแปลงตัวเลขเป็นคำไทย

เขียนจำนวนไม่เกิน 18 หลักเป็นคำไทย หรือเขียนจำนวนบาทและสตางค์ตามค่าที่กรอกในเบราว์เซอร์ รองรับเลขอารบิกกับเลขไทยและไม่ปัดค่า

สัญลักษณ์ลูกศรสำหรับคัดลอก

คัดลอกลูกศร Unicode ที่ใช้บ่อยได้ในคลิกเดียว ทั้งแบบตรง สองเส้น ทแยง มีขอ วงกลม และสามเหลี่ยม สำหรับเอกสาร แชต และงานออกแบบ

เครื่องมือสร้างตัวอักษรวงกลม

แปลงข้อความธรรมดาให้เป็นตัวอักษรวงกลม (Ⓐ Ⓑ Ⓒ) ที่คัดลอกแล้ววางลงในไบโอ Instagram, TikTok และ Discord ได้ มีทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็กในวงกลม พร้อมตัวเลขในวงกลม โดยไม่ต้องใช้แอป

ตัวสร้างข้อความกลิตช์

สร้างข้อความกลิตช์สไตล์ Zalgo ด้วยเครื่องหมายประกอบ Unicode เลือกระดับความเข้ม ดูรูปแบบต่าง ๆ แล้วคัดลอกข้อความที่ดูเสียหายสำหรับโปรไฟล์ มีม หรือโพสต์สยองขวัญ

เครื่องมือนี้มีให้บริการในภาษาอื่น