首页> 中国专利> 纠错词排序方法、装置、终端设备和存储介质

纠错词排序方法、装置、终端设备和存储介质

摘要

本申请实施例适用于输入法技术领域,提供了一种纠错词排序方法、装置、终端设备和存储介质,所述方法包括:当接收到用户输入的字符串时,获取与所述字符串相匹配的多个纠错词,并确定每一个纠错词所属的纠错类型以及该纠错类型对应的词序权重;根据所述纠错类型的词序权重,确定各个纠错词的权重值;根据所述各个纠错词的权重值,对所述多个纠错词进行排序。上述方法,通过纠错类型的词序权重重新确定纠错词的权重值,可以将较常出现的输入错误对应的纠错词优先展现给用户,提高了输入法的纠错效率,可以应用于人工智能及自然语言处理等领域,有助于提高输入效率。

著录项

  • 公开/公告号CN112989148A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201911279538.X

  • 发明设计人 沈金明;

    申请日2019-12-13

  • 分类号G06F16/9038(20190101);G06F16/903(20190101);G06F3/023(20060101);

  • 代理机构44414 深圳中一联合知识产权代理有限公司;

  • 代理人左婷兰

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 11:29:13

说明书

技术领域

本申请属于输入法技术领域,尤其涉及一种纠错词排序方法、装置、终端设备和存储介质。

背景技术

适用于中文输入的拼音输入法,是在用户输入一串拼音后,系统将输入的拼音转换为一串中文字符。由于不需要特殊记忆,符合人的思维方式,只要会拼音就可以进行输入,拼音输入法越来越成为了目前应用最广泛的一种输入方式。

随着移动设备的普及,用户在面积较小的手机、平板电脑上使用拼音输入法时,非常容易把拼音敲错。例如,用户想输入“you”,因为键盘上字母“i”和字母“o”是相邻的,在输入时就非常容易按错,结果就输入成了“yiu”,这样就会导致出来的中文字符不是用户想要的。用户需要花费较大的代价去重新输入或者修改拼音,才能得到想要的词语。

目前,各个输入法厂商都提供了针对拼音输入法的自动纠错功能。当用户输入了错误的拼音时,输入法将会尝试自动将错误的拼音纠正为正确的拼音,然后按照纠正后的拼音给出对应的中文词语。但是,针对错误输入的拼音,按照不同的纠错方法可能就会得到多种不同的纠错结果。当纠错结果过多时,用户也需要经过繁琐的操作才能从中找出自己真正想要的词语。

发明内容

本申请实施例提供了一种纠错词排序方法、装置、终端设备和存储介质,可以提高拼音输入法的纠错率,使得最终呈现给用户的纠错词更能匹配用户的实际需求。

第一方面,本申请实施例提供了一种纠错词排序方法,包括:

当接收到用户输入的字符串时,获取与所述字符串相匹配的多个纠错词,并确定每一个纠错词所属的纠错类型以及该纠错类型对应的词序权重;

根据所述纠错类型的词序权重,确定各个纠错词的权重值;

根据所述各个纠错词的权重值,对所述多个纠错词进行排序。

示例性的,各个纠错词的权重值可以根据各个纠错词的初始权重值与相应的纠错类型的词序权重确定。

示例性的,在对纠错词进行排序时,还可以分别统计各种纠错类型对应的纠错词个数;将多于纠错词个数阈值的纠错词删除,然后再根据剩余的各个纠错词的权重值,对各个纠错词进行排序。

示例性的,对于具有互斥关系的纠错词,可以根据纠错类型的次序权重,将次序权重相对较小的纠错词删除,减少纠错词个数。

第二方面,本申请实施例提供了一种纠错词排序装置,包括:

纠错词获取模块,用于在接收到用户输入的字符串时,获取与所述字符串相匹配的多个纠错词,并确定每一个纠错词所属的纠错类型以及该纠错类型对应的词序权重;

权重值确定模块,用于根据所述纠错类型的词序权重,确定各个纠错词的权重值;

纠错词排序模块,用于根据所述各个纠错词的权重值,对所述多个纠错词进行排序。

第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的纠错词排序方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被终端设备的处理器执行时实现上述第一方面中任一项所述的纠错词排序方法。

第五方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的纠错词排序方法。

与现有技术相比,本申请实施例包括以下有益效果:

