用于从用户的自然语言输入中提取关键元素的方法与流程

文档序号:11276303阅读:269来源:国知局

本发明总的来说涉及自然语言处理领域,具体而言涉及一种用于从用户的自然语言输入中提取关键元素的方法。



背景技术:

随着计算机技术的发展,人工智能机器人开始在市场上兴起,例如微软公司的“小冰”、苹果公司的“siri”、百度的“度秘”等等。这些人工智能机器人主要分为语音助手类和聊天类。前者主要功能是为用户提供有用信息,而后者旨在与用户闲聊。无论哪类机器人都涉及自然语言处理技术。自然语言处理技术是指,对用户输入的自然语言进行处理,使得机器人能够理解所述自然语言。

自然语言处理的核心技术之一在于如何从用户的自然语言输入中准确地提取出关键词,因为如果关键词都提取错误,则即使后续处理都正确,系统也无法提供与用户自然语言输入相对应的系统自然语言示出。然而,目前的人工智能机器人在提取关键词方面的效率和准确率都不高,其主要原因如下。正确提取关键词的前提是对自然语言输入进行正确的分词。关于分词方法,现有机器人大多采用机械分词、即穷举一句话所有可能的分词结果,然后将所有分词结果中的每个词在知识库中进行匹配,最后输出匹配度最好的结果。但由于知识库巨大,这必然导致巨大的计算量,从而极大地提高了计算成本,而且当遇到容易混淆的表达方式、如“长春市里有家长春药店”时,分词系统也容易出错。

另外,即使分词正确并提取了相应关键词,现有技术也往往不能确定所提取的关键词的正确语义,而是可能使用关键词的错误语义来生成自然语言输出,这同样会导致不能产生正确的系统自然语言输出。这是因为,用户自然语言输入中的核心词汇可能具有多种含义,例如“土豆”既可以指一种食物、也可以指“土豆”视频网站,而现有机器人在遇到这些有歧义的词汇时,无法确定词汇的正确语义。错误的语义确定导致对关键词的“误解”,从而造成机器人的智能化程度低,用户体验较差。



技术实现要素:

从现有技术出发,本发明的任务是提供一种用于从用户的自然语言输入中提取关键元素的方法,通过该方法,可以极大地提高分词效率和正确率,从而促进正确关键元素的确定。

根据本发明,该任务通过一种用于从用户的自然语言输入中提取关键元素的方法来解决,该任务包括下列步骤:

根据第一语义知识库对用户的第一自然语言输入进行语义匹配以识别所述第一自然语言输入的总体语义;

选择限定知识库;

通过确定所述限定知识库中与所述总体语义相关联的条目并去除其余条目来缩减所述限定知识库;

对所述第一自然语言输入进行机械分词以生成所述第一自然语言输入的分词结果集合;

使用经缩减的限定知识库对所述分词结果进行匹配以从分词结果集合中确定分词结果;以及

从所述分词结果的词语中选择一个或多个作为关键元素。

通过本发明的方法可以极大地提高分词效率和分词正确率,进而促进关键元素的提取。这是因为,本发明人独创地采用了下列措施:(1)在现有技术中,一般使用专用分词工具(如中科院分词nlpir、哈工大的ltp等等)来进行分词,但是这些分词工具的分词准确率不高、而且无法细分到具体领域,例如遇到“长春市里有家长春药店”之类易混淆表达方式时,容易分词错误;另一种方式是机械分词、即把用户自然语言输入的每一种文字的排列组合都罗列一遍以保证不会遗漏任何分词可能性,但是机械分词虽然准确率为100%,但是计算量巨大,因为所有分词结果集合均需要与涉及各领域的巨大知识库中的每个条目一一进行匹配比对,但只有一个结果是准确的,其它结果均为额外计算,这样会造成巨大的计算量、例如动辄几亿次计算量,在本发明中,为了消除上述缺点,将机械分词与较小限定知识库相结合、即采用较小的限定知识库来对机械分词的分词结果进行匹配——其中限定知识库是仅仅包括一个或多个分类的知识库,而不是涵盖全部领域的大知识库——,这样既结合了机械分词的高精度,同时又缩小了要进行匹配的库,从而大大降低了计算量;(2)在本发明中,通过提取用户自然语言输入的总体语义、即大致含义并筛除限定知识库中与总体语义不相关联的条目来缩减限定知识库,可以进一步降低将机械分词结果与限定知识库相匹配的计算量,从而进一步降低计算成本。

