外围设备的语言识别系统和方法

文档序号:6407000阅读:205来源:国知局
专利名称:外围设备的语言识别系统和方法
技术领域
本发明涉及数据处理系统中所接收语言的识别,更具体地说,涉及一种采用语法和上下文分析的语言识别系统。
现代的数据处理网络可以使各种类型的计算机与通信网络互连起来。诸如打印机、绘图仪等之类的外围设备也可与通信网络连接起来,作为所连接的各计算机的资源。这些外围设备必须能理解和响应收自各种计算机的指令。只要全部所连接的计算机采用同一外围控制语言,外围设备就只需要识别和响应一种语言。但当这些计算机采用不同的外围控制语言时,外围设备就必须能够识别输进来的语言语种,并响应所识别语言中的指令。
某些外围控制语言采用识别语言的初始识别码序列。只要与网络连接的各种计算机符合这种语言的语法编码要求,就能识别语言,但保证不了这些代码序列一定能在所有可能连接到网络上的计算机上起作用。外围设备制造厂家必须预料到这种可能性,即,某一特定初始识别码序列可能出现在另一种语言的数据流中从而使外围设备引起错误的语言转换。
最近,有一些复杂的外围设备采用“上下文转换”系统,在该系统中,所收到的代码组经过分析,就能够在装入作业中识别要被使用的语言。QMSESP就是这样的一种上下文转换器,它是美国QMS国际公司(地址OneMagnumPass,Mo-bile,Alabama36618)的产品。虽然这种QMSESP产品的细节尚未公布,但从外部分析可以略知其工作情况。该ESP产品看来用以检索表示特定控制语言的特殊字符串、符号和控制字符(以下总称为关键字)。某些关键字由于表示某特定语言而具有特别重要的地位。此外,一个关键字出现的次数也非常重要。
根据从初始代码序列积累的统计资料,ESP确定输进来的语言。据发现,ESP在某些情况下并不能进行识别语言。估计语言选择上的这种差错是由于某些关键字在一种以上的语言中出现,而且由于对输进来的数据流没有进行上下文分析所致,经过一段时间之后必然会显示出错误的语言。
因此,本发明的目的是提供外围设备的一种经改进的语言识别系统。
本发明的另一个目的是提供一种对输进来的数据流既进行上下文分析又进行语法分析的语言识别系统。
本发明还有另一个目的,即提供一种可加以扩充以支持其他语言的语言识别系统。
数据处理系统通常对多种输入的语言起反应,各种语言遵循既定的语法。输进来的数据有某一些说明部分(“容许”关键字)时表明经表决容许某一种语言出现,有其他说明部分(“禁此”关键字)时表明经表决禁止该语言出现。识别所输入的语言时,系统履行下列程序就各预期的语言分析输进来的数据组的语法,从而识别数据组中的“容许”和“禁止”关键字;根据分析提供各预期语言的“容许”和“禁止”计数,各计数为关键字条的总和,各关键字条由一个经识别的关键字计数乘上一个加权系数组成,加权系数值表示关键字在语法和该数据组上下文中的重要性,“容许”计数是“容许”关键字条的总和,“禁止”计数是“禁止”关键字条的总和;将“容许”计数与“禁止”计数加以比较,以确定它们是否接近得有必要发出“测不准”的信号;然后根据数据组的另一个语法特性,分析该“测不准”情况,并根据其中一个计数显示某一个数值,或者两个计数极其明确时显示从较大的计数得出的数值;最后根据各预期语言的显示值识别所收到的语言。