本申请实施例,在接收到用户输入的字符串时,通过获取与该字符串相匹配的纠错词,然后按照该纠错词对应的纠错类型的词序权重,可以重新确定各个纠错词的权重值,在按照重新确定的权重值对各个纠错词进行排序后,可以将各个纠错词展现给用户。通常,具有较高词序权重的纠错类型是针对用户在输入时较常出现的输入错误所进行的纠错,按照纠错类型重新确定纠错词的权重值,可以将较常出现的输入错误对应的纠错词优先展现给用户,提高了输入法的纠错效率,可以应用于人工智能及自然语言处理等领域,有助于提高输入效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的纠错词排序方法所适用于的手机的硬件结构示意图;

图2是本申请一实施例提供的纠错词排序方法所适用于的手机的软件结构示意图;

图3是本申请一实施例提供的纠错词排序方法的示意性步骤流程图;

图4是本申请一实施例提供的输入法架构示意图;

图5是本申请另一实施例提供的纠错词排序方法的示意性步骤流程图;

图6是本申请又一实施例提供的纠错词排序方法的示意性步骤流程图;

图7是本申请一实施例提供的纠错词排序装置的结构框图;

图8是本申请一实施例提供的终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。

目前,各个品牌的输入法都提供了相应的纠错功能。以拼音输入法为例,其基本原理是,通过预置一些固定的纠错列表或者策略,当检测到用户输入的拼音字符串与上述纠错列表或策略相匹配时,从系统词库中查找出与输入的拼音字符串对应的纠错字符串,然后向用户显示与纠错字符串相匹配的候选词。

例如,若用户输入拼音字符串“lng”,输入法的自动纠错功能将会按照预置的纠错策略,将其补充为“lang”、“leng”或者“ling”,然后再查找出对应的汉字提供给用户。

又例如,若用户输入拼音字符串“yiu”,输入法将会查找字母“i”周围相邻的其他字母,组成字符串“you”,然后再将字符串“you”对应的汉字提供给用户。

但是,输入法自动纠错后所提供的纠错词并不一定是用户真正想要的词语。存在纠错词不对,或者纠错词过多的情况,影响用户的正常使用。

例如,若输入法检测到用户输入字符串“daohng”,该字符串无法直接匹配出相应的汉字。此时,输入法将会对其进行纠错,得到“daohang”、“daohong”以及“daoheng”,并给出相应的纠错词。其实用户可能只是想要输入“daohang-导航”,按照上述纠错就会导致纠错词过多。当输入法将全部纠错词均提供给用户时,用户想要从中找到自己真正想要输入的那个词语,则会耗费一些时间。

因此,针对上述问题,本申请实施例提供了一种纠错词的排序方法,通过对纠错得到的各个纠错词进行科学、合理地排序,提高拼音输入法的纠错率,使得最终呈现给用户的纠错词更能匹配用户的实际需求,减少用户从过多的纠错词中选择真正想要输入的那个词语的操作事件。

下面结合具体的技术方案对本申请实施例提供的纠错词排序方法进行介绍。

本申请实施例提供的纠错词排序方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。

以终端设备为手机为例。图1示出的是与本申请实施例提供的手机的部分结构的框图。参考图1,手机包括:射频(Radio Frequency,RF)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,Wi-Fi)模块170、处理器180、以及电源190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图1对手机的各个构成部件进行具体的介绍:

RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。

存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元130可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现手机的输入和输出功能。

手机100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160、扬声器161,传声器162可提供用户与手机之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一手机,或者将音频数据输出至存储器120以便进一步处理。

Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了Wi-Fi模块170,但是可以理解的是,其并不属于手机100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

手机100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机100还可以包括摄像头。可选地,摄像头在手机100的上的位置可以为前置的,也可以为后置的,本申请实施例对此不作限定。

可选地,手机100可以包括单摄像头、双摄像头或三摄像头等,本申请实施例对此不作限定。

例如,手机100可以包括三摄像头,其中,一个为主摄像头、一个为广角摄像头、一个为长焦摄像头。

可选地,当手机100包括多个摄像头时,这多个摄像头可以全部前置,或者全部后置,或者一部分前置、另一部分后置,本申请实施例对此不作限定。

另外,尽管未示出,手机100还可以包括蓝牙模块等,在此不再赘述。

图2是本申请实施例的手机100的软件结构示意图。以手机100操作系统为Android系统为例,在一些实施例中,将Android系统分为四层,分别为应用程序层、应用程序框架层(framework,FWK)、系统层以及硬件抽象层,层与层之间通过软件接口通信。

如图2所示,所述应用程序层可以包括一系列应用程序包,应用程序包可以包括短信息,日历,相机,视频,导航,图库,通话等应用程序。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数,例如用于接收应用程序框架层所发送的事件的函数。

如图2所示,应用程序框架层可以包括窗口管理器、资源管理器以及通知管理器等。

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。

应用程序框架层还可以包括:

视图系统,所述视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供手机100的通信功能。例如通话状态的管理(包括接通,挂断等)。

系统层可以包括多个功能模块。例如:传感器服务模块,物理状态识别模块,三维图形处理库(例如:OpenGL ES)等。

传感器服务模块,用于对硬件层各类传感器上传的传感器数据进行监测,确定手机100的物理状态;

物理状态识别模块,用于对用户手势、人脸等进行分析和识别;

三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。

系统层还可以包括:

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。

硬件抽象层是硬件和软件之间的层。硬件抽象层可以包括显示驱动,摄像头驱动,传感器驱动等,用于驱动硬件层的相关硬件,如显示屏、摄像头、传感器等。

以下实施例可以在具有上述硬件结构/软件结构的手机100上实现。以下实施例将以手机100为例,对本申请实施例提供的纠错词排序方法进行说明。

参照图3,示出了本申请一实施例提供的纠错词排序方法的示意性步骤流程图,作为示例而非限定,该方法可以应用于上述手机100中,该方法具体可以包括如下步骤:

S301、当接收到用户输入的字符串时,获取与所述字符串相匹配的多个纠错词,并确定每一个纠错词所属的纠错类型以及该纠错类型对应的词序权重;

在本实施例中,用户输入的字符串可以是拼音字符串。即,用户在使用拼音输入法时输入拼音字符串,然后通过输入法的匹配和查找,输出相应的汉字。

如图4所示,是本实施例的输入法架构示意图。本实施例提供的纠错词排序方法可以在图4所示的输入法架构中实现。图4所示的输入法架构主要包括输入、引擎、词库和展示四个核心单元。输入单元可以向用户提供键盘输入的输入方式,包括拼音全键、拼音九键等等,输入单元的核心处理是防误触,使得用户尽可能地输入正确的字符串。当然,在输入单元还可以为用户提供其他语言的输入方式,以及笔画、手写、语音等各种类型的输入方式。

对于引擎单元,针对拼音输入法,主要提供了N-gram语言模型和维特比(Viterbi)拼音解码,从而可以结合词库实现具体出词、联想以及纠错功能。输入法中的词库包括有基础词库、网络热词以及用户自定义词组等等,各个词库均可以按照一定的频率进行更新。

输入法的展示单元可以通过终端设备的显示界面呈现给用户,除了基础的候选词输出外,还可以包括其他信息或服务类的推荐信息。

本实施例在上述输入法架构的基础上,对候选词的排序过程进行了改进,提出了一种新的纠错词排序方法。下面具体介绍。

通常,用户在输入拼音字符串时,可能出现输入错误的情况。此时,输入法可以对输入错误的字符串进行自动纠正。例如,用户输入字符串“yiu”,输入法自动将其纠正为字符串“you”。

输入法在对错误输入的拼音字符串进行纠正后,可以输出与纠正后的字符串相匹配的纠错词。例如,对于用户输入的字符串“yiu”,输入法可以输出与纠正后的字符串“you”相匹配的“有”、“又”、“由”等纠错词。

上述纠错词均可以看作是按照某种纠错类型对错误的字符串进行纠正后得到的。同样以字符串“yiu”为例,输入法在对其进行纠错后,输出的“有”、“又”、“由”等纠错词可以看作是按照邻键纠错对“yiu”进行纠错所得到的。即,将输入错误的字符串“yiu”中的字母“i”替换为与之相邻的字母“o”。

当然,上述提供的邻键纠错仅仅是一种示例,输入法所提供的纠错方式可以包括很多种,本实施例对此不作限定。

