发明内容
有鉴于此,本发明的目的在于提供一种输入法系统、方法和装置,以区分不同的应用程序和/或同一应用程序的不同应用场景,进而实现有区分性的向应用程序中输入字符信息,从而提高字符输入效率。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种输入法系统,该系统包括输入法模块和应用程序模块;
所述输入法模块,接收应用程序模块发来的应用指示,根据所述应用指示选择与所述应用指示对应的输入法策略和/或词库,从选择的输入法策略和/或词库中调用与输入字符对应的字符信息,向所述应用程序模块输入调用的所述字符信息;
所述应用程序模块,根据该应用程序模块自身的程序种类或应用场景向输入法模块发送应用指示,接收输入法模块输入的所述字符信息。
一种输入信息的方法,该方法包括:
根据应用指示,选择与所述应用指示对应的输入法策略和/或词库,从选择的输入法策略和/或词库中调用与输入字符对应的字符信息,将调用的所述字符信息确定为输入的信息并执行输入处理。
一种应用程序装置,该装置上运行有应用程序,其中,
该装置根据运行的应用程序的种类或应用场景发送应用指示给向该装置输入信息的模块,接收所述模块根据所述应用指示选择与所述应用指示对应的输入法策略和/或词库,从选择的输入法策略和/或词库中调用与输入字符对应的字符信息,将调用的所述字符信息确定为输入的信息并执行输入处理。
一种输入法装置,该装置包括接收模块、输入信息确定模块和发送模块;
所述接收模块,接收应用指示;
所述输入信息确定模块,根据所述应用指示选择与所述应用指示对应的输入法策略和/或词库,从选择的输入法策略和/或词库中调用与输入字符对应的字符信息,将调用的所述字符信息确定为输入的信息;
所述发送模块,对确定的输入信息执行输入处理。
由上述技术方案可见,由于本发明中,应用程序模块可以向输入法模块发送反映该应用程序种类或者应用场景的应用指示,输入法模块根据该应用指示调用相应的输入法策略和/或词库确定输入所述应用程序的信息,因此,使得输入法模块能够根据所述应用指示区分不同的应用程序或者同一应用程序的不同应用场景,进而实现有区分性地向应用程序输入字符信息,从而提高了字符输入效率。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
在实际应用中,用户在使用不同的应用程序时,或者在不同的应用场景下使用同一应用程序时,可能出现触发相同的键盘输入,但是实际要输入的字符信息并不相同的情况。例如,用户在使用即时通讯(Instant Messaging,IM)软件与真实姓名为“方冰读”的好友A聊天时输入的‘fangbingdu’表示该用户要输入的是“方冰读”的概率较大;而该用户与另一真实姓名不是“方冰”的好友B聊天时输入的‘fangbingdu’表示“防病毒”这一常用词汇的概率较大。由于现有的输入法系统对所有应用程序和应用场景采用相同的输入法策略和/或词库输入字符信息,无法区分不同的应用程序、也无法区分同一应用程序的不同应用场景,因此无法实现有区分性的向应用程序中输入字符信息,导致字符输入效率不高。本发明通过由应用程序模块箱输入法模块发送应用指示,来区分不同的应用程序、或者区分同一应用程序的不同应用场景,从而实现有区分性地向应用程序中输入字符信息,提高字符输入效率。
图2是本发明提供的输入法系统的组成示意图,如图2所示,该系统包括输入法模块201和应用程序模块202。
输入法模块201,接收应用程序模块203发来的应用指示,根据所述应用指示选择与所述应用指示对应的输入法策略和/或词库,从选择的输入法策略和/或词库中调用与输入字符对应的字符信息,向所述应用程序模块202输入调用的所述字符信息。
应用程序模块202,根据该应用程序模块202自身的应用程序种类或应用场景向输入法模块201发送应用指示,接收输入法模块201发来的所述字符信息。
其中,该系统还可进一步包括输入法管理器模块,用于向应用程序模块转发输入法模块发来的字符信息,相应地,输入法模块201通过输入法管理器模块向应用程序模块202输入字符信息,应用程序模块202通过输入法管理器模块接收输入法模块201发来的字符信息。
应用程序模块202可以通过操作系统的消息通信机制和/或共享内存和/或动态链接库(Dynamic Linkable Library,DLL)文件导出接口向输入法模块201发送所述应用指示。
其中的应用程序模块202可以是计算机上运行的各种应用程序模块,例如,可以是即时通讯(IM)模块。下面以IM模块为例,详细介绍图2所示的输入法系统。
IM模块可以根据IM用户当前的IM聊天对象,向所述输入法模块发送应用指示。
所示应用指示可以包括所述聊天对象的身份标识,则相应地,输入法模块201中存储有与所述身份标识对应的输入法策略和/或词库,并根据所述IM用户与所述聊天对象的聊天内容更新所述词库。所述聊天对象可以是个人,也可以是用户群。
其中,如果输入法模块201第一次接收到所述身份标识,则建立与该身份标识对应的输入法策略和/或词库并存储,如果之前接收到过该身份标识,则直接调用已存储的输入法策略和/或词库。输入法模块201根据IM用户与所述身份标识对应的聊天对象的聊天内容,更新所述输入法策略和/或词库。因此,输入法模块201能够区分不同的聊天对象,根据不同的聊天对象调用不同的输入法策略和/或词库,从而提高了字符输入效率。
所述应用指示还可以进一步包括所述聊天对象的个人信息,则相应地,输入法模块201可以根据所述个人信息查询或者下载相应的分类词库,根据所述分类词库确定字符信息。
其中的个人信息例如可以是个人爱好、职业、所在城市等等。相应地,所述分类词库可以是与个人爱好密切相关的词组成的词库、与特定职业密切相关的专业术语组成的词库、与某城市相关的词组成的词库等。由于输入法模块201能够根据所述个人信息选择相应的词库,因此能够提高打字效率。
下面举具体的例子对IM模块和输入法模块201之间的交互进行说明:
假设IM用户的好友A的身份标识是84006875,个人信息包括:真实姓名是方冰、职业是计算机工程师、当前所在地是广东深圳;好友B的身份标识是1881583,个人信息包括:职业是服装设计师、当前所在地是广州。
当IM用户通过IM模块向好友A发起聊天请求后,IM模块将把好友A的身份标识84006875以及好友A的个人信息发给输入法模块201。如果输入法模块201中已经存储有与84006875对应的词库,则直接加载该词库,如果没有,则创建该词库;输入法模块201根据所述个人信息,加载相应的词库,例如计算机词库、深圳地名词库等等。当IM用户通过IM模块切换到与好友B聊天时,IM模块将好友B的身份标识1881583和好友B的个人信息发给输入法模块201,输入法模块201加载或创建与1881583对应的词库,以及好友B的个人信息相应的词库,例如与服装设计相关的词库、广州地名词库等等。在IM用户与当前好友聊天时,输入法模块201加载的与当前好友身份标识或个人信息相应的词库中的词将被优先考虑进行候选词排列和组句。
其中,加载词库的具体方法可以是:开辟共享内存,将词库读入该共享内存中。所述与身份标识对应的词库可以有多种的存储形式,例如,可以有文件头,也可以是二进制的形式,或者也可以是带有加密内容的形式,该词库中表达的信息一般是词组或单字。输入法模块201会根据聊天内容自动更新所述词库,例如,当IM用户与好友A说“李平安”时,输入法模块201将“李平安”作为一个词组加入到好友A的身份标识对应的用户词库中,这样,当下次该IM用户与好友A聊天时,会优先考虑“李平安”进行组句,而在与好友B聊天时,就不会优先考虑“李平安”进行组句。类似地,输入法模块201还可以将聊天对象的相关个人信息,例如爱好、城市、职业等加入到与该聊天对象的身份标识对应的用户词库中。
对于与用户个人信息对应的词库,也可以根据所述个人信息为相应的词库分配相应的ID,例如分配ID号,或直接将所述个人信息作为ID,然后输入法模块201根据接收到的个人信息到后台服务器查询或下载相应的词库,或者也可以先检测本地是否已安装了相应的词库,如果已经安装则直接调用本地的词库,如果没有安装,则到后台服务器查询或下载相应的词库。
与聊天对象的身份标识对应的词库可以称之为环境用户词库,以与现有技术中的用户词库相区别,现有技术中的用户词库是根据IM用户所有曾经的输入信息来更新的词库,其不区分聊天对象。与聊天对象的个人信息对应的分类词库可以称之为环境分类词库。环境分类词库和环境用户词库可以统称为环境词库。
图3是本发明的IM输入系统组成示意图,如图3所示,该系统包括IM模块301、输入法模块201、环境词库302、用户词库303和其他固定词库304。
IM模块301,根据当前IM聊天对象向输入法模块201发送应用指示。
输入法模块201,根据该应用指示从环境词库303中调用相应的用户词库和/或分类词库,从调用的用户词库和/或分类词库中选择字符信息,对选择的字符信息执行输入处理。
图4是利用本发明输入法系统输入字符信息的方法流程图,如图4所示,该方法包括:
步骤401,IM模块301通知输入法模块201判断当前所处的聊天环境。
本步骤中,IM模块301通过向输入法模块201发送应用指示来通知输入法模块201判断当前所处的聊天环境。
步骤402,输入法模块201根据所述应用指示判断聊天环境,根据聊天环境加载相应的环境用户词库和环境分类词库。
步骤403,输入法模块201接收用户输入的信息,优先根据环境用户词库和环境分类词库中的常用词组生成候选词和组句。
步骤404,输入法模块201根据用户输入的信息更新环境用户词库和/或环境分类词库,使环境用户词库和环境分类词库实现自我学习。
图5是本发明提供的输入信息的方法流程图,如图5所示,该方法包括:
步骤501,接收应用指示。
步骤502,根据应用指示,选择与所述应用指示对应的输入法策略和/或词库,从选择的输入法策略和/或词库中调用与输入字符对应的字符信息,将调用的所述字符信息确定为输入信息。
步骤503,对确定的输入信息执行输入处理。
图5中,所述应用指示可以包括IM聊天对象的身份标识;则相应地,存储与所述身份标识对应的输入法策略和/或词库,根据所述应用指示中的身份标识查询相应的输入法策略和/或词库确定输入信息。
还可以根据所述IM用户与所述聊天对象的聊天内容更新所述身份标识对应的词库。
所述应用指示还可以包括IM聊天对象的个人信息;则相应地,根据所述个人信息查询或者下载与所述个人信息对应的分类词库,根据所述分类词库确定字符信息。
本发明还提供了一种应用程序装置,该装置上运行有应用程序,该装置根据运行的应用程序的种类或应用场景发送应用指示给向该装置输入信息的模块,接收所述模块根据所述应用指示选择与所述应用指示对应的输入法策略和/或词库、从选择的输入法策略和/或词库中调用的与输入字符对应的字符信息。
本发明还提供了一种输入法装置,具体请参见图6。
图6是本发明提供的输入法装置的结构图,如图6所示,该装置包括接收模块601、输入信息确定模块602和输入模块603。
接收模块601,接收应用指示。
输入信息确定模块602,根据所述应用指示选择与所述应用指示对应的输入法策略和/或词库,从选择的输入法策略和/或词库中调用与输入字符对应的字符信息,将调用的所述字符信息确定为输入信息。
输入模块603,对确定的输入信息执行输入处理。
所述应用指示包括身份标识和/或个人信息,则输入信息确定模块602可以进一步包括,用于存储与所述身份标识对应的输入法策略和/或词库,并根据所述IM用户与所述聊天对象的聊天内容更新所述词库,和/或,根据所述个人信息查询或者下载相应的分类词库,从所述分类词库中调用与输入字符对应的字符信息,将调用的所述字符信息确定为输入信息的模块。
接收模块601可以通过操作系统的消息通信机制和/或共享内存和/或DLL导出接口接收应用指示。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。