ไลบรารี Python

10 ไลบรารี Python ที่ดีที่สุดสำหรับการวิเคราะห์ความรู้สึก

Alex McFarland
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google
ประเด็นสำคัญชื่อไลบรารีเพียงอย่างเดียวไม่สามารถยืนยันความแม่นยำของอารมณ์ได้…
ดูเพิ่มเติม
  • ชื่อไลบรารีเพียงอย่างเดียวไม่สามารถยืนยันความแม่นยำของอารมณ์ได้ เพราะเช็กพอยต์ที่เลือกเป็นตัวกำหนดคุณภาพที่แท้จริง
  • SetFit เหมาะกับทีมที่มีข้อมูลกำกับปานกลางซึ่งต้องการตัวจำแนกที่ปรับให้เข้ากับนิยามอารมณ์ของตนเอง
  • Sentence Transformers ให้ embeddings แต่ความคล้ายคลึงเน้นหัวข้อมากกว่าขั้วอารมณ์เมื่อไม่มีหัวที่ผ่านการฝึก

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

เราได้ประเมินตัวเลือกทั้ง 10 รายการนี้อย่างเป็นอิสระ โดยพิจารณาความสามารถด้านการวิเคราะห์ความรู้สึก ความพร้อมใช้งานของโมเดล ความยุ่งยากในการผสานรวม และข้อจำกัดในการใช้งานจริง พร้อมตรวจสอบเอกสารทางการฉบับปัจจุบันแล้ว Transformers โดดเด่นด้านตัวเลือกโมเดลที่ฝึกไว้ล่วงหน้าและการปรับให้เข้ากับงานเฉพาะ ส่วน SetFit เหมาะกับการปรับแต่งโดยใช้ป้ายกำกับจำนวนน้อย และ scikit-learn เหมาะสำหรับสร้างโมเดลพื้นฐานแบบมีผู้สอนที่มีประสิทธิภาพ การจัดอันดับนี้เป็นการประเมินเชิงบรรณาธิการ ไม่ใช่การทดสอบเปรียบเทียบความแม่นยำแบบตัวต่อตัวครั้งใหม่

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

เปรียบเทียบไลบรารี Python ที่ดีที่สุดสำหรับการวิเคราะห์ความรู้สึก

เครื่องมือ AIเหมาะที่สุดสำหรับฟีเจอร์
Transformersโมเดลวิเคราะห์ความรู้สึกที่ฝึกไว้ล่วงหน้าและการปรับให้เข้ากับโดเมนไปป์ไลน์จำแนกประเภท; โทเคไนเซอร์; เช็กพอยต์; การปรับจูนเพิ่มเติม
SetFitการจำแนกประเภทแบบกำหนดเองด้วยตัวอย่างที่มีป้ายกำกับจำนวนจำกัดเวกเตอร์ฝังตัวระดับประโยค; การปรับด้วยการเรียนรู้เชิงเปรียบต่าง; ส่วนหัวสำหรับจำแนกประเภท; เครื่องมือ ABSA
scikit-learnโมเดลพื้นฐานแบบมีผู้สอนที่มีประสิทธิภาพสำหรับวิเคราะห์ความรู้สึกTF-IDF; คุณลักษณะระดับคำและอักขระ; ตัวจำแนกประเภท; ไปป์ไลน์; เมตริก
NLTK VADERวิเคราะห์ความรู้สึกภาษาอังกฤษด้วยกฎ โดยไม่ต้องฝึกโมเดลคลังคำศัพท์แสดงความรู้สึก; กฎวัดระดับความเข้มข้น; การปฏิเสธ; เครื่องหมายวรรคตอน; คะแนนขั้วความรู้สึก
Flairจำแนกความรู้สึกภาษาอังกฤษด้วยโมเดลที่ฝึกไว้ล่วงหน้าได้สะดวกอินเทอร์เฟซตัวจำแนกประเภท; โมเดลมาตรฐานและโมเดลแบบรวดเร็ว; ป้ายกำกับข้อความ; ระบบนิเวศสำหรับการฝึก
spaCyผสานตัวจำแนกประเภทที่ฝึกแล้วเข้ากับไปป์ไลน์ประมวลผลภาษาธรรมชาติการจัดหมวดหมู่ข้อความ; หมวดหมู่เอกสาร; องค์ประกอบสำหรับการจำแนกแบบเลือกได้เพียงหมวดเดียวและแบบหลายป้ายกำกับ
Stanzaวิเคราะห์ความรู้สึกระดับประโยคภายในไปป์ไลน์ทางภาษาป้ายกำกับระดับประโยค; การผสานรวมการตัดแบ่งคำ; โมเดลภาษาที่มีเอกสารประกอบ
Sentence Transformersเวกเตอร์ฝังตัวสำหรับเวิร์กโฟลว์วิเคราะห์ความรู้สึกแบบกำหนดเองเวกเตอร์ฝังตัวของข้อความ; ความคล้ายคลึง; ตัวแทนข้อมูลที่นำกลับมาใช้ได้; อินพุตสำหรับตัวจำแนกประเภท
TextBlobการเรียนการสอนและการสำรวจขั้วความรู้สึกอย่างรวดเร็วAPI ข้อความที่เรียบง่าย; ขั้วความรู้สึก; ความเป็นอัตวิสัย; ตัววิเคราะห์ความรู้สึกที่เลือกใช้ได้
PyABSAการดึงข้อมูลแง่มุมและการทดลองวิเคราะห์ความรู้สึกในระดับแง่มุมขั้วความรู้สึกของแง่มุม; การดึงคำหรือวลีที่บ่งชี้แง่มุม; เช็กพอยต์; การฝึกและการประเมินผล