在本实施例中,针对任一纠错类型,可以为其配置出相应的词序权重,使得在对拼音字符串进行纠错后,可以按照上述词序权重对纠错词进行排序。

本实施例中各种纠错类型的词序权重可以是根据大量统计数据和纠错案例进行计算得到的。本实施例通过分析大量的输入错误的字符串与用户最终输入的汉字之间的对应关系,计算得出的各种纠错类型的词序权重,可以体现出用户最常见的输入错误类型。因此,用户最常见的输入错误对应的纠错类型的词序权重通常较大。如,模糊音纠错,末尾少输入字符纠错等等。

需要说明的是,用户输入的拼音字符串也可能并非是错误的字符串。例如,在用户输入字符串“zai”时,可能表示用户确实是希望输入“zai”并获得与该字符串相匹配的汉字。另一方面,输入法也可以按照相应的纠错方式,将其纠错为“zhai”,同时将与字符串“zhai”相匹配的汉字一并提供给用户。此时,与字符串“zai”相匹配的各个汉字即是非纠错词,而与字符串“zhai”相匹配的汉字则为纠错词。

S302、根据所述纠错类型的词序权重,确定各个纠错词的权重值;

在本实施例中,可以预先将各种纠错类型划分为不同的纠错类,针对任一纠错类,分别为其设定一个词序权重。

作为本实施例的一种示例,可以将多种纠错类型划分为纠错一类、纠错二类、纠错三类和纠错四类共四大类,然后分别为每一类设定一个词序权重。例如,可以设定纠错一类的词序权重与纠错二类的词序权重相等,设定纠错二类的词序权重大于纠错三类的词序权重,设定纠错三类的词序权重大于纠错四类的词序权重,等等。

在根据纠错类型的词序权重确定各个纠错词的权重值时,可以直接将该纠错类的词序权重赋予给对应的纠错词。即,直接将纠错类的词序权重作为按照该纠错类进行纠错后获得的纠错词的权重值。也可以将纠错类的词序权重作为一个附加值,将该词序权重附加在纠错词原有的权重值之上。例如,若某一纠错类型的词序权重为60%,则可以将该按照该纠错类型进行纠错得到的某个纠错词原有的权重值乘以60%,作为该纠错词新的权重值,本实施例对此不作限定。

S303、根据所述各个纠错词的权重值,对所述多个纠错词进行排序。

在确定出各个纠错词的权重值之后,可以按照权重值的大小对各个纠错词进行排序。一般地,权重值越大,排序越靠前;反之则排序越靠后。

在本申请实施例中,在接收到用户输入的字符串时,通过获取与该字符串相匹配的纠错词,然后按照该纠错词对应的纠错类型的词序权重,可以重新确定各个纠错词的权重值,在按照重新确定的权重值对各个纠错词进行排序后,可以将各个纠错词展现给用户。通常,具有较高词序权重的纠错类型是针对用户在输入时较常出现的输入错误所进行的纠错,按照纠错类型重新确定纠错词的权重值,可以将较常出现的输入错误对应的纠错词优先展现给用户,提高了输入法的纠错效率,可以广泛应用于人工智能(ArtificialIntelligence,AI)及自然语言处理等领域,有助于提高输入效率。

参照图5,示出了本申请另一实施例提供的纠错词排序方法的示意性步骤流程图,该方法具体可以包括如下步骤:

S501、当接收到用户输入的字符串时,按照预设的多种纠错类型分别对所述字符串进行纠错,并确定各种纠错类型对应的词序权重;

需要说明的是,本方法可以应用于终端设备中,如手机、平板电脑等等。即,本实施例的执行主体为终端设备。以终端设备为手机为例,当用户在手机上使用拼音输入法时,若用户输入的拼音字符串为错误的字符串,则可以按照本实施例提供的方法对错误的字符串进行纠错并对纠错后得到的各个纠错词进行重新排序,使得排序靠前的纠错词有更大概率属于用户真正想要输入的词语。

在本实施例中,可以首先对输入法提供的多种纠错类型进行分类。例如,将各种纠错类型划分为纠错一类、纠错二类、纠错三类或纠错四类等等,使得每一纠错类中均至少包括一项具体的纠错类型。

