作者: Dr.2 MediCool醫(yī)庫軟件公司董事長
Introduction(引言):
以醫(yī)生為入口的小眾移動醫(yī)療市場,杏樹林的病歷夾與醫(yī)庫軟件的珍立拍是目前市場上兩款以提高醫(yī)生工作效率為目的的醫(yī)療app,并都對語音識別醫(yī)學(xué)術(shù)語做了應(yīng)用性研究,其中珍立拍在2013年8月份推出了語音識別記錄病歷,但一直只在其官網(wǎng)下載應(yīng)用,每2周迭代更新一次,截止13年底,真實有效用戶為1173個(包括公司的全體員工),沒有上app store和發(fā)力推廣。病歷夾于近期上架更新了語音識別模塊,并投入了各種資源和錢財進行了廣泛的宣傳,讓更多醫(yī)生和行業(yè)從業(yè)人員知曉。因為醫(yī)學(xué)語音識別的探索和應(yīng)用國內(nèi)有不少信息科的同仁和醫(yī)科大學(xué)都在做,我一共檢索到有用中文文獻(xiàn)10篇左右,目前超聲科和影像科使用相對成熟一些,并且記錄的多為格式化病歷信息,所以病歷夾近期對語音識別模塊的更新不可能夸張到什么重大突破,也談不上首次,雖然這只是具體的應(yīng)用層面,不過進行有效宣傳對整個移動醫(yī)療行業(yè)來說,是一件好事。
下面來詳細(xì)介紹一下這兩款軟件在語音識別領(lǐng)域與病歷記錄領(lǐng)域內(nèi)各自的探索及測試比較。作為醫(yī)生臨床工作的助手軟件,經(jīng)常要識別一些藥物名稱和疾病名稱,這些拗口的專有名詞,對語音識別系統(tǒng)提出了很大的挑戰(zhàn)。
Materials and Methods (材料和方法):
測試時間:2014年1月13日
測試機型:
IOS:2個iphone5C,ios7.0.4系統(tǒng)
Android:2個小米2,android4.0系統(tǒng)
隨機抽取76種藥物名,68種疾病名,由一個人發(fā)音測試,相同的手機分別安裝兩種軟件,并隔著相同的距離,進行雙盲測試,把手機屏幕正面朝下,使發(fā)音人不能看見是哪個機器測試哪種軟件。如果可以正確識別的就一遍過去,遇到錯誤識別時,重新測試一次并換其他人發(fā)音識別一次,只要有一次完全正確就算正確。
Result(測試結(jié)果):
病歷夾:對疾病名稱的識別度較高,達(dá)到89%;但對藥物名稱的識別度差一些,準(zhǔn)確率為44%。
珍立拍: 對藥物名稱的識別度較高,準(zhǔn)確率為58%;但對一些疾病的識別度比較差,只有54%。
綜合來看,目前病歷夾領(lǐng)先。
下面將測試的情況一一羅列,并舉其中的兩個例子進行對比:
藥物名稱識別情況:
疾病名稱識別情況:
識別例子:
① 創(chuàng)傷止痛乳膏(左圖為珍立拍識別界面,右圖為病歷夾識別界面)
識別結(jié)果:珍立拍正確,病歷夾錯誤
② 髂骨致密性骨炎(左圖為珍立拍識別界面,右圖為病歷夾識別界面)
識別結(jié)果:珍立拍錯誤,病歷夾正確
Discussion(討論):
我來介紹一下語音識別在醫(yī)學(xué)應(yīng)用的技術(shù)路線。首先這兩家公司都沒有技術(shù)實力去做自己的語音識別系統(tǒng),均采用第三方的SDK。珍立拍在早期的時候采用云知聲的識別引擎,現(xiàn)在android和ios分別采用云知聲和科大訊飛的引擎,病歷夾可能采用其它引擎或以上中的一個。從技術(shù)實現(xiàn)來說,只是一個應(yīng)用而已,沒有任何技術(shù)含量和壁壘。那么我們可以做哪些工作呢?
第一階段 擴充自定義詞庫
如果只是為了解決無法識別某些詞匯的問題,只需要擴充自己的詞庫即可。相當(dāng)于自定義詞庫,從而提高識別率。(附件以android為例,來進行實際編碼方案的說明)目前病歷夾主要在這個方向進行了努力,輸入了大量的自定義詞庫,并將其定義為醫(yī)學(xué)數(shù)據(jù)庫。這個工作珍立拍目前也在進行中,需要時間和工作量的積累,是一項重復(fù)性高的臟活累活。
第二階段 搭建第三方素材庫
目前的語音識別只能單純識別中文或者英文,但實際臨床工作中包括實際病歷書寫時,有時中文中有英文縮寫或者單詞,比如“患者施行ERCP術(shù)”等,那么系統(tǒng)就無法識別這部分內(nèi)容。就整個中英文混合識別而言,目前即使再有20年的技術(shù)積累也無法實現(xiàn),但是對少量參雜在醫(yī)學(xué)用語中的中英文混排識別中,可以和語音識別公司深度合作了。MediCool公司近期完工了自己的錄音棚,準(zhǔn)備錄制大批高質(zhì)量的素材,加入到識別引擎的比對數(shù)據(jù)庫內(nèi),或者制作自己的第三方素材庫,可以配合多個語音識別公司。也就是說,把整個中文加少量英文的一些固定搭配變成一個新的詞,整體識別。這個工作量是非常大的,只能先從最常用最基本的做起,同時還要避免手機端處理能力有限,數(shù)據(jù)包過重的問題(如果裝一個 APP要下載1個G,我想90%的用戶都會跑掉)。整個實現(xiàn)過程中需要的人力物力也很多,目前我們僅有70人的團隊捉襟見肘,只能盡力而為,還在不斷摸索中。但這個內(nèi)容采集工作本身也是有價值的(其實業(yè)內(nèi)的語音識別公司無論如何優(yōu)化算法和查找比對引擎,這個基礎(chǔ)工作也是要有人去做的,并且這個樣本數(shù)據(jù)越多越好),借助云計算的威力可以快速精準(zhǔn)識別。
此外,我們會免費將第三方素材庫開放給行業(yè)內(nèi)其他移動醫(yī)療創(chuàng)業(yè)企業(yè),共同構(gòu)建醫(yī)學(xué)語音識別生態(tài)鏈,避免重復(fù)投資,減少整個社會資源的浪費。
以下是廣告時間:MediCool醫(yī)庫軟件目前還在照片文字識別及云服務(wù)上進行了持續(xù)投入。春節(jié)后,我們將開始進行測試,醫(yī)生上傳手機拍照的文字照片至云端后,我們進行識別后轉(zhuǎn)成文檔,并人工修訂部分錯誤后自動發(fā)回,以給用戶更好的體驗。該服務(wù)并不僅限于醫(yī)療領(lǐng)域,各行各業(yè)都有需要。同時我們 2次500VIP活動的用戶群終身免費,一直以來不停有人詢問VIP和普通用戶的區(qū)別,現(xiàn)在可以做一部分回答了。
附件:語音識別自定義用戶詞庫的技術(shù)路線實例(android)
根據(jù)科大訊飛sdk使用規(guī)范說明,申請的APPID和下載的SDK具有一致性!即android跟ios所使用的sdk key是不一樣,珍立拍開發(fā)中確實也如此。
所以如果要使用自定義詞匯的話,android、ios是必須分別做上傳自定義詞匯操作。
以android為實例
1、在web端后臺管理系統(tǒng)中增加一個自定義詞匯錄入界面,把數(shù)據(jù)存儲在服務(wù)器數(shù)據(jù)庫中,統(tǒng)一管理android跟ios自定義詞匯;
2、php服務(wù)提供自定義詞匯接口;
3、android端使用語言識別的時候調(diào)用php接口獲取自定義詞匯;
4、android調(diào)用科大訊飛語言識別api,具體參數(shù)設(shè)置如下:
mIat.setParameter(SpeechConstant.LANGUAGE, "zh_cn");// zh_cn 中文;en_us 英文
mIat.setParameter(SpeechRecognizer.GRAMMAR_ENCODEING, "utf-8");
mIat.updateLexicon("contact", "張叁 李肆 王武", lexiconListener);//張叁 李肆 王武 就是從服務(wù)器獲取的
mIat.setParameter(SpeechConstant.DOMAIN, "iat");
mIat.setParameter(SpeechConstant.PARAMS, "asr_ptt=1");
注意點:以上參數(shù)必須在SpeechRecognizer的初始化監(jiān)聽onInit回調(diào)成功之后設(shè)置才有效!具體代碼:
private InitListener mInitListener = new InitListener() {
@Override
public void onInit(ISpeechModule module, int code) {
if (code == ErrorCode.SUCCESS) {
setParameters(); //設(shè)置參數(shù)
}else if(code == 21001){//沒有安裝語言插件
}else {
}
}
};
測試結(jié)果:說張三、李四的時候,識別結(jié)果是張叁、李肆,達(dá)到預(yù)想結(jié)果;并且當(dāng)自定義詞匯更改的時候會使用最新的詞匯,即第一次是‘張叁’,改為‘張三’之后,再次識別會是‘張三’。
(轉(zhuǎn)載請注明作者:Dr.2,愿意與Dr.2交流的請加微信號:1340603421)返回搜狐,查看更多
責(zé)任編輯: