带定量参数的地理信息系统语音控制方法

文档序号:6458682阅读:407来源:国知局
专利名称:带定量参数的地理信息系统语音控制方法
技术领域
本发明涉及地理信息系统(GIS)中的语音控制方法,属于语音控制技术,地理信息系统技术及其应用领域。

背景技术
随着语音识别技术的发展,人与机器通过语言对话进行语音交互成为一种现实。语音交互作为一种最自然流畅、方便快捷的人机交互手段,和传统的人机交互方式相比,具有能与手、眼同时工作并快速的获取/输入信息的优点。目前,语音控制技术在声控机器人、手机声控拨号、语音控制家电/汽车设备以及语音控制导航设备等方面都得到了一定应用,但是在语音控制技术的应用特别是在地理信息系统中的应用,都是以简单的命令控制和信息查询为主,而没有考虑命令语句中具有各种定量参数的情况。
在现有的语音控制技术应用中,大多数采取命令指令、命令短语等方式控制机器或者计算机软件。中国科学技术大学的李胜等通过研制的语音控制型智能机器人在语音命令的控制下,能够实现“前进”、“后退”、“左转弯”、“右转弯”和“转圈儿抓举物体”等功能;清华大学张新丰等人将语音控制技术应用于汽车上,实现了对汽车设备进行语音指令的控制,实现了“打开远光灯”、“打开车窗”等功能。在移动GIS领域,语音控制主要应用于语音车载导航系统方面,2003年HONDA(本田)公司应用IBM的嵌入式ViaVoice语音技术研发出一套车载DVD语音导航系统,可以辨识150个英文指令,让驾驶人以口语化的方式在车内问路并实现交通导航,若驾驶人要查询方向,可按下方向盘上的“说话”键发出指令短语,如“寻找最近的加油站”、“寻找最近的提款机”等;2006年IBM又与先锋电子集团应用最新的嵌入式ViaVoice软件和车载Telematics技术,完成了以语音识别与语音合成技术集成的车载导航系统——“先锋AVIC-Z1”,可以实现如“往洛杉矶机场”的指令,它就会自动显现通往机场的详细地图;在CN1841312专利中公开了“一种车辆导航装置的语音控制系统”,使用语音进行地名查询和系统控制。在以上所有的产品和语音控制方法中,只是使用了命令、指令的方式驱动系统运行或查询信息(目标),并没有考虑在用户发出的命令语句中,对命令本身进行修饰的各种定量性参数的情况,如在对机器人进行“前进”、“左转弯”控制时,没有能够有效的控制机器人前进的距离和转弯的幅度等,因此语音命令的准确性不能得到充分的发挥。