通常,输入法提供的纠错类型包括有用户配置模糊音纠错、末尾少输入字符纠错、邻键纠错、默认模糊音纠错、多输入字符纠错、中间少输入字符纠错和交换字符纠错等等。其中,用户配置模糊音纠错可以是指用户手动配置的纠错类型。对于用户在输入过程中较常出现的错误,输入法可以向用户提供手动配置纠错的功能。例如,若用户在输入过程中经常混淆字母“f”和“h”,则可以手动选择将上述两个字母配置为纠错对,后续在输入时,可以优先检测是否存在上述两个字母输错的情况。

末尾少输入字符纠错可以是指拼音未输入完全,通过自动补齐后面的所有可能的合法拼音,便可以得到相应的纠错词。例如,对于输入的字符串“pe”,通过在末尾补齐其他字母,可以得到“pei”、“pen”或“peng”等合法拼音。

邻键纠错可以是指在输入时按到相邻键位的字母,在执行邻键纠错时,需要把按偏的字母纠正回来。通常情况下,邻键纠错应当限定为偏的键位不能超过一个。

默认模糊音纠错可以是指在用户未自行配置模糊音纠错的情况下,输入法默认支持的一些模糊音纠错。默认模糊音纠错与手动模糊音之间的区别是,纠错词数量有限,其词序权重相对较小。

多输入字符纠错可以是指用户在输入的拼音字符串中多了一个额外的字母。多输入的字符可以是重复的某个字母。

中间少输入字符纠错可以是指在拼音字符串的中间位置漏输入了某个字母。需要说明的是,中间少输入字符纠错仅仅针对在字符串的中间位置漏输入了字母这一种情况,而非针对字符串的前面或后面漏输字母的情况。

交换字符纠错可以是指在字符串中,相邻的字母顺序发生交换错误,把这两个字母的顺序就只过来即可完成纠错。

如表一所示,是本实施例的各种纠错类型的定义、范围及相应的说明。

表一:

对于上述各种纠错类型,可以将其划分为多个纠错类,并为每个纠错类设置相应的纠错词个数阈值以及词序权重。

在本实施例中,纠错词个数阈值可以是在按照某一纠错类型进行纠错时,允许向用户展示的该类纠错词的最大个数。例如,若某一纠错类型对应的纠错词个数阈值为5个,则表示在按照按类型对拼音字段串进行纠错时,提供给用户的纠错字最多不超过5个。

作为本实施例的一种示例,在将纠错类型划分为四个纠错类时,可以设定纠错一类的纠错词个数阈值大于第一个数阈值,设定纠错二类的纠错词个数阈值小于等于第二个数阈值,设定纠错三类的纠错词个数阈值小于等于第三个数阈值,设定纠错四类的纠错词个数阈值小于等于第四个数阈值,上述第一个数阈值可以大于第二个数阈值,第二个数阈值可以大于第三个数阈值,第三个数阈值可以大于第四个数阈值。

例如,第一个数阈值可以设定为无穷大,表示按照属于纠错一类的纠错类型进行纠错时,可以不受纠错词个数的限制,将全部纠错词均展示给用户。第二个数阈值可以设置为5个,第三个数阈值可以设置为2个,第四个数阈值可以设置为1个,等等。当然,以上仅仅是本实施例的一种示例,本领域技术人员可以根据实际需要具体选择纠错词个数阈值,本实施例对此不作限定。

本实施例中的词序权重可以是指对纠错词的权重值进行打折的折扣数值。例如,若词序权重为1,则表示该种纠错类型获得的纠错词的权重值不打折;若某种纠错类型的词序权重为80%,则表示按该种纠错类型获得的纠错词的权重值需要打八折,从而降低了该纠错词的权重值。

如表二所示,是本实施例的一种纠错类型的分类示例。

表二:

S502、若按照目标纠错类型对所述字符串纠错成功,则生成与所述目标纠错类型相对应的目标字符串,所述目标纠错类型为所述多种纠错类型中的任意一种;

在本实施例中,当接收到用户输入的拼音字符串时,可以首先按照上述各种纠错类型对其进行纠错,若纠错成功,则可以得到与该纠错类型相对应的目标字符串。

例如,对于用户输入的字符串“png”,通过按照上述各种纠错类型进行纠错,可以得到与漏输这一纠错类型相对应的目标字符串“pang”、“peng”和“ping”,等等。

需要说明的是,针对用户输入的任一字符串,可能存在不止一种的纠错类型。即,输入法可以按照多种不同的纠错类型对该字符串进行纠错,本实施例对此不作限定。

S503、获取与所述目标字符串相匹配的多个纠错词;

对于获得的目标字符串,输入法可以按照现有的出词方式,给出与各个目标字符串相匹配的纠错词。

当存在多种纠错类型时,每一种纠错类型对应的纠错词均可能包括多个。

S504、获取所述各个纠错词的初始权重值,根据所述各个纠错词的初始权重值以及所述各个纠错词对应的纠错类型的词序权重,确定所述各个纠错词的权重值;

各个纠错词的初始权重值即是按照输入法现有的排序策略得到的各个词语的权重值,初始权重值体现的是未经处理前,各个纠错词的排序位置。

在本实施例中,在获取各个纠错词的初始权重值,并得到与该纠错词对应的纠错类型的词序权重时,可以将上述初始权重值与对应的纠错类型的词序权重相乘,得到各个纠错词最终的权重值。

例如,若某个纠错词属于按照邻键纠错给出的,在计算该纠错词最终的权重值时,可以将初始权重值乘以60%,这样处理后,其最终的权重值将会小于初始权重值。相应地,该纠错词在全部候选词中的排序位置可能会往后移动。

在确定出每一个纠错词的权重值后,可以按照权重值的大小对这些纠错词进行排序。一般地,权重值越大,排序越靠前。

S505、分别统计所述各种纠错类型对应的纠错词个数;

在本实施例中,由于不同的纠错类型均可能给出多个纠错词,为了减少一些非必要的纠错词出现在候选词列表中,还可以针对各种纠错类型分别统计按照该类型进行纠错所得到的纠错词的个数。

例如,统计按照手动模糊音进行纠错得到的纠错词个数,统计按照邻键纠错得到的纠错词个数,等等。

S506、若所述纠错词个数多于对应纠错类型的纠错词个数阈值,则将多于所述纠错词个数阈值的纠错词删除;

在本实施例中,按照纠错类型统计得到各种类型的纠错词个数后,可以按照如表二所示的纠错词个数阈值对多于的纠错词进行处理。

在具体实现中,由表二可知,手动模糊音纠错获得的纠错词个数不受限,对于按照该类型纠错获得的纠错词,可以全部保留在候选词中;对于少输这一纠错类型,则只允许最多保留5个纠错词,若按照少输进行纠错得到的纠错词为7个,则需要删除多于的2个纠错词;对于其他类型的纠错词的处理,也可以按照上述方式进行,本实施例对此不再赘述。

S507、根据剩余的各个纠错词的权重值,对所述剩余的各个纠错词进行排序。

以按照上述少输进行纠错得到的纠错词为7个为例,由于其超过了少输之一纠错类型允许的最大纠错词个数,应当将其中2个纠错词删除。

在具体实现中,可以删除权重值相对较小的2个纠错词,保留其余5个权重值相对较大的纠错词。

在本申请实施例中,通过将各种纠错类型进行分类,并设置每一纠错类对应的纠错词个数阈值及词序权重,可以在按照各种纠错类型对输入的拼音字符串进行纠错后,根据词序权重重新确定每一个纠错词的权重值,并删除超过个数阈值的纠错词,得到最终呈现给用户的候选纠错词。本实施例通过对纠错类型进行细分,解决了输入法纠错时纠错错误、纠错失败以及过度纠错的问题,能够将最可能匹配用户真正想要输入的词语呈现给用户,降低了输入法自动纠错功能带来的负面影响,提高了拼音输入法的纠错效率。

参照图6,示出了本申请又一实施例提供的纠错词排序方法的示意性步骤流程图,该方法具体可以包括如下步骤:

S601、当接收到用户输入的字符串时,获取与所述字符串相匹配的多个纠错词,并确定每一个纠错词所属的纠错类型以及该纠错类型对应的词序权重;

S602、根据所述纠错类型的词序权重,确定各个纠错词的权重值;

S603、根据所述各个纠错词的权重值,对所述多个纠错词进行排序;

由于本实施例步骤S601-S603与前述实施例中步骤S301-S303以及S501-S507类似,可以参见前述实施例的描述,本实施例对此不再赘述。

S604、判断任意两个纠错词对应的纠错类型是否具有互斥关系;