在此应当指出,本发明中所指的“关键元素”应当宽范围地理解,即关键元素不仅可以包括关键词的文字本身,而且可以包括关键词的语义。

在本发明的一个优选方案中规定,从所述分词结果的词语中选择一个或多个作为关键元素包括步骤:

使用第二语义知识库对分词结果中的词语进行匹配以确定所述词语的语义;以及

从所述词语的语义中选择一个或多个作为关键元素。

在该优选方案中,通过提取包括关键词在当前上下文的正确语义的关键元素、而不是仅仅提取关键词本身,可以大大地消除歧义,提高系统输出的正确性,这是因为关键词在不同上下文中具有不同含义、如语义,而通过提取关键词的正确语义作为关键元素,可以使用关键词的正确语义,从而确保系统输出的正确性。

在本发明的另一优选方案中规定,该方法还包括步骤:

存储所述关键元素,以供用于为用户的第二自然语言输入生成自然语言输出。

通过该优选方案,可以保证上下文连贯性、即可以将在先提取的关键元素用于为用户在后的自然语言输入(如查询)提供自然语言输出(如查询结果),从而使系统更加“智能”。例如,当用户之前提到过他目前的所在地,则在后面用户查询机票信息时,可以不用询问用户的出发地而是在用户提供其它所需信息的情况下即可生成查询结果。在此,应当指出,第二自然语言输入是在第一自然语言输出之后的任意时刻输入的自然语言输入,而不一定是紧跟在第一自然语言输入之后的自然语言输入。

在本发明的一个扩展方案中规定,根据一个或多个第一自然语言输入的上下文或者根据预设来选择限定知识库。通过该扩展方案,可以更加精准地选择限定知识库,从而提高分词准确率。例如,可以根据用户输入的前三句话来确定用户上下文,或者根据用户选择或系统预设来确定用户上下文,然后根据用户上下文选择合适的限定知识库。

在本发明的一个优选方案中规定,根据第一语义知识库对所述第一自然语言输入进行语义匹配包括下列步骤:

将所述第一自然语言输入与第一语义知识库进行匹配以识别所述第一自然语言中的句型,其中所述第一语义知识库包括预先存储的句型模型;以及

根据所述句型确定所述第一自然语言输入的总体语义。

通过该优选方案,可以容易地确定用户自然语言输入的总体语义、即大致含义,因为一句话的大致含义一般可以通过这句话的句型来确定,例如“我要吃汉堡”这句话的句型为“我要吃…”,从而可以确定这句话的大致含义与“食物”相关联,从而可以除去限定知识库中与“食物”无关联的条目,从而削减限定知识库。而且,句型匹配无需分词即可进行,因此适于在分词前进行来简化分词计算。第一语义知识库可以预先存储各种句型,以供与用户自然语言输入进行匹配。其它确定总体语义的方法也是可设想的,例如提取用户自然语言输入中的可能的动词或名词,通过所述词语确定总体语义。

在本发明的另一优选方案中规定,使用语义知识库对分词结果中的词语进行匹配以确定所述词语的语义包括下列步骤:

使用语义知识库对分词结果中的第一词语进行匹配以确定第一词语的一个或多个语义;

使用语义知识库对分词结果中的第二词语进行匹配以确定第二词语的多个语义;

分别确定第二词语的多个语义中的每个与第一词语的一个或多个语义中的每个的关联性;

确定第二词语的语义和第一词语的语义中彼此具有最大关联性的语义;以及

将所述语义分别确定为第二词语的语义和第一词语的语义。

通过该优选方案,可以极大地消除词语的歧义,从而正确地识别关键元素。这是因为,用户所说的一句话中的各个词语的语义是相互关联的,例如在“我要吃土豆”这句话中,“土豆”既可能指一种食物,也可能指“土豆”视频网站,但是通过分析词语“土豆”的这几个语义与该句话中的另一个词语“吃”的关联程度后发现,“土豆”的“食物”语义与词语“吃”的语义之间的关联程度最高,由此可以确定“土豆”在这句话中是指食物,由此通过该优选方案,可以提高确定语义的正确率,从而促进后续关键元素的正确确定。其它消除歧义的方式也是可设想的,例如通过当前上下文或用户之前提供的自然语言输入来确定各词语的语义。

在本发明的一个扩展方案中规定,总体语义包括下列类别:食物、娱乐、出行、服装。通过该扩展方案,可以覆盖生活中的基本面,从而有效地对限定知识库进行缩减或筛除。其它划分方式也是可设想的。

在本发明的另一扩展方案中规定,使用贪婪算法、退火算法或者经典二叉树算法来使用限定知识库对所述分词结果进行匹配。通过该扩展方案,可以有效地执行匹配过程。

在本发明的又一扩展方案中规定,使用贪婪算法、退火算法或者经典二叉树算法来使用语义知识库对分词结果中的词语进行匹配。通过该扩展方案,可以有效地执行匹配过程。

在本发明的另一扩展方案中规定,在语义匹配和/或使用限定知识库对所述分词结果进行的匹配和/或使用语义知识库对分词结果中的词语进行的匹配失败时,执行异常处理程序,其中输出错误提示或者使用神经网络以在神经网络中寻找就近的匹配节点。通过该扩展方案,可以有效地处理异常情况。

此外,本发明的前述任务还可以通过一种机器可读存储介质来解决,该存储介质具有存储在其上的计算机程序,所述计算机程序被配置为执行根据本发明的方法。

附图说明

下面结合附图参考具体实施例来进一步阐述本发明。

图1示出了根据本发明的用于从用户的自然语言输入中提取关键元素的方法的流程。

具体实施方式

图1示出了根据本发明的用于从用户的自然语言输入中提取关键元素的方法100的流程,其中虚线框表示可选步骤。

在步骤102,根据第一语义知识库对用户的第一自然语言输入进行语义匹配以识别所述第一自然语言输入的总体语义。所述总体语义例如可以通过识别第一自然语言输入的句型来识别,例如“我要吃汉堡”这句话的句型为“我要吃…”,从而可以确定这句话的大致含义与“食物”相关联,从而可以除去限定知识库中与“食物”无关联的条目,从而削减限定知识库。所述匹配过程可以采用现有技术来进行、例如贪婪算法、退火算法或者经典二叉树算法。为了不模糊本发明,在此不对这些算法展开介绍。在匹配失败的情况下可以输出错误信息或者进入异常处理程序,例如神经网络进行进一步查找。

在步骤104,选择限定知识库。例如,限定知识库可以根据一个或多个第一自然语言输入的上下文或者根据预设来选择。

在步骤106,通过确定所述限定知识库中与所述总体语义相关联的条目并去除其余条目来缩减所述限定知识库。例如限定知识库中的每个条目均属于某类别,而通过总体语义可以确定相关联的一个或多个类别,并且其它类别被从该限定知识库中筛除。由此,减小了限定知识库中的数据条目,从而降低匹配的计算量。

在步骤108,对所述第一自然语言输入进行机械分词以生成所述第一自然语言输入的分词结果集合。机械分词是指穷举一句话所有可能的分词结果,因此具有精度高的特点,因为不会遗漏任何分词结果,但是在知识库巨大的情况下,容易产生计算量大的缺点,因为每个分词结果都需要与巨大知识库中的每个条目相匹配。机械分词是从现有技术中公知的技术,在此不加以赘述。

在步骤110,使用经缩减的限定知识库对所述分词结果进行匹配以从分词结果集合中确定分词结果。通过使用经缩减的限定知识库来对机械分词的分词结果集合进行匹配,可以进一步降低计算量。所述匹配过程可以采用现有技术来进行、例如贪婪算法、退火算法或者经典二叉树算法。在匹配失败的情况下可以输出错误信息或者进入异常处理程序,例如神经网络进行进一步查找。

在可选步骤112,使用第二语义知识库对分词结果中的词语进行匹配以确定所述词语的语义。其中第二语义知识库可以与第一语义知识库为相同的语义知识库,但是也可以为不同的语义知识库,例如第一语义知识库仅包含用于识别总体语义的条目、如句型,而第二语义知识库包含相应词语的语义。所述匹配过程可以采用现有技术来进行、例如贪婪算法、退火算法或者经典二叉树算法。在匹配失败的情况下可以输出错误信息或者进入异常处理程序,例如神经网络进行进一步查找。

在可选步骤114,从所述词语的语义中选择一个或多个用作关键元素。从分词结果的语义中筛选出关键元素的步骤可以按照一定的判断规则来进行,例如与当前上下文的关联性、语义本身的重要性等等,其中筛分规则越精细,则所需储存的关键元素的量就越少。通过提取包括关键词在当前上下文的正确语义的关键元素、而不是仅仅提取关键词本身,可以大大地消除歧义,提高系统输出的正确性,这是因为关键词在不同上下文中具有不同含义、如语义,而通过提取关键词的正确语义作为关键元素,可以使用关键词的正确语义,从而确保系统输出的正确性。但是其它实施例中,也可以直接存储关键词语或者所有词语作为关键词。

在可选步骤116,存储所述关键元素,以供用于为用户的第二自然语言输入生成自然语言输出。这来一来,可以保证上下文连贯性、即可以将在先提取的关键元素用于为用户在后的自然语言输入(如查询)提供自然语言输出(如查询结果),从而使系统更加“智能”。例如,当用户之前提到过他目前的所在地,则在后面用户查询机票信息时,可以不用询问用户的出发地而是在用户提供其它所需信息的情况下即可生成查询结果。在此,应当指出,第二自然语言输入是在第一自然语言输出之后的任意时刻输入的自然语言输入,而不一定是紧跟在第一自然语言输入之后的自然语言输入。

通过本发明的方法可以极大地提高分词效率和分词正确率,进而促进关键元素的提取。这是因为,本发明人独创地采用了下列措施:(1)在现有技术中,一般使用专用分词工具(如中科院分词nlpir、哈工大的ltp等等)来进行分词,但是这些分词工具的分词准确率不高、而且无法细分到具体领域,例如遇到“长春市里有家长春药店”之类易混淆表达方式时,容易分词错误;另一种方式是机械分词、即把用户自然语言输入的每一种文字的排列组合都罗列一遍以保证不会遗漏任何分词可能性,但是机械分词虽然准确率为100%,但是计算量巨大,因为所有分词结果集合均需要与涉及各领域的巨大知识库中的每个条目一一进行匹配比对,但只有一个结果是准确的,其它结果均为额外计算,这样会造成巨大的计算量、例如动辄几亿次计算量,在本发明中,为了消除上述缺点,将机械分词与较小限定知识库相结合、即采用较小的限定知识库来对机械分词的分词结果进行匹配——其中限定知识库是仅仅包括一个或多个分类的知识库,而不是涵盖全部领域的大知识库——,这样既结合了机械分词的高精度,同时又缩小了要进行匹配的库,从而大大降低了计算量;(2)在本发明中,通过提取用户自然语言输入的总体语义、即大致含义并筛除限定知识库中与总体语义不相关联的条目来缩减限定知识库,可以进一步降低将机械分词结果与限定知识库相匹配的计算量,从而进一步降低计算成本。

虽然本发明的一些实施方式已经在本申请文件中予以了描述,但是对本领域技术人员显而易见的是,这些实施方式仅仅是作为示例示出的。本领域技术人员可以想到众多的变型方案、替代方案和改进方案而不超出本发明的范围。所附权利要求书旨在限定本发明的范围,并藉此涵盖这些权利要求本身及其等同变换的范围内的方法和结构。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1