具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的题目的搜索方法及装置。
本发明实施例提出了一种题目的搜索方法,包括:接收用户的语音输入信息;将用户的语音输入信息转换为文字信息;提取文字信息中的主体关键词、运算关键词和符号关键词;以及根据主体关键词、运算关键词和符号关键词生成检索词,并根据检索词搜索到对应的题目。
图1是根据本发明一个实施例的题目的搜索方法的流程图。如图1所示,该题目的搜索方法可以包括:
S101,接收用户的语音输入信息。
例如,假设本发明实施例的题目的搜索方法应用于具有搜索功能的应用程序,该应用程序提供语音人机交互接口,当用户不会某个数学题目时,想通过该应用程序提供的语音人机交互接口输入该题目的语音信息以获得相应的搜索结果,那么该语音人机交互接口可接收用户使用语音人机交互接口输入的语音输入信息。
S102,将用户的语音输入信息转换为文字信息。
具体地,可通过语音识别系统对用户的语音输入信息进行识别,以将该语音输入信息转换为相应的文字信息。
S103,提取文字信息中的主体关键词、运算关键词和符号关键词。
其中,在本发明的实施例中,主体关键词可包括文字信息中的主体词等,例如常见的英文字母和数字,英文字母如“a”、“b”、“f”、“x”、“y”、“z”等,数字如“0”、“1”、…、“9”,又如“派”等;运算关键词可包括运算符号所对应的文字等,如“加”、“减”、“乘”、“除”、“平方”、“立方”、“二次根号”、“西格玛”、“积分”等;符号关键词可包括但不限于连接符号所对应的文字和/或连接词等,如,“括号”、“的”、“点”、“大于或等于”、“小于”、“约等于”、“负”等。
具体地,在将用户的语音输入信息转换为文字信息之后,可提取文字信息中的各种关键词,如主体关键词、运算关键词和符号关键词等。举例而言,以数学表达式“(a+b)2”为例,用户可能的口语表述方式如下:“括号a加b括号的平方”、或“括号a加b的平方”、或“左括号a加b右括号的平方”等,可对上述文字信息进行提取,提取出主体关键词“a”和“b”、运算关键词“加”和“平方”,文字“括号a加b括号的平方”中的符号关键词为“括号”、“括号”和“的”,文字“括号a加b的平方”中的符号关键词为“括号”和“的”,文字“左括号a加b右括号的平方”中的符号关键词为“左括号”、“右括号”和“的”。
需要说明的是,在本发明的实施例中,在提取文字信息中的各种关键词的过程中,一般遵循最大匹配原则,比如“大括号a加b”,提取出符号关键词“大括号”而不是“括号”。
S104,根据主体关键词、运算关键词和符号关键词生成检索词,并根据检索词搜索到对应的题目。
具体而言,在本发明的实施例中,可先根据运算关键词和主体关键词确定符号关键词的适用范围,之后,可根据主体关键词、运算关键词、符号关键词和符号关键词的适用范围进行翻译以生成检索词。
可以理解,由于符号关键词可表示主体关键词中主体词之间的计算顺序,所以,在本发明的实施例中,可先根据运算关键词和主体关键词确定符号关键词的适用范围,以确定主体词之间的计算顺序、或者主体词之间的关联规则。举例而言,以数学表达式“(a+b)2”为例,文字信息“括号a加b括号的平方”中的符号关键词“括号”、“括号”和“的”,可以精确的确定主体词“a”和“b”之间的关联规则,即可确定其对应的数学表达式即为“(a+b)2”,而文字信息“括号a加b的平方”则是不确定的表述,该表述可能对应数学表达式“(a+b)2”,也可能对应数学表达式“(a)+b2”,因此,对于上述文字信息“括号a加b的平方”来说,需要根据运算关键词“加”、“平方”和主体关键词“a”、“b”确定符号关键词“括号”、“的”的适用范围,因为主体关键词“a”本身可以不用括号,所以可以理解该符号关键词“括号”的适用范围是“a”、“加”、“b”这三个关键词。
在确定符号关键词的适用范围之后,可根据主体关键词、运算关键词、符号关键词和符号关键词的适用范围对上述文字信息进行翻译以生成相应的检索词。可以理解,文字信息中的每个关键均有各自的作用形式以及关键词之间的优先级关系。具体地,可根据主体关键词、运算关键词、符号关键词和符号关键词的适用范围对上述文字信息进行拆解,拆解成多个文本,然后根据关键词之间的优先级关系对多个文本进行翻译以生成检索词。例如,以文字信息“左括号a加b右括号的平方”为例,可根据主体关键词、运算关键词、符号关键词和符号关键词的适用范围对“左括号a加b右括号的平方”进行拆解,拆解成多个文本“左括号a加b右括号”、“的”、“平方”,文本“左括号a加b右括号”翻译成“(a+b)”,文本“的”、“平方”表示了“(a+b)”与“平方”之间的关系,根据该关系和翻译的文本“(a+b)”、“平方”生成相应的检索词,之后可根据该检索词进行检索,以搜索到对应的题目。
进一步的,为了提高检索结果的精确度,在本发明的一个实施例中,在将用户的语音输入信息转换为文字信息之后,该题目的搜索方法还可包括:提取文字信息中的上下文关系,并根据上下文关系对文字信息中的文字进行纠错。例如,以文字信息“括号a加b括号”为例,可先提取该文字信息中的上下文关系为a与b之间做加法,且由于括号具有左右之分,所以根据该上下文关系对“括号a加b括号”中的文字进行纠错,纠错成“左括号a加b右括号”。由此,通过对文字信息中的文字进行纠错,提高了文字信息中的各种关键词提取的准确度,并提高了检索词生成的准确度,从而提高了检索结果的精确度。
进一步的,为了使得文字规范化,方便数据的处理,在本发明的一个实施例中,在将用户的语音输入信息转换为文字信息之后,该题目的搜索方法还可包括:对文字信息中的文字进行归一化处理。例如,有的用户将符号关键词“()”读为“括弧”,将运算关键词“√”读为“根号”,这些读法其实是不是规范的,在将用户的语音输入信息转换为文字信息之后,可对这些文字信息中的不规范的文字进行归一化处理,如将“括弧”改为“括号”、“根号”改为“二次根号”。
本发明实施例的题目的搜索方法,可先接收用户的语音输入信息,之后可将用户的语音输入信息转换为文字信息,并提取文字信息中的主体关键词、运算关键词和符号关键词,以及根据主体关键词、运算关键词和符号关键词生成检索词,并根据检索词搜索到对应的题目,提升了用户的口语化输入题目导致的检索结果不准,提高了题目检索结果输出的概率,从而提升了用户体验。
为了实现上述实施例,本发明还提出了一种题目的搜索装置,包括:接收模块,用于接收用户的语音输入信息;转换模块,用于将用户的语音输入信息转换为文字信息;提取模块,用于提取文字信息中的主体关键词、运算关键词和符号关键词;生成模块,用于根据主体关键词、运算关键词和符号关键词生成检索词;以及搜索模块,用于根据检索词搜索到对应的题目。
图2是根据本发明一个实施例的题目的搜索装置的结构示意图。如图2所示,该题目的搜索装置可以包括:接收模块10、转换模块20、提取模块30、生成模块40和搜索模块50。
具体地,接收模块10可用于接收用户的语音输入信息。例如,假设本发明实施例的题目的搜索装置应用于具有搜索功能的应用程序,该应用程序提供语音人机交互接口,当用户不会某个数学题目时,想通过该应用程序提供的语音人机交互接口输入该题目的语音信息以获得相应的搜索结果,那么接收模块10可通过该语音人机交互接口接收用户使用语音人机交互接口输入的语音输入信息。
转换模块20可用于将用户的语音输入信息转换为文字信息。更具体地,转换模块20可通过语音识别系统对用户的语音输入信息进行识别,以将该语音输入信息转换为相应的文字信息。
提取模块30可用于提取文字信息中的主体关键词、运算关键词和符号关键词。其中,在本发明的实施例中,主体关键词可包括文字信息中的主体词等,例如常见的英文字母和数字,英文字母如“a”、“b”、“f”、“x”、“y”、“z”等,数字如“0”、“1”、…、“9”,又如“派”等;运算关键词可包括运算符号所对应的文字等,如“加”、“减”、“乘”、“除”、“平方”、“立方”、“二次根号”等、“西格玛”、“积分”;符号关键词可包括但不限于连接符号所对应的文字和/或连接词等,如,“括号”、“的”、“点”、“大于或等于”、“小于”、“约等于”、“负”等。
更具体地,在转换模块20将用户的语音输入信息转换为文字信息之后,提取模块30可提取文字信息中的各种关键词,如主体关键词、运算关键词和符号关键词等。举例而言,以数学表达式“(a+b)2”为例,用户可能的口语表述方式如下:“括号a加b括号的平方”、或“括号a加b的平方”、或“左括号a加b右括号的平方”等,提取模块30可对上述文字信息进行提取,提取出主体关键词“a”和“b”、运算关键词“加”和“平方”,文字“括号a加b括号的平方”中的符号关键词为“括号”、“括号”和“的”,文字“括号a加b的平方”中的符号关键词为“括号”和“的”,文字“左括号a加b右括号的平方”中的符号关键词为“左括号”、“右括号”和“的”。
需要说明的是,在本发明的实施例中,提取模块30在提取文字信息中的各种关键词的过程中,一般遵循最大匹配原则,比如“大括号a加b”,提取出符号关键词“大括号”而不是“括号”。
生成模块40可用于根据主体关键词、运算关键词和符号关键词生成检索词。搜索模块50可用于根据检索词搜索到对应的题目。
具体而言,在本发明的一个实施例中,如图3所示,该生成模块40可包括确定单元41和生成单元42。具体地,确定单元41可用于根据运算关键词和主题关键词确定符号关键词的适用范围。生成单元42可用于根据主体关键词、运算关键词、符号关键词和符号关键词的适用范围进行翻译以生成检索词。
可以理解,由于符号关键词可表示主体关键词中主体词之间的计算顺序,所以,在本发明的实施例中,可先根据运算关键词和主体关键词确定符号关键词的适用范围,以确定主体词之间的计算顺序、或者主体词之间的关联规则。举例而言,以数学表达式“(a+b)2”为例,文字信息“括号a加b括号的平方”中的符号关键词“括号”、“括号”和“的”,可以精确的确定主体词“a”和“b”之间的关联规则,即可确定其对应的数学表达式即为“(a+b)2”,而文字信息“括号a加b的平方”则是不确定的表述,该表述可能对应数学表达式“(a+b)2”,也可能对应数学表达式“(a)+b2”,因此,对于上述文字信息“括号a加b的平方”来说,确定单元41需要根据运算关键词“加”、“平方”和主体关键词“a”、“b”确定符号关键词“括号”、“的”的适用范围,因为主体关键词“a”本身可以不用括号,所以可以理解该符号关键词“括号”的适用范围是“a”、“加”、“b”这三个关键词。
在确定单元41确定符号关键词的适用范围之后,生成单元42可根据主体关键词、运算关键词、符号关键词和符号关键词的适用范围对上述文字信息进行翻译以生成相应的检索词。可以理解,文字信息中的每个关键均有各自的作用形式以及关键词之间的优先级关系。具体地,生成单元42可根据主体关键词、运算关键词、符号关键词和符号关键词的适用范围对上述文字信息进行拆解,拆解成多个文本,然后根据关键词之间的优先级关系对多个文本进行翻译以生成检索词。例如,以文字信息“左括号a加b右括号的平方”为例,生成单元42可根据主体关键词、运算关键词、符号关键词和符号关键词的适用范围对“左括号a加b右括号的平方”进行拆解,拆解成多个文本“左括号a加b右括号”、“的”、“平方”,文本“左括号a加b右括号”翻译成“(a+b)”,文本“的”、“平方”表示了“(a+b)”与“平方”之间的关系,根据该关系和翻译的文本“(a+b)”、“平方”生成相应的检索词。搜索模块50可根据该检索词进行检索,以搜索到对应的题目。
进一步的,为了提高检索结果的精确度,在本发明的一个实施例中,如图4所示,该题目的搜索装置还可包括纠错模块60,纠错模块60可用于在转换模块20将用户的语音输入信息转换为文字信息之后,提取文字信息中的上下文关系,并根据上下文关系对文字信息中的文字进行纠错。例如,以文字信息“括号a加b括号”为例,纠错模块60可先提取该文字信息中的上下文关系为a与b之间做加法,且由于括号具有左右之分,所以根据该上下文关系对“括号a加b括号”中的文字进行纠错,纠错成“左括号a加b右括号”。由此,通过对文字信息中的文字进行纠错,提高了文字信息中的各种关键词提取的准确度,并提高了检索词生成的准确度,从而提高了检索结果的精确度。
进一步的,为了使得文字规范化,方便数据的处理,在本发明的一个实施例中,如图5所示,该题目的搜索装置还可包括归一化处理模块70,归一化处理模块70可用于在转换模块20将用户的语音输入信息转换为文字信息之后,对文字信息中的文字进行归一化处理。例如,有的用户将符号关键词“()”读为“括弧”,将运算关键词“√”读为“根号”,这些读法其实是不是规范的,在将用户的语音输入信息转换为文字信息之后,可对这些文字信息中的不规范的文字进行归一化处理,如将“括弧”改为“括号”、“根号”改为“二次根号”。
本发明实施例的题目的搜索装置,可通过接收模块接收用户的语音输入信息,转换模块将用户的语音输入信息转换为文字信息,提取模块提取文字信息中的主体关键词、运算关键词和符号关键词,生成模块根据主体关键词、运算关键词和符号关键词生成检索词,搜索模块根据检索词搜索到对应的题目,提升了用户的口语化输入题目导致的检索结果不准,提高了题目检索结果输出的概率,从而提升了用户体验。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。