在本实施例中,在对各个纠错词进行排序时,还可以判断任意两个纠错词对应的纠错类型是否具有互斥关系,上述互斥关系可以是指具有互斥关系的某两种纠错类型的纠错词不能同时出现,而只能出现其中一种。

在具体实现中,根据大量的统计数据分析,可以设定前述实施例中的纠错三类和纠错四类具有互斥关系。即,按照纠错三类进行纠错得到的纠错词将会排斥按照纠错四类进行纠错得到的纠错词。

S605、若所述任意两个纠错词对应的纠错类型具有互斥关系,则确定待删除的纠错类型;

在本实施例中,当两个纠错词对应的纠错类型具有互斥关系时,需要删除其中某一类的纠错词。

作为本实施例的一种示例,当存在具有互斥关系的纠错词时,可以删除词序权重相对较小的纠错类型所包含的纠错词。

因此,若任意两个纠错词对应的纠错类型具有互斥关系,则可以首先对具有互斥关系的纠错类型的词序权重进行比较,然后在具有互斥关系的纠错类型中,确定词序权重最小值对应的纠错类型为待删除的纠错类型。

S606、删除与所述待删除的纠错类型相匹配的各个纠错词。

在本实施例中,纠错四类的词序权重小于纠错三类的词序权重。因此,在出现按照属于纠错三类和纠错四类的纠错类型进行纠错得到的纠错词时,需要将纠错四类对应的各个纠错词进行删除。

当然,上述互斥关系属于本实施例在对纠错词进行排序时的一种补充限定,如表三所示,还可以设置首选词纠错等其他补充限定。

表三:

当然,以上补充限定只是一种示例,本领域技术人员可以根据实际需要,增加其他限定内容,以优化纠错词的排序顺序。

如表四所示,是按照本实施例提供的纠错词排序方法,对部分输入的拼音字符串进行纠错后,所展示的部分纠错词。

表四:

从上述示例中可以看作,按照本实施例提供的纠错词排序方法进行纠错及排序后所获得的候选词,不仅纠错准确,所获得的候选词个数也较为适中,符合用户的实际使用需求。

通过随机选取数万个错误拼音案例,应用本实施例提供的纠错词排序方法进行纠错及排序,纠错率提升了40%,且误纠错率下降了30%,在拼音字符串的纠错、排序和出词个数上,获得了比较均衡的结果。本实施例提供的纠错词排序方法可以应用于人工智能领域,特别是在人工智能领域对应的自然语言处理这一子领域中,通过应用本实施例提供的纠错词排序方法可以有效地提高输入效率和纠错效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的纠错词排序方法,图7示出了本申请一实施例提供的纠错词排序装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图7,该装置可以应用于终端设备中,具体可以包括如下模块:

纠错词获取模块701,用于在接收到用户输入的字符串时,获取与所述字符串相匹配的多个纠错词,并确定每一个纠错词所属的纠错类型以及该纠错类型对应的词序权重;

权重值确定模块702,用于根据所述纠错类型的词序权重,确定各个纠错词的权重值;

纠错词排序模块703,用于根据所述各个纠错词的权重值,对所述多个纠错词进行排序。

在本申请实施例中,所述纠错词获取模块701具体可以包括如下子模块:

字符串纠错子模块,用于在接收到用户输入的字符串时,按照预设的多种纠错类型分别对所述字符串进行纠错;

目标字符串生成子模块,用于若按照目标纠错类型对所述字符串纠错成功,则生成与所述目标纠错类型相对应的目标字符串,所述目标纠错类型为所述多种纠错类型中的任意一种;

纠错词获取子模块,用于获取与所述目标字符串相匹配的多个纠错词。

在本申请实施例中,所述权重值确定模块702具体可以包括如下子模块:

初始权重值获取子模块,用于获取所述各个纠错词的初始权重值;

权重值确定子模块,用于根据所述各个纠错词的初始权重值以及所述各个纠错词对应的纠错类型的词序权重,确定所述各个纠错词的权重值。

在本申请实施例中,所述各种纠错类型还分别具有相应的纠错词个数阈值,所述纠错词排序模块703具体可以包括如下子模块:

纠错词个数统计子模块,用于分别统计所述各种纠错类型对应的纠错词个数;

