ASRT는 딥러닝 기반의 중국어 음성인식 시스템입니다. 마음에 드시면 "별표"를 눌러주세요~
읽어보기 언어 | 영어 |
ASRT 프로젝트 홈페이지 | 릴리스 버전 다운로드 | 이 프로젝트의 Wiki 문서 보기 실제 효과 데모 |
프로그램 실행이나 사용 중 문제가 발생하는 경우, 제때에 문제를 제기해 주시면 최대한 빨리 답변해 드리겠습니다. 이 프로젝트의 작성자는 QQ 그룹: 894112051 에서 통신합니다. WeChat 그룹에 가입하려면 AI Lemon WeChat ID: ailemon-me 를 추가하고 "ASRT 음성 인식"을 메모하십시오.
반복되는 질문을 피하기 위해 질문하기 전에 프로젝트 문서, FAQ 및 문제를 주의 깊게 읽으십시오.
프로그램 실행 중 이상이 있는 경우 질문 시 전체 스크린샷을 보내주시고, 사용된 CPU 아키텍처, GPU 모델, 운영 체제, Python, TensorFlow 및 CUDA 버전, 수정된 코드나 데이터 세트 여부를 알려주세요. 추가 또는 삭제 등이 있습니다.
이 프로젝트에서는 심층 합성곱 신경망과 장단기 기억 신경망, 주의 메커니즘 및 CTC 구현을 기반으로 하는 tensorFlow.keras를 사용합니다.
Linux 시스템에서의 작업을 예로 들어 보겠습니다.
먼저 Git을 통해 이 프로젝트를 컴퓨터에 복제한 다음 이 프로젝트 교육에 필요한 데이터 세트를 다운로드합니다. 문서 끝에 있는 다운로드 링크를 참조하세요.
$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git
또는 "포크" 버튼을 사용하여 이 프로젝트의 복사본을 만든 다음 자체 SSH 키를 사용하여 로컬로 복제할 수 있습니다.
git을 통해 웨어하우스를 복제한 후 프로젝트 루트 디렉터리를 입력하고 /data/speech_data
(대신 소프트 링크를 사용할 수 있음)와 같은 데이터를 저장할 하위 디렉터리를 만든 다음 다운로드한 데이터 세트를 해당 디렉터리로 직접 추출합니다.
참고로 현재 버전에서는 Thchs30, ST-CMDS, Primewords, aishell-1, aidatatang200, MagicData 등 6개의 데이터 세트가 기본적으로 구성 파일에 추가되어 있으므로 필요하지 않은 경우 직접 삭제하시기 바랍니다. 다른 데이터 세트를 사용하려면 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
ASRT HTTP 프로토콜의 API 서버를 시작하려면 다음을 실행하십시오.
$ python3 asrserver_http.py
HTTP 프로토콜 API 서비스 호출이 성공했는지 로컬에서 테스트합니다.
$ python3 client_http.py
ASRT GRPC 프로토콜의 API 서버를 시작하려면 다음을 실행하십시오.
$ python3 asrserver_grpc.py
GRPC 프로토콜 API 서비스 호출이 성공했는지 로컬에서 테스트합니다.
$ python3 client_grpc.py
API 서버를 연 후 음성 인식을 위해 이 ASRT 프로젝트에 해당하는 클라이언트 소프트웨어를 사용해야 합니다. 자세한 내용은 Wiki 문서를 참조하여 ASRT 음성 인식 클라이언트 SDK 및 데모를 다운로드하세요.
2,510억 개가 아닌 모델을 학습하고 사용하려면 코드에서 from speech_model.xxx import xxx
의 해당 위치를 수정하세요.
docker를 사용하여 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 |
AIShell-1 | 178시간 | 14.51G | 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는 클라이언트가 RPC를 통해 음성 인식 기능을 호출하고 개발할 수 있도록 다양한 플랫폼 및 프로그래밍 언어에 대한 SDK 액세스 기능을 제공합니다. 다른 플랫폼의 경우 일반 RESTful Open API를 호출하여 음성 인식 기능에 직접 액세스할 수 있습니다. 특정 액세스 단계는 ASRT 프로젝트 설명서를 참조하세요.
클라이언트 플랫폼 | 프로젝트 저장소 링크 |
---|---|
Windows 클라이언트 SDK 및 데모 | ASRT_SDK_WinClient |
크로스 플랫폼 Python3 클라이언트 SDK 및 데모 | ASRT_SDK_Python3 |
크로스 플랫폼 Golang 클라이언트 SDK 및 데모 | asrt-sdk-go |
Java 클라이언트 SDK 및 데모 | ASRT_SDK_Java |
ASRT의 원칙은 이 문서를 확인하세요.
ASRT 교육 및 배포 튜토리얼을 참조하세요.
통계 언어 모델의 원리에 대해 자주 묻는 질문은 다음을 참조하세요.
CTC에 대한 질문이 있는 경우 다음을 참조하세요.
더 많은 콘텐츠를 보려면 작성자의 블로그를 방문하세요: AI 레몬 블로그
혹은 AI레몬사이트 검색엔진을 이용하여 관련정보를 검색해 보세요
GPL v3.0 © nl8590687 저자: AI 레몬
DOI: 10.5281/zenodo.5808434
기여자 페이지
@nl8590687(저장소 소유자)