发明内容
地理信息系统软件的应用包含了地理信息浏览、处理、查询、分析等众多功能,其功能的附加参数在形式上可划分为无参数、定量参数、非定量参数和混合参数四种情况,其中,定量参数是在地理信息系统命令之后附加一定的数量词以说明操作的空间位置、范围、距离、大小、面积等定量信息的常用参数形式。
本发明的目的在于,克服现有技术存在的缺陷,提出一种带有多形式、多重定量参数的利用语音控制地理信息系统运行的方法。“多形式”指的是定量参数的多种形式,即不只是整数形式,还可以是小数、分数(含带分数)等形式,如“一百四十三点三七米”、“五又三分之一平方公里”;“多重”指的是可以同时采用多个定量参数限定一个命令的情况,如“(定位)东经115度20分30秒,北纬32度15分25秒”、“(距离)以东200米,以南350米”。
本发明是以现有的商品化的语音识别模块为语音信息识别的基础工具,对由其识别得到的文本字符串进行命令及其定量参数的提取,驱动相应的地理信息系统功能,实现更加灵活、快捷、有效的人机对话方式,从而丰富和完善地理信息系统的语音应用方法。
本发明所要解决的技术问题是如何在地理信息系统的语音控制模块中为命令语句增加各种定量参数的应用方法,因此提出一种在命令词汇后面带有单一或者多重定量参数的形式,即“命令词汇+定量参数1+定量参数2+......+定量参数n”(n≥1),用符号表示为“c[+p](c表示命令词汇,p为定量参数,用‘[]’表示其中的内容可循环)”,这里的命令语句是专指在地理信息系统应用操作中可以带有定量参数的命令,如地图浏览中的“左移五十米”中的“左移”。
本发明所涉及的定量参数属于地理信息系统中常用的参数,它包含简单型定量参数和组合型定量参数两种形式。
简单型定量参数是一个数量词表示的定量参数,如“三又二分之一公里”、“五十七点八平方米”、“十五倍”,其形式可表示为“数词+<倍数词或者单位量词>”(<>表示其中的内容可省略,如“缩小三分之一”中的定量参数中省略了倍数词),其中数词由基本数词、级数词和分隔词组合而成,基本数词包括“零”、“一”、“二”、......、“九”,级数词包括“十”、“百”、“千”、“万”、“亿”等,分隔词为用于表示小数和分数的“点”、“分之”、“又”;倍数词表示针对数量大小的特定倍数或者比例变化关系,如“倍”、“翻”;单位量词即表示数量单位的词,如表示长度单位的“米”、“公里”、“千米”等,表示面积单位的“平方米”、“平方公里”、“平方千米”等,此外如表示人口数量单位的“人”,表示重量的“吨”、“公斤”等。在同一个定量参数中,倍数词和单位量词不会同时出现,在本发明中把这两种词类合称为倍量词。
组合型定量参数则为多个数量词连接起来才能表示一个完整数量意义的一组数量词集合,可分为三种情况(1)量词-量词组合型,这是一组具有特定关系的数量词组合类型,其形式为“数词+单位量词[+数词+单位量词]”([]表示其中的内容可循环),常见的有经纬度(度-分-秒)等,如“一百一十八度三分六秒”;(2)量词-倍数词组合型,这是反映某一个长度、面积、大小等数量的倍数信息,其形式为“数词+单位量词[+倍数连接词+数词<+倍数词>]”([]表示其中的内容可循环,<>表示其中的内容可省略),倍数连接词是表示数量与倍数以及倍数与倍数之间的特定连接词,通常为“的”、“之”、“乘”、“乘以”、“乘上”等,如“五百二十七米乘上五点五倍”、“六百米的三分之一”、“六点八平方公里的二倍的三点二五倍”等;(3)倍数词-倍数词组合型,这是反映倍数变化的一种类型,其形式为“数词+倍数词[+倍数连接词+数词+倍数词]”,这里的倍数连接词仅用于表示倍数和倍数之间的特定连接词,如“的”、“之”、“乘”、“乘以”、“乘上”等,如“(放大)三倍之三倍”。
在本发明中将任意一个中文汉字、拼音字母、数字及其他符号均视为一个独立字符处理,字符串为包含n(n≥0)个独立字符的集合,其中当n=0时称为空字符串。
本发明带定量参数的地理信息系统语音控制方法,在现有语音识别模块基础上,增加了语言获取、命令词汇匹配、参数词汇分解、参数量化、参数组合、运行驱动控制六个步骤 语言获取——在地理信息系统程序中添加现有的语音识别模块及其调用接口,并在系统运行中对用户输入的基于地理信息系统操作、应用的语音信息,通过该语音识别模块的获取、处理和识别得到一个待检文本字符串; 命令词汇匹配——根据建立的常用地理信息系统命令字符串集合,从待检文本字符串中匹配、提取当前命令字符串,同时将包含所有参数信息的全参数字符串划分出来; 参数词汇分解——利用建立的常用单位量词表和倍数词表,通过基本数词、级数词、分隔词、单位量词或者倍数词匹配、分解的方法,将全参数字符串划分为一组数词字符串和倍量词字符串,这里的数词字符串是由基本数词字符串、级数词字符串和分隔词字符串组合而成,反映一个明确的数量信息的字符串,而倍量词字符串同时包括空字符串(倍数词缺省)、单位量词和倍数词三种类型,在同一个数量词字符串中,三种类型的字符串不会同时出现; 参数量化——将数词字符串转换为定量数据形式,包括整数、小数等多种方式,其中对于组合型定量参数,需要经过组合运算后得到一个定量数据; 参数组合——将一组经过量化后的定量数据与相应的倍量词组合起来,构成定量参数集合; 运行驱动控制——利用建立的地理信息系统命令字符串与功能函数对应集合表,根据输入语音所获取的命令字符串和定量参数集合,调用相应的地理信息功能模块,实现地理信息系统的运行操作。
本发明带定量参数的地理信息系统语音控制方法,其步骤如下 步骤一、设定经过现有语音识别模块识别得到的待检文本字符串S;已知现有的常用地理信息系统命令字符串集合TS={TSi|i=1,k1},TSi表示第i个命令字符串,k1表示所有命令的数量;基本数词字符串集合为NS={NSi|i=1,k2},其中NSi表示第i个基本数词,k2表示基本数词的数量;级数词字符串集合为JS={JSi|i=1,k3},其中JSi表示第i个级数词,k3表示级数词的数量;分隔词字符串集合为FS={FSi|i=1,k4},其中FSi表示第i个分隔词,k4表示分隔词的数量;在地理信息系统中常用单位量词的字符串集合为US={USi|i=1,k5},其中USi表示第i个单位量词字符串,k5表示单位量词的数量;在地理信息系统中常用倍数词的字符串集合为BS={BSi|i=1,k6},其中BSi表示第i个倍数词字符串,k6表示倍数词的数量;在地理信息系统中常用的倍数连接词字符串集合为LS={LSi|i=1,k7},其中LSi第i个倍数连接词字符串,表示k7倍数连接词的数量; 步骤二、以S为源文本字符串,执行命令词汇匹配运算,如果匹配失败,不执行后面的处理过程,退出整个操作;否则,获取到目标命令字符串C,同时得到包含所有参数信息的全参数字符串PS; 步骤三、对于获取到的全参数字符串PS,执行参数词汇分解运算,依次将数词字符串与其后的倍量词字符串组合成数量词字符串,获取到数量词参数集合P′={P′i|P′i={N′i,BU′i,posi,leni},i=1,m},其中P′i表示第i个数量词参数,它由数词字符串N′i、倍量词字符串BU′i、该数量词在PS中的起始位置posi及其字符串长度leni组成,m为数量词个数; 步骤四、当m为0时,说明输入的命令语句不存在定量参数,转到步骤六,直接运行无参数的命令功能;当m>0时,对于获取到的数量词参数集合P′,以其中的数词字符串集合N′={N′i|i=1,m}为输入数据,执行参数量化运算,得到相应的定量数据集合ND′={ND′i|i=1,m},取代P′中的数词字符串集合N′,建立一组新的数量词参数集合P″={{ND′i,BU′i,posi,leni}|i=1,m}; 步骤五、对新的数量词参数集合P″,执行参数组合运算,将其中属于组合型定量参数的若干数量词统一计算为一个定量参数,而将属于简单型定量参数的数量词直接转换为一个定量参数,得到一组定量参数集合P={(NDi,BUi)|i=1,n},n为定量参数数量其中n=1时,为单一定量参数,n>1时为多重定量参数; 步骤六、利用已建立的地理信息系统命令字符串与功能函数对应集合CMD={(TSi,FUNi)|i=1,k1},根据提取的目标命令字符串C所匹配对应的TSi,确定相应的地理信息系统命令功能函数FUNi,输入定量参数集合P,调用和运行相应的地理信息系统功能模块。
所述命令词汇匹配运算的过程如下 步骤一、已知待检的源文本字符串S和现有的地理信息系统常用命令字符串集合TS={TSi|i=1,k1}。设定一个字符串匹配率集合R={Ri|i=1,k1},用于记录字符串S分别与TS中每条记录字符串TSi的相近匹配度;设定匹配下限阈值为MIN,只有当两个字符串的相近匹配度大于等于MIN时才判定两者之间匹配正确; 步骤二、依次从TS中取出一条命令字符串TSi,i=1,k1; 步骤三、Len(TSi)、Len(S)分别表示TSi和源文本字符串S的长度;判断Len(S)与Len(TSi)的大小,如果Len(S)小于Len(TSi),则表示TSi与S不匹配,匹配率Ri记为0,转到步骤二;否则,执行下一步; 步骤四、取源文本字符串S前面长度为Len(TSi)的子字符串为S′,将S′和命令字符串TSi通过现有汉字-拼音对照文件直接编写转换函数,分别转换为拼音字符串,其中TSi转换得到的拼音字符串为源串,S′转换得到的拼音字符串为目标串,采用专利“地理信息的语音识别方法及其在导航系统中的应用”(专利授权公告号CN100358006C)中的相近匹配度计算方法,计算得到两者的相近匹配度,记录为S和TSi的匹配率Ri; 步骤五、转到步骤二,直到TS中所有命令字符串参与计算结束,得到字符串匹配率集合R={Ri|i=1,k1}; 步骤六、在字符串匹配率集合R中找到最大值Rε=Max(R),Max()表示取集合中最大值,ε为该最大值在匹配率集合序列中的序号且ε∈[1,k1],判断Rε是否小于匹配阈值MIN,如果小于,则匹配失败,退出本运算;否则,执行下一步; 步骤七、在命令字符串集合TS中找到序号ε对应的命令字符串TSε(TSε∈TS),TSε即为相近匹配度最高的命令字符串;将目标命令字符串C记录为字符串TSε;在源文本字符串S中删除其前面长度为Len(TSε)的字符串,余下的子字符串为包含所有参数信息的全参数字符串PS。
所述参数词汇分解运算的过程如下 步骤一、已知基本数词字符串集合为NS={NSi|i=1,k2},级数词字符串集合为JS={JSi|i=1,k3},分隔词字符串集合为FS={FSi|i=1,k4},三个集合可组合成数词基础字符串集合NJFS=NS∪JS∪FS,字符串数量为k2+k3+k4;已知常用单位量词的字符串集合为US={USi|i=1,k5},常用倍数词字符串集合为BS={BSi|i=1,k6},两个集合组合构成的倍量词基础字符串集合为UBS=US∪BS,字符串数量为k5+k6;获取的全参数字符串为PS;设定初始数量词字符串的个数m为0; 步骤二、判断全参数字符串PS是否为空字符串,如果是,数量词字符串个数m记录为0,退出本运算;否则,执行下一步; 步骤三、设定参数j为位置变量,用于记录PS中当前访问的字符位置,初始化j为1; 步骤四、对全参数字符串PS,判断j是否大于Len(PS)(Len(PS)表示字符串PS的长度)如果是,说明PS已被遍历结束,转到步骤十四;如果不是,取出PS中第j个位置的字符PSj,执行下一步; 步骤五、在PS中顺序匹配搜索数词首先判断PSj是否为基本数词字符或者级数词字符(数词字符串一般以数字或者级数词开头,如“三百六十”、“百分之三十”等)如果不是,将位置变量j增加1,转到步骤四;如果是,表明一个数词字符串开始,则一方面数量词字符串个数m增加1,同时当前位置j表示该数词字符串的起始位置,记为n1,执行下一步; 步骤六、将位置变量j增加1,从PS中取出字符PSj; 步骤七、如果PSj∈NJFS,表明该字符仍为数词字符,继续转到步骤六,直到PSj不为数词字符为止; 步骤八、用参数n2记录该数词字符串的结束位置j-1,可得到一个完整的数词字符串N′m={PSδ|PSδ∈PS,δ=n1,n2 and n1≤n2},使用posm保存该数词字符串的起始位置n1; 步骤九、匹配搜索PS中数词N′m之后相应的倍量词,从倍量词基础字符串集合UBS中依次取出一个倍量词字符串UBSi,i=1,k5+k6,Len(UBSi)表示倍量词字符串UBSi的长度; 步骤十、从PS中取出子串PS′={PSλ|λ=j,j+Len(UBSi)-1},并与UBSi比较是否相等,如果相等,表示匹配成功,执行下一步;如果不相等,表示匹配不成功,重新转到步骤九,直到UBS中所有的倍量词字符串参与比较运算为止; 步骤十一、如果匹配成功,则得到一个倍量词字符串BU′m=UBSi,位置变量j赋为j+Len(UBSi);如果与UBS中所有的倍量词都匹配不成功,则倍量词字符串BU′m赋为空字符串; 步骤十二、计算数词字符串N′m的长度为Len(N′m),倍量词字符串BU′m的长度为Len(BU′m),得到该数量词字符串的长度lenm为Len(N′m)+Len(BU′m),再结合其起始位置posm,得到一个完整的数量词参数P′m={N′m,BU′m,posm,lenm}; 步骤十三、转到步骤四; 步骤十四、判断数量词字符串的个数m是否为0如果为0,属于无定量参数形式;否则,得到数量词参数集合P′={P′i|P′i={N′i,BU′i,posi,leni},i=1,m}。
所述参数量化运算的过程如下 步骤一、已知运算获取的数量词参数集合P′中包含的数词字符串集合N′={N′i|i=1,m},m为数量词字符串个数; 步骤二、从N′中依次取出数词字符串N′i,i=1,m; 步骤三、执行数词字符串转换数字运算,将得到的结果Num记录为定量数据ND′i,ND′i为数词字符串N′i的数量化表示; 步骤四、转到步骤二,直到N′中所有数词字符串运算结束; 步骤五、计算的结果,由数词字符串集合N′获取得到相应的定量数据集合ND′={ND′i|i=1,m}。
所述参数组合运算的过程如下 步骤一、已知全参数字符串PS;设定地理信息系统中常用单位量词的字符串集合为US={USi|i=1,k5},常用倍数词的字符串集合为BS={BSi|i=1,k6},常用倍数连接词字符串集合为LS={LSi|i=1,k7},常用量词-量词组合型的单位量词组集合为UU={UUi|UUi={(UIij,cuij)|UIij∈US,j=1,nni},i=1,mm},其中UUi表示集合中第i个单位量词组集合,UIij表示在第i个单位量词组UUi中的第j个单位量词字符串,cuij表示UIij的单位换算值(如单位量词组{“度”、“分”、“秒”}中“度”、“分”、“秒”的单位换算值均为60,即1度等于60分,1分等于60秒),mm表示单位量词组的数量,nni表示第i个单位量词组中单位量词的数量; 步骤二、由定量数据集合ND′取代数量词参数集合P′中的数词字符串集合N′,构建新的数量词参数集合P″={P″i|P″i={ND′i,BU′i,posi,leni},i=1,m},其中P″i表示第i个数量词参数,它由定量数据ND′i、倍量词字符串BU′i、该数量词在PS中的起始位置posi及其字符串长度leni组成,m为数量词个数; 步骤三、设定变量n用于表示已处理的定量参数数量,初始值设为0;设定变量i为位置变量,用于记录当前访问集合P″中的元素位置,初始值设为1; 步骤四、判断是否i>m,如果是,表示运算结束,转到步骤十九;否则取出P″中的第i个数量词参数P″i={ND′i,BU′i,posi,leni},令n增加1; 步骤五、依次从常用量词-量词组合型的单位量词组集合UU中取出一个单位量词组UUx,x=1,mm,其中UUx={(UIx,y,cux,y)|y=1,nnx}; 步骤六、比较当前的倍量词字符串BU′i与单位量词组UUx中的单位量词字符串,如果BU′i为UUx中的单位量词字符串,则表示BU′i为量词-量词组合型的单位量词,转到步骤八;如果BU′i不为UUx中的单位量词字符串,转到步骤五,直到UU中所有组合参与运算为止; 步骤七、表明倍量词字符串BU′i不属于UU中任何一个单位量词组合,即BU′i不是量词-量词组合型单位量词,转到步骤十三; 步骤八、设置变量j=i; 步骤九、从P″中取出下一个倍量词字符串BU′j+1; 步骤十、如果BU ′j+1为UUx中的单位量词字符串,表明数量词参数P″j与P″j+1属于同一个量词-量词组合型UUx,转到步骤十一;否则,转到步骤十二; 步骤十一、判断posj+1是否等于posj+lenj,如果相等,则表示数量词参数P″j与P″j+1在全参数字符串PS中的位置连续,j增加1,转到步骤九;否则,执行下一步; 步骤十二、在P″中将从i到j的数量词参数提取出来,得到一组为量词-量词组合型的数量词参数集合{P″η|η=i,j and i≤j},考虑到在组合型应用中可能存在的部分单位量词缺失情况,如“25度7秒”中缺失单位“分”,可以视为其定量数据为0,即表示为“25度0分7秒”,因此需要与其对应的组合型单位量词组UUx比较,得到一个扩充参数集合TT={(NQii,Scii)|ii=1,nnx},其中
nnx表示第x个单位量词组UUx中单位量词的数量,UIx,ii表示单位量词组UUx中第ii个单位量词字符串,cux,ii表示单位量词组UUx中第ii个单位量词的单位换算值,BU′ik为集合P″中第ik个倍量词字符串。设定将其换算到以第z个单位量词为单位,其中z∈[1,nnx],则计算BUn=UIx,z,得到一个定量参数(NDn,BUn),令i=j+1,转到步骤四; 步骤十三、设置变量k=i; 步骤十四、从P″中取出下一个倍量词字符串BU′k+1; 步骤十五、如果且BU′k+1不为空字符串,同时i等于k,则P″i为简单型定量参数,NDn=ND′i,BUn=BU′i,得到一个定量参数为(NDn,BUn),令i增加1,转到步骤四;否则,执行下一步; 步骤十六、如果BU′k+1∈BS或者BU′k+1为空字符串,表明BU′k+1为倍数词字符串,转到步骤十七;否则,说明一个量词-倍数词组合型或者倍数-倍数词组合型结束,转到步骤十八计算其数量大小; 步骤十七、获取全参数字符串PS的字串PS′={PSω|ω=posk+lenk,posk+1-1},即PS′为数量词字符串P″k与P″k+1之间的字符串,如果PS′∈LS,表明倍数词BU′k+1是对前一个数量词参数P″k具有倍数变换关系的,令k增加1,转到步骤十四;否则,执行下一步; 步骤十八、得到一组数量词字符串集合{P″ρ|ρ=i,k},则从P″ρ中取出定量数据ND′ρ,可计算出BUn=BU′i,则得到一个定量参数(NDn,BUn),令i=k+1,转到步骤四; 步骤十九、最终计算结果,获取到定量参数集合P={(NDi,BUi)|i=1,n}。
所述数词字符串转换数字运算的过程如下 步骤一、已知SC为待转换的数词字符串,已知现有的基本数词字符串集合为NS={NSi|i=1,k2},其中NSi表示第i个基本数词,k2表示基本数词的数量;级数词字符串集合为JS={JSi|i=1,k3},其中JSi表示第i个级数词,k3表示级数词的数量; 步骤二、判断数词字符串SC是否直接为数字字符串,如果是,则对SC直接转换成数字Num,输出结果Num;否则,表明SC为中文数词字符串,判断SC中第一个字符是否为级数词“亿”、“万”、“百”等,如果是级数词,表示其前面缺省了数量1,则在SC字符串首添加一个基本数词字符“一”。执行下一步; 步骤三、通过分隔词字符串“点”、“分之”字符串与数词字符串SC逐个匹配,当数词字符串中存在字符“点”时,转到步骤四;当存在“分之”时,转到步骤五;当SC中同时不包含“点”和“分之”字符串时,直接执行数词字符串转换整数运算,将SC转换成数字Num,转到步骤六; 步骤四、将数词字符串SC按分隔词字符串“点”分为前后两部分SC1与SC2。对SC1,执行数词字符串转换整数运算,得到n1;对“点”右边的字符串SC2,根据已有的基本数词字符串集合,匹配得到各位数字Di及其排列顺序i,计算k为分隔词字符串“点”后的数字个数;计算Num=n1+n2,转到步骤六; 步骤五、将数词字符串SC按分隔词字符串“分之”分为前后两部分SC′1和SC′2。对SC′2,执行数词字符串转换整数运算,得到n′2;判断SC′1中是否包含字符“又”如果没有包含,对SC′1数词字符串转换为整数值得到n′1,Num的值则为

如果包含,则按分隔词字符串“又”将SC′1再分为前后两部分SC′11和SC′12,对SC′11和SC′12分别执行数词字符串转换整数运算,得到n′11和n′12,此时,Num的值为
步骤六、输出结果Num。
所述数词字符串转换整数运算的过程如下 步骤一、已知SC为待转换的数词字符串; 步骤二、用级数词“亿”与SC逐个匹配,如果匹配失败,说明该数量没有超过亿以上,对SC执行转换亿位以下数词字符串到整数运算,得到结果Num,输出结果Num;如果匹配成功,执行下一步; 步骤三、将SC按级数词“亿”分为前后两部分SC1与SC2;分别对SC1与SC2执行转换亿位以下数词字符串到整数运算,得到结果n1与n2,则Num=n1×108+n2,输出结果Num。
所述转换亿位以下数词字符串到整数运算的过程如下 步骤一、已知SC为待转换的数词字符串; 步骤二、用级数词“万”与SC逐个匹配,如果匹配失败,对SC执行转换万位以下数词字符串到整数运算,得到结果Num,输出结果Num;如果匹配成功,执行下一步; 步骤三、将SC按级数词“万”分为前后两部分SC1与SC2;分别对SC1与SC2执行转换万位以下数词字符串到整数运算,得到结果n1与n2,则Num=n1×104+n2,输出结果Num。
所述转换万位以下数词字符串到整数运算的过程如下 步骤一、已知SC为待转换的数词字符串;已有基本数词字符串集合为NS={NSi|i=1,k2},其中NSi表示第i个基本数词,k2表示基本数词的数量;设定使用变量th保存千位上的数值并初始化为0,使用变量hu保存百位上的数值并初始化为0,使用变量te保存十位上的数值并初始化为0,使用变量nu保存个位上的数值并初始化为0,使用变量tmp作为临时变量保存中间结果数值并初始化为0; 步骤二、计算SC的长度Len(SC);如果Len(SC)等于0,则结果Num的值为0,输出结果Num;如果Len(SC)等于1,将SC与基本数词逐一匹配,获取匹配到的基本数词的数值为Num,输出结果Num;如果Len(SC)大于1,执行下一步; 步骤三、判断SC中是否包含基本数词“零”如果包含,去掉所有的“零”,得到新数词字符串SC′;如果不包含,新数词字符串SC′等于SC; 步骤四、依次从新数词字符串SC′中取出第j个字符Yj,得到一个字符集合Y={Yj|j=1,Len(SC′)},Len(SC′)表示字符串SC′的长度,其运算为
atoi(S)负责将其中的数字字符转换为定量数值,直到SC中所有字符被全部转换,得到Num的值为 Num=th×103+hu×102+te×10+nu。
本发明公开的方法是以地理信息系统应用为目的,旨在使用语音控制地理信息系统时,能够丰富语音控制的途径、增加语音控制的精准性、提高语音控制的灵活性,通过对语音控制的命令作若干参数限定,从而实现更加灵活、丰富、有效的人机对话方式。本发明除了有使用语音带来的自然流畅、方便快捷的优点以外,还具有自己的特色 (1)本发明在原有语音控制方法的基础上,对语音命令或指令作了参数限定,可以更准确、更快捷的完成所要完成的命令,例如对地图控制时,让地图进行放大,传统的命令“放大”只能实现对地图放大默认倍数,如果使用本发明,能实现放大任意倍数,例如“放大三点三三倍”。
(2)本发明中用来限定命令的定量参数是多重的、多形式的。“多重”指的是可以有多个定量参数同时限定一个命令,如在进行地图漫游时,可以使用“左移三百六十米的六倍”等类似的命令;“多形式”指的是参数的数值不单是整数形式,还能够是小数、分数、带分数等多种形式,如在上述特色中所举的地图缩放的命令,可以使用“放大三十五点五倍”,“缩小三又二分之一”类似的命令。



