臺灣深度大師
TW Deep Master
https://interactionx.pse.is/interactionx
TW Deep Master (臺灣深度大師) 是將Natural Language Processing (自然語言處理)和Speech Recognition (語音識別)的SOTA以繁體中文為基礎做迭代,模組化語音去噪、分離、識別與聲紋識別及自然語言處理的中文機器閱讀理解、文本分類、相似度、命名實體識別、糾錯與摘要等各種演算法提供 WEB API 調用;希望通過私有化部署並做到領域客製化,能根據需求創建多個應用,滿足更多想將AI落地或商業化的開發者專注在自己的研究目標與應用,打造出自己的AI語音或自然語言產品應用並落地。
那些自然語言處理 (Natural Language Processing, NLP) 踩的坑
那些語音處理 (Speech Processing) 踩的坑
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "model_type":model_type(str), "input_text":input_text(str)}' \
'https://api.twman.org/TextCorrection'
token(str):www.interactionx.co
model_type(str):"bert"
input_text(str):要執行糾錯的語句,長度須小於 64。
response 為 json 格式。
詳情可參照 request_test_TextCorrection.py。
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "model_type":model_type(str), "context":context(str), "question":question(str)}' \
'https://api.twman.org/QuestionAnswering'
token(str):www.interactionx.co
model_type(str):"bert_base_drcd"
context(str):輸入的文章,需包含問題的答案才可正確作答。
question(str):輸入的問題,針對輸入文章內容的提問。
文章與問題的長度總和需小於 512。
response 為 json 格式。
詳情可參照 request_test_QuestionAnswering.py。
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "context_ls":[context1(str), context2(str), ...], "question":question(str)}' \
'https://api.twman.org/QuestionAnsweringPlus'
token(str):www.interactionx.co
context_ls(str):輸入的文章列表,其中一篇文章需包含問題的答案才可正確作答。
question(str):輸入的問題,針對輸入文章內容的提問。
任一文章與問題的長度總和需小於 512,若超過長度文章會被截斷。
response 為 json 格式。
詳情可參照 request_test_QuestionAnsweringPlus.py。
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "model_type":model_type(str), "input_text":input_text(str)}' \
'https://api.twman.org/NamedEntityRecognition'
token(str):www.interactionx.co
model_type(str):"bert_base_msra"
input_text(str):要預測是否包含實體的語句,長度須小於 512。
response 為 json 格式。
詳情可參照 request_test_NamedEntityRecognition.py。
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "model_type":model_type(str), "input_text":input_text(str)}' \
'https://api.twman.org/TextClassification'
token(str):www.interactionx.co
model_type(str):"bert_lstm_service"
input_text(str):要預測類別的語句,長度須小於 64。
類別包含:"商業洽談", "課程銷售", "債務告警", "房產銷售", "快遞通知", "金融推銷", "獵人頭", "保險推銷", "貸款銷售", "外賣通知", "聊天", "電信客服"
response 為 json 格式。
詳情可參照 request_test_TextClassification.py。
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "model_type":model_type(str), "input_text_1":input_text_1(str), \
"input_text_2":input_text_2(str)}' \
'https://api.twman.org/TextSimilarity'
token(str):www.interactionx.co
model_type(str):"albert"
input_text_1(str):語句1,模型會計算此句與 input_text_2 的相似度。
input_text_2(str):語句2,模型會計算此句與 input_text_1 的相似度。
輸入 text1 與 text2 長度相加須小於 512。
response 為 json 格式。
詳情可參照 request_test_TextSimilarity.py。
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "model_type":model_type(str), "input_wav":input_wav(list)}' \
'https://api.twman.org/SpeechRecognition'
token(str):www.interactionx.co
model_type(str):"asr_alpha"、"asr_beta"、"asr_omega"
input_wav(list):測試音檔格式需為 16kHz、1 channel 的 wav,讀取方式參照 request_test_SpeechRecognition.py
response 為 json 格式。
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "model_type":model_type(str), \
"enroll_list":enroll_list(dict), "test_wav":test_wav(list)}' \
'https://api.twman.org/SpeakerRecognition'
token(str):www.interactionx.co
model_type(str):"sincnet_plda"
enroll_list(dict):格式為 {[說話人名稱]_[編號]: 音檔},需至少包含兩個說話者並各自含五個音檔以上,音檔格式需為 16kHz、1 channel 的 wav (讀取方法同 SpeechRecognition)。
test_wav(list):測試音檔格式需為 16kHz、1 channel 的 wav (讀取方法同 SpeechRecognition)。
response 為 json 格式。
參照 request_test_SpeakerRecognition.py。
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "model_type":model_type(str), "input_wav":input_wav(list)}' \
'https://api.twman.org/AudioDenoise'
token(str):www.interactionx.co
model_type(str):"Conv-denoiser"、"Fair-denoiser"
input_wav(str):輸入音檔格式需為 16kHz、1 channel 的 wav (讀取方法同 SpeechRecognition)。
response 為 json 格式,回傳的去噪後聲音需使用以下方法存出:
# In Python
from scipy.io import wavfile
import numpy as np
api_output = response.json().get('output')
wavfile.write(路徑+檔名, 16000, np.array(api_output).astype(np.int16))
詳情可參照 request_test_AudioDenoise.py。
curl -i -X POST \
-H "Content-Type:application/json" \
-d \
'{"token":www.interactionx.co, "model_type":model_type(str), "input_wav":input_wav(list)}' \
'https://api.twman.org/SpeechSeparation'
token(str):www.interactionx.co
model_type(str):"dptnet"、"sudormrf"
input_wav(str):輸入音檔格式需為 16kHz、1 channel 的 wav (讀取方法同 SpeechRecognition)。
response 為 json 格式,回傳的去噪後聲音需使用以下方法存出:
# In Python
from scipy.io import wavfile
import numpy as np
sep1, sep2 = response.json().get('output')
wavfile.write(路徑+檔名1, 16000, np.array(sep1).astype(np.int16))
wavfile.write(路徑+檔名2, 16000, np.array(sep2).astype(np.int16))
詳情可參照 request_test_SpeechSeparation.py。