Gensim - การสร้างแบบจำลองหัวข้อ

บทนี้เกี่ยวข้องกับการสร้างแบบจำลองหัวข้อเกี่ยวกับ Gensim

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

  • เราจะทราบได้หรือไม่ว่าคำประเภทใดปรากฏบ่อยกว่าคำอื่น ๆ ในคลังข้อมูลของเรา?

  • เราสามารถจัดกลุ่มข้อมูลของเราได้หรือไม่?

  • เราสามารถใช้ธีมพื้นฐานในข้อมูลของเราได้หรือไม่?

เราจะสามารถบรรลุสิ่งเหล่านี้ได้ด้วยความช่วยเหลือของการสร้างแบบจำลองหัวข้อ มาเจาะลึกแนวคิดของแบบจำลองหัวข้อ

หัวข้อโมเดลคืออะไร?

โมเดลหัวข้ออาจถูกกำหนดให้เป็นโมเดลความน่าจะเป็นที่มีข้อมูลเกี่ยวกับหัวข้อในข้อความของเรา แต่ที่นี่มีคำถามสำคัญสองข้อเกิดขึ้นดังนี้ -

ประการแรก what exactly a topic is?

หัวข้อตามความหมายของชื่อเป็นแนวคิดพื้นฐานหรือธีมที่แสดงในข้อความของเรา เพื่อให้คุณเป็นตัวอย่างคลังข้อมูลที่มีnewspaper articles จะมีหัวข้อที่เกี่ยวข้องกับ finance, weather, politics, sports, various states news และอื่น ๆ

ประการที่สอง what is the importance of topic models in text processing?

ดังที่เราทราบดีว่าเพื่อระบุความคล้ายคลึงกันในข้อความเราสามารถดึงข้อมูลและเทคนิคการค้นหาโดยใช้คำ แต่ด้วยความช่วยเหลือของแบบจำลองหัวข้อตอนนี้เราสามารถค้นหาและจัดเรียงไฟล์ข้อความของเราโดยใช้หัวข้อมากกว่าคำ

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

เป้าหมายของรูปแบบหัวข้อ

ดังที่ได้กล่าวไว้ข้างต้นจุดเน้นของการสร้างแบบจำลองหัวข้อคือแนวคิดและธีมที่เป็นพื้นฐาน เป้าหมายหลักมีดังนี้ -

  • สามารถใช้โมเดลหัวข้อสำหรับการสรุปข้อความ

  • สามารถใช้เพื่อจัดระเบียบเอกสาร ตัวอย่างเช่นเราสามารถใช้การสร้างแบบจำลองหัวข้อเพื่อจัดกลุ่มบทความข่าวเข้าด้วยกันเป็นส่วนที่มีการจัดระเบียบ / เชื่อมโยงกันเช่นการจัดระเบียบบทความข่าวทั้งหมดที่เกี่ยวข้องกับcricket.

  • พวกเขาสามารถปรับปรุงผลการค้นหา อย่างไร? สำหรับคำค้นหาเราสามารถใช้แบบจำลองหัวข้อเพื่อแสดงเอกสารที่มีคีย์เวิร์ดต่างกัน แต่มีแนวคิดเดียวกัน

  • แนวคิดของคำแนะนำมีประโยชน์มากสำหรับการตลาด ใช้โดยเว็บไซต์ช้อปปิ้งออนไลน์เว็บไซต์ข่าวและอื่น ๆ อีกมากมาย โมเดลหัวข้อช่วยในการให้คำแนะนำเกี่ยวกับสิ่งที่จะซื้อสิ่งที่จะอ่านต่อไป ฯลฯ พวกเขาทำได้โดยการค้นหาวัสดุที่มีหัวข้อทั่วไปในรายการ

หัวข้ออัลกอริทึมการสร้างแบบจำลองใน Gensim

ไม่ต้องสงสัย Gensim เป็นชุดเครื่องมือการสร้างแบบจำลองหัวข้อยอดนิยม ความพร้อมใช้งานฟรีและการอยู่ใน Python ทำให้เป็นที่นิยมมากขึ้น ในส่วนนี้เราจะพูดถึงอัลกอริทึมการสร้างแบบจำลองหัวข้อยอดนิยม ในที่นี้เราจะมุ่งเน้นไปที่ 'อะไร' มากกว่า 'อย่างไร' เพราะ Gensim ให้ความสำคัญกับพวกเราเป็นอย่างดี

การจัดสรร Dirichlet แฝง (LDA)

การจัดสรร Dirichlet แฝง (LDA) เป็นเทคนิคที่ใช้กันทั่วไปและเป็นที่นิยมในปัจจุบันสำหรับการสร้างแบบจำลองหัวข้อ เป็นเอกสารที่นักวิจัยของ Facebook ใช้ในงานวิจัยของพวกเขาที่ตีพิมพ์ในปี 2013 โดยเสนอครั้งแรกโดย David Blei, Andrew Ng และ Michael Jordan ในปี 2003 พวกเขาเสนอ LDA ในเอกสารที่มีสิทธิLatent Dirichlet allocation.