图1是体现本发明的语言识别程序的系统方框图。
图2是图1所示的语言识别程序中表决模块中的子程序表。
图3是打印机控制语言PCL的语法定义。
图4是打印机控制语言PS的语法定义。
图5a举例说明了PS语言中各关键字的加权表。
图5b举例说明了PCL语言中各关键字的加权表。
图6是PS语言的上下文表。
图7是PCL语言的上下文表。
图8-11举例说明了图1的系统执行语言识别程序的高级流程图。
参看图1。个人计数机10、12和14通过局部地区网络(LAN)16互连起来。打印机18也接到LAN16上,给各个人计算机10、12和14提供打印服务。下面将围绕打印机18说明本发明的内容,但不言而喻,其它给各有关计算机提供服务的数据处理系统也可应用本发明。其它这类外围设备的例子有绘图仪、传真设备等。
与LAN连接的各计算机可以采用不同的打印机控制语言。为说明本发明,假设PC10采用叫做PCL(打印机控制语言)的打印机语言,PC12采用PS打印机语言,PC14采用其它打印机控制语言。本发明使打印机18能自动分析从PC10、12和/或14中任何一个个人计算机输进来的指令/数据流的上下文,识别所收到的语言,并能由此接下去执行打印的各项指令。
打印机18包括中央处理单元20、输入/输出(I/0)模块22和随机存取存储模块24,均经总线25与打印发动机28互连。30示出了RAM24的一部分的分解图,该部分包括RAM24供语言识别程序用的部分,其中含有存储收自PC10、12和14任一个人计算机的数据组的存储区32。存储区32最好大得足以存储256字节的数据组。我们知道如此规模的数据组是足以识别输进来的语言而无需不适当地延长所需要的处理时间的。
语言识别程序涉及多个表决器模块34、36和38,这些模块各个是专门用来分析预期的打印机语言的。例如,表决器模块34用来分析PCL语言,表决器36用来分析PS语言等。判定器模块40接收来自各表决器模块34、36和38的输出,然后根据这些表决器模块的输入判定所接收的语言可能性最大的语种。判定器40指示CPU20,令其访问语法译码软件,使其能译出并执行该判定出的语言。由于判定和表决功能在不同的模块中执行,当增加其它语言时,只要给各新的语言增设表决器模块就不难适应这些新的语言。
参看图2,图中示出了具代表性的表决器模块及其主要组成部分。子程序42是个语法分析器,配备有表决器指定语言结构的各种定义且存有各种定则和叙述语句。应用这些定义,语法分析器42就能够对输进来的数据组进行语法分析,并识别与数据组语言识别的确定特别有关的各部分。这些有关部分以下称之为关键字。关键字有正的关键字和负的关键字。正关键字(如有的话)表示“容许”使用该语言,负关键字(如有的话)表示“禁止”使用该语言。
各表决器有许多关键字计数器,一个关键字计数器用一个关键字类型。各表决器模块还有一个加权表48,加权表48在各关键字的计数寄存下来时就赋予该关键字一个加权值。插入加权表48的加权值不是正的就是负的,这取决于所识别的关键字是表示该语言的出现还是表示该语言在语法上所下能容许的未知字符或其它字符组而定。各指定的加权值加起来之后存入表决值寄存器46中,该寄存器保存其值等于在输进来的数据流中检测出的正负加权关键字的总和的现行和。
上下文表50用以给各检测出的关键字指定取决于该关键字及其在所收到的数据组中的上下文的不同值(“扭曲”)。上下文表50列有各关键字类型的初始扭曲值,该扭曲值通常由一个扭曲修正器(视情况而定)进行乘法运算或除法运算,从而得出与数据组中关键字的上下文有关的扭曲值。接着,(正负)扭曲值都输进一对表决计数寄存器52中,分别由这两个寄存器累积各正负扭曲值。于是,“容许”计数寄存器累积全部从上述计算得出的正扭曲值“禁止”计数寄存器累积负扭曲值。
现在翻看图3和图4,图中,以逻辑图的形式示出了PCL和PS的语法。各逻辑图作为扫描特定语言的表决器模块中各语法分析器子程序42内的逻辑语句体现出来。因此,表决器模块34(图1)的逻辑语句体现图3所示的语法。图3可分析如下。PCL语法要求在开始打印之前来一个叫做换码符的既定ASCII9(美国信息交换标准代码)字符序列(其二进制数值等于27)。确定一个换码符序列之后,语法分析器继续分析数据流中的下一个字节,若该字节的二进制值在48与126之间,分析就转入等待阶段,等待下一个换码符序列(图中未示出)的到来。若检测出换码符序列之后下一个字节的值在33与47之间,程序就确定相继的数据是个数字串(StrNum)抑或是一个二进制值在96与126之间的字符。PCL语法中数字串的定义为多个可供选择的字符中的一个字符,每个字符都可列为一数字串(见标有strNum的逻辑图)。语法分析器确定有数字串存在之后,接着就确定下一个字符值是否在64与94之间,若然,则下一个数据被跳过。然后程序就回到对换码序列进行扫描,等等。若该字符值在96与126之间,则逻辑图出现一个最后分支,这时要再次确定数字串等等。
通过实例有助于理解图3的PCL语法图解。假设收到具下列各值的一个字符列27,3和96。PCL语法分析器42看到二进制值为27的字符时即刻认出它是ASCII换码符字符。鉴于下一个字符值是33,语法分析器就将一个量加到图3的框A中,得出一个正的答案,然后着手分析下一个字符。由于下一个字符的值为96,它与数字串(框B)的语法不匹配,但与逻辑框C中所示的各件匹配。程序继续进行下去,由PCL语法分析器继续识别输进来的数据流的各部分,在PCL语法表中可以找到其定义。
图4中示出了PS的逻辑图,只有当满足不了水平逻辑框的条件时分析才沿垂直线D进行下去。例如,若装在表决器模块36中语法分析器在数据流中看不到有%,它就即刻着手确定是否有“<”指示符出现,若否,再看看有否“(”等。以这种方式,PS表决器模块中的语法分析器就着手分析各PS关键字。
现在翻看图5a和5b,图中示出了PS和PCL语言的加权表,该表示出了语言分析程序中所采用的各关键字。先看图5a,PS关键字的类型有保留字、语法错误、文件关键字、专用关键字、未知字和保留标点。保留字在PS语言语法中的定义是除语法所规定之外不能加以使用的字。语法错误是不符合语法要求的字符组织方式。文件资料格式指令是对某一文件来说是路径指令的指令,或规定其格式的指令。专用字符序列是语法定义为对该语言专用的字符序列。语法对保留标点同样所下的定义为语法中具有特殊意义的标点。
从图5a的右栏中可以看到,各类关键字都加了权,有些权是正的,另一些权是负的。负权表示时对语言取禁止的态度,正值表决时对语言采取容许的态度。应该指出,使加权为负的这类关键字其重要性一般不及加权为正的那类关键字。这是因为正加权关键字表明某一语言的出现比起负加权关键字表明某一语言的不出现更能说明问题。图5a中示出的具体加权值是根据实验求出的,而且是在估计关键字类型对语言识别的重要性的基础上得出的。
图5b中示出了PCL语言的关键字类型。换码符字符上面已交代过。PCL语法对短序列和全序列所下的定义是PCL专用的字符序列。组合序列是重复的全序列。非法序列是PCL语法认不出其为PCL语言的一部分的字符序列。非法序列相当于语言中的语法错误。这里,图5b图表示右手边的数值也是加权值,正值表示语言是PCL语言,负值表示语言为非PCL语言。
再翻看图2,值得注意的是,各表决器模块都配有关键字类型计数器44。例如,从图5a中可以看到,PS表决器模块36将包含6个关键字类型计数器,表中所列的每个关键字类型都有一个计数器。同样,从图5b中可以看到,PCL表决器模块36将包括5个关键字类型计数器,这些计数器保留了对输进来的数据组的分析所确定的各类关键字数量的计数。此外,各表决器模块有一个表决值寄存器46。在各表决器模块中,每次语法分析器42发现某特定关键字类型时,表决值寄存器46就增加所赋予关键字的类型的加权值。因此,表决值寄存器46显示输进来的数据组中全部关键字正负加权累积值的总和。
图6和图7中示出了PS和PCL,语言的上下文表。有了这个上下文表,从数据组得出的各关键字就可以根据数据组的上下文以不同的方式加权(即“扭曲”)。然后将“扭曲”值输入各表决器模块中的“容许”和“禁止”表决计数寄存器52中。各上下文表有一个关键字类型栏,这和PS和PCL加权表中的关键字类型栏完全一样。“扭曲方向”栏表示待加到关键字类型的上下文扭曲是开始时处于最大值然后减小(到顶)还是先处于最小值然后增加(增长)。扭曲方向“增长”表明,在数据组中先后出现某一关键字类型表示越来越有把握肯定在相应的语言中形成有某一数据组。相反,扭曲方向“到顶”表明某特定关键字类型的第一次出现是最重要的,以后的出现就不那么重要。
各上下文图表的下一个栏表示各关键字类型最初出现时赋予该关键字类型的“初始扭曲”值。这些都是根据实验确定的值,值的大小表示某特定关键字初次在数据组中出现对该语言识别的重要性。为进行说明,各值以阿拉伯数字表示,但实践中这是值是以十六进制表示法表示的。“扭曲修正”栏表示初始扭曲值在关键字类型初次出现以后出现时应如何修正。例如,赋予第一文件资料格式指令关键字的值为40,而文件资料指令格式关键字第二次出现时赋予的值为10(40/4),第三次出现赋予的值则为2.5(10/4)等等。同样,某一特定标点关键字起初是赋予2.79×10的值的,某特定标点关键字第二次出现时该值乘以4。该乘积在特定标点关键字第三次出现时乘以4。
图7中示出了PCL语言的上下文表。这里应该指出的是,各关键字类型的短序列、全序列和组合序列全都具同样的初始扭曲值且在以后出现时经过扭曲修正的。
上面说过,各表决器模块既装有“容许”表决计数寄存器也装有“禁止”表决计数寄存器52的。用上下文表计算出来的符号值都插入“容许”和“禁止”表决计数寄存器中,各正值加起来存入“容许”寄存器中,各负值加起来存入“禁止”寄存器中。这样,各表决计数寄存器就在所收到的数据组的上下文中表明表示关键字类型数的总和。“容许”表决计数寄存器的和表示了表明某特定语言出现的所有关键字的扭曲权重。“禁止”表决计数寄存器表示各关键字的扭曲权重的总和,该关键字的出现表明正在被分析中的数据组不采用各表决器模块所处理的特定语言。
现在参看图8-11,结合图5a、5b、6和7中所示的各表示来说明语言的识别程序。该程序从收到新的数据组(框100)时开始。数据组的大小可以是任意的,但最好选取能容纳输进来的数据的适当取样的那种大小,同时不要太长以免耽误打印的功能。所收到的数据组其大小最好约为256字节。
上面说过,各预期的语言都配有独立的表决器模块,在此情况下假设该预期的语言为PCL和PS语言。各表决器模块并行运行,且对所收到的数据组输入进行处理。如图8中所示,表决器模块的语法分析器42一开始就对各关键字在它们依次在数据组输入中检测出时进行识别(框102)。然后按类型识别这些关键字(框104),且相应关键字类型的各计数器在每次有新关键字类型确定下来时增加一个计数(框106)。同样,每次检测出一个关键字时,往表决值加带符号的权,该加权值是从加权表中查出的(框108)。例如,若某一PS表决器模块确定有语法错误出现,它就促使-50加到表决值寄存器46上(图2)。同样,若经测定,字符序列是专用的,则往表决器模块的表决值寄存器46中加+80。
以这种方式,表决器模块保持了其值表示“容许”和“禁止”表决模块正在扫描的语言的加权表决的单现行累积总和。但表决值寄存器总和并没有把各关键字出现在数据组中的上下文(即各关键字的关系)考虑进去。因此,累积的表决值不足以始终确保正确地选择语言。
在语法分析器中,程序继续进行下去,确定是否检测出数据组中的最后一个关键字。若未检测出,则程序流程返回到开始部分,并自行重复。若从输进来的数据组识别出最后一个关键字,则程序就确定表决值寄存器46中的值是大于还是小0(判定框111)。若表决值大于或等于0,则以输出112表示这个情况,若表决值小于0,则以输出113表示该情况。
进行图8中所述的语法分析的同时,各表决器模块进行上下文分析。图9示出了上下文分析的程序,该程序从“容许”“禁止”计数寄存器的建立开始(框120)。程序接收经识别的各关键字和作为来自图8中框104的输入的各关键字类型。该程序对各经识别的关键字确定该关键字是否为数据组中所识别出的那种初始关键字。若然,则程序就根据有关的上下文表确定该关键字类型的初始扭曲值(框124)。PCL表决器模块采用图7上下文表中所示的各值,PS表决器模块采用图6上下文表中的各值。
若初始扭曲值经确定为负(框126),表决器模块的“禁止”计数就增加该初始扭曲值(框126)。若相反,初始扭曲值为正,则表决器模块的“容许”计数寄存器就增加该初始扭曲值(框128)。
返回到判定框122,若经测定,来自框104的关键字输入不是首次出现在特定关键字类型的关键字数据组中,则程序转入判定框130,确定所确定的关键字类型的初始扭曲值是正还是负。若为正,则将输进“容许”计数中的上一个扭曲值加入扭曲修正器中,修正该扭曲值(框132)。举例说,假设初始扭曲值为正,若该扭曲修正器表明该扭曲值应除以四,则将输进“容许”计数的上一个扭曲值除以四。同样,若修正器表明应进行乘法运算,则将输进“容许”计数的上一个扭曲值乘以该修正值。然后将经修正的扭曲值“或”起来存入“容许”计数寄存器中以更新其累积值。“或”运算的作用是防止累积值的二进制位的大小增大(且基本上消除该和数引起的任何进位)。鉴于“容许”和“禁止”两个计数都按同样的方式处理,它们之间以后进行的比较不会因没有进位功能而受影响。
返回到判定框120,若发现初始扭曲值为负,则由扭曲值修正器修正原先输进“禁止”计数寄存器中的上一个扭曲值。按上述同样的方式,若表明要进行乘法运算,则将上一次输入的扭曲值乘以所要求的常数,若要求进行除法运算,则按该要求进行(框136)。然后程序将经修改的扭曲值“或”起来存入“禁止”计数寄存器中以更新其值。
这时,程序继续进行下去,确定是否已识别出数据组中的最后一个关键字(判定框140)若尚未识别出,则根据“容许”或“禁止”计数是否显示出大于98%确定性的值这一点进一步进行判定(判定框142)。这就是说,若“容许”或“禁止”计数的累积值大于各计数所间获取的最大值的98%,则程序将“各关键字的进一步分析”的这个步骤“短接”,并假设已识别出某一语言。
若判定框142的判定结果是否定的,程序就再循环,考虑下一个关键字。数据组中的最后关键词已处理之后(这由判定框140确定),程序就计算“容许”和“禁止”计数寄存器之间的差值(框144)。然后将计算出来的差值与所能预期的各计数之间的最大预期差值加以比较。若计算出来的差值小于最大预期差值的25%(实验判定值),则可以认为“容许”和“禁止”计数接近(即“混乱”)到这样的程序以致不容许只根据上述上下文分析作出决定性的判定。若计算出来的差值等于或大于各计数之间最大预未差值之间的25%,则判定框146产生“不混乱”的输出,于是可以认为较大的计数值所假设的是精确的。
图10a中,判定框146的“不混乱”显示内容之后是确定“容许”计数是否大于“禁止”计数(判定框148)。然后视乎哪一个计数大一些,对较大的计数进行“归一化”。若判定框148表示肯定(“容许”计数>“禁止”计数),则在“容许”计数上履行归一化程序(框150),将其值变换到0至+127的范围。之所以要进行上述归一化是因为不同的表决器模块中的“容许”和“禁止”计数会表现出不同的与语言的特性有关的累积值。因此,各种不同的表决器模块中的累积值在其绝对值上会彼此关系不大或毫无关系。然而,各表决器模块中的各个“容许”和“禁止”计数值如果以特定计数所能达到的最大值的百分率(或等效数值)表示则会有相对的意义。例如,假设“容许”计数>“禁止计数”,将“容许”计数与该计数所能获得的最大值相比较,得出一个比值。于是该比值确定该计数值变换成0至+127的规定数字范围内的值。
图10b和10c中分别示出了处理用以检测PCL和PS的表决模块中显示“混乱”状态的程序。PS语言更复杂,因而PS程序比PCL更复杂。
图10b中,是在图9中的判定框146表明输入混乱时PCL表决器模块中的处理程序。程序根据该混乱的指示检查来自图8中判定框111的累积表决值(判定框158)。若发现累积值小于0(表明,特定表决器模块中表决值寄存器的累积值是累积加权值的负总和),则将归一化了的“禁止”计数送回到判定器(框160)。若发现累积表决值大于或等于0,则将“容许”计数(经归一化)送回到判定器(框162)。
图10C中示出了图9中的判定框46表明输入混乱时PS表决器模块中的处理程序。根据这个情况,程序在对输进来的数据组的分析中确定是否没有发现什么语法上的错误,且是否已检测出至少一个特殊的字符序列(判定框164)。若发现语发错误(即语法错误计数不等于0),或者检测不出任何特殊字符序列,则将经归一化的“禁止”计数送回到判定模块(框166)。若判定框164显示“与”状态,则检查来自图8中判定框111的累积表决值输出(判定框168)。若发现累积表决值大小0(表明特定表决器模块中表决值寄存器的累积值为累积加权值的负总和),则将“禁止”计数送回到判定器(框166)。若发现累积表决值大于0,则把“容许”计数(经归一化)送回到判定器(框170)。
现在翻看图11,判定模块存储各表决器模决送回来的归一化计数(框172)。如上所述,各表决器模块应该已将单个数字送回到判定器中,该单个数字表示0至+127之间的值或-1至-128之间的值,前者表示容许使用某一语言,后者表示禁止使用该语言。如判定框174中所示,若送回到判定模块的所有表决器模块计数都为负,则显示出非语言的指示(框176)。另一方面,若所有的计数都不是负的,则选取最大的正计数作为输进来的语言(框178)。
总之,本程序通过三次分别而同时地累积分析数据来判定对某种语言的识别。显示内容包括分派给某特定语言的各表决器模块的正负关键字加权计数;各表决器模块中的加权和,表示输进来的数据组中所发现的各关键词是否累计起来表示“容许”或“禁止”使用该语言的正或负的表决;和“容许”和“禁止”计数,根据各关键字对该语言的重要性进行上下文分析,从而并行而独立地对该语言进行表决。结合这些表决结果(如图8-11流程图中所示的那样)就可以很有把握地对语言作最后的抉择。此外,将判定程序安排给分立的判定模块去进行,各语言有单独的表决器模块,这样就能够对系统进行修改,使其适应另外一些开头没有设想过的语言。
应该理解的是,上述说明仅仅是对本发明的举例性说明而已。在不脱离本发明精神的前提下,熟悉本技术领域的人士是可以就其提出另外的方案和修改方案的。因此,本发明的意图是包括这些另外的方案和修改方案,因为它们都属于本说明书所附权利要求书的范围。
权利要求
1.一种在数据处理系统中识别输入的语言的方法,所述系统中,能对多种所输入的语言起反应,各种语言遵守规定的语法,在输进来的数据中有既定的数据部分(“容许”关键字)时表明表决结果容许某种语言的出现,有其它既定的数据部分(“禁止”关键字)时表明表决结果禁止该语言的出现,该系统识别所输入的语言的方法包括下列步骤a)就每个预期的语言分析输进来的数据组的语法,以识别所述数据组中的“容许”和“禁止”关键字;b)根据所述分析给每个预期的语言提供“容许”计数和“禁止”计数,各所述计数为各关键字条的总和,各关键字条由一个经识别的关键字计数乘以一个扭曲组成,所述扭曲的值表示所述关键字在所述语法中和所述数据组上下文的重要性,所述“容许”计数是“容许”关键字字条的总和,所述“禁止”计数是“禁止”关键示字条的总和;c)将所述“容许”和“禁止”计数加以比较,以确定它们是否如此接近得达到有必要发出“测不准”的信号,然后根据所述数据组的另一个语法特性分析该“测不准”的情况,并根据其中一个所述计数显示一个值,所述显示与所述另一个语法特性是否表示“容许”或“禁止”该语言有关;d)两个计数之间没有“测不准”的情况时显示出从较大的计数得出的一个值;然后e)根据各所述预期语言的所述显示值判定所收到语言的语种。
2.如权利要求1所述的方法,其特征在于,所述步骤(a)还包括下列步骤按关键字类型对经识别的“容许”和“禁止”关键字进行分类;令语言表决计数增加或减少赋予各关键字类型的加权值,该增量或减量为每次确定某一所述关键字时预先赋予该关键字的带符号的关键字类型加权值,关键字为各类型的“容许”关键字时增加所述表决值,关键字为各类型的“禁止”关键字时减少所述表决值。
3.如权利要求2所述的方法,其特征在于,步骤(c)中所述的该另一个语法特性为所述语言表决计数是大于或小于某规定值。
4.如权利要求3所述的方法,其特征在于,所述“容许”关键字类型包括符合语法的一些字符和序列,所述“禁止”关键字类型包括不符合语法的一些字符和序列、语法错误、未知字和非法序列。
5.如权利要求3所述的方法,其特征在于,各关键字类型的所述扭曲是经扭曲修正器修正过的关键字类型初始扭曲值,所述扭曲修正器使所述初始扭曲值在数据组中某一关键字类型第二次和以后出现时不同。
6.如权利要求5所述的方法,其特征在于,当某些关键字类型以后在数据组中出现时更有力地说明某一种语言的出现时,所述扭曲修正器是乘法器,而当某一关键字类型在数据组中的出现其对语言识别的重要性不及该关键字类型在数据组中第一次出现时,所述扭曲修正器是个除法器。
7.如权利要求6所述的方法,其特征在于,每次所述初始扭曲值是由一个扭曲修正器修正的,则下一次所述扭曲为所述扭曲修正器所修正,被修正的是上一次修正过的扭曲值,从而在一系列的扭曲修正过程中,各扭曲值发生非线性变化。
8.如权利要求7所述的方法,其特征在于,在步骤b之后,该方法另外进行下列步骤将所述“容许”和“禁止”计数与各计数所能获得的最大值相比较,若其中一个计数处在所述最大值的预定范围内,则停止按步骤(b)进行的对数据组的进一步分析,直接转入步骤(c)。
9.如权利要求2所述的方法,其特征在于,所述“测不准”是通过计算所述“容许”和“禁止”之间的差值并将所述差值与两者之间预期的最大差值相比较确定的,若所述比较结果显示所述差值大于所述最大差值的预定百分率,则表明在对所述各计数作出选择时出现混乱情况。
10.如权利要求9所述的方法,其特征在于,所述所输入的语言包括PCL,且PCL表决器模块根据某一“混乱”显示进一步执行下列各步骤确定PCL语言表决计数是否大于规定值,若否,则显示出从“禁止”计数获取的一个值,若然,则显示出从“容许”计数获取的一个值。
11.如权利要求9所述的方法,其特征在于,所述所输入的语言包括PS语言,且PS表决器模块根据某一“混乱”显示进一步执行下列各步骤确定在数据组的分析中是否检测不出语法上的错误且PS中没有出现所检测的特定字符,若否,则显示出从“禁止”计数获取的一个值,若然,且所述语言表决值大于所述规定值,则显示从所述“容许”计数获取的一个值。
12.如权利要求1所述的方法,其特征在于,所述比较步骤(c)还包括下列步骤将所述“容许”和“禁止”计数变换成预定范围的值,各所述变换成所述预定范围值的计数与所述计数对各所述计数所能达到的最大值的关系一致。
13.一种数据处理系统,包括有一个软件,该系统对多种所输入的语言起反应,各种语言遵守规定的语法,其中,在输进来的数据中的说明数据部分(“容许”关键字)表明表决结果容许某种语言的出现,其它说明数据部分(“禁止”关键字)表明表决结果禁止该语言出现,所述系统包括每种语言的表决器装置和一个判定装置,各所述表决器装置包括语法分析装置,用以对某预期语言分析输进来的数据组的语法,从而识别数据组中的“容许”和“禁止”关键字;计数装置,用以根据所述分析提供所述语言的“容许”和“禁止”计数,各所述计数为各关键字字条的总和,每个关键字字条由一个经识别的关键字计数乘以一个扭曲组成,所述扭曲值表示所述关键字在所述语法和所述数据组上下文中的重要性,所述“容许”计数是“容许”关键字字条的总和,所述“禁止”计数是“禁止”关键字字条的总和;第一装置,用以将所述“容许”和“禁止”计数加以比较,以确定它们是否如此接近得达到有必要发出“测不准”的信号,然后根据组的另一个语法特性分析该“测不准”的情况,并根据其中一个所述计数显示第一值;和显示装置,用以给所述判定装置显示所述第一值或第二值,所述第二值是在两计数值之间没有“测不准”的情况时从较大的计数得出的。
14.如权利要求13所述的数据处理系统,其特征在于,所述判定装置包括检查判定装置,用以检查来自各所述表决装置的所述显示值,并判定所述输进来的数据组所体现出来的语言的语种。
15.如权利要求14所述的系统,其特征在于,它还包括分类装置,用以按关键字类型将经识别的“容许”和“禁止”关键字分类;加权装置,用以使语言表决计数增加或减少赋予各关键字类型的加权值,该增量或减量为每次确定某一所述关键字时预先赋予该关键字的带符号的关键字类型的一个加权值,关键字为“容许”关键字类型时增加所述表决值,关键字为“禁止”关键字类型时减少表决值。
16.如权利要求15所述的系统,其特征在于,所述的另一语法特性为所述语言表决计数是大于或小于某规定值。
17.如权利要求15所述的系统,其特征在于,各关键字类型的所述扭曲是经扭曲修正器修正过的关键字类型初始扭曲值,所述扭曲修正器使所述初始扭曲值在数据组中某一关键字类型在第二次和以后出现时不同。
18.如权利要求17所述的系统,其特征在于,它还包括第二比较装置,用以将所述“容许”和“禁止”计数与各计数所能获得的最大值相比较,若其中一个计数处在所述最大值的预定范围内,则停止由所述计数装置进行的数据组分析,并令所述第一比较装置工作。
19.如权利要求18所述的系统,其特征在于,所述第一比较装置是通过计算所述“容许”和“禁止”之间的差值并将所述差值与两者之间预期的最大差值相比较确定所述测不准的情况的,若所述比较结果显示所述差值大于所述最大差值的预定百分率,则表明在对所述各计数作出选择时出现混乱情况。
20.如权利要求13所述的系统,其特征在于,所述表决器装置包括变换装置,供将所述“容许”和“禁止”计数变换成预定范围的值,各所述变换成所述预定范围值的计数与所述计数对各所述计数所能达到的最大值的关系一致。
21.如权利要求20所述的数据处理系统,其特征在于,所述判定装置显示(1)非语言,若所有的表决器装置提供的值都表示“禁止”计数;或(2)某种语言,这是根据表决器装置提供的最大“容许”计数值判定的。
全文摘要
一种数据处理系统,能对多种所输入的语言起反应,各种语言遵守规定的语法。在输进来的数据中有既定的数据部分(“容许”关键字)时表明表决结果容许某种语言的出现,有其它既定的数据部分(“禁止”关键字)时表明表决结果禁止该语言的出现。该系统执行的方法能识别所输入的语言。
文档编号G06F3/00GK1079057SQ93101138
公开日1993年12月1日 申请日期1993年1月21日 优先权日1992年1月24日
发明者S·E·沃尔顿 申请人:惠普公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1