1. Transformers

Hugging Face Transformers เป็นตัวเลือกแรกที่เราแนะนำ เมื่อสิ่งสำคัญคือการเข้าถึงโมเดลวิเคราะห์ความรู้สึกที่ฝึกไว้ล่วงหน้าและมีแนวทางในการปรับให้เข้ากับโดเมนเฉพาะ อินเทอร์เฟซสำหรับจำแนกประเภทช่วยให้นักพัฒนาโหลดเช็กพอยต์ที่รองรับพร้อมโทเคไนเซอร์ที่ตรงกันได้ ส่วนเครื่องมือฝึกก็รองรับการปรับโมเดลให้เหมาะกับตัวอย่างที่มีป้ายกำกับ หน่วยที่ควรใช้ประเมินคือโมเดลที่เลือก ไม่ใช่ชื่อไลบรารีเพียงอย่างเดียว

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

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

ข้อดีและข้อเสีย

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

สำรวจ Transformers

2. SetFit

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

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

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

ข้อดีและข้อเสีย

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

ดู SetFit เพิ่มเติม

3. scikit-learn

scikit-learn เป็นหนึ่งในจุดเริ่มต้นที่มีประโยชน์ที่สุดเมื่อคุณมีข้อมูลความรู้สึกที่ติดป้ายกำกับแล้ว และต้องการค่าพื้นฐานที่มีประสิทธิภาพและเข้าใจง่าย คุณลักษณะข้อความอย่าง TF-IDF สามารถนำไปใช้กับตัวจำแนกเชิงเส้น ทำให้ทีมได้โมเดลที่ฝึกและเปรียบเทียบได้ไม่ยุ่งยาก เหมาะเป็นพิเศษเมื่อสาขานั้นมีคำศัพท์ที่ใช้ซ้ำบ่อย และงบประมาณในการดำเนินงานเอื้อต่อการคาดการณ์ผลบน CPU

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

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

ข้อดีและข้อเสีย

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

ดู scikit-learn เพิ่มเติม

4. NLTK VADER

VADER ซึ่งใช้งานได้ผ่าน NLTK เป็นค่าพื้นฐานเบื้องต้นที่มีประโยชน์ เมื่องานเกี่ยวข้องกับข้อความภาษาอังกฤษสั้น ๆ และไม่มีชุดข้อมูลฝึกที่ติดป้ายกำกับ โดยผสานคลังคำศัพท์ด้านความรู้สึกเข้ากับกฎที่คำนึงถึงสัญญาณต่าง ๆ เช่น การปฏิเสธ การเน้นย้ำ การใช้อักษรตัวพิมพ์ใหญ่ และเครื่องหมายวรรคตอน จุดเด่นคือกระบวนการให้คะแนนที่ใช้ทรัพยากรน้อยและตรวจสอบได้ ไม่ใช่การเรียนรู้ตัวแทนของบทสนทนาทั้งหมด

การประมวลผลล่วงหน้าอาจเปลี่ยนพฤติกรรมของเครื่องมือได้ การลบเครื่องหมายวรรคตอนหรือแปลงข้อความทั้งหมดเป็นตัวพิมพ์เล็กอาจทำให้สัญญาณที่กฎตั้งใจใช้หายไป เอกสาร NLTK ยังระบุด้วยว่าข้อความแฮชแท็กไม่ได้รับการพิจารณาในลักษณะเดียวกัน เว้นแต่จะลบเครื่องหมายแฮชแท็กออก ควรเลือกวิธีประมวลผลล่วงหน้าให้เหมาะกับงาน และทดสอบกับตัวอย่าง แทนการใช้สูตรทำความสะอาดข้อความแบบทั่วไป

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