图1带定量参数的地理信息系统语音控制方法流程图 图2命令词汇匹配运算流程图 图3参数词汇分解运算流程图 图4参数量化运算流程图 图5参数组合运算流程图 图6数词字符串转换成数字流程图 图7数词字符串转换成整数流程图 图8转换亿位以下数词字符串到整数流程图 图9转换万位以下数词字符串到整数流程图
具体实施例方式 以本发明方法在地理信息系统中的应用为例,以现有的语音识别模块(微软的语音开发包Speech SDK 5.1)获取文本字符串,通过命令词汇匹配、参数词汇分解、参数量化以及参数组合得到相应的结果,并驱动系统运行。运用本发明的语音控制方法,实现语音控制地图的漫游和缩放操作。
在地理信息系统中,涉及的相关控制命令有对地图的控制,如漫游操作“左移”、“右移”、“上移”、“下移”;缩放操作“放大”、“缩小”。命令表(如表1)中有命令_ID,表示命令的标识;名称,表示命令的中文字符串;功能函数_ID,表示该命令对应函数库中的功能函数,以便调用该功能函数。基本数词表(如表2)包括名称及其对应的数值,其中基本数词有“零”、“一”、“二”、......、“九”。级数词表(如表3)包括名称及其对应的数值,其中级数词有“十”、“百”、“千”、“万”、“亿”。分隔词表(如表4),包括“点”、“分之”、“又”。倍数词表(如表5)包括“倍”、“番”。单位量词表(如表6)(“米”、“千米”、“公里”、“里”、“度”、“分”、“秒”)。量词-量词组合型的单位量词组表(如表7)包括单位量词和单位转换值,量词-量词组合型单位量词有“度”、“分”、“秒”,其单位转换值为60。
本实施例中使用语音对地图的浏览操作可以利用以下命令“放大三倍”、“缩小二分之一”、“左移五百米”等等。
●实例一 以“放大”命令为例,在使用语音对地图进行漫游控制时,使用语音命令“放大三点四五倍”,具体的过程如下 (1)通过微软公司的语音识别模块(开发包为Speech SDK 5.1)识别该语音命令为“放大三点四五倍”; (2)设置匹配域值MIN为0.8,通过命令词汇匹配,得出该命令字符串为有效语音命令,返回的最高匹配命令对应为“放大”,则全参数字符串为“三点四五倍”; (3)通过参数词汇分解,得到数量词参数集合为{(“三点四五”,“倍”,1,5)}; (4)通过参数量化,将数词字符串“三点四五”量化成为数字3.45; (5)通过参数组合,得到定量参数集合为{(3.45,“倍”)}; (6)最后在函数库中搜索“放大”的功能函数,得到相应个功能函数,传入放大的倍数3.45以及倍数词“倍”,从而实现地图放大三点四五倍的目的。
●实例二 以“上移”命令为例,在地图浏览中使用语音进行漫游操作时,使用语音命令“上移一百五十三米的十倍”(其中“十”为级数词开头的数词字符串),具体的过程如下 (1)通过微软公司的语音识别模块(开发包为Speech SDK 5.1)识别该语音命令为“上移一百五十三米的十倍”; (2)设置匹配域值MIN为0.8,通过命令词汇匹配,得出该命令字符串为有效语音命令,返回的最高匹配命令对应为“上移”,则全参数字符串为“一百五十三米的十倍”; (3)通过参数词汇分解,得到为数量词参数集合为{(“一百五十三”,“米”,1,6),(“十”,“倍”,8,2)}; (4)通过参数量化,将数词字符串“一百五十三”量化成为数字153,将“十”量化成为10; (5)通过参数组合,得到定量参数集合为{(1530,“米”)}; (6)最后在函数库中搜索“上移”的功能函数,得到相应个功能函数,传入上移的距离1530米,从而实现地图向上移动1530米的目的。
表1实施例设定的命令表 表2实施例设定的基本数词表 表3实施例设定的级数词表 表4实施例设定的分隔词表 表5实施例设定的倍数词表 表6实施例设定的单位量词表 表7实施例设定的量词-量词组合型的单位量词组表