纠错词删除子模块,用于若所述纠错词个数多于对应纠错类型的纠错词个数阈值,则将多于所述纠错词个数阈值的纠错词删除;

纠错词排序子模块,用于根据剩余的各个纠错词的权重值,对所述剩余的各个纠错词进行排序。

在本申请实施例中,该装置还可以包括如下模块:

互斥关系判断模块,用于判断任意两个纠错词对应的纠错类型是否具有互斥关系;

待删除类型确定模块,用于若所述任意两个纠错词对应的纠错类型具有互斥关系,则确定待删除的纠错类型;

纠错词删除模块,用于删除与所述待删除的纠错类型相匹配的各个纠错词。

在本申请实施例中,所述待删除类型确定模块具体可以包括如下子模块:

次序权重比较子模块,用于若所述任意两个纠错词对应的纠错类型具有互斥关系,则对具有互斥关系的纠错类型的词序权重进行比较;

待删除类型确定子模块,用于在具有互斥关系的纠错类型中,确定所述词序权重最小值对应的纠错类型为待删除的纠错类型。

在本申请实施例中,所述纠错类型可以包括纠错一类、纠错二类、纠错三类和纠错四类中的至少一种,所述纠错一类的词序权重与所述纠错二类的词序权重相等,所述纠错二类的词序权重大于所述纠错三类的词序权重,所述纠错三类的词序权重大于所述纠错四类的词序权重。

在本申请实施例中,所述纠错一类的纠错词个数阈值大于第一个数阈值,所述纠错二类的纠错词个数阈值小于等于第二个数阈值,所述纠错三类的纠错词个数阈值小于等于第三个数阈值,所述纠错四类的纠错词个数阈值小于等于第四个数阈值,所述第一个数阈值大于所述第二个数阈值,所述第二个数阈值大于所述第三个数阈值,所述第三个数阈值大于所述第四个数阈值。

在本申请实施例中,所述纠错三类与所述纠错四类具有互斥关系。

在本申请实施例中,所述纠错一类可以包括用户配置模糊音纠错,所述纠错二类可以包括末尾少输入字符纠错,所述纠错三类可以包括邻键纠错和默认模糊音纠错中的至少一种,所述纠错四类可以包括多输入字符纠错、中间少输入字符纠错和交换字符纠错中的至少一种。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。

参照图8,示出了本申请一实施例的一种终端设备的示意图。如图8所示,本实施例的终端设备800包括:处理器810、存储器820以及存储在所述存储器820中并可在所述处理器810上运行的计算机程序821。所述处理器810执行所述计算机程序821时实现上述纠错词排序方法各个实施例中的步骤,例如图3所示的步骤S301至S303。或者,所述处理器810执行所述计算机程序821时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块701至703的功能。

示例性的,所述计算机程序821可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器820中,并由所述处理器810执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序821在所述终端设备800中的执行过程。例如,所述计算机程序821可以被分割成纠错词获取模块、权重值确定模块、纠错词排序模块,各模块具体功能如下:

纠错词获取模块,用于在接收到用户输入的字符串时,获取与所述字符串相匹配的多个纠错词,并确定每一个纠错词所属的纠错类型以及该纠错类型对应的词序权重;

权重值确定模块,用于根据所述纠错类型的词序权重,确定各个纠错词的权重值;

纠错词排序模块,用于根据所述各个纠错词的权重值,对所述多个纠错词进行排序。

所述终端设备800可以是桌上型计算机、笔记本、掌上电脑等计算设备。所述终端设备800可包括,但不仅限于,处理器810、存储器820。本领域技术人员可以理解,图8仅仅是终端设备800的一种示例,并不构成对终端设备800的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备800还可以包括输入输出设备、网络接入设备、总线等。

所述处理器810可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器820可以是所述终端设备800的内部存储单元,例如终端设备800的硬盘或内存。所述存储器820也可以是所述终端设备800的外部存储设备,例如所述终端设备800上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等等。进一步地,所述存储器820还可以既包括所述终端设备800的内部存储单元也包括外部存储设备。所述存储器820用于存储所述计算机程序821以及所述终端设备800所需的其他程序和数据。所述存储器820还可以用于暂时地存储已经输出或者将要输出的数据。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的纠错词排序方法、装置、终端设备和存储介质,可以通过其他的方式实现。例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其他的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到纠错词排序装置、终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号