ข้อดีและข้อเสีย

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

ดู NLTK VADER เพิ่มเติม

5. Flair

Flair ช่วยให้เข้าถึงตัวจำแนกความรู้สึกที่ฝึกไว้แล้วได้อย่างสะดวกผ่านอินเทอร์เฟซ Python ขนาดเล็ก โมเดลวิเคราะห์ความรู้สึกที่มีเอกสารประกอบระบุไว้ประกอบด้วยตัวเลือกที่ใช้ทรานส์ฟอร์เมอร์สำหรับภาษาอังกฤษ และอีกตัวเลือกหนึ่งที่ใช้ RNN ซึ่งทำงานได้เร็วกว่า จึงเหมาะกับนักพัฒนาที่ต้องการสร้างเกณฑ์มาตรฐานเบื้องต้นด้วยโครงข่ายประสาทเทียมอย่างรวดเร็ว พร้อมกับยังเข้าถึงเฟรมเวิร์กที่ครอบคลุมการจัดประเภทข้อความและการฝังข้อความได้กว้างกว่า

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

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

ข้อดีและข้อเสีย

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

สำรวจ Flair

6. spaCy

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

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

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

ข้อดีและข้อเสีย

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

สำรวจ spaCy

7. Stanza

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

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

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

ข้อดีและข้อเสีย

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

สำรวจ Stanza

8. Sentence Transformers

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

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

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

ข้อดีและข้อเสีย

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

ดูเพิ่มเติมเกี่ยวกับ Sentence Transformers

9. TextBlob

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

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

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

ข้อดีและข้อเสีย

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

ดูเพิ่มเติมเกี่ยวกับ TextBlob

10. PyABSA

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

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

เราแนะนำ PyABSA สำหรับทีมที่พร้อมจัดการเวิร์กโฟลว์การสร้างโมเดลเฉพาะทางและตรวจสอบผลลัพธ์อย่างใกล้ชิด ในสภาพแวดล้อมใหม่ที่สะอาด ให้ยืนยันชุดเวอร์ชัน Python, PyTorch และ Transformers ที่ตรงตามข้อกำหนดของรุ่นและจุดตรวจสอบโมเดลที่เลือก การระบุเวอร์ชันขั้นต่ำไว้กว้าง ๆ ไม่ได้เป็นหลักฐานยืนยันว่าจะเข้ากันได้กับส่วนพึ่งพาทุกรุ่นล่าสุด ควรเปรียบเทียบกับเวิร์กโฟลว์วิเคราะห์ความรู้สึกตามแง่มุมของ SetFit ในกรณีที่เหมาะสม และเลือกโดยพิจารณาความเหมาะสมกับงานและความสามารถในการทำซ้ำผลลัพธ์ แทนการนับจำนวนชื่องานที่รองรับ

ข้อดีและข้อเสีย

  • รองรับงานวิเคราะห์ระดับแง่มุมอย่างชัดเจน
  • มีเวิร์กโฟลว์สำหรับการฝึก การประเมิน และการจัดการจุดตรวจสอบโมเดล
  • เก็บรักษาความเห็นเกี่ยวกับคุณลักษณะต่าง ๆ ของผลิตภัณฑ์แยกจากกัน
  • ข้อผิดพลาดในการดึงข้อมูลและการระบุขั้วความรู้สึกส่งผลสะสมต่อกัน
  • ต้องตรวจสอบความเข้ากันได้ของรุ่นที่เผยแพร่และจุดตรวจสอบ

สำรวจ PyABSA

เลือกงานวิเคราะห์ความรู้สึกให้ถูกต้องก่อน

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

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

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

