การจำแนกทางสถิติของข้อความ


32

ฉันเป็นโปรแกรมเมอร์ที่ไม่มีพื้นฐานด้านสถิติและตอนนี้ฉันกำลังมองหาวิธีการจำแนกประเภทที่แตกต่างกันสำหรับเอกสารจำนวนมากที่ฉันต้องการจัดหมวดหมู่เป็นหมวดหมู่ที่กำหนดไว้ล่วงหน้า ฉันได้อ่านเกี่ยวกับ kNN, SVM และ NN อย่างไรก็ตามฉันมีปัญหาในการเริ่มต้น คุณแนะนำแหล่งข้อมูลใด ฉันรู้ว่าแคลคูลัสตัวแปรเดียวและตัวแปรหลายตัวค่อนข้างดีดังนั้นคณิตศาสตร์ของฉันควรแข็งแรงพอ ฉันเองเป็นเจ้าของหนังสือของ Bishop ใน Neural Networks แต่มันก็พิสูจน์แล้วว่ามีความหนาแน่นเล็กน้อยในการแนะนำ

คำตอบ:


19

ฉันแนะนำหนังสือเหล่านี้ - พวกเขาได้รับการจัดอันดับสูงใน Amazon ด้วย:

"การขุดข้อความ" โดย Weiss

"การเขียนโปรแกรมประยุกต์ข้อความการขุด" โดย Konchady

สำหรับซอฟต์แวร์ฉันแนะนำ RapidMiner (พร้อมปลั๊กอินข้อความ) ฟรีและโอเพ่นซอร์ส

นี่คือ "กระบวนการขุดข้อความ" ของฉัน:

  • รวบรวมเอกสาร (ปกติจะเป็นการรวบรวมข้อมูลจากเว็บ)
    • [ตัวอย่างถ้าใหญ่เกินไป]
    • การประทับเวลา
    • ตัดมาร์กอัป
  • โทเค็น: แบ่งออกเป็นตัวอักษรคำ n-grams หรือหน้าต่างบานเลื่อน
  • การกั้น (aka การย่อภาพ)
    • [รวมคำพ้องความหมาย]
    • ดูคำสรรพนาม porter หรือเกล็ดหิมะอัลกอริทึมและบทความมักจะทำนายไม่ดี
  • ลบ stopwords
  • vectorization คุณสมบัติ
    • เลขฐานสอง (ปรากฏหรือไม่)
    • การนับจำนวนคำ
    • ความถี่สัมพัทธ์: tf-idf
    • ได้รับข้อมูลไคสแควร์
    • [มีค่าต่ำสุดสำหรับการรวม]
  • การถ่วง
    • คำน้ำหนักที่ด้านบนของเอกสารสูงกว่า?

จากนั้นคุณสามารถเริ่มงานการจำแนกพวกเขา kNN, SVM หรือ Naive Bayes ตามความเหมาะสม

คุณสามารถดูวิดีโอการทำเหมืองข้อความชุดของฉันได้ที่นี่


นี่เป็นคำตอบที่ยอดเยี่ยม! ฉันจะตรวจสอบคำแนะนำหนังสือของคุณและคำอธิบายกระบวนการของคุณก็ยอดเยี่ยมเช่นกัน ฉันชอบคำแนะนำสำหรับการเพิ่มคุณลักษณะเวกเตอร์โดยเฉพาะ
Emil H

(ถ้าใครอยากจะทำอย่างละเอียดยิ่งขึ้นในส่วน vectorization ที่ต้องการจะดี.)
เอมิลเอช

11

ข้อความเกริ่นนำที่ยอดเยี่ยมซึ่งครอบคลุมหัวข้อที่คุณกล่าวถึงคือการดึงข้อมูลเบื้องต้นซึ่งมีให้ทางออนไลน์ในรูปแบบข้อความเต็มฟรี

การค้นคืนสารสนเทศเบื้องต้น


ฉันสแกนที่ทำงานจริงเมื่อวาน มันเป็นการอ่านที่น่าสนใจ - ฉันหวังว่าฉันจะมีเวลามากขึ้นในการดูดซับเนื้อหาในนั้น แต่ฉันต้องได้รับสิ่งที่ฉันต้องการและดำเนินการต่อไป
โธมัสโอเวนส์

เห็นด้วยนั่นคือหนังสือที่ยอดเยี่ยม มันอธิบายสวยมากวิธีการทำงานของ Google :)
นีล McGuigan

5

เครือข่ายนิวรัลอาจช้าลงสำหรับเอกสารจำนวนมาก (ซึ่งตอนนี้ค่อนข้างล้าสมัยแล้ว)
และคุณอาจตรวจสอบฟอเรสต์แบบสุ่มท่ามกลางผู้แยกประเภท มันค่อนข้างเร็วเครื่องชั่งที่ดีและไม่จำเป็นต้องปรับแต่งที่ซับซ้อน


+1 สำหรับป่าสุ่ม เป็นลักษณนามที่ดีที่จะลองใช้อันดับที่ 1 เพราะพวกมันไม่เหมาะสม
Zach

4

หากคุณมาจากด้านการเขียนโปรแกรมตัวเลือกหนึ่งคือใช้Natural Language Toolkit (NLTK) สำหรับ Python มีหนังสือของ O'Reilly ที่สามารถใช้ได้อย่างอิสระซึ่งอาจจะเป็นการแนะนำที่หนาแน่นน้อยกว่าและมีประโยชน์มากกว่าสำหรับการสร้างตัวแยกประเภทสำหรับเอกสารท่ามกลางสิ่งอื่น ๆ

หากคุณสนใจที่จะเสริมกำลังทางด้านสถิติหนังสือของ Roger Levy ที่กำลังดำเนินอยู่ซึ่งเป็นแบบจำลองความน่าจะเป็นในการศึกษาภาษาอาจไม่เลวที่จะอ่าน มันเขียนขึ้นสำหรับนักเรียนที่สำเร็จการศึกษา cogsci / compsci เริ่มต้นด้วยเทคนิค NLP ทางสถิติ


3

ประการแรกฉันสามารถแนะนำหนังสือพื้นฐานการประมวลผลภาษาธรรมชาติเชิงสถิติโดย Manning และSchütze

วิธีที่ฉันจะใช้คือการแจกแจงความถี่คำและโมเดลภาษา ngram ครั้งแรกทำงานได้ดีมากเมื่อคุณต้องการจัดประเภทในหัวข้อและหัวข้อของคุณมีความเฉพาะเจาะจงและมีความเชี่ยวชาญ การสร้างแบบจำลอง Ngram เป็นวิธีที่ดีที่สุดเมื่อคุณต้องการจัดรูปแบบการเขียนเป็นต้น


0

Naive Bayes มักเป็นจุดเริ่มต้นสำหรับการจัดหมวดหมู่ข้อความนี่คือบทความจาก Dr. Dobbs เกี่ยวกับวิธีการนำไปใช้ บ่อยครั้งที่มันเป็นจุดสิ้นสุดสำหรับการจัดหมวดหมู่ข้อความเพราะมันมีประสิทธิภาพและขนานได้ดี SpamAssassin และ POPFile ก็ใช้มัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.