- การสาธิตสดออนไลน์: http://tworld.io/ss3/ ???
ตัวแยกประเภทข้อความ SS3 เป็นรูปแบบการเรียนรู้ของเครื่องจักรที่เรียบง่ายและเรียบง่ายสำหรับการจำแนกประเภทข้อความซึ่งสามารถตีความได้นั่นคือมันมี ความสามารถในการอธิบายเหตุผลตามธรรมชาติ เดิมทีมันถูกนำมาใช้ในส่วนที่ 3 ของกระดาษ "กรอบการจำแนกประเภทข้อความสำหรับการตรวจจับภาวะซึมเศร้าในช่วงต้นที่เรียบง่ายและมีประสิทธิภาพเหนือสตรีมสื่อสังคมออนไลน์" (arxiv preprint) โมเดลที่เรียบง่ายนี้ได้รับผลลัพธ์ที่ดีที่สุดและดีที่สุดเป็นอันดับสองติดต่อกันในสามฉบับล่าสุดของห้องปฏิบัติการ Erisk ของ Clef ในทุกรุ่นที่เข้าร่วม [Burdisso et al. 2019; Loyola และคณะ 2021] เมื่อพิจารณาถึงลักษณะของกล่องสีขาวทำให้นักวิจัยและผู้ปฏิบัติงานสามารถปรับใช้การตีความได้
หมายเหตุ: แพ็คเกจนี้ยังรวมเอารูปแบบที่แตกต่างกันของโมเดลดั้งเดิมเช่นที่แนะนำใน "T-SS3: ตัวจําแนกข้อความที่มี N-GRAM แบบไดนามิกสำหรับการตรวจจับความเสี่ยงในช่วงต้นของสตรีมข้อความ" (arxiv preprint) ซึ่งช่วยให้ SS3 สามารถรับรู้คำที่มีความยาวตัวแปรที่สำคัญ N-Grams "
Pyss3 เป็นแพ็คเกจ Python ที่ช่วยให้คุณทำงานกับ SS3 ในวิธีที่ตรงไปตรงมาโต้ตอบและภาพ นอกเหนือจากการใช้งานของตัวจําแนก SS3 แล้ว PYSS3 มาพร้อมกับชุดเครื่องมือเพื่อช่วยให้คุณพัฒนารูปแบบการเรียนรู้ของเครื่องของคุณในวิธีที่ชัดเจนและเร็วขึ้น เครื่องมือเหล่านี้ช่วยให้คุณวิเคราะห์ตรวจสอบและเข้าใจแบบจำลองของคุณโดยอนุญาตให้คุณเห็นสิ่งที่พวกเขาได้เรียนรู้จริงและทำไม เพื่อให้บรรลุเป้าหมายนี้ PYSS3 จะให้คุณมี 3 องค์ประกอบหลัก: คลาส SS3 , คลาส Live_Test และคลาส Evaluation ดังที่ชี้ให้เห็นด้านล่าง
SS3ซึ่งใช้ตัวจําแนกโดยใช้ API ที่ชัดเจน ตัวอย่างเช่นลองโหลดชุดข้อมูลของบทช่วยสอนก่อน:
from pyss3 . util import Dataset
url = "https://github.com/sergioburdisso/pyss3/raw/master/examples/datasets/movie_review.zip"
x_train , y_train = Dataset . load_from_url ( url , "train" )
x_test , y_test = Dataset . load_from_url ( url , "test" ) ตอนนี้เรามาฝึกอบรมรุ่น SS3 รุ่นแรกของเรากันเถอะ! โปรดทราบว่า API นั้นคล้ายกับรุ่นของ sklearn มาก:
from pyss3 import SS3
clf = SS3 ()
clf . fit ( x_train , y_train )
y_pred = clf . predict ( x_test ) นอกจากนี้คลาสนี้ยังมีวิธีการที่เป็นประโยชน์อื่น ๆ จำนวนหนึ่งเช่นตัวอย่างเช่น extract_insight() เพื่อแยกชิ้นส่วนข้อความที่เกี่ยวข้องในการตัดสินใจจำแนกประเภท (ช่วยให้คุณเข้าใจเหตุผลที่อยู่เบื้องหลังการคาดการณ์ของโมเดล) หรือ classify_multilabel()
doc = "Liverpool CEO Peter Moore on Building a Global Fanbase"
# standard "single-label" classification
label = clf . classify_label ( doc ) # 'business'
# multi-label classification
labels = clf . classify_multilabel ( doc ) # ['business', 'sports']Live_Testซึ่งช่วยให้คุณสามารถทดสอบแบบจำลองของคุณและมองเห็นเหตุผลที่อยู่เบื้องหลังการตัดสินใจจำแนกประเภท ด้วยรหัสเพียงบรรทัดเดียว :
from pyss3 . server import Live_Test
clf = SS3 ()
clf . fit ( x_train , y_train )
Live_Test . run ( clf , x_test , y_test ) # <- this one! cool uh? :) ดังที่แสดงในภาพด้านล่างสิ่งนี้จะเปิดขึ้นในพื้นที่เครื่องมือโต้ตอบในเบราว์เซอร์ของคุณซึ่งคุณสามารถใช้ (สด) ทดสอบโมเดลของคุณด้วยเอกสารที่ให้ไว้ใน x_test (หรือพิมพ์ด้วยตัวเอง!) สิ่งนี้จะช่วยให้คุณเห็นภาพและเข้าใจว่าแบบจำลองของคุณกำลังเรียนรู้อะไรจริง ๆ
ตัวอย่างเช่นเราได้อัปโหลดการทดสอบสดสองครั้งทางออนไลน์เพื่อให้คุณลอง: "การตรวจสอบภาพยนตร์ (การวิเคราะห์ความเชื่อมั่น)" และ "การจัดหมวดหมู่หัวข้อ" ทั้งคู่ได้รับหลังจากการสอน
Evaluation นี่อาจเป็นหนึ่งในองค์ประกอบที่มีประโยชน์ที่สุดของ PYSS3 ตามชื่อแนะนำคลาสนี้ให้วิธีการใช้งานง่ายสำหรับผู้ใช้สำหรับการประเมินแบบจำลองและการเพิ่มประสิทธิภาพ hyperparameter เช่นตัวอย่างเช่น test , kfold_cross_validation , grid_search และวิธี plot สำหรับการทดสอบ อาจเป็นหนึ่งในคุณสมบัติที่สำคัญที่สุดคือความสามารถในการบันทึกประวัติของการประเมินที่คุณทำโดยอัตโนมัติ (และถาวร) โดยอัตโนมัติ สิ่งนี้จะช่วยให้คุณประหยัดเวลาได้มากและจะช่วยให้คุณเห็นภาพและวิเคราะห์ประสิทธิภาพของตัวจําแนกของคุณในแง่ของค่าพารามิเตอร์ไฮเปอร์ที่แตกต่างกัน (และเลือกรุ่นที่ดีที่สุดตามความต้องการของคุณ) ตัวอย่างเช่นลองดำเนินการค้นหากริดด้วยการตรวจสอบข้าม 4 เท่าในสามพารามิเตอร์ hyperparameters ความราบรื่น ( s ) ความสำคัญ ( l ) และการลงโทษ ( p ):
from pyss3 . util import Evaluation
best_s , best_l , best_p , _ = Evaluation . grid_search (
clf , x_train , y_train ,
s = [ 0.2 , 0.32 , 0.44 , 0.56 , 0.68 , 0.8 ],
l = [ 0.1 , 0.48 , 0.86 , 1.24 , 1.62 , 2 ],
p = [ 0.5 , 0.8 , 1.1 , 1.4 , 1.7 , 2 ],
k_fold = 4
) ในตัวอย่างตัวอย่างนี้ s , l และ p จะใช้ค่าที่แตกต่างกันทั้ง 6 ค่าและเมื่อการค้นหาสิ้นสุดลงฟังก์ชั่นนี้จะกลับ (โดยค่าเริ่มต้น) ค่าไฮเปอร์พารามิเตอร์ที่ได้รับความแม่นยำที่ดีที่สุด ตอนนี้เรายังสามารถใช้ฟังก์ชั่นพ plot เพื่อวิเคราะห์ผลลัพธ์ที่ได้ในการค้นหากริดของเราโดยใช้พล็อตการประเมินผล 3 มิติแบบโต้ตอบ:
Evaluation . plot () ในพล็อต 3 มิตินี้แต่ละจุดแสดงถึงการทดลอง/การประเมินผลที่ดำเนินการโดยใช้การรวมกันของค่านั้น ( s , l และ p ) นอกจากนี้จุดเหล่านี้ยังถูกทาสีตามสัดส่วนว่าประสิทธิภาพดีเพียงใดตามตัวชี้วัดที่เลือก; พล็อตจะอัปเดต "ทันที" เมื่อผู้ใช้เลือกเมตริกการประเมินผลที่แตกต่างกัน (ความแม่นยำความแม่นยำการเรียกคืน F1 ฯลฯ ) นอกจากนี้เมื่อเคอร์เซอร์ถูกย้ายไปที่จุดข้อมูลข้อมูลที่เป็นประโยชน์จะปรากฏขึ้น (รวมถึงการเป็นตัวแทน "กะทัดรัด" ของเมทริกซ์ความสับสนที่ได้รับในการทดลองนั้น) ในที่สุดมันก็คุ้มค่าที่จะกล่าวถึงว่าก่อนที่จะแสดงพล็อต 3 มิติ PYSS3 จะสร้างไฟล์ HTML แบบพกพาและพกพาในโฟลเดอร์โครงการของคุณที่มีพล็อตแบบโต้ตอบ สิ่งนี้ช่วยให้ผู้ใช้สามารถจัดเก็บส่งหรืออัปโหลดแปลงไปยังสถานที่อื่นโดยใช้ไฟล์ HTML เดียวนี้ ตัวอย่างเช่นเราได้อัปโหลดสองไฟล์เหล่านี้เพื่อให้คุณเห็น: "การวิเคราะห์ความเชื่อมั่น (บทวิจารณ์ภาพยนตร์)" และ "การจัดหมวดหมู่หัวข้อ" ทั้งสองแปลงการประเมินผลได้รับหลังจากการสอน
เพียงไปที่หน้าเริ่มต้น: D
เพียงแค่ใช้:
pip install pyss3 ขอบคุณสำหรับความสนใจในโครงการคุณ !! ความช่วยเหลือใด ๆ ยินดีต้อนรับอย่างมาก (รหัส, รายงานข้อผิดพลาด, เนื้อหา, ข้อมูล, เอกสาร, การออกแบบ, ตัวอย่าง, ความคิด, ข้อเสนอแนะ ฯลฯ ) ปัญหาและ/หรือคำขอดึงยินดีต้อนรับสำหรับการปรับปรุงทุกระดับตั้งแต่การพิมพ์ผิดขนาดเล็กไปจนถึงคุณสมบัติใหม่
โปรดจำไว้ว่าคุณสามารถใช้ปุ่ม "แก้ไข" (ไอคอน 'ดินสอ') ขึ้นไปด้านบนเพื่อแก้ไขไฟล์ใด ๆ ของ repo นี้โดยตรงบน GitHub
ในที่สุดในกรณีที่คุณวางแผนที่จะสร้าง คำขอดึงใหม่ สำหรับการส่งคืนนี้เราจะทำตาม "กฎเจ็ดข้อของข้อความ Git Git ที่ยิ่งใหญ่" จาก "วิธีการเขียนข้อความ Git Commit" ดังนั้นตรวจสอบให้แน่ใจว่าการกระทำของคุณติดตามพวกเขาเช่นกัน
(หากคุณต้องการข้อมูลเพิ่มเติมใด ๆ โปรด อย่าลังเล ที่จะติดต่อฉัน - [email protected])
ขอบคุณไปที่คนที่ยอดเยี่ยมเหล่านี้ (คีย์อีโมจิ):
florian angermeir - - | Muneeb Vaiyani - - | Saurabh Bora - | Hubert Baniecki - |
โครงการนี้เป็นไปตามข้อกำหนดทั้งหมดของผู้เข้าร่วม การมีส่วนร่วมทุกชนิดยินดีต้อนรับ!
เอกสารฉบับเต็ม
เอกสาร API
พิมพ์กระดาษ