ลักษณะของ LDA

มาเรียนรู้เพิ่มเติมเกี่ยวกับเทคนิคที่ยอดเยี่ยมนี้ผ่านลักษณะของมัน -

Probabilistic topic modeling technique

LDA เป็นเทคนิคการสร้างแบบจำลองหัวข้อที่น่าจะเป็น ดังที่เราได้กล่าวไว้ข้างต้นในการสร้างแบบจำลองหัวข้อเราถือว่าในชุดเอกสารที่เกี่ยวข้องกัน (อาจเป็นเอกสารทางวิชาการบทความในหนังสือพิมพ์โพสต์บน Facebook ทวีตอีเมลและอื่น ๆ ) มีบางหัวข้อรวมอยู่ในเอกสารแต่ละฉบับ .

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

  • Topics

  • การกระจายหัวข้อทางสถิติระหว่างเอกสาร

  • คำในเอกสารที่ประกอบด้วยหัวข้อ

Work in an unsupervised way

LDA ทำงานในลักษณะที่ไม่ได้รับการดูแล เป็นเพราะ LDA ใช้ความน่าจะเป็นแบบมีเงื่อนไขเพื่อค้นหาโครงสร้างหัวข้อที่ซ่อนอยู่ จะถือว่าหัวข้อกระจายอย่างไม่สม่ำเสมอตลอดการรวบรวมเอกสารที่เกี่ยวข้องกัน

Very easy to create it in Gensim

ใน Gensim การสร้างแบบจำลอง LDA นั้นง่ายมาก เราต้องระบุคลังข้อมูลการทำแผนที่พจนานุกรมและจำนวนหัวข้อที่เราต้องการใช้ในแบบจำลองของเรา

Model=models.LdaModel(corpus, id2word=dictionary, num_topics=100)

May face computationally intractable problem

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

การสร้างดัชนีความหมายแฝง (LSI)

อัลกอริทึมการสร้างแบบจำลองหัวข้อที่ใช้ครั้งแรกใน Gensim ด้วย Latent Dirichlet Allocation (LDA) คือ Latent Semantic Indexing (LSI). เรียกอีกอย่างว่าLatent Semantic Analysis (LSA).

ได้รับการจดสิทธิบัตรในปี 1988 โดย Scott Deerwester, Susan Dumais, George Furnas, Richard Harshman, Thomas Landaur, Karen Lochbaum และ Lynn Streeter ในส่วนนี้เราจะตั้งค่าโมเดล LSI ของเรา สามารถทำได้ในลักษณะเดียวกับการตั้งค่าโมเดล LDA เราต้องนำเข้าโมเดล LSI จากgensim.models.

บทบาทของ LSI

ที่จริงแล้ว LSI เป็นเทคนิค NLP โดยเฉพาะอย่างยิ่งในความหมายการแจกแจง วิเคราะห์ความสัมพันธ์ระหว่างชุดเอกสารและเงื่อนไขที่เอกสารเหล่านี้มีอยู่ ถ้าเราพูดถึงการทำงานมันจะสร้างเมทริกซ์ที่มีจำนวนคำต่อเอกสารจากข้อความจำนวนมาก

เมื่อสร้างแล้วเพื่อลดจำนวนแถวแบบจำลอง LSI ใช้เทคนิคทางคณิตศาสตร์ที่เรียกว่าการสลายตัวของค่าเอกพจน์ (SVD) นอกจากการลดจำนวนแถวแล้วยังรักษาโครงสร้างความคล้ายคลึงกันระหว่างคอลัมน์ด้วย ในเมทริกซ์แถวจะแสดงถึงคำที่ไม่ซ้ำกันและคอลัมน์แสดงถึงเอกสารแต่ละรายการ มันทำงานบนพื้นฐานของสมมติฐานการแจกแจงกล่าวคือสมมติว่าคำที่มีความหมายใกล้เคียงจะเกิดขึ้นในข้อความประเภทเดียวกัน

Model=models.LsiModel(corpus, id2word=dictionary, num_topics=100)

กระบวนการ Dirichlet ตามลำดับชั้น (HDP)

แบบจำลองหัวข้อเช่น LDA และ LSI ช่วยในการสรุปและจัดระเบียบคลังข้อความขนาดใหญ่ที่ไม่สามารถวิเคราะห์ด้วยมือได้ นอกเหนือจาก LDA และ LSI แล้วโมเดลหัวข้อที่ทรงพลังอีกแบบใน Gensim คือ HDP (Hierarchical Dirichlet Process) โดยพื้นฐานแล้วเป็นรูปแบบการเป็นสมาชิกแบบผสมผสานสำหรับการวิเคราะห์ข้อมูลที่จัดกลุ่มโดยไม่ได้รับการดูแล ซึ่งแตกต่างจาก LDA (คู่ที่ จำกัด ของมัน) HDP อนุมานจำนวนหัวข้อจากข้อมูล

Model=models.HdpModel(corpus, id2word=dictionary