权利要求
1、一种带定量参数的地理信息系统语音控制方法,其步骤如下
步骤一、设定经过现有语音识别模块识别得到的待检文本字符串S;已知现有的常用地理信息系统命令字符串集合TS={TSi|i=1,k1},TSi表示第i个命令字符串,k1表示所有命令的数量;基本数词字符串集合为NS={NSi|i=1,k2},其中NSi表示第i个基本数词,k2表示基本数词的数量;级数词字符串集合为JS={JSi|i=1,k3},其中JSi表示第i个级数词,k3表示级数词的数量;分隔词字符串集合为FS={FSi|i=1,k4},其中FSi表示第i个分隔词,k4表示分隔词的数量;在地理信息系统中常用单位量词的字符串集合为US={USi|i=1,k5},其中USi表示第i个单位量词字符串,k5表示单位量词的数量;在地理信息系统中常用倍数词的字符串集合为BS={BSi|i=1,k6},其中BSi表示第i个倍数词字符串,k6表示倍数词的数量;在地理信息系统中常用的倍数连接词字符串集合为LS={LSi|i=1,k7},其中LSi第i个倍数连接词字符串,表示k7倍数连接词的数量;
步骤二、以S为源文本字符串,执行命令词汇匹配运算,如果匹配失败,不执行后面的处理过程,退出整个操作;否则,获取到目标命令字符串C,同时得到包含所有参数信息的全参数字符串PS;
步骤三、对于获取到的全参数字符串PS,执行参数词汇分解运算,依次将数词字符串与其后的倍量词字符串组合成数量词字符串,获取到数量词参数集合P′={P′i|P′i={N′i,BU′i,posi,leni},i=1,m},其中P′i表示第i个数量词参数,它由数词字符串N′i、倍量词字符串BU′i、该数量词在PS中的起始位置posi及其字符串长度leni组成,m为数量词个数;
步骤四、当m为0时,说明输入的命令语句不存在定量参数,转到步骤六,直接运行无参数的命令功能;当m>0时,对于获取到的数量词参数集合P′,以其中的数词字符串集合N′={N′i|i=1,m}为输入数据,执行参数量化运算,得到相应的定量数据集合ND′={ND′i|i=1,m},取代P′中的数词字符串集合N′,建立一组新的数量词参数集合P″={{ND′i,BU′i,posi,leni}|i=1,m};
步骤五、对新的数量词参数集合P″,执行参数组合运算,将其中属于组合型定量参数的若干数量词统一计算为一个定量参数,而将属于简单型定量参数的数量词直接转换为一个定量参数,得到一组定量参数集合P={(NDi,BUi)|i=1,n},n为定量参数数量其中n=1时,为单一定量参数,n>1时为多重定量参数;
步骤六、利用已建立的地理信息系统命令字符串与功能函数对应集合CMD={(TSi,FUNi)|i=1,k1},根据提取的目标命令字符串C所匹配对应的TSi,确定相应的地理信息系统命令功能函数FUNi,输入定量参数集合P,调用和运行相应的地理信息系统功能模块。
2、根据权利要求1所述带定量参数的地理信息系统语音控制方法,其特征是所述命令词汇匹配运算的过程如下
步骤一、已知待检的源文本字符串S和现有的地理信息系统常用命令字符串集合TS={TSi|i=1,k1}。设定一个字符串匹配率集合R={Ri|i=1,k1},用于记录字符串S分别与TS中每条记录字符串TSi的相近匹配度;设定匹配下限阈值为MIN,只有当两个字符串的相近匹配度大于等于MIN时才判定两者之间匹配正确;
步骤二、依次从TS中取出一条命令字符串TSi,i=1,k1;
步骤三、Len(TSi)、Len(S)分别表示TSi和源文本字符串S的长度;判断Len(S)与Len(TSi)的大小,如果Len(S)小于Len(TSi),则表示TSi与S不匹配,匹配率Ri记为0,转到步骤二;否则,执行下一步;
步骤四、取源文本字符串S前面长度为Len(TSi)的子字符串为S′,将S′和命令字符串TSi通过现有汉字-拼音对照文件直接编写转换函数,分别转换为拼音字符串,其中TSi转换得到的拼音字符串为源串,S′转换得到的拼音字符串为目标串,采用相近匹配度计算方法,计算得到两者的相近匹配度,记录为S和TSi的匹配率Ri;
步骤五、转到步骤二,直到TS中所有命令字符串参与计算结束,得到字符串匹配率集合R={Ri|i=1,k1};
步骤六、在字符串匹配率集合R中找到最大值Rε=Max(R),Max()表示取集合中最大值,ε为该最大值在匹配率集合序列中的序号且ε∈[1,k1],判断Rε是否小于匹配阈值MIN,如果小于,则匹配失败,退出本运算;否则,执行下一步;
步骤七、在命令字符串集合TS中找到序号ε对应的命令字符串TSε,TSε∈TS,TSε即为相近匹配度最高的命令字符串;将目标命令字符串C记录为字符串TSε;在源文本字符串S中删除其前面长度为Len(TSε)的字符串,余下的子字符串为包含所有参数信息的全参数字符串PS。
3、根据权利要求1所述带定量参数的地理信息系统语音控制方法,其特征是所述参数词汇分解运算的过程如下
步骤一、已知基本数词字符串集合为NS={NSi|i=1,k2},级数词字符串集合为JS={JSi|i=1,k3},分隔词字符串集合为FS={FSi|i=1,k4},三个集合可组合成数词基础字符串集合NJFS=NS∪JS∪FS,字符串数量为k2+k3+k4;已知常用单位量词的字符串集合为US={USi|i=1,k5},常用倍数词字符串集合为BS={BSi|i=1,k6},两个集合组合构成的倍量词基础字符串集合为UBS=US∪BS,字符串数量为k5+k6;获取的全参数字符串为PS;设定初始数量词字符串的个数m为0;
步骤二、判断全参数字符串PS是否为空字符串,如果是,数量词字符串个数m记录为0,退出本运算;否则,执行下一步;
步骤三、设定参数j为位置变量,用于记录PS中当前访问的字符位置,初始化j为1;
步骤四、对全参数字符串PS,判断j是否大于Len(PS),Len(PS)表示字符串PS的长度如果是,说明PS已被遍历结束,转到步骤十四;如果不是,取出PS中第j个位置的字符PSj,执行下一步;
步骤五、在PS中顺序匹配搜索数词首先判断PSj是否为基本数词字符或者级数词字符,数词字符串一般以数字或者级数词开头如果不是,将位置变量j增加1,转到步骤四;如果是,表明一个数词字符串开始,则一方面数量词字符串个数m增加1,同时当前位置j表示该数词字符串的起始位置,记为n1,执行下一步;
步骤六、将位置变量j增加1,从PS中取出字符PSj;
步骤七、如果PSj∈NJFS,表明该字符仍为数词字符,继续转到步骤六,直到PSj不为数词字符为止;
步骤八、用参数n2记录该数词字符串的结束位置j-1,可得到一个完整的数词字符串N′m={PSδ|PSδ∈PS,δ=n1,n2 and n1≤n2},使用posm保存该数词字符串的起始位置n1;
步骤九、匹配搜索PS中数词N′m之后相应的倍量词,从倍量词基础字符串集合UBS中依次取出一个倍量词字符串UBSi,i=1,k5+k6,Len(UBSi)表示倍量词字符串UBSi的长度;
步骤十、从PS中取出子串PS′={PSλ|λ=j,j+Len(UBSi)-1},并与UBSi比较是否相等,如果相等,表示匹配成功,执行下一步;如果不相等,表示匹配不成功,重新转到步骤九,直到UBS中所有的倍量词字符串参与比较运算为止;
步骤十一、如果匹配成功,则得到一个倍量词字符串BU′m=UBSi,位置变量j赋为j+Len(UBSi);如果与UBS中所有的倍量词都匹配不成功,则倍量词字符串BU′m赋为空字符串;
步骤十二、计算数词字符串N′m的长度为Len(N′m),倍量词字符串BU′m的长度为Len(BU′m),得到该数量词字符串的长度lenm为Len(N′m)+Len(BU′m),再结合其起始位置posm,得到一个完整的数量词参数P′m={N′m,BU′m,posm,lenm};
步骤十三、转到步骤四;
步骤十四、判断数量词字符串的个数m是否为0如果为0,属于无定量参数形式;否则,得到数量词参数集合P′={P′i|P′i={N′i,BU′i,posi,leni},i=1,m}。
4、根据权利要求1所述带定量参数的地理信息系统语音控制方法,其特征是所述参数组合运算的过程如下
步骤一、已知全参数字符串PS;设定地理信息系统中常用单位量词的字符串集合为US={USi|i=1,k5},常用倍数词的字符串集合为BS={BSi|i=1,k6},常用倍数连接词字符串集合为LS={LSi|i=1,k7},常用量词-量词组合型的单位量词组集合为UU={UUi|UUi={(UIij,cuij)|UIij∈US,j=1,nni},i=1,mm},其中UUi表示集合中第i个单位量词组集合,UIij表示在第i个单位量词组UUi中的第j个单位量词字符串,cuij表示UIij的单位换算值中“度”、“分”、“秒”的单位换算值均为60,即1度等于60分,1分等于60秒,mm表示单位量词组的数量,nni表示第i个单位量词组中单位量词的数量;
步骤二、由定量数据集合ND′取代数量词参数集合P′中的数词字符串集合N′,构建新的数量词参数集合P″={P″i|P″i={ND′i,BU′i,posi,leni},i=1,m},其中P″i表示第i个数量词参数,它由定量数据ND′i、倍量词字符串BU′i、该数量词在PS中的起始位置posi及其字符串长度leni组成,m为数量词个数;
步骤三、设定变量n用于表示已处理的定量参数数量,初始值设为0;设定变量i为位置变量,用于记录当前访问集合P″中的元素位置,初始值设为1;
步骤四、判断是否i>m,如果是,表示运算结束,转到步骤十九;否则取出P″中的第i个数量词参数P″i={ND′i,BU′i,posi,leni},令n增加1;
步骤五、依次从常用量词-量词组合型的单位量词组集合UU中取出一个单位量词组UUx,x=1,mm,其中UUx={(UIx,y,cux,y)|y=1,nnx};
步骤六、比较当前的倍量词字符串BU′i与单位量词组UUx中的单位量词字符串,如果BU′i为UUx中的单位量词字符串,则表示BU′i为量词-量词组合型的单位量词,转到步骤八;如果BU′i不为UUx中的单位量词字符串,转到步骤五,直到UU中所有组合参与运算为止;
步骤七、表明倍量词字符串BU′i不属于UU中任何一个单位量词组合,即BU′i不是量词-量词组合型单位量词,转到步骤十三;
步骤八、设置变量j=i;
步骤九、从P″中取出下一个倍量词字符串BU′j+1;
步骤十、如果BU′j+1为UUx中的单位量词字符串,表明数量词参数P″j与P″j+1属于同一个量词-量词组合型UUx,转到步骤十一;否则,转到步骤十二;
步骤十一、判断posj+1是否等于posj+lenj,如果相等,则表示数量词参数P″j与P″j+1在全参数字符串PS中的位置连续,j增加1,转到步骤九;否则,执行下一步;
步骤十二、在P″中将从i到j的数量词参数提取出来,得到一组为量词-量词组合型的数量词参数集合{P″η|η=i,j and i≤j},考虑到在组合型应用中可能存在的部分单位量词缺失情况,视为其定量数据为0,因此需要与其对应的组合型单位量词组UUx比较,得到一个扩充参数集合TT={(NQii,Scii)|ii=1,nnx},其中
nnx表示第x个单位量词组UUx中单位量词的数量,UIx,ii表示单位量词组UUx中第ii个单位量词字符串,cux,ii表示单位量词组UUx中第ii个单位量词的单位换算值,BU′ik为集合P″中第ik个倍量词字符串;设定将其换算到以第z个单位量词为单位,其中z∈[1,nnx],则计算BUn=UIx,z,得到一个定量参数(NDn,BUn),令i=j+1,转到步骤四;
步骤十三、设置变量k=i;
步骤十四、从P″中取出下一个倍量词字符串BU′k+1;
步骤十五、如果
且BU′k+1不为空字符串,同时i等于k,则P″i为简单型定量参数,NDn=ND′i,BUn=BU′i,得到一个定量参数为(NDn,BUn),令i增加1,转到步骤四;否则,执行下一步;
步骤十六、如果BU′k+1∈BS或者BU′k+1为空字符串,表明BU′k+1为倍数词字符串,转到步骤十七;否则,说明一个量词-倍数词组合型或者倍数-倍数词组合型结束,转到步骤十八计算其数量大小;
步骤十七、获取全参数字符串PS的字串PS′={PSω|ω=posk+lenk,posk+1-1},即PS′为数量词字符串P″k与P″k+1之间的字符串,如果PS′∈LS,表明倍数词BU′k+1是对前一个数量词参数P″k具有倍数变换关系的,令k增加1,转到步骤十四;否则,执行下一步;
步骤十八、得到一组数量词字符串集合{P″ρ|ρ=i,k},则从P″ρ中取出定量数据ND′ρ,可计算出BUn=BU′i,则得到一个定量参数(NDn,BUn),令i=k+1,转到步骤四;
步骤十九、最终计算结果,获取到定量参数集合P={(NDi,BUi)|i=1,n}。
5、根据权利要求1所述带定量参数的地理信息系统语音控制方法,其特征是所述参数量化运算的过程如下
步骤一、已知运算获取的数量词参数集合P′中包含的数词字符串集合N′={N′i|i=1,m},m为数量词字符串个数;
步骤二、从N′中依次取出数词字符串N′i,i=1,m;
步骤三、执行数词字符串转换数字运算,将得到的结果Num记录为定量数据ND′i,ND′i为数词字符串N′i的数量化表示;
步骤四、转到步骤二,直到N′中所有数词字符串运算结束;
步骤五、计算的结果,由数词字符串集合N′获取得到相应的定量数据集合ND′={ND′i|i=1,m}。
6、根据权利要求5所述带定量参数的地理信息系统语音控制方法,其特征是所述数词字符串转换数字运算的过程如下
步骤一、已知SC为待转换的数词字符串,已知现有的基本数词字符串集合为NS={NSi|i=1,k2},其中NSi表示第i个基本数词,k2表示基本数词的数量;级数词字符串集合为JS={JSi|i=1,k3},其中JSi表示第i个级数词,k3表示级数词的数量;
步骤二、判断数词字符串SC是否直接为数字字符串,如果是,则对SC直接转换成数字Num,输出结果Num;否则,表明SC为中文数词字符串,判断SC中第一个字符是否为级数词“亿”、“万”、“百”等,如果是级数词,表示其前面缺省了数量1,则在SC字符串首添加一个基本数词字符“一”。执行下一步;
步骤三、通过分隔词字符串“点”、“分之”字符串与数词字符串SC逐个匹配,当数词字符串中存在字符“点”时,转到步骤四;当存在“分之”时,转到步骤五;当SC中同时不包含“点”和“分之”字符串时,直接执行数词字符串转换整数运算,将SC转换成数字Num,转到步骤六;
步骤四、将数词字符串SC按分隔词字符串“点”分为前后两部分SC1与SC2。对SC1,执行数词字符串转换整数运算,得到n1;对“点”右边的字符串SC2,根据已有的基本数词字符串集合,匹配得到各位数字Di及其排列顺序i,计算k为分隔词字符串“点”后的数字个数;计算Num=n1+n2,转到步骤六;
步骤五、将数词字符串SC按分隔词字符串“分之”分为前后两部分SC′1和SC′2。对SC′2,执行数词字符串转换整数运算,得到n′2;判断SC′1中是否包含字符“又”如果没有包含,对SC′1数词字符串转换为整数值得到n′1,Num的值则为
如果包含,则按分隔词字符串“又”将SC′1再分为前后两部分SC′11和SC′12,对SC′11和SC′12分别执行数词字符串转换整数运算,得到n′11和n′12,此时,Num的值为
步骤六、输出结果Num。
7、根据权利要求6所述带定量参数的地理信息系统语音控制方法,其特征是所述数词字符串转换整数运算的过程如下
步骤一、已知SC为待转换的数词字符串;
步骤二、用级数词“亿”与SC逐个匹配,如果匹配失败,说明该数量没有超过亿以上,对SC执行转换亿位以下数词字符串到整数运算,得到结果Num,输出结果Num;如果匹配成功,执行下一步;
步骤三、将SC按级数词“亿”分为前后两部分SC1与SC2;分别对SC1与SC2执行转换亿位以下数词字符串到整数运算,得到结果n1与n2,则Num=n1×108+n2,输出结果Num。。
8、根据权利要求7所述带定量参数的地理信息系统语音控制方法,其特征是所述转换亿位以下数词字符串到整数运算的过程如下
步骤一、已知SC为待转换的数词字符串;
步骤二、用级数词“万”与SC逐个匹配,如果匹配失败,对SC执行转换万位以下数词字符串到整数运算,得到结果Num,输出结果Num;如果匹配成功,执行下一步;
步骤三、将SC按级数词“万”分为前后两部分SC1与SC2;分别对SC1与SC2执行转换万位以下数词字符串到整数运算,得到结果n1与n2,则Num=n1×104+n2,输出结果Num。
9、根据权利要求8所述带定量参数的地理信息系统语音控制方法,其特征是所述转换万位以下数词字符串到整数运算的过程如下
步骤一、已知SC为待转换的数词字符串;已有基本数词字符串集合为NS={NSi|i=1,k2},其中NSi表示第i个基本数词,k2表示基本数词的数量;设定使用变量th保存千位上的数值并初始化为0,使用变量hu保存百位上的数值并初始化为0,使用变量te保存十位上的数值并初始化为0,使用变量nu保存个位上的数值并初始化为0;
步骤二、计算SC的长度Len(SC);如果Len(SC)等于0,则结果Num的值为0,输出结果Num;如果Len(SC)等于1,将SC与基本数词逐一匹配,获取匹配到的基本数词的数值为Num,输出结果Num;如果Len(SC)大于1,执行下一步;
步骤三、判断SC中是否包含基本数词“零”如果包含,去掉所有的“零”,得到新数词字符串SC′;如果不包含,新数词字符串SC′等于SC;
步骤四、依次从新数词字符串SC′中取出第j个字符Yj,得到一个字符集合Y={Yj|j=1,Len(SC′)},Len(SC′)表示字符串SC′的长度,其运算为
atoi(S)负责将其中的数字字符转换为定量数值,直到SC中所有字符被全部转换,得到Num的值为
Num=th×103+hu×102+te×10+nu。
全文摘要
本发明公开了一种带定量参数的地理信息系统语音控制方法,在现有语音识别模块基础上,增加了语言获取、命令词汇匹配、参数词汇分解、参数量化、参数组合、运行驱动控制六个步骤语言获取,在地理信息系统程序中利用语音识别模块的获取文本字符串;命令词汇匹配,从文本字符串中提取命令字符串和参数字符串;参数词汇分解,将参数字符串划分为一组数词字符串和倍量词字符串;参数量化,将数词字符串转换为定量数据形式,包括整数、小数等多种方式;参数组合,将一组定量数据与相应的倍量词组合起来构成定量参数集合;运行驱动控制,根据输入语音所获取的命令字符串和定量参数集合,调用相应的地理信息功能模块,实现地理信息系统的运行操作。
文档编号G06F17/30GK101345051SQ20081002197
公开日2009年1月14日 申请日期2008年8月19日 优先权日2008年8月19日
发明者毅 龙, 翎 张, 胡雷地 申请人:南京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1