ASRT เป็นระบบรู้จำเสียงภาษาจีนที่มีพื้นฐานมาจากการเรียนรู้เชิงลึก หากคุณชอบ โปรดคลิก "ดาว" ~
ภาษา ReadMe |. เวอร์ชันภาษาจีน |
หน้าแรกของโครงการ ASRT |. ดาวน์โหลดเวอร์ชันวางจำหน่าย |. ดูเอกสาร Wiki ของโครงการนี้ | . ให้รางวัลแก่ผู้เขียน
หากคุณมีปัญหาใด ๆ ในระหว่างการใช้งานหรือการใช้งานโปรแกรม คุณสามารถแจ้งปัญหาได้ทันเวลา และเราจะตอบกลับโดยเร็วที่สุด ผู้เขียนโครงการนี้สื่อสารในกลุ่ม QQ: 894112051 หากต้องการเข้าร่วมกลุ่ม WeChat โปรดเพิ่ม AI Lemon WeChat ID: ailemon-me และบันทึก "การรู้จำคำพูด ASRT"
โปรดอ่านเอกสารประกอบโครงการ คำถามที่พบบ่อย และปัญหาอย่างละเอียดก่อนถามคำถามเพื่อหลีกเลี่ยงคำถามซ้ำ
หากมีความผิดปกติใดๆ เมื่อโปรแกรมทำงาน กรุณาส่งภาพหน้าจอที่สมบูรณ์เมื่อถามคำถาม และระบุสถาปัตยกรรม CPU ที่ใช้, รุ่น GPU, ระบบปฏิบัติการ, เวอร์ชัน Python, TensorFlow และ CUDA และระบุว่ามีการแก้ไขโค้ดหรือชุดข้อมูลใดๆ หรือไม่ ได้รับการเพิ่มหรือลบ ฯลฯ .
โปรเจ็กต์นี้ใช้ tensorFlow.keras โดยอิงตามโครงข่ายประสาทเทียมแบบ deep convolutional และโครงข่ายประสาทเทียมหน่วยความจำระยะสั้นแบบยาว กลไกความสนใจ และการนำ CTC ไปใช้
ดำเนินการภายใต้ระบบ Linux เป็นตัวอย่าง:
ขั้นแรก โคลนโปรเจ็กต์นี้ลงในคอมพิวเตอร์ของคุณผ่าน Git จากนั้นดาวน์โหลดชุดข้อมูลที่จำเป็นสำหรับการฝึกอบรมในโปรเจ็กต์นี้ ดูลิงก์ดาวน์โหลดที่ส่วนท้ายของเอกสาร
$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git
หรือคุณสามารถใช้ปุ่ม "Fork" เพื่อสร้างสำเนาของโปรเจ็กต์นี้ จากนั้นทำการโคลนในเครื่องโดยใช้คีย์ SSH ของคุณเอง
หลังจากโคลนคลังสินค้าผ่าน git แล้ว ให้ป้อนไดเร็กทอรีรากของโปรเจ็กต์ และสร้างไดเร็กทอรีย่อยเพื่อจัดเก็บข้อมูล เช่น /data/speech_data
(คุณสามารถใช้ซอฟต์ลิงก์แทนได้) จากนั้นแยกชุดข้อมูลที่ดาวน์โหลดมาลงในนั้นโดยตรง
โปรดทราบว่าในเวอร์ชันปัจจุบัน ชุดข้อมูล 6 ชุดซึ่งรวมถึง Thchs30, ST-CMDS, Primewords, aishell-1, aidadatatang200 และ MagicData จะถูกเพิ่มเป็นค่าเริ่มต้นในไฟล์การกำหนดค่า โปรดลบออกด้วยตนเองหากคุณไม่ต้องการ หากต้องการใช้ชุดข้อมูลอื่นๆ คุณต้องเพิ่มการกำหนดค่าข้อมูลด้วยตนเองและจัดระเบียบข้อมูลล่วงหน้าโดยใช้รูปแบบมาตรฐานที่ ASRT รองรับ
$ cd ASRT_SpeechRecognition
$ mkdir /data/speech_data
$ tar zxf <数据集压缩文件名> -C /data/speech_data/
ดาวน์โหลดไฟล์ป้ายกำกับพินอินของชุดข้อมูลเริ่มต้น:
$ python download_default_datalist.py
รุ่นที่มีอยู่ในปัจจุบันคือ 24, 25, 251 และ 251bn
ก่อนที่จะรันโปรเจ็กต์นี้ โปรดติดตั้งไลบรารีที่ขึ้นกับเวอร์ชัน Python3 ที่จำเป็น
หากต้องการเริ่มการฝึกอบรมสำหรับโครงการนี้ โปรดดำเนินการ:
$ python3 train_speech_model.py
หากต้องการเริ่มทดสอบโปรเจ็กต์นี้ โปรดดำเนินการ:
$ python3 evaluate_speech_model.py
ก่อนการทดสอบ โปรดตรวจสอบให้แน่ใจว่ามีเส้นทางไฟล์โมเดลที่กรอกในโค้ดอยู่
ทำนายข้อความการรู้จำเสียงสำหรับไฟล์เสียงเดียว:
$ python3 predict_speech_file.py
หากต้องการเริ่มต้นเซิร์ฟเวอร์ API ของโปรโตคอล ASRT HTTP โปรดดำเนินการ:
$ python3 asrserver_http.py
ทดสอบในเครื่องว่าการเรียกใช้บริการ API โปรโตคอล HTTP สำเร็จหรือไม่:
$ python3 client_http.py
หากต้องการเริ่มต้นเซิร์ฟเวอร์ API ของโปรโตคอล ASRT GRPC โปรดดำเนินการ:
$ python3 asrserver_grpc.py
ทดสอบในเครื่องว่าการเรียกใช้บริการ API โปรโตคอล GRPC สำเร็จหรือไม่:
$ python3 client_grpc.py
โปรดทราบว่าหลังจากเปิดเซิร์ฟเวอร์ API คุณจะต้องใช้ซอฟต์แวร์ไคลเอนต์ที่เกี่ยวข้องกับโปรเจ็กต์ ASRT นี้สำหรับการรู้จำเสียง สำหรับรายละเอียด โปรดดูเอกสาร Wiki เพื่อดาวน์โหลด SDK และการสาธิตไคลเอนต์การรู้จำเสียง ASRT
หากคุณต้องการฝึกอบรมและใช้โมเดลที่ไม่ใช่ 251 พันล้าน โปรดทำการแก้ไขในตำแหน่งที่สอดคล้องกันของ from speech_model.xxx import xxx
ในโค้ด
ใช้นักเทียบท่าเพื่อปรับใช้ ASRT โดยตรง:
$ docker pull ailemondocker/asrt_service:1.3.0
$ docker run --rm -it -p 20001:20001 -p 20002:20002 --name asrt-server -d ailemondocker/asrt_service:1.3.0
มีเพียง CPU เท่านั้นที่รันการรับรู้การอนุมานโดยไม่มีการฝึกอบรม
DCNN+CTC
ระยะเวลาสูงสุดของเสียงอินพุตคือ 16 วินาที และเอาต์พุตจะเป็นลำดับพินอินภาษาจีนที่สอดคล้องกัน
โมเดลที่ผ่านการฝึกอบรมจะรวมอยู่ในแพ็คเกจบีบอัดโปรแกรมเซิร์ฟเวอร์เวอร์ชันรีลีส สามารถดาวน์โหลดโปรแกรมเซิร์ฟเวอร์เวอร์ชันรีลีสที่เสร็จสมบูรณ์ได้ที่นี่: หน้าดาวน์โหลด ASRT
หน้าการเผยแพร่ภายใต้พื้นที่เก็บข้อมูล Github นี้ยังรวมถึงข้อมูลแนะนำสำหรับแต่ละเวอร์ชันที่แตกต่างกัน แพ็คเกจ zip ในแต่ละเวอร์ชันยังประกอบด้วยแพ็คเกจโปรแกรมเซิร์ฟเวอร์การเผยแพร่ของโมเดลที่ได้รับการฝึกอบรม
แบบจำลองมาร์คอฟที่ซ่อนอยู่เอนโทรปีสูงสุดตามกราฟความน่าจะเป็น
ข้อมูลเข้าเป็นลำดับพินอินภาษาจีน และผลลัพธ์เป็นข้อความตัวอักษรจีนที่สอดคล้องกัน
ในปัจจุบัน โมเดลที่ดีที่สุดโดยทั่วไปสามารถบรรลุความแม่นยำพินอินภาษาจีนถึง 85% ในชุดทดสอบ
หากคุณไม่ทราบวิธีการติดตั้งสภาพแวดล้อม โปรดเรียกใช้คำสั่งต่อไปนี้โดยตรง (หากคุณมี GPU และ Python3.9, CUDA 11.2 และ cudnn 8.1 ได้รับการติดตั้งแล้ว):
$ pip install -r requirements.txt
ขึ้นอยู่กับข้อกำหนดการกำหนดค่าสภาพแวดล้อมและประสิทธิภาพ
สำหรับเนื้อหาทั้งหมด โปรดดู: ชุดข้อมูลคำพูดภาษาจีนแบบโอเพนซอร์สและฟรีล่าสุดหลายชุด
ชุดข้อมูล | ระยะเวลา | ขนาด | ดาวน์โหลดภายในประเทศ | ดาวน์โหลดในต่างประเทศ |
---|---|---|---|---|
THCHS30 | 40ชม | 6.01G | data_thchs30.tgz | data_thchs30.tgz |
ST-CMDS | 100ชม | 7.67G | ST-CMDS-20170001_1-OS.tar.gz | ST-CMDS-20170001_1-OS.tar.gz |
เอไอเชลล์-1 | 178ชม | 14.51ก | data_aishell.tgz | data_aishell.tgz |
คำสำคัญ | 100ชม | 8.44G | primewords_md_2018_set1.tar.gz | primewords_md_2018_set1.tar.gz |
เมจิกดาต้า | 755ชม | 52G/1.0G/2.2G | train_set.tar.gz/dev_set.tar.gz/test_set.tar.gz | train_set.tar.gz/dev_set.tar.gz/test_set.tar.gz |
หมายเหตุ: วิธีการบีบอัดชุดข้อมูล AISHELL-1
$ tar xzf data_aishell.tgz
$ cd data_aishell/wav
$ for tar in *.tar.gz; do tar xvf $tar; done
ขอขอบคุณเป็นพิเศษ! ขอบคุณรุ่นก่อนสำหรับชุดข้อมูลคำพูดสาธารณะ
หากไม่สามารถเปิดและดาวน์โหลดลิงก์ชุดข้อมูลที่ให้มาได้ โปรดคลิกลิงก์ OpenSLR
ASRT มอบความสามารถในการเข้าถึง SDK สำหรับแพลตฟอร์มและภาษาการเขียนโปรแกรมที่แตกต่างกันเพื่อให้ไคลเอนต์เรียกใช้และพัฒนาฟังก์ชันการรู้จำเสียงผ่าน RPC สำหรับแพลตฟอร์มอื่น ๆ สามารถเข้าถึงฟังก์ชันการรู้จำเสียงได้โดยตรงโดยการเรียก RESTful Open API ทั่วไป โปรดดูเอกสารประกอบโครงการ ASRT สำหรับขั้นตอนการเข้าถึงเฉพาะ
แพลตฟอร์มลูกค้า | ลิงค์คลังโครงการ |
---|---|
SDK ไคลเอนต์ Windows และการสาธิต | ASRT_SDK_WinClient |
SDK และการสาธิตไคลเอนต์ Python3 ข้ามแพลตฟอร์ม | ASRT_SDK_Python3 |
SDK และการสาธิตไคลเอนต์ Golang ข้ามแพลตฟอร์ม | asrt-sdk-go |
Java Client SDK และการสาธิต | ASRT_SDK_จาวา |
โปรดตรวจสอบบทความนี้เพื่อดูหลักการของ ASRT:
โปรดดูการฝึกอบรม ASRT และบทช่วยสอนการใช้งาน:
สำหรับคำถามที่พบบ่อยเกี่ยวกับหลักการของแบบจำลองภาษาทางสถิติ โปรดดูที่:
สำหรับคำถามเกี่ยวกับ CTC โปรดดู:
สำหรับเนื้อหาเพิ่มเติม โปรดไปที่บล็อกของผู้เขียน: AI Lemon Blog
หรือใช้เครื่องมือค้นหาไซต์ AI Lemon เพื่อค้นหาข้อมูลที่เกี่ยวข้อง
GPL v3.0 © nl8590687 ผู้แต่ง: AI Lemon
ดอย: 10.5281/zenodo.5808434
หน้าผู้ร่วมให้ข้อมูล
@ nl8590687 (เจ้าของ repo)