当前位置: 首页 > 专利查询>福州大学专利>正文

一种基于P300的脑控话语发声器的实现方法技术

技术编号:15822240 阅读:30 留言:0更新日期:2017-07-15 04:35
本发明专利技术涉及一种基于P300的脑控话语发声器的实现方法,该脑控话语发声器是对用P300 Speller拼写的句子进行解码,再通过语音发声器播放出来,实现用户直接通过大脑完成说话的过程;主要包括以下步骤:用户通过P300 Speller依次拼写字符序列,拼写过程中可省略某些次要字符,直至拼写完整个句子;用解码算法对拼写的字符序列进行修正,得到正确的句子;然后将正确的句子传送至语音发声器。本发明专利技术提供的方法能够提高P300 Speller拼写句子的速度并实现直接利用大脑说话的功能。

【技术实现步骤摘要】
一种基于P300的脑控话语发声器的实现方法
本专利技术属于脑机接口与自然语言处理相结合的应用,涉及一种基于P300的句子拼写并通过语音设备实现大脑说话的方法。
技术介绍
脑机接口为一些运动神经损害而大脑功能无损的患者提供与外界交流的一种方式,其中P300Speller对大脑通过一系列的刺激,分析脑电信号,识别出用户想要拼写的字符来达到与外界的交流。目前P300Speller要完成一个句子的拼写只能够对字符逐个拼写,在产生错误时用户只能自行修正。存在的问题是,拼写一个句子需要较长的时间,用户容易疲劳,拼写效果不佳。
技术实现思路
有鉴于此,本专利技术的目的是提高用户利用P300Speller拼写句子的速度,并提高用户与外界交流的效率。本专利技术中用户在拼写过程中可省略某些次要字符,并且不用自己修正错误,用解码算法对拼写的字符序列进行修正,将得到正确的句子传送至语音发声器。本专利技术采用以下方案实现:一种基于P300的脑控话语发声器的实现方法,包括以下步骤:步骤S1:用户通过P300拼写矩阵拼写句子Sentence=c1c2,…,cn,P300拼写矩阵包括字母A-Z,数字0-9共36个字符,ci,i=1,…n为P300拼写矩阵中的字符;步骤S2:修正Sentence,在Sentence中插入漏输的字符,修改错误字符,得到一个新的句子C_Sentence;步骤S3:将C_Sentence传送至语音发声器并播放。进一步地,所述步骤S2具体包括以下步骤:步骤S21:设置结构变量Cur,Cur.sen=Sentence,Cur.loc=1,Cur.len=length(Sentence);初始化栈S,表L,并将Cur压入栈S;步骤S22:若栈S非空,弹栈更新Cur,转下一步;否则,转入步骤S26;步骤S23:判断Cur.loc位置上是否要插入字符;若要,Ins.sen=Insert(Cur.sen,Cur.loc),Ins.loc=Cur.loc+1,Ins.len=Cur.len+1,将Ins压入栈S;步骤S24:修正Cur.loc位置上的字符,Cur.sen=modify(Cur.sen,Cur.loc);Cur.loc=Cur.loc+1;步骤S25:若Cur.loc大于Cur.len,将Cur插入表L,否则将Cur压入栈S;转入步骤S22;步骤S26:用单词语言模型计算表L中所有句子的概率,输出概率最高的那个句子C_Sentence。进一步地,步骤S23中所述的判断Cur.loc位置上是否要插入字符及Insert(Cur.sen,Cur.loc)的具体方法为:以Cur.loc位置为中心,从Cur.sen中取出一个字符子序列,记为c1c2…ck;在c1c2…ck中对应Cur.loc的位置上插入字符ci,ci∈C,C包含空格字符和P300拼写矩阵中的所有字符,得到c1c2…ci...ck+1;用5-gram字符语言模型计算c1c2...ck和c1c2…ci...ck+1,ci∈C的概率,从c1c2…ci…ck+1,ci∈C这一组字符序列中选出概率最大的那一个,比较它与c1c2...ck的概率,若它的概率更大,则要插入字符;当要插入字符时,Insert(Cur.sen,Cur.loc)在Cur.sen字符序列的Cur.loc位置上插入使得c1c2...ci...ck+1,ci∈C概率最大的那个ci。进一步地,所述步骤S24中所述的修正Cur.loc位置上的字符,modify(Cur.sen,Cur.loc)的具体方法为:根据Cur.sen在Cur.loc位置上的那个字符和P300拼写矩阵概率模型,选出实际要输入的可能性较大的若干个字符构成字符集合令i=Cur.loc,计算其中cl为Cur.sen在l位置上原本的那个字符,cl'为Cur.sen在l位置上修正后的字符,P(c'l|cl)取自P300拼写矩阵概率模型,若cl为插入的空格,则P(c'l|cl)取1;c1c2...ci...cn代表Cur.sen或其修正后的结果,P(c1c2...ci...cn)依据5-gram字符语言模型计算,α为一比例因子;计算得到cb,用cb替代Cur.sen中的ci作为modify(Cur.sen,Cur.loc)的输出。进一步地,所述步骤S26中所述的计算句子的概率的具体方法为:读取表L中的句子Cur.sen,以空格为分隔符将单词分隔开,单词依序存于wi,i=1,...,m中,然后用3-gram单词语言模型计算句子的概率,公式如下,其中C(wi-2wi-1wi)和C(wi-2wi-1)分别为单词wi-2wi-1wi和wi-2wi-1在语料库中出现的次数。进一步地,所述根据Cur.sen在Cur.loc位置上的那个字符和P300拼写矩阵概率模型,选出实际要输入的可能性较大的若干个字符构成字符集合以及P(c'l|cl)取自P300拼写矩阵概率模型,其具体方法为:用户在使用前进行P300拼写训练,计算得到P300拼写矩阵概率模型,表示为矩阵A;A中的元素aij=P(cj|ci),ci为用户拼写得到的字符,cj为实际上要拼写的字符,P(cj|ci)为当拼写得到的字符为ci时实际上想要拼写的字符是cj的概率,ci,cj∈{'A','B',...,'Z','0',...,'9'},i=1,2,...,36,j=1,2,..36;对于Cur.sen在Cur.loc位置上的那个字符,查询矩阵A对应的行,就可得到实际要拼写的可能性较大的那些字符;P(c'l|cl)中的cl和cl'都是字符,可分别对应矩阵A的行与列,从A中取出相应的概率。进一步地,采用所述5-gram字符语言模型进行计算的具体方法为:5-gram字符语言模型计算任一字符序列c1c2...cn的概率所用的方法是,其中,C(c1...ci-1ci)和C(c1...ci-1)分别为字符c1...ci-1ci和c1...ci-1在语料库出现的次数,C(ci-4...ci-1ci)和C(ci-4...ci-1)分别为字符ci-4...ci-1ci和ci-4...ci-1在语料库中出现的次数。运动神经受损而大脑功能完好的患者与外界进行尽可能快的交流对了解患者的需求以及病情是非常重要的,而现有的利用P300Speller来拼写句子所需要的时间较长。因此,与现有技术相比,本专利技术具有以下优点:1、本专利技术能够让用户在拼写过程中省略一些字符,减少拼写的工作量,提高拼写效率。2、本专利技术采用解码算法修正用户拼写的句子,提高句子拼写的速率,从而提高与外界交流的速度。3、本专利技术将拼写的句子通过语音设备连接,更直接将用户与外界相联系,具有很强的实际应用意义。附图说明图1是本专利技术的方法流程图示意图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。本实施例提供一种基于P300的脑控话语发声器的实现方法,如图1所示,包括以下步骤:步骤S1:用户通过P300拼写矩阵拼写句子Sentence=c1c2,…,cn,P300拼写矩阵包括字母A-Z,数字0-9共36个字符,ci,i=1,…n为P300拼写矩阵中的字符;步骤S2:修正Sentence,在Sentence中插入漏输的字符,修改错误字符,得到一个新的句子C_Sent本文档来自技高网...
一种基于P300的脑控话语发声器的实现方法

【技术保护点】
一种基于P300的脑控话语发声器的实现方法,其特征在于:包括以下步骤:步骤S1:用户通过P300拼写矩阵拼写句子Sentence=c

【技术特征摘要】
1.一种基于P300的脑控话语发声器的实现方法,其特征在于:包括以下步骤:步骤S1:用户通过P300拼写矩阵拼写句子Sentence=c1c2,…,cn,P300拼写矩阵包括字母A-Z,数字0-9共36个字符,ci,i=1,…n为P300拼写矩阵中的字符;步骤S2:修正Sentence,在Sentence中插入漏输的字符,修改错误字符,得到一个新的句子C_Sentence;步骤S3:将C_Sentence传送至语音发声器并播放。2.根据权利要求书1所述的一种基于P300的脑控话语发声器的实现方法,其特征在于:所述步骤S2具体包括以下步骤:步骤S21:设置结构变量Cur,Cur.sen=Sentence,Cur.loc=1,Cur.len=length(Sentence);初始化栈S,表L,并将Cur压入栈S;步骤S22:若栈S非空,弹栈更新Cur,转下一步;否则,转入步骤S26;步骤S23:判断Cur.loc位置上是否要插入字符;若要,Ins.sen=Insert(Cur.sen,Cur.loc),Ins.loc=Cur.loc+1,Ins.len=Cur.len+1,将Ins压入栈S;步骤S24:修正Cur.loc位置上的字符,Cur.sen=modify(Cur.sen,Cur.loc);Cur.loc=Cur.loc+1;步骤S25:若Cur.loc大于Cur.len,将Cur插入表L,否则将Cur压入栈S;转入步骤S22;步骤S26:用单词语言模型计算表L中所有句子的概率,输出概率最高的那个句子C_Sentence。3.根据权利要求书2所述的一种基于P300的脑控话语发声器的实现方法,其特征在于:所述步骤S23中所述的判断Cur.loc位置上是否要插入字符及Insert(Cur.sen,Cur.loc)的具体方法为:以Cur.loc位置为中心,从Cur.sen中取出一个字符子序列,记为c1c2...ck;在c1c2...ck中对应Cur.loc的位置上插入字符ci,ci∈C,C包含空格字符和P300拼写矩阵中的所有字符,得到c1c2...ci...ck+1;用5-gram字符语言模型计算c1c2...ck和c1c2...ci...ck+1,ci∈C的概率,从c1c2...ci...ck+1,ci∈C这一组字符序列中选出概率最大的那一个,比较它与c1c2...ck的概率,若它的概率更大,则要插入字符;当要插入字符时,Insert(Cur.sen,Cur.loc)在Cur.sen字符序列的Cur.loc位置上插入使得c1c2...ci...ck+1,ci∈C概率最大的那个ci。4.根据权利要求书2所述的一种基于P300的脑控话语发声器的实现方法,其特征在于:所述步骤S24中所述的修正Cur.loc位置上的字符,modify(Cur.sen,Cur.loc)的具体方法为:根据Cur.sen在Cur.loc位置上的那个字符和P300拼写矩阵概率模型,选...

【专利技术属性】
技术研发人员:黄志华郭红王小娜黄炜马文鸿林智锋
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1