วิธีประเมินไลบรารีวิเคราะห์ความรู้สึกอย่างตรงไปตรงมา

  • สร้างตัวอย่างที่มีป้ายกำกับและเป็นตัวแทนของข้อมูลจริง: ครอบคลุมภาษา โดเมน ความยาว กรณีที่เป็นกลาง ความคิดเห็นที่หลากหลาย และถ้อยคำที่ตีความยากตามความเกี่ยวข้อง แก้ไขข้อขัดแย้งในการติดป้ายกำกับ แทนที่จะคิดว่าคำตอบที่ถูกต้องนั้นชัดเจนอยู่แล้ว
  • แยกชุดประเมินออกจากข้อมูลฝึกอย่างเป็นอิสระ: จัดบทสนทนาที่เกี่ยวข้องกัน รีวิวที่ซ้ำกัน และข้อความต้นแบบที่ใช้ซ้ำให้อยู่ในส่วนข้อมูลเดียวกัน เพื่อไม่ให้รั่วไหลข้ามชุดฝึกและชุดประเมิน หากการเปลี่ยนแปลงของภาษาหรือผลิตภัณฑ์ในอนาคตมีความสำคัญ ให้ใช้ชุดข้อมูลทดสอบที่แยกตามช่วงเวลา
  • ตรวจสอบทุกคลาส: รายงานค่าความแม่นยำ (precision) ค่าความครอบคลุม (recall) คะแนน F1 และเมทริกซ์ความสับสน ความถูกต้องโดยรวมอาจบดบังประสิทธิภาพที่ต่ำในหมวดหมู่ซึ่งพบได้น้อยแต่สำคัญ
  • ตรวจสอบความหมายของคะแนน: คะแนนความเข้มข้นจากคลังคำศัพท์ ผลลัพธ์จากซอฟต์แมกซ์ และค่าความคล้ายคลึง ไม่ใช่ค่าความเชื่อมั่นที่ใช้แทนกันได้ ตรวจสอบเกณฑ์ตัดสินและการปรับเทียบให้เหมาะกับการใช้งานที่ต้องการ
  • ทดสอบเส้นทางการประมวลผลข้อมูลเข้าทั้งหมด: รวมการปรับรูปแบบข้อมูล การแบ่งประโยค การตัดข้อความ การประมวลผลเป็นชุด และการรวมผลระดับเอกสาร รักษาสัญญาณประกอบ เช่น เครื่องหมายวรรคตอน หากตัววิเคราะห์นำไปใช้
  • วัดต้นทุนในการปฏิบัติงาน: เปรียบเทียบเวลาเริ่มต้นระบบ ปริมาณงานที่ประมวลผลได้ เวลาแฝง และการใช้หน่วยความจำ โดยใช้ข้อมูลเข้าที่สมจริง บันทึกเวอร์ชันแพ็กเกจ รุ่นของโมเดล การจับคู่ป้ายกำกับ และใบอนุญาตของน้ำหนักโมเดล

เอกสารของ SetFit เกี่ยวกับการวิเคราะห์ความรู้สึกแบบอิงแง่มุมเป็นอีกแนวทางหนึ่งสำหรับเวิร์กโฟลว์ที่ต้องการระบุเป้าหมายโดยเฉพาะ หากต้องการประมวลผลข้อความในวงกว้าง โปรดดูคู่มือไลบรารี NLP สำหรับ Python และหากต้องการเรียนรู้พื้นฐานการฝึกและการประเมิน โปรดดูการเปรียบเทียบไลบรารีแมชชีนเลิร์นนิง

ควรเลือกไลบรารีวิเคราะห์ความรู้สึกตัวใด

เริ่มจาก Transformers เมื่อมีจุดตรวจสอบโมเดลที่ฝึกไว้ล่วงหน้าซึ่งเหมาะกับงาน จาก SetFit เมื่อชุดข้อมูลที่ติดป้ายกำกับไว้มีขนาดเล็กแต่เพียงพอสำหรับการปรับโมเดล หรือจาก scikit-learn หากต้องการโมเดลพื้นฐานแบบมีผู้สอนที่มีประสิทธิภาพ ใช้ NLTK VADER เป็นตัวเปรียบเทียบภาษาอังกฤษที่อิงกฎ และใช้ Flair เมื่อเครื่องมือจัดประเภทที่ฝึกไว้ล่วงหน้าตามเอกสารของไลบรารีเหมาะกับงาน

เลือก spaCy เพื่อผสานเครื่องมือจัดประเภทที่ฝึกแล้วเข้ากับไปป์ไลน์ที่ครอบคลุมกว่า เลือก Stanza สำหรับโมเดลภาษาระดับประโยคที่รองรับ หรือเลือก Sentence Transformers เมื่อการจัดประเภทแบบกำหนดเองที่อาศัยเวกเตอร์ฝังมีเหตุผลรองรับ ใช้ TextBlob สำหรับการทดลองใช้งานที่เข้าใจง่าย และประเมิน PyABSA เมื่อต้องเชื่อมโยงความคิดเห็นกับแง่มุมเฉพาะ

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

Alex เป็นผู้นำการดำเนินงานข่าวที่ใช้ AI ของ Unite.AI โดยผสานงานวารสารศาสตร์ การวิจัย และระบบอัตโนมัติ เพื่อสนับสนุนการรายงานข่าวด้านปัญญาประดิษฐ์อย่างทันท่วงทีและรองรับการขยายงาน งานของเขาช่วยให้ความก้าวหน้าใหม่ ๆ ด้าน AI ได้รับการนำเสนออย่างมีประสิทธิภาพ พร้อมรักษามาตรฐานบรรณาธิการของสำนักพิมพ์