使用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={
"":"零",
"":"一",
"":"二",
"":"三",
"":"四",
"":"五",
"":"六",
"":"七",
"":"八",
"":"九"
};
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]
===================================================================
使用2种python脚本工具将2个txt文档中的文字进行比较,并计算出Corr, WER正确率,准确率的更多相关文章
- 用python从符合一定格式的txt文档中逐行读取数据并按一定规则写入excel(openpyxl支持Excel 2007 .xlsx格式)
		
前几天接到一个任务,从gerrit上通过ssh命令获取一些commit相关的数据到文本文档中,随后将这些数据存入Excel中.数据格式如下图所示 观察上图可知,存在文本文档中的数据符合一定的格式,通过 ...
 - 一个简易的Python爬虫,将爬取到的数据写入txt文档中
		
代码如下: import requests import re import os #url url = "http://wiki.akbfun48.com/index.php?title= ...
 - arcgis python脚本工具实例教程—栅格范围提取至多边形要素类
		
arcgis python脚本工具实例教程-栅格范围提取至多边形要素类 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 功能:提取栅格数据的范围, ...
 - python 错误、调试、单元测试、文档测试
		
错误分为程序的错误和由用户错误的输入引起的错误,此外还有因为各种各样意外的情况导致的错误,比如在磁盘满的时候写入.从网络爬取东西的时候,网络断了.这类错误称为异常 错误处理 参考链接:https:// ...
 - Python帮助文档中Iteration iterator iterable 的理解
		
iteration这个单词,是循环,迭代的意思.也就是说,一次又一次地重复做某件事,叫做iteration.所以很多语言里面,循环的循环变量叫i,就是因为这个iteration. iteration指 ...
 - [原创博文] 用Python做统计分析 (Scipy.stats的文档)
		
[转自] 用Python做统计分析 (Scipy.stats的文档) 对scipy.stats的详细介绍: 这个文档说了以下内容,对python如何做统计分析感兴趣的人可以看看,毕竟Python的库也 ...
 - 2018-10-04 [日常]用Python读取word文档中的表格并比较
		
最近想对某些word文档(docx)的表格内容作比较, 于是找了一下相关工具. 参考Automate the Boring Stuff with Python中的word部分, 试用了python-d ...
 - 使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)(转)
		
对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过 Python语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...
 - 【python】使用HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies
		
一.从HTML文档中提取链接 模块HTMLParser,该模块使我们能够根据HTML文档中的标签来简洁.高效地解析HTML文档. 处理HTML文档的时候,我们常常需要从其中提取出所有的链接.使用HTM ...
 
随机推荐
- 013-java中的IO操作-InputStream/Reader、OutputStream/Writer
			
一.概述 IO流用来处理设备之间的数据传输,上传文件和下载文件,Java对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称 ...
 - 阶段5 3.微服务项目【学成在线】_day04 页面静态化_04-freemarker基础-基础语法种类
			
注释 编译一些这个模板 我的IDEA里面,是重新编译 刷新页面 注释.插值.FTL.文本
 - 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_18-异常处理-不可预知异常处理
			
框架抛出来的或者一些第三方的组件抛出来的异常.我们根本不知道它所对应的错误代码的信息,所以我们也没有办法给用户返回具体的错误代码和错误信息. 我们先在Map中定义有一些不可预知的异常,定义错误代码和错 ...
 - bs4笔记
			
1.网页输出乱码的解决办法 r= requests.get('https://www.baidu.com/') r.encoding = 'gbk2312' #有可能 gbk.utf-8 soup ...
 - 跨域form下载方式 批量下载
			
downloadFileForm:function(fid) { var url = "https://file.xxxx.com/fileDownload.do"; var in ...
 - Flutter 状态管理 flutter_Provide
			
项目的商品类别页面将大量的出现类和类中间的状态变化,这就需要状态管理.现在Flutter的状态管理方案很多,redux.bloc.state.Provide. Scoped Model : 最早的状态 ...
 - django 之(五) --- RESTApi总结
			
RESTful django-rest-framework serializers 序列化工具.序列化与反序列化 级联模型 添加级联字段 nested 级联字段的key原来必须就是存在的 隐性属性.自 ...
 - 自学电脑游戏第三天(Swing组件)
			
Swing组件 1.按钮(Jbutton) 示例:选择用户所喜欢的城市. import java.awt.*; import java.awt.event.*; import javax.swing. ...
 - CDH6.2上配置各种对象存储
			
cm-hdfs: ufile: 还需添加jar包 S3:是自带jar包 OSS: CDH6不需要下载包, CDH5需要 core-site.xml 的群集范围高级配置代码段(安全阀) fs.oss.e ...
 - UWP笔记-使用FFmpeg编解码
			
在开发UWP媒体应用的时候,使用的MediaElement可以支持主流的格式,不过还是有些格式本地编解码器是不支持的,如.flv..rmvb等,这里讲到的是第三方开源库FFmpeg,可以直接播放更多的 ...