一。准备:

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正确率,准确率的更多相关文章

  1. 用python从符合一定格式的txt文档中逐行读取数据并按一定规则写入excel(openpyxl支持Excel 2007 .xlsx格式)

    前几天接到一个任务,从gerrit上通过ssh命令获取一些commit相关的数据到文本文档中,随后将这些数据存入Excel中.数据格式如下图所示 观察上图可知,存在文本文档中的数据符合一定的格式,通过 ...

  2. 一个简易的Python爬虫,将爬取到的数据写入txt文档中

    代码如下: import requests import re import os #url url = "http://wiki.akbfun48.com/index.php?title= ...

  3. arcgis python脚本工具实例教程—栅格范围提取至多边形要素类

    arcgis python脚本工具实例教程-栅格范围提取至多边形要素类 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 功能:提取栅格数据的范围, ...

  4. python 错误、调试、单元测试、文档测试

    错误分为程序的错误和由用户错误的输入引起的错误,此外还有因为各种各样意外的情况导致的错误,比如在磁盘满的时候写入.从网络爬取东西的时候,网络断了.这类错误称为异常 错误处理 参考链接:https:// ...

  5. Python帮助文档中Iteration iterator iterable 的理解

    iteration这个单词,是循环,迭代的意思.也就是说,一次又一次地重复做某件事,叫做iteration.所以很多语言里面,循环的循环变量叫i,就是因为这个iteration. iteration指 ...

  6. [原创博文] 用Python做统计分析 (Scipy.stats的文档)

    [转自] 用Python做统计分析 (Scipy.stats的文档) 对scipy.stats的详细介绍: 这个文档说了以下内容,对python如何做统计分析感兴趣的人可以看看,毕竟Python的库也 ...

  7. 2018-10-04 [日常]用Python读取word文档中的表格并比较

    最近想对某些word文档(docx)的表格内容作比较, 于是找了一下相关工具. 参考Automate the Boring Stuff with Python中的word部分, 试用了python-d ...

  8. 使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)(转)

    对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过 Python语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...

  9. 【python】使用HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies

    一.从HTML文档中提取链接 模块HTMLParser,该模块使我们能够根据HTML文档中的标签来简洁.高效地解析HTML文档. 处理HTML文档的时候,我们常常需要从其中提取出所有的链接.使用HTM ...

随机推荐

  1. HTM概述

    Html: Hyper Text Markup Language 超文本标记语言 超文本: 超出纯文本的范畴 标记语言: 标记其实就是标签 标签的格式: <标签名称>

  2. 一百二十九:CMS系统之七牛云存储介绍和配置

    将图片的存储.尺寸等图片本身的一些擦做,交给七牛云处理,自己只关注网站开发本身 七牛云官网:https://www.qiniu.com 操作 登录后,点击管理控制台 点击对象存储-->新建存储空 ...

  3. java -- SSM配置完成后,能访问jsp文件不能访问html文件,报错解析

    SSM配置完成后,能访问jsp文件不能访问html文件,报错解析 在确保路径没有任何问题的,情况下,相同的页面,jsp能够正常访问,html却不能正常访问(404). 解决方法: 在web.xml中添 ...

  4. 图解 HTTP 笔记(五)——Web 服务器

    该章的主要内容是讲解与 HTTP 协作的 Web 服务器 一.用单台虚拟主机实现多个域名 基于虚拟主机的功能,可以只使用一台物理机实现多个域名的网站部署. 在互联网上,域名通过 DNS 域名解析系统可 ...

  5. RocketMQ采坑记

    先来一篇解释比较多的实例 https://www.cnblogs.com/super-d2/p/4154541.html No route info of this topic, PushTopic ...

  6. Flutter Swiper制作轮播效果

    1.引入flutter_swiper插件 flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配. Flutter_swiper的GitHub地址:https: ...

  7. linux基本防护措施,权限分配和提高防护安全

    设置用户失效 1.失效的用户将无法登录 使用chage命令将用户zhangsan的账户设为当前已失效(比如已经过去的某个时间): [root@proxy ~]# useradd zhangsan [r ...

  8. std::replace函数

    需包含头文件#include <algorithm> template <class ForwardIterator, class T> void replace (Forwa ...

  9. 最新 快乐阳光java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.快乐阳光等10家互联网公司的校招Offer,因为某些自身原因最终选择了快乐阳光.6.7月主要是做系统复习.项目复盘.Leet ...

  10. 文件input框选择图片实时显示小技巧

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...