使用2種python腳本工具將2個txt文檔中的文字進行比較,並計算出Corr, WER正確率,准確率


一。准備:

linux服務器,src2mlf.py   rec2mlf.py   HResults文件,1份源文件和1份需要對比的文件。文件放置於本人雲盤

二。使用方法:

1. 對比工具 HResults 需要運行在linux環境下,且僅支持mlf文件的對比
2. 兩種python腳本工具 src2mlf.py 和 result2mlf.py , 將txt文件轉換成 mlf文件
src文件為原始測試集,result文件為識別結果
txt文件格式:(每行 :序號+空格+字串)
1 字串1
2 字串2
3 ...
3.python腳本需要安裝python3版本
4.運行方法:
生成原始測試集的mlf文件:python3 src2mlf.py xx.txt > xx.mlf
生成識別結果的mlf文件: python3 result2mlf.py xx.txt > xx.mlf
5. 當准備好需要對比的mlf文件后,以 src.mlf 和 result.mlf 為例,
運行HResults,運行結果打印在屏幕上
./HResults -t -I src.mlf /dev/null result.mlf
運行HResults,運行結果保存至 1.txt 文件中
./HResults -t -I src.mlf /dev/null result.mlf > 1.txt

 

三。轉換腳本內容

#-*- coding:utf-8 -*-
import os,sys

def to_mlf(xi):
    dx={
       "0":"",
       "1":"",
       "2":"",
       "3":"",
       "4":"",
       "5":"",
       "6":"",
       "7":"",
       "8":"",
       "9":""
    };
    d=[]
    eng=[]
    tx=[",",".","!","(",")","","","",'','','','','',''];
    for x in xi:
        u=x.encode("utf-8")
        #print ("2", u)
        if u in tx:
            continue;
        if len(u)==1:
            if x in dx:
                u=dx[x].encode("utf-8")
            eng.append(str(u, encoding='utf-8'))
        else:
            if len(eng)>0:
                d.append("".join(eng).upper())
                eng=[]
            d.append(str(u, encoding='utf-8'))
    if len(eng)>0:
            d.append("".join(eng).upper())
    return d

def fn_to_lab(s):
    x=s.split()
    for i in x:
        d=to_mlf(i.strip())
        if len(d)>0:
            print("\n".join(d))
    print('.')

fn=sys.argv[1]
print('#!MLF!#')
for l in open(fn):
    l=l.strip()
    x=l.split()
    k=x[0].strip()
    v=" ".join(x[1:])
    t=".".join(k)
    print('"*No%s.lab" ' % t)
    fn_to_lab(v)

 

 

四。測試結果

====================== HTK Results Analysis =======================
Date: Mon Aug 26 16:29:42 2019
Ref : src_1.mlf
Rec : hori.mlf
------------------------ Overall Results --------------------------
SENT: %Correct=77.00 [H=385, S=115, N=500]
WORD: %Corr=97.26, Acc=97.01 [H=8034, D=54, S=172, I=21, N=8260]
===================================================================


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM