一种庭审笔录系统及方法与流程

文档序号:13806223阅读:306来源:国知局
一种庭审笔录系统及方法与流程

本发明涉及庭审笔录技术领域,特别涉及一种庭审笔录系统及方法。



背景技术:

在当前的庭审过程中,各个庭审人员依次发言,发言的内容由在场的书记员记录下来。目前,书记员通常是通过手动输入信息的方式,借助于专用的速录键盘将各个人员的发言内容记录于庭审系统中。然而,由于庭审过程中人员发言的语速通常较快,书记员有时候会遗漏发言内容,或者书记员需要中断人员的发言,以争取记录的时间。

由上可见,当前的庭审过程中,各个人员的发言内容无法及时地录入系统,导致发言内容出现错误或者遗漏。



技术实现要素:

本发明提供一种庭审笔录系统及方法,能够提高笔录信息的记录速度和准确度。

一方面,本申请提供一种庭审笔录系统,所述系统包括无线麦克风、音频采集单元、外网服务器、语音识别服务器、网闸、内网服务器以及书记员电脑,其中:所述无线麦克风,用于采集庭审过程中各个人员的语音信息,并将所述语音信息发送至所述音频采集单元;所述音频采集单元,用于将所述语音信息进行格式转换后,发送至所述书记员电脑;所述书记员电脑,用于将经过格式转换的语音信息发送至内网服务器;所述内网服务器,用于将所述经过格式转换的语音信息通过所述网闸发送至所述外网服务器,并通过所述网闸接收所述外网服务器反馈的基于所述语音信息识别得到的文字信息;所述外网服务器,用于通过所述网闸接收所述内网服务器发来的经过格式转换的语音信息,并将接收到的语音信息发送至所述语音识别服务器;所述语音识别服务器,用于接收所述外网服务器发来的语音信息,并将接收到的语音信息识别为文字信息后,将所述文字信息反馈至所述外网服务器。

进一步地,所述无线麦克风为具备指定收音方向的麦克风,所述指定收银方向为所述麦克风正前方的指定锥形区域;并且,所述书记员电脑上设置有外置声卡,以获取多路不同的音频信息。

进一步地,所述内网服务器采用用户数据报协议进行数据收发。

进一步地,所述外网服务器部署于linux平台上,并采用主进程与工作进程相匹配的架构;其中,对于主进程,利用epolli/o复用的方式来完成语音信息的接收;对于工作进程,采用进程池的方式,若接收到的语音信息属于一个新的审判庭,就开启一个新的进程。

进一步地,当所述外网服务器获取就绪的文件描述符时,返回用于表征就绪的文件描述符数量的值;基于所述值,从指定数组中获取与所述数量相对应的文件描述符。

进一步地,所述外网服务器中包括语音离线检测模块,所述语音离线检测模块用于按照下述公式检测语音信息中语音和噪音的概率:

p(xk|z,rk)={1/sqrt(2*pi*sita^2)}*exp{-(xk-uz)^2/(2*sita^2)}

其中,xk是选取的语音特征量,rk是包括均值uz和方差sita的参数集合,z为确定参数,其中,z=0代表噪声,z=1代表语音,p(xk|z,rk)表示所述语音特征量xk对应的概率值,sprt表示开方运算,pi表示圆周率参数。

进一步地,所述内网服务器包括web服务模块和tcp转发服务模块,其中:所述web服务模块用于接收书记员电脑发出的http请求,并根据请求的具体内容查询数据库,并对所述请求做出响应;所述web服务模块包括请求处理层和数据持久层,所述请求处理层通过flask实现;所述数据持久层通过mongodb实现;所述tcp转发服务模块用于将所述语音识别服务器识别出的文字内容回传给所述书记员电脑;所述tcp转发服务模块采用python内置的基于io复用的tcp服务端。

进一步地,所述内网服务器还包括模板句子推送模块,所述模板句子推送模块用于将接收到的文字信息中待判定的句子进行分词,得到所述待判定的句子对应的特征向量;计算所述特征向量在模板句子库中对应的相似度,并将相似度超过指定阈值的模板句子推送给所述书记员电脑。

另一方面,本申请还提供一种庭审笔录方法,所述方法包括:无线麦克风采集庭审过程中各个人员的语音信息,并将所述语音信息发送至音频采集单元;所述音频采集单元将所述语音信息进行格式转换后,发送至书记员电脑;所述书记员电脑将经过格式转换的语音信息发送至内网服务器;所述内网服务器将所述经过格式转换的语音信息通过网闸发送至外网服务器,并通过所述网闸接收所述外网服务器反馈的基于所述语音信息识别得到的文字信息;所述外网服务器通过所述网闸接收所述内网服务器发来的经过格式转换的语音信息,并将接收到的语音信息发送至语音识别服务器;所述语音识别服务器接收所述外网服务器发来的语音信息,并将接收到的语音信息识别为文字信息后,将所述文字信息反馈至所述外网服务器。

进一步地,所述外网服务器按照下述公式检测语音信息中语音和噪音的概率:

p(xk|z,rk)={1/sqrt(2*pi*sita^2)}*exp{-(xk-uz)^2/(2*sita^2)}

其中,xk是选取的语音特征量,rk是包括均值uz和方差sita的参数集合,z为确定参数,其中,z=0代表噪声,z=1代表语音,p(xk|z,rk)表示所述语音特征量xk对应的概率值,sprt表示开方运算,pi表示圆周率参数。

由上可见,本申请中各个人员的语音信息可以通过无线麦克风采集后,送入音频采集单元,并由所述音频采集单元将语音信息进行格式转换后发送至外网服务器。外网服务器通过外网将经过格式转换的语音信息发送至语音识别服务器,从而可以将语音信息识别为文字信息,识别得到的文字信息可以通过网闸发送至内网服务器,以保证数据传输的安全性。内网服务器可以将所述文字信息提供给所述书记员电脑,从而可以在书记员电脑中实时显示各个人员对应的文字信息并按照人员角色显示笔录信息。由上可见,本申请提供的技术方案,能够提高笔录信息的记录速度和准确度。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中庭审笔录系统的结构示意图;

图2为本发明实施例中庭审笔录方法的流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

请参阅图1,本申请提供一种庭审笔录系统,所述系统包括无线麦克风、音频采集单元、外网服务器、语音识别服务器、网闸、内网服务器以及书记员电脑,其中:

所述无线麦克风,用于采集庭审过程中各个人员的语音信息,并将所述语音信息发送至所述音频采集单元;

所述音频采集单元,用于将所述语音信息进行格式转换后,发送至所述书记员电脑;

所述书记员电脑,用于将经过格式转换的语音信息发送至内网服务器;

所述内网服务器,用于将所述经过格式转换的语音信息通过所述网闸发送至所述外网服务器,并通过所述网闸接收所述外网服务器反馈的基于所述语音信息识别得到的文字信息;

所述外网服务器,用于通过所述网闸接收所述内网服务器发来的经过格式转换的语音信息,并将接收到的语音信息发送至所述语音识别服务器;

所述语音识别服务器,用于接收所述外网服务器发来的语音信息,并将接收到的语音信息识别为文字信息后,将所述文字信息反馈至所述外网服务器。

在本实施方式中,所述无线麦克风为具备指定收音方向的麦克风,所述指定收银方向为所述麦克风正前方的指定锥形区域;并且,所述书记员电脑上设置有外置声卡,以获取多路不同的音频信息。

在本实施方式中,所述内网服务器采用用户数据报协议进行数据收发。

在本实施方式中,所述外网服务器部署于linux平台上,并采用主进程与工作进程相匹配的架构;其中,对于主进程,利用epolli/o复用的方式来完成语音信息的接收;对于工作进程,采用进程池的方式,若接收到的语音信息属于一个新的审判庭,就开启一个新的进程。

在本实施方式中,当所述外网服务器获取就绪的文件描述符时,返回用于表征就绪的文件描述符数量的值;基于所述值,从指定数组中获取与所述数量相对应的文件描述符。

在本实施方式中,所述外网服务器中包括语音离线检测模块,所述语音离线检测模块用于按照下述公式检测语音信息中语音和噪音的概率:

p(xk|z,rk)={1/sqrt(2*pi*sita^2)}*exp{-(xk-uz)^2/(2*sita^2)}

其中,xk是选取的语音特征量,rk是包括均值uz和方差sita的参数集合,z为确定参数,其中,z=0代表噪声,z=1代表语音,p(xk|z,rk)表示所述语音特征量xk对应的概率值,sprt表示开方运算,pi表示圆周率参数。

在本实施方式中,所述内网服务器包括web服务模块和tcp转发服务模块,其中:

所述web服务模块用于接收书记员电脑发出的http请求,并根据请求的具体内容查询数据库,并对所述请求做出响应;所述web服务模块包括请求处理层和数据持久层,所述请求处理层通过flask实现;所述数据持久层通过mongodb实现;

所述tcp转发服务模块用于将所述语音识别服务器识别出的文字内容回传给所述书记员电脑;所述tcp转发服务模块采用python内置的基于io复用的tcp服务端。

在本实施方式中,所述内网服务器还包括模板句子推送模块,所述模板句子推送模块用于将接收到的文字信息中待判定的句子进行分词,得到所述待判定的句子对应的特征向量;计算所述特征向量在模板句子库中对应的相似度,并将相似度超过指定阈值的模板句子推送给所述书记员电脑。

具体地,在内网中,音频传输的过程中传输协议采用了udp协议,udp是一个不可靠的传输层协议,不保证数据能够真正到达目的主机。但是法院内网是百兆,甚至千兆以太网,所以这种环境下udp传输协议丢包的可能性特别低。考虑极端情况,音频的传输过程中丢失了几个音频包,对我们音频质量的影响也少之又少。不影响最终的识别结果。同时相比于tcp协议,udp没有信息确认机制,没有反馈重传,大大增加了语音识别的实时性。

在内网和外网中各自建一个服务器,内外网数据的沟通都通过这两台服务器,并且这两台服务器的数据沟通都需要通过安全网闸,网闸是一个保证网络物理隔离的设备,这样我们保证了法院数据的安全性。利用这种架构,我们同时可以服务法院多个审判庭,提高了设备资源的复用性。

外网服务器的主要功能:

外网服务器主要接收各法院审判庭的音频信息,识别后进行数据的返回。在实现过程中主要实现了音频信息的离线切割,存储音频数据库,将识别信息通过网闸转发给内网服务器。

外网服务器服务器部署在linux平台上,采用的是主进程加worker进程的架构,对于主进程,我们利用epolli/o复用的方式来完成音频数据的接收,worker进程的我们采用了进程池的方式,如果来的音频信息属于一个新的审判庭,我们就开启一个新的进程。这种架构保证了我们外网服务器的强大能力。这里涉及的一个问题是我们没有采用主线程加worker线程的形式主要有两个原因,一是识别会话在一个进程里面只允许开启一个,第二个就是各个进程之间没有信息的共享,不必采用多线程的形式。同时我们的主进程跟worker进程之间的信息沟通是一个明显的生产者消费者模式,采用了blockingqueue的异步消息方式,进一步提高了服务器处理的性能。

外网服务器技术要点:

1.epollio复用模型

epoll相比于select以及poll系统调用,同样只告知那些就绪的文件描述符,而且当我们调用epoll_wait()获得就绪文件描述符时,返回的不是实际的描述符,而是一个代表就绪描述符数量的值,只需要去epoll指定的一个数组中依次取得相应数量的文件描述符即可,这里也使用了内存映射(mmap)技术,这样便彻底省掉了这些文件描述符在系统调用时复制的开销。

另一个本质的改进在于epoll采用基于事件的就绪通知方式。在select/poll中,进程只有在调用一定的方法后,内核才对所有监视的文件描述符进行扫描,而epoll事先通过epoll_ctl()来注册一个文件描述符,一旦基于某个文件描述符就绪时,内核会采用类似callback的回调机制,迅速激活这个文件描述符,当进程调用epoll_wait()时便得到通知。

2.epollio用于处理音频信息的优点

支持一个进程打开大数目的socket描述符(fd),io效率不随fd数目增加而线性下降,使用mmap加速内核与用户空间的消息传递。

音频离线端点检测:

利用py-webrtcvad语音端点检测:webrtc的vad使用gmm(gaussianmixturemode)对语音和噪音建模,通过相应的概率来判断语音和噪声,这种算法的优点是它是无监督的,不需要严格的训练。gmm的噪声和语音模型如下:

p(xk|z,rk)={1/sqrt(2*pi*sita^2)}*exp{-(xk-uz)^2/(2*sita^2)}

其中,xk是选取的语音特征量,rk是包括均值uz和方差sita的参数集合,z为确定参数,其中,z=0代表噪声,z=1代表语音,p(xk|z,rk)表示所述语音特征量xk对应的概率值,sprt表示开方运算,pi表示圆周率参数。

内网服务器主要功能:

设置于法院内网的庭审服务器主要包含两个主要部分:web服务和tcp转发服务。其中,web服务主要包含请求处理和数据持久两个层次,对庭审的话语和音频进行保存,以及模板语句的推送。方便内网的书记员电脑查阅和回放;tcp转发服务包含服务进程一个层次,负责将识别结果实时回传书记员电脑,方便及时的比对与修改。

1.web服务

web服务包含两个层次,请求处理层和数据持久层。

法院内网的书记员电脑发出http请求之后,经过路由器路由到内网服务器,内网服务器根据请求的具体内容查询数据库,然后对请求作出响应。

请求处理层:

请求处理层使用flask实现。flask是一个使用python编写的轻量级web应用框架。其wsgi工具箱采用werkzeug,模板引擎则使用jinja2。flask使用bsd授权。flask也被称为microframework,因为它使用简单的核心,用extension增加其他功能。flask没有默认使用的数据库、窗体验证工具。

然而,flask保留了扩增的弹性,可以用flask-extension加入这些功能:orm、窗体验证工具、文件上传、各种开放式身份验证技术。

本软件使用flask开发,在保证了开发效率的同时,不但提升了软件开发的灵活性,而且节省了开发周期时间,留给测试大量时间。

数据持久层:

数据持久层使用mongodb实现。mongodb是一个基于分布式文件存储的数据库。由c++语言编写。旨在为web应用提供可扩展的高性能数据存储解决方案。

mongodb是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

本软件采用mongodb的原因是,mongodb本身的底层使用哈希索引实现,这个实现方式是有利于点查询,而不利于范围查询的,再点查询密集的场景,可以发挥出最大的效用。在法院场景下,由于各个审判庭只关心自己庭的记录,所以点查询较为密集,适合使用mongodb。

使用mongodb的第二个原因是,mongodb的gridfs对于零碎的小文件有聚合的作用。众所周知,每句话的音频文件是很小的,一次庭审存在大量的碎片化的音频文件。如果这些文件直接使用磁盘存储,受linux磁盘inode的影响,将会占据大量的空闲空间,效率低下。使用gridfs对小文件聚合处理,当作一个大文件一次性存储到磁盘上,这样可以很大程度上节省磁盘空间。

tcp转发服务:

tcp转发服务负责将识别结果实时回传书记员电脑,方便及时的比对与修改。

tcp转发服务的主要功能是,将外网服务器识别的是是文字结果发送到各个书记员电脑上,这样各个书记员电脑就可以实时看到文字识别结果。

这个模块开发用到了python内置的基于io复用的tcpserver,基于io复用的方案从现代计算机的角度来看,是处理tcp连接的最好方式,该方案避免了基于线程方案造成的线程代价和切换的时延,在高并发环境下可以达到非常好的性能表现。

在两个数据传输的过程中(外网服务器至内网服务器、内网服务器到书记员电脑),软件采用的是基于tcp的解决方案,这样可以保证数据传输过程中的一致性。

模板句子推送:

我们根据实际的庭审材料总结出了一套庭审流程中固定的话语,每次内网服务器在存储转发一次识别语句的时候,会计算模板库中和他相似程度前三的模板句子推送给用户。

在句子相似度的计算方法上,主要需要两个步骤:

1.分词:

中文分词(chinesewordsegmentation)指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂的多、困难的多。在这个问题上我们采用了ikanalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。

2.计算句子相似度:

计算句子相似度,常用方法有基于语义和词序相似度计算方法,基于关系向量模型

基于语义和词序的句子相似度计算方法简介

定义1:给定一个句子ti,经过汉语分词系统分词后,得到的所有词w1构成的向量称为句子ti的向量表示,表示为ti={w1,w2,.....wn}。

例子1:t1:这个中文分词可不可以,用着方不方便。分词后:t1=[这个,中文分词,可不可以,用着,方,不,方便]。向量表示t1={这个,中文分词,可不可以,用着,方,不,方便}

t2:这个中文分词比较方便,用着方便还可以。分词后:t2=[这个,中文分词,比较方便,用着,方便,还可以]。向量表示t2={这个,中文分词,比较方便,用着,方便,还可以}

定义2:给定一个句子ti的向量表示,ti中词的个数称为ti的向量长度,表示为len(ti).

例子2:对于句子t1和t2的向量长度表示为:len(t1)=7,len(t1)=6。

定义3:给定两个句子ti、tj的向量表示,将ti、tj中的所有词wi进行合并,并且对于重复初想的词只保留一个,由此得到两个向量之和,称为ti、tj的并集,表示t=t1ut2={这个,中文分词,可不可以,比较方便,用着,方,不,方便,还可以},很显然,并集长度len(t)<=len(t1)+len(t2)。

定义4:给定一个句子ti的向量表示ti={w1,w2,.....wn}和一个词wi,依次计算wi和ti中每一个词的相似度(值为0到1之间),所以所有结果中的最大值称为wi在ti中的语义分数,表示为ci。

定义5:给定两个句子ti、tj的向量表示,ti和tj的集合t={w1、w2,....wn},对t中的每一个词wi,计算wi在ti中的语义分数ci,t中每个分词的语义分数组成的一个向量称为ti基于t的语义向量,表示为si={c1,c2,...,cn}。

在该算法中,基于t分别计算ti和tj的语义向量si、sj,以计算si作为说明,过程如下:

1、对于t中的每一个词wi,如果wi在ti中出现,则在语义向量si中将wi的语义分数ci设为1。

2、如果ti中不包含wi,则计算wi在ti中的语义分数ci=a(a为预先设定的阈值,无阈值设为0,本文中阈值为0.2)。

根据语义向量计算语义相似度方法如下图:

词序相似度计算法方法如下:

中r1、r2分别为t1、t2的词序向量,以t1为例,其计算方法如下:

1、对于t中的每一个词wi,如果t1中包含该次,则r1中该次的取值为该词在t1中出现的词序。否则在t1中找出与wi最相似的词wi。

2、如果wi和wi的相似度大于一个给定的阈值(实验取值为0.4),wi在r1中的取值设为wi在ti中出现的词序。

3、如果两种情况均为发生,则wi在r1中的取值设为null。

其中,根据语义向量计算语义相似度方法中,通过余玄定理来实现。

请参阅图2,本申请还提供一种庭审笔录方法,所述方法包括:

s1:无线麦克风采集庭审过程中各个人员的语音信息,并将所述语音信息发送至音频采集单元;

s2:所述音频采集单元将所述语音信息进行格式转换后,发送至书记员电脑;

s3:所述书记员电脑将经过格式转换的语音信息发送至内网服务器;

s4:所述内网服务器将所述经过格式转换的语音信息通过网闸发送至外网服务器,并通过所述网闸接收所述外网服务器反馈的基于所述语音信息识别得到的文字信息;

s5:所述外网服务器通过所述网闸接收所述内网服务器发来的经过格式转换的语音信息,并将接收到的语音信息发送至语音识别服务器;

s6:所述语音识别服务器接收所述外网服务器发来的语音信息,并将接收到的语音信息识别为文字信息后,将所述文字信息反馈至所述外网服务器。

在本实施方式中,所述外网服务器按照下述公式检测语音信息中语音和噪音的概率:

p(xk|z,rk)={1/sqrt(2*pi*sita^2)}*exp{-(xk-uz)^2/(2*sita^2)}

其中,xk是选取的语音特征量,rk是包括均值uz和方差sita的参数集合,z为确定参数,其中,z=0代表噪声,z=1代表语音,p(xk|z,rk)表示所述语音特征量xk对应的概率值,sprt表示开方运算,pi表示圆周率参数。

由上可见,本申请中各个人员的语音信息可以通过无线麦克风采集后,送入音频采集单元,并由所述音频采集单元将语音信息进行格式转换后发送至外网服务器。外网服务器通过外网将经过格式转换的语音信息发送至语音识别服务器,从而可以将语音信息识别为文字信息,识别得到的文字信息可以通过网闸发送至内网服务器,以保证数据传输的安全性。内网服务器可以将所述文字信息提供给所述书记员电脑,从而可以在书记员电脑中实时显示各个人员对应的文字信息并按照人员角色显示笔录信息。由上可见,本申请提供的技术方案,能够提高笔录信息的记录速度和准确度。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1