idNet
1.0.0
แพ็คเกจนี้รองรับสถาปัตยกรรมทั่วไปสำหรับการระบุภาษา ( LID ) และการระบุภาษาถิ่น ( DID ) โดยใช้ perceptron หลายชั้นที่สร้างขึ้นโดยใช้ keras ยังรองรับตัวจํา แน ก SVM เชิงเส้นโดยใช้ Scikit-Learn
เพื่อโหลดรุ่น:
from idNet import idNet_Enrich
lid = idNet_Enrich("Path to model file", s3_bucket)
did = idNet_Enrich("Path to model file", s3_bucket)
S3_Bucket ใช้ STR ที่มีถัง S3 เสริมเพื่อโหลดโมเดลจาก ชื่อไฟล์โมเดลต้องมีคำนำหน้าที่จำเป็น
เมื่อโหลดแบบจำลองฝาแล้วจะมีคุณสมบัติดังต่อไปนี้:
| วิธี | คำอธิบาย |
|---|---|
| lid.n_features | จำนวนฟีเจอร์ในโมเดล (เช่นแฮชแฮชถังขยะ) |
| lid.n_classes | จำนวนภาษาในโมเดล |
| lid.lang_mappings | พจนานุกรมของ {"iso_code": "language_name"} การแมปสำหรับรหัส ISO 639-3 ทั้งหมด |
| lid.langs | รายการรหัส ISO 639-3 สำหรับภาษาที่มีอยู่ในรุ่นปัจจุบัน |
เมื่อโหลดโมเดล DID แล้วจะมีคุณสมบัติดังต่อไปนี้:
| วิธี | คำอธิบาย |
|---|---|
| DID.N_FEATURES | จำนวนคุณสมบัติในไวยากรณ์ที่ใช้เรียนรู้โมเดล |
| DID.N_CLASSES | จำนวนประเทศในรูปแบบ |
| Did.country_mappings | พจนานุกรมของ {"iso_code": "country_name"} การแมปสำหรับรหัสประเทศทั้งหมดที่ใช้ |
| Did.countries | รายการรหัสประเทศสำหรับภาษาถิ่นระดับภูมิภาค (ระดับประเทศ) ที่มีอยู่ในรูปแบบปัจจุบัน |
รุ่นที่โหลดทำงานต่อไปนี้:
| วิธี | คำอธิบาย |
|---|---|
| lid.predict (ข้อมูล) | ใช้สายหรือสตริงแต่ละสาย ส่งคืนอาร์เรย์ของรหัสภาษาที่คาดการณ์ไว้ |
| DID. PREDICT (ข้อมูล) | ใช้สายหรือสตริงแต่ละสาย ส่งคืนรหัสประเทศที่คาดการณ์ไว้ |
หมายเหตุ: ชื่อไฟล์โมเดลจำเป็นต้องรวม ".did"/". LID" และ ".MLP"/". SVM" เพราะข้อมูลนี้ใช้เพื่อกำหนดประเภทของรุ่น!
ในการฝึกอบรมโมเดลใหม่จะต้องมีการเตรียมข้อมูลการฝึกอบรม กระบวนการนี้เป็นไปโดยอัตโนมัติ ดูไดเรกทอรี DATA_DID และ DATA_LID สำหรับทิศทางและสคริปต์
from idNet import idNet_Train
id = idNet_train()
| การโต้แย้ง | พิมพ์ | คำอธิบาย |
|---|---|---|
| พิมพ์ | (STR) | ไม่ว่าจะทำงานกับภาษาหรือการระบุภาษาถิ่น |
| ป้อนข้อมูล | (STR) | เส้นทางไปยังโฟลเดอร์อินพุต |
| เอาท์พุท | (STR) | พา ธ ไปยังโฟลเดอร์เอาท์พุท |
| S3 = FALSE | (บูลีน) | ถ้าเป็นจริงให้ใช้ boto3 เพื่อโต้ตอบกับถัง S3 |
| s3_bucket = "" | (STR) | ชื่อถัง S3 เป็นสตริง |
| ชื่อเล่น = "ภาษา" | (STR) | ชื่อเล่นสำหรับการบันทึก / โหลดรุ่น |
| divide_data = true | (บูลีน) | ถ้าเป็นจริงให้รวบรวมข้อมูลสำหรับชุดข้อมูล ถ้าเท็จเพียงแค่โหลดมัน |
| test_samples = 20 | (int) | จำนวนไฟล์สำหรับแต่ละคลาสที่จะใช้สำหรับการทดสอบ |
| Threshold = 100 | (int) | จำนวนไฟล์ที่ต้องการก่อนภาษา/ประเทศจะรวมอยู่ในรุ่น |
| samples_per_epoch = 5 | (int) | จำนวนตัวอย่างที่จะใช้ต่อยุคการฝึกอบรม |
| ภาษา = "" | (STR) | สำหรับ DID ระบุภาษาของโมเดลปัจจุบัน |
| LID_SAMPLE_SIZE = 200 | (int) | สำหรับฝาจำนวนอักขระที่อนุญาตต่อตัวอย่าง |
| DID_SAMPLE_SIZE = 1 | (int) | สำหรับ DID จำนวนตัวอย่าง 100 คำที่จะรวมกัน |
| preannotate_cxg = false | (บูลีน) | สำหรับ DID |
| preannetated_cxg = false | (บูลีน) | สำหรับทำถ้าจริงเพียงแค่โหลดเวกเตอร์ CXG ที่อุดมไปด้วย |
| cxg_workers = 1 | (int) | สำหรับ DID หากชุดข้อมูลล่วงหน้าจำนวนคนงานที่จะใช้ |
| class_constraints = [] | (รายการ STRs) | ตัวเลือกในการ จำกัด จำนวนคลาส |
| merge_dict = {} | (dict) | ต้นฉบับ: คีย์ชื่อใหม่ |
id.train()
| การโต้แย้ง | พิมพ์ | คำอธิบาย |
|---|---|---|
| model_type = "mlp" | (STR) | MLP หรือ SVM |
| lid_features = 524288 | (int) | จำนวนอักขระ n-gram ที่อนุญาตให้แฮชเท่านั้น |
| LID_NGRAMS = (1,3) | (tuple ของ ints) | ช่วงของ n-grams ถึงแฮช |
| did_grammar = ".grammar.p" | (STR) | ชื่อไวยากรณ์ C2XG ที่จะใช้สำหรับคำอธิบายประกอบ |
| c2xg_workers = 1 | (int) | สำหรับ DID จำนวนคนงานสำหรับการตกแต่ง C2XG |
| mlp_sizes = (300, 300, 300) | (tuple ของ ints) | ขนาดและจำนวนเลเยอร์ เช่น 3 ชั้นที่ 300 เซลล์แต่ละเซลล์ |
| cross_val = false | (บูลีน) | ไม่ว่าจะใช้การตรวจสอบข้ามมากกว่าชุดทดสอบที่จัดขึ้น |
| Dropout = 0.25 | (ลอย) | จำนวนการออกกลางคันที่จะใช้กับแต่ละเลเยอร์ |
| การเปิดใช้งาน = "relu" | (STR) | ประเภทของการเปิดใช้งาน เพิ่งผ่านชื่อไปยัง Keras |
| Optimizer = "SGD" | (STR) | ประเภทของอัลกอริทึมการเพิ่มประสิทธิภาพ; เพิ่งผ่านชื่อไปยัง keras |