CN116757203B - 一种自然语言匹配方法、装置、计算机设备及存储介质 - Google Patents

一种自然语言匹配方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116757203B
CN116757203B CN202311028827.9A CN202311028827A CN116757203B CN 116757203 B CN116757203 B CN 116757203B CN 202311028827 A CN202311028827 A CN 202311028827A CN 116757203 B CN116757203 B CN 116757203B
Authority
CN
China
Prior art keywords
matching
rule
corpus
matched
sentence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311028827.9A
Other languages
English (en)
Other versions
CN116757203A (zh
Inventor
陆书杰
孔燕
喻佳佳
李梦瑶
王鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Beiming Spark Technology Co ltd
Original Assignee
Hangzhou Beiming Spark Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Beiming Spark Technology Co ltd filed Critical Hangzhou Beiming Spark Technology Co ltd
Priority to CN202311028827.9A priority Critical patent/CN116757203B/zh
Publication of CN116757203A publication Critical patent/CN116757203A/zh
Application granted granted Critical
Publication of CN116757203B publication Critical patent/CN116757203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Abstract

本发明涉及自然语言处理技术领域,公开了一种自然语言匹配方法、装置、计算机设备及存储介质,该方法包括:获取待匹配语句;将待匹配语句与预先设置的语料库进行全语句规则匹配或者有序规则匹配;若全语句规则匹配失败并且有序规则匹配失败的情况下,对待匹配语句进行语义内容的算法匹配,以确定是否存在与待匹配语句语义相近的语料;若语义内容的算法匹配失败的情况下,对待匹配语句进行变元规则匹配,得到匹配结果;其中,变元规则匹配用于将待匹配语句中同属性或者相同归属分类替换为已知变元属性的情况下进行语句匹配。通过制定匹配规则,采用多种规则匹配结合的方式,可以使用户语料匹配的更精准,更全面,进而可以提高语义识别的准确率。

Description

一种自然语言匹配方法、装置、计算机设备及存储介质
技术领域
本发明涉及自然语言处理技术领域,具体涉及一种自然语言匹配方法、装置、计算机设备及存储介质。
背景技术
自然语言处理是人工智能领域的一项重要技术,随着自然语言处理技术的发展,基于通用信息的语言识别与语义匹配技术渐渐提高。语义匹配一般可理解为判断用户输入的自然语言和语义之间是否匹配的过程,是根据用户输入的自然语言,通过分析语义或语境等,将其与预设的模式、规则或语义表示进行匹配,从而理解用户意图。
而发明人发现,目前的语义匹配技术中,匹配规则都比较单一,且不够完善,导致语义识别准确率较低。
发明内容
有鉴于此,本发明提供了一种自然语言匹配方法、装置、计算机设备及存储介质,以解决目前自然语言匹配准确率较低的问题。
第一方面,本发明提供了一种自然语言匹配方法,包括:
获取待匹配语句;
将待匹配语句与预先设置的语料库进行全语句规则匹配或者有序规则匹配,其中,语料库中预先定义有通过匹配规则将预设语料分词构成的规则语句与语义内容之间的对应关系,全语句规则匹配用于匹配与待匹配语句完全相同的语句,有序规则匹配用于匹配与待匹配语句结构语序相同并且关键词相同的语句;
若全语句规则匹配失败并且有序规则匹配失败的情况下,对待匹配语句进行语义内容的算法匹配,以确定是否存在与待匹配语句语义相近的语料;
若语义内容的算法匹配失败的情况下,对待匹配语句进行变元规则匹配,得到匹配结果;其中,变元规则匹配用于将待匹配语句中同属性或者相同归属分类替换为已知变元属性的情况下进行语句匹配。
在一种可选实施方式中,通过以下步骤设置语料库,包括:
建立预设自然语言库,自然语言库用于匹配待匹配语句中的语料分词;
建立匹配规则表,匹配规则表包括:全语句匹配规则与有序匹配规则;
将预设自然语言库中的至少一个预设语料分词与匹配规则表中的匹配规则组合,获得匹配组;
将匹配组与匹配组之间通过预设的组合规则进行组合,获得多个规则语句,用于构成语料库。
在一种可选实施方式中,设置语料库,包括:
生成与规则语句对应的语义内容、语义节点以及所属话题;
根据规则语句、与规则语句对应的语义内容、语义节点以及所属话题,构成语料库。
在一种可选实施方式中,预设自然语言库,包括:
归属语料表,包括:预设语料分词以及与预设语料分词对应的所属类别;
平行语料表,包括:预设语料分词以及与预设语料分词对应的常用词;
代词替换表,包括:预设语料代词、与预设语料代词对应的替换词,以及与替换词对应的替换优先值。
在一种可选实施方式中,将待匹配语句与预先设置的语料库进行全语句规则匹配,包括:
当匹配规则为全语句第一匹配规则时,待匹配语句中的语料分词需包含匹配组中全部的预设语料分词;
当匹配规则为全语句第二匹配规则时,待匹配语句中的语料分词需包含匹配组中任意一个预设语料分词;
当匹配规则为全语句第三匹配规则时,待匹配语句中的语料分词需不包含匹配组中全部的预设语料分词;
当匹配规则为全语句第四匹配规则时,待匹配语句中的语料分词需不包含匹配组中任意一个预设语料分词;
当匹配规则为全语句第五匹配规则时,待匹配语句中的语料分词需与匹配组中的预设语料分词完全相同;
当匹配规则为全语句第六匹配规则时,待匹配语句中的语料分词需与匹配组中的任意一个预设语料分词完全相同。
在一种可选实施方式中,将待匹配语句与预先设置的语料库进行有序规则匹配,包括:
当匹配规则为有序第一匹配规则时,待匹配语句中的语料分词需包含匹配组中任意一个预设语料分词;
当匹配规则为有序第二匹配规则时,待匹配语句中的语料分词需不包含匹配组中任意一个预设语料分词;
当匹配规则为有序第三匹配规则时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在归属关系;
当匹配规则为有序第四匹配规则时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在平行关系;
当匹配规则为有序第八匹配规则时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在变元关系;
当匹配规则为有序第五匹配规则时,待匹配语句中的语料分词需与匹配组中的预设语料分词不存在归属关系;
当匹配规则为有序第六匹配规则时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在不平行关系;
当匹配规则为有序第七匹配规则时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在填充关系。
第二方面,本发明提供了一种自然语言匹配装置,该装置包括:
获取模块,用于获取待匹配语句;
规则匹配模块,用于将待匹配语句与预先设置的语料库进行全语句规则匹配或者有序规则匹配,其中,语料库中预先定义有通过匹配规则将预设语料分词构成的规则语句与语义内容之间的对应关系,全语句规则匹配用于匹配与待匹配语句完全相同的语句,有序规则匹配用于匹配与待匹配语句结构语序相同并且关键词相同的语句;
算法匹配模块,用于若全语句规则匹配失败并且有序规则匹配失败的情况下,对待匹配语句进行语义内容的算法匹配,以确定是否存在与待匹配语句语义相近的语料;
变元匹配模块,用于若语义内容的算法匹配失败的情况下,对待匹配语句进行变元规则匹配,得到匹配结果;其中,变元规则匹配用于将待匹配语句中同属性或者相同归属分类替换为已知变元属性的情况下进行语句匹配。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的自然语言匹配方法。
第四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的自然语言匹配方法。
本发明实施例中,通过制定匹配规则,通过全语句规则匹配,有序规则匹配、算法匹配、变元规则匹配结合的实现方式,可以使用户语料匹配的更精准,更全面,进而可以提高语义识别的准确率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种自然语言匹配方法的流程示意图;
图2是根据本发明实施例的自然语言匹配流程的示意图;
图3是根据本发明实施例的自然语言匹配装置的结构框图;
图4是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前在一些技术中,匹配规则都比较单一,也不完善,特别是在一些特有领域,识别语义的正确率和理解正确率都比较低,自然语言语义和标准语言语义的对应关系问题仍需进一步解决。如何理解文本中的语言信息并识别语言信息中的标准语言语义和非标准语言语义,需要一套特定的匹配规则来解决。因此,语义的正确匹配是其中重要的关键环节。
本实施例提供的自然语言匹配方法,主要是在不同规则匹配的场景下,通过制定匹配规则,并通过全语句规则匹配、有序规则匹配、算法匹配、变元规则匹配结合的实现方式,以提高匹配准确性。
根据本发明实施例,提供了一种自然语言匹配方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种自然语言匹配方法,可用于服务器、终端等设备,图1是根据本发明实施例的自然语言匹配方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取待匹配语句。待匹配语句可以为用户输入的自然语言或者传入的自然语言。
步骤S102,将待匹配语句与预先设置的语料库进行全语句规则匹配或者有序规则匹配,其中,语料库中预先定义有通过匹配规则将预设语料分词构成的规则语句与语义内容之间的对应关系,全语句规则匹配用于匹配与待匹配语句完全相同的语句,有序规则匹配用于匹配与待匹配语句结构语序相同并且关键词相同的语句。
一般来说,全语句规则匹配是基于整个句子的匹配规则,可以通过对整个句子进行匹配,来理解待匹配语句的含义。有序规则匹配是基于部分句子的匹配规则,可以通过对句子中的部分内容,且遵循待匹配语句中结构顺序进行匹配,来理解待匹配语句的含义。
在利用全语句匹配模式进行匹配时,根据用户输入的待匹配语句,与语料库中通过匹配规则将预设语料分词构成的规则语句相符即匹配成功,无相对位置匹配要求。
全语句规则匹配的匹配规则,可以包括:包含(与)all、包含(或)anyone、不包含(与)notall、不包含(或)none、完全equal、完全(或)equalAnyone。
在利用有序匹配模式进行匹配时,通过有序模块处理之后的用户输入的待匹配语句,与语料库中通过匹配规则将预设语料分词构成的规则语句满足相对位置匹配,且相符即匹配成功。当匹配上一个肯定规则时,匹配位置就需要往后挪一个词,例如:规则语句为:“我(包含(或))s时间(归属)s行为(归属)s宾语(归属)”,用户输入:“我|今天|早上|吃了|面包”即匹配成功,用户输入:“我|吃了|面包|今天|早上”,则匹配失败。
有序规则匹配的匹配规则,可以包括:包含(或)anyone、不包含(或)none、归属class、平行synonym、变元var、不归属no_class、不平行no_synonym、填充filling。
其中,当匹配规则为“平行synonym”时,需要将此匹配规则对应的自然语言做常用词查询,常用词可以在平行语料表中查询。如果对应的自然语言本身就是常用词,则直接使用该词,如果不是,则先查询其常用词,如果不存在常用词,则报错。
而语义内容可以为与规则语句相关的语义信息或意义。规则语句可能包含了一些特定的关键词、短语等,用于表示自然语言表达的意义或语义;而与规则语句相对应的,就是规则语句所代表的语义的内容。例如,规则语句为:“我(包含(或))s时间(归属)s行为(归属)s宾语(归属)”,用户输入:“我|今天|早上|吃了|面包”即匹配成功,那么对应的语义内容,则可能代表“用户在早上进行了进食行为,并食用了面包”。也即是,语义内容可以理解为与规则语句相对应的具体意义,包含了用户意图或需求。
步骤S103,若全语句规则匹配失败并且有序规则匹配失败的情况下,对待匹配语句进行语义内容的算法匹配,以确定是否存在与待匹配语句语义相近的语料。本实施例中,算法匹配可以包括:文本分类匹配和相似度匹配。
其中,采用文本分类匹配,用计算机对文本(或其他实体)按照一定的分类体系或标准进行自动分类标记,可以更好的让机器识别与理解自然语言。相似度匹配,是在建立模型的时候,根据大量的输入,创建了一个类似神经网络,用户在调用时,自然语言输入到机器中时,算法匹配相似度高的自然语句,是机器更能处理语义理解,更加泛化,是对全语句,分词匹配的增强。且本实施例中,优先进行文本分类匹配,如果没有匹配成功则进入到相似度匹配。因为,文本分类匹配首先会根据属性归类,如果文本相似度没有匹配到的话,可以将分类后的结果进行相似度匹配,这样机器识别出来的自然语言语义匹配值更高,更贴近用户的真实意图。
步骤S104,若语义内容的算法匹配失败的情况下,对待匹配语句进行变元规则匹配,得到匹配结果;其中,变元规则匹配用于将待匹配语句中同属性或者相同归属分类替换为已知变元属性的情况下进行语句匹配。
将用户输入的待匹配语句,进行分词之后,将语料分词中特定的代词,比如“他”,“她”,“这个人”等替换成当前语境变元下的内容,如:s人;同时,当一个代词存在多个替换关系时,且这些关系在当前语境变元都存在值时,可通过配置的优先值决定替换成优先值最高的那个语境变元。
具体地,变元的组成形式,可以为:s+归属类名、s+归属类名+“.”+阿拉伯数字,比如“s水果”、“s水果.1”等。其中,一个变元只能对应一个值。
关于s变元的提取,语义节点中存在归属匹配时,且语义节点匹配通过时,将此语义节点中归属匹配对应的预设语料分词作为变元,该预设语料分词对应的用户输入内容作为变元的值,如果是通过常用词匹配上的,则变元的值为常用词。其中,语义节点可以理解为对待匹配语句进行的语义拆分,例如“我喜欢吃水果,但我不喜欢吃苹果”,则拆分为“我喜欢吃水果”与“我不喜欢吃苹果”,进而分别对语义节点中的内容进行匹配。
进一步地,每个存储的变元都有其时效性,变元的有效时间可以根据需求进行配置,那么变元在每次用到的时候就重置有效时间。变元归属为“值”时,不需要去数据查询,只要自然语言满足是数字即通过。关于s用户输入的提取规则,在进入预设语料分词匹配前,将用户输入的待匹配语句赋值给s用户输入。
本实施例中,s变元匹配可以更加灵活地匹配和提取模式中的变量信息。通过使用s变元作为占位符,可以将匹配规则中的特定位置与待匹配语句中的对应部分相匹配,并快速提取、替换相关变量的值。且s变元匹配更适合处理需要关注特定变量信息的场景,比如“s城市”去往“s城市”等。
参照图2所示,关于匹配的整体流程如下:
用户输入待匹配语句,会话规则匹配开始,判断用户语料是否需要匹配全语句规则。
在根据待匹配语句,确定出采用全语句规则匹配的情况下,可以根据全语句中规定的符号与规则进行匹配;如果匹配成功,则会结束并返回;如果没有匹配成功,则将进入算法匹配;进入算法匹配中,优先匹配文本分析规则;如果匹配上,则会结束并返回;如果没有匹配成功,则将进入相似度算法匹配;如果根据相似度算法匹配上,则会结束并返回;如果匹配失败,则会到下一个s变元规则匹配;s变元规则匹配属于变元变量替换,比较灵活;如果匹配成功,则会结束并返回;如果匹配不成功,会进入到规定的兜底话术,例如:“抱歉,你的问题,我正在学习中,请您重新提问或尝试其他问题”;
如果,在根据待匹配语句,确定出采用有序规则匹配的情况下,如果匹配成功,则会结束并返回;如果没有匹配成功,则将进入算法匹配;后续匹配,可以参照采用以上所述。
其中,整体会话流程匹配优先级可以是:全语句规则匹配>有序规则匹配>文本分类算法匹配>相似度算法匹配>s变元规则匹配。
本实施例中,通过制定匹配规则,通过全语句规则匹配,有序规则匹配、算法匹配、变元规则匹配结合的匹配方式,可以更全面地对用户输入的自然语言进行匹配,可以使用户语料匹配的更精准,更全面,进而可以提高语义识别的准确率。
在一些可选的实施方式中,可以通过以下步骤设置语料库,包括:
建立预设自然语言库,自然语言库用于匹配待匹配语句中的语料分词;
建立匹配规则表,匹配规则表包括:全语句匹配规则与有序匹配规则。其中,全语句规则匹配的匹配规则,可以包括:包含(与)all、包含(或)anyone、不包含(与)notall、不包含(或)none、完全equal、完全(或)equalAnyone。
有序规则匹配的匹配规则,可以包括:包含(或)anyone、不包含(或)none、归属class、平行synonym、变元var、不归属no_class、不平行no_synonym、填充filling。
将预设自然语言库中的至少一个预设语料分词与匹配规则表中的匹配规则组合,获得匹配组;
将匹配组与匹配组之间通过预设的组合规则进行组合,获得多个规则语句,用于构成语料库。支持的组合规则和对应的符号包括:与、&。
也即是,预设语料分词与匹配规则构成一个匹配组,而匹配组与匹配组组合,可以构成一个规则语句。例如,上述:“我(包含(或))s时间(归属)s行为(归属)s宾语(归属)”,其中,“我”、“s时间”、“s行为”、“s宾语”为预设语料分词,“包含(或)”、“归属”为匹配规则,而“我(包含(或))”与“s时间”属于“与”的组合规则,“s时间(归属)”之间,同样为“与”的组合规则。
本实施例中,通过制定详细的匹配规则,可以使用户语料匹配的更精准,更全面。
在一些可选的实施方式中,设置语料库,包括:
生成与规则语句对应的语义内容、语义节点以及所属话题;
根据规则语句、与规则语句对应的语义内容、语义节点以及所属话题,构成语料库。语料库中,其中一个规则语句对应关系,以及示例,可以参照表1所示:
表1
其中,预设语料分词和匹配规则必须成对出现,两对预设语料分词和匹配规则之间必须存在一个组合规则;且匹配模式、所属话题、语义节点、预设语料分词+匹配规则、组合规则之间按固定顺序排列。
本实施例中,在语料库中添加所属话题以及语义节点,可以更准确、更高效的根据用户输入的待匹配语句完成匹配。
在一些可选的实施方式中,预设自然语言库,包括:
归属语料表,包括:预设语料分词以及与预设语料分词对应的所属类别;
平行语料表,包括:预设语料分词以及与预设语料分词对应的常用词;
代词替换表,包括:预设语料代词、与预设语料代词对应的替换词,以及与替换词对应的替换优先值。
可以通过导入excel的方式,分别增加导入归属语料库功能、平行语料表功能以及代词替换表功能。其中,针对归属语料表,其在excel中,第一列可以为预设语料分词,第二列可以为所属类别;针对平行语料表,其在excel中,第一列可以为预设语料分词,第二列可以为常用词;针对代词替换表,其在excel中,第一列可以为预设语料代词,第二列可以为替换词,第三列可以为优先值。分别将归属语料表、平行语料表、代词替换表导入语料库中对应位置,用于辅助匹配。匹配出规则语句后,再根据规则语句对应的语义内容,确定用户意图。进一步,可以根据确定的语义内容,寻找对应的答案或回复。
在一些可选的实施方式中,将待匹配语句与预先设置的语料库进行全语句规则匹配,包括:
当匹配规则为全语句第一匹配规则(包含(与)all)时,待匹配语句中的语料分词需包含匹配组中全部的预设语料分词。举例说明:待匹配语句中的语料分词为a、b、c、d,匹配组中全部的预设语料分词为a、b、c、d或为a、b、c时,则匹配成功。
当匹配规则为全语句第二匹配规则(包含(或)anyone)时,待匹配语句中的语料分词需包含匹配组中任意一个预设语料分词。举例说明:待匹配语句中的语料分词为a或为a、b或为a、b、c,匹配组中全部的预设语料分词为a、b、c、d时,则匹配成功。
当匹配规则为全语句第三匹配规则(不包含(与)notall)时,待匹配语句中的语料分词需不包含匹配组中全部的预设语料分词。举例说明:待匹配语句中的语料分词为a、b、c,匹配组中全部的预设语料分词为a、b、c、d时,则匹配成功。
当匹配规则为全语句第四匹配规则(不包含(或)none)时,待匹配语句中的语料分词需不包含匹配组中任意一个预设语料分词。举例说明:待匹配语句中的语料分词为e、f,匹配组中全部的预设语料分词为a、b、c、d时,则匹配成功。
当匹配规则为全语句第五匹配规则(完全equal)时,待匹配语句中的语料分词需与匹配组中的预设语料分词完全相同。举例说明:待匹配语句中的语料分词为“你好啊”,匹配组中全部的预设语料分词为“你好啊”时,则匹配成功。
当匹配规则为全语句第六匹配规则(完全(或)equalAnyone)时,待匹配语句中的语料分词需与匹配组中的任意一个预设语料分词完全相同。举例说明:待匹配语句中的语料分词为“你好啊”,匹配组中全部的预设语料分词为“你好啊、在干嘛、你很牛”时,则匹配成功。
在一些可选的实施方式中,将待匹配语句与预先设置的语料库进行有序规则匹配,包括:当用户输入的待匹配语句为一串有序的词,分词模式存在相对位置。分词模式下不仅要求能与对应的预设语料分词匹配上,还要求位置对应匹配。
当匹配规则为有序第一匹配规则(包含(或)anyone)时,待匹配语句中的语料分词需包含匹配组中任意一个预设语料分词。举例说明:待匹配语句中的语料分词为a或为a、b或为a、b、c,匹配组中全部的预设语料分词为a、b、c、d时,则匹配成功。当匹配成功时,移动至下个分词位置进行匹配,保证位置对应匹配,其他有序匹配规则同理。
当匹配规则为有序第二匹配规则(不包含(或)none)时,待匹配语句中的语料分词需不包含匹配组中任意一个预设语料分词。
用户输入的待匹配语句为一串有序的词,当遇到第二匹配规则(不包含(或)none)时,因为分词模式存在相对位置匹配要求,所以存在两种场景,场景1:当第二匹配规则(不包含(或)none)在所有匹配规则的末尾时,按照语序匹配即可。场景2:当第二匹配规则(不包含(或)none)不在所有匹配规则的末尾一个时,需要先确定第二匹配规则(不包含(或)none)后一个肯定规则的对应的词位置,再在这个自然语言之前的未进行匹配的词中进行第二匹配规则(不包含(或)none)匹配。待匹配语句中的语料分词为e、f,匹配组中全部的预设语料分词为a、b、c、d时,a、b、c、d都不存在即通过。
当匹配规则为有序第三匹配规则(归属class)时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在归属关系。
当遇到归属匹配规则时,如果对应词与归属类存在归属关系,则通过。如果未通过,失败的情况下,查询对应自然语言的常用词,判断常用词与归属类是否存在归属关系,如果存在则通过。例如:待匹配语句中的语料分词为“苹果”,匹配组中全部的预设语料分词为“s水果”,则通过。当归属为“值”时,不需要去语料库搜索,只需要满足是数字,即通过。
当匹配规则为有序第四匹配规则(平行synonym)时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在平行关系。
用户输入的内容为一串有序的词,当遇到平行匹配规则时,如果对应的词的常用词与平行规则对应的词一致时,即通过。例如:“早上”对应的常用词为“早晨”、“一大早”等。如果对应的自然语言本身就是常用词,则直接使用该词,如果不是,则先查询其常用词,如果不存在常用词,则报错。
当匹配规则为有序第八匹配规则(变元var)时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在变元关系。
待匹配语句中的语料分词为“人”时,通过查找是否存在“s人”变元值,存在即通过。“s人”变元值一般用于主语缺失的情况。
当匹配规则为有序第五匹配规则(不归属no_class)时,待匹配语句中的语料分词需与匹配组中的预设语料分词不存在归属关系。
当遇到不归属匹配规则时,如果对应词与归属类存在归属关系,则失败。进一步,查询这个对应词的平行常用词,判断常用词与归属类是否存在归属关系,如果存在则匹配失败,不归属规则对应预设语料分词支持填写多个。
当匹配规则为有序第六匹配规则(平行no_synonym)时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在不平行关系。
当遇到不平行匹配规则时,如果对应词与其存在平行关系,则失败,不存在则成功。不平行规则对应预设语料分词支持填写多个。
当匹配规则为有序第七匹配规则(填充filling)时,待匹配语句中的语料分词需与匹配组中的预设语料分词存在填充关系。
填充规则包括以下规则:
规则一:将确定位置之间的所有用户输入,合并成一个词,将合并的词赋值给匹配,规则对应的预设语料分词(即变元赋值操作),再没有确定开始位置和结束位置之前,填充规则都不占用户输入的词位确定位置的开始。具体地:
当“填充”规则为第一个匹配规则或者第一个匹配规则和“填充”规则之间且包括第一个规则都是否定规则时,则确定位置的开始为用户输入的第一个词。
当“填充”之前有出现肯定规则,则确定位置的开始为用户输入匹配上这个肯定规则之后第一个词确定位置的结束:
当“填充”规则之后出现了肯定类型规则,则确定位置的结束为用户输入匹配上这个肯定规则的前一个词。
当“填充”规则之后没有肯定类型规则,如果出现否定匹配规则且通过,则确定位置的结束为用户输入的最后一个词。
当“填充”规则之后没有肯定类型规则,也没有否定类型规则时,则确定位置的结束为用户输入的最后一个词。
规则二:当遇到“填充”匹配规则时,如果在获取确定位置的结束信息之前,出现否定规则匹配时,如果否定规则(不包含(或)、不归属、不平行)匹配失败,则直接结束匹配。
规则三:当遇到多个“填充”匹配规则是前后关系或者多个“填充”匹配规则之间只有否定匹配规则时,直接失败并结束匹配。
规则四:支持一条会话匹配存在多个“填充”匹配规则。
规则五:如果“确定位置的开始”和“确定位置的结束”之间没有词的话,直接失败并结束匹配。
规则六:“填充”匹配规则对应的自然语言位格的信息为:s变元或者s变元+“.”+“整数”。
本实施例中,通过制定匹配规则,通过全语句规则匹配,有序规则匹配、算法匹配、变元规则匹配结合的实现方式,可以使用户语料匹配的更精准,更全面,进而可以提高语义识别的准确率。
在本实施例中还提供了一种自然语言匹配装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种自然语言匹配装置,如图3所示,包括:
获取模块201,用于获取待匹配语句;
规则匹配模块202,用于将待匹配语句与预先设置的语料库进行全语句规则匹配或者有序规则匹配,其中,语料库中预先定义有通过匹配规则将预设语料分词构成的规则语句与语义内容之间的对应关系,全语句规则匹配用于匹配与待匹配语句完全相同的语句,有序规则匹配用于匹配与待匹配语句结构语序相同并且关键词相同的语句;
算法匹配模块203,用于若全语句规则匹配失败并且有序规则匹配失败的情况下,对待匹配语句进行语义内容的算法匹配,以确定是否存在与待匹配语句语义相近的语料;
变元匹配模块204,用于若语义内容的算法匹配失败的情况下,对待匹配语句进行变元规则匹配,得到匹配结果;其中,变元规则匹配用于将待匹配语句中同属性或者相同归属分类替换为已知变元属性的情况下进行语句匹配。
本实施例中的自然语言匹配装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种计算机设备,具有上述图3所示的自然语言匹配装置。
请参阅图4,图4是本发明可选实施例提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (8)

1.一种自然语言匹配方法,其特征在于,所述方法包括:
获取待匹配语句;
将所述待匹配语句与预先设置的语料库进行全语句规则匹配或者有序规则匹配,其中,所述语料库中预先定义有通过匹配规则将预设语料分词构成的规则语句与语义内容之间的对应关系,全语句规则匹配用于匹配与所述待匹配语句完全相同的语句,有序规则匹配用于匹配与所述待匹配语句结构语序相同并且关键词相同的语句;
若全语句规则匹配失败并且有序规则匹配失败的情况下,对所述待匹配语句进行语义内容的算法匹配,以确定是否存在与所述待匹配语句语义相近的语料;
若语义内容的算法匹配失败的情况下,对所述待匹配语句进行变元规则匹配,得到匹配结果;其中,所述变元规则匹配用于将所述待匹配语句中同属性或者相同归属分类替换为已知变元属性的情况下进行语句匹配;
通过以下步骤设置所述语料库,包括:
建立预设自然语言库,所述自然语言库用于匹配所述待匹配语句中的语料分词;
建立匹配规则表,所述匹配规则表包括:全语句匹配规则与有序匹配规则;
将所述预设自然语言库中的至少一个预设语料分词与所述匹配规则表中的匹配规则组合,获得匹配组;
将所述匹配组与所述匹配组之间通过预设的组合规则进行组合,获得多个所述规则语句,用于构成所述语料库。
2.根据权利要求1所述的方法,其特征在于,所述设置所述语料库,包括:
生成与所述规则语句对应的语义内容、语义节点以及所属话题;
根据所述规则语句、与所述规则语句对应的语义内容、语义节点以及所属话题,构成所述语料库。
3.根据权利要求1所述的方法,其特征在于,所述预设自然语言库,包括:
归属语料表,包括:所述预设语料分词以及与所述预设语料分词对应的所属类别;
平行语料表,包括:所述预设语料分词以及与所述预设语料分词对应的常用词;
代词替换表,包括:预设语料代词、与所述预设语料代词对应的替换词,以及与替换词对应的替换优先值。
4.根据权利要求1所述的方法,其特征在于,所述将所述待匹配语句与预先设置的语料库进行全语句规则匹配,包括:
当所述匹配规则为全语句第一匹配规则时,所述待匹配语句中的语料分词需包含所述匹配组中全部的所述预设语料分词;
当所述匹配规则为全语句第二匹配规则时,所述待匹配语句中的语料分词需包含所述匹配组中任意一个所述预设语料分词;
当所述匹配规则为全语句第三匹配规则时,所述待匹配语句中的语料分词需不包含所述匹配组中全部的所述预设语料分词;
当所述匹配规则为全语句第四匹配规则时,所述待匹配语句中的语料分词需不包含所述匹配组中任意一个所述预设语料分词;
当所述匹配规则为全语句第五匹配规则时,所述待匹配语句中的语料分词需与所述匹配组中的所述预设语料分词完全相同;
当所述匹配规则为全语句第六匹配规则时,所述待匹配语句中的语料分词需与所述匹配组中的任意一个所述预设语料分词完全相同。
5.根据权利要求3所述的方法,其特征在于,所述将所述待匹配语句与预先设置的语料库进行有序规则匹配,包括:
当所述匹配规则为有序第一匹配规则时,所述待匹配语句中的语料分词需包含所述匹配组中任意一个所述预设语料分词;
当所述匹配规则为有序第二匹配规则时,所述待匹配语句中的语料分词需不包含所述匹配组中任意一个所述预设语料分词;
当所述匹配规则为有序第三匹配规则时,所述待匹配语句中的语料分词需与所述匹配组中的所述预设语料分词存在归属关系;
当所述匹配规则为有序第四匹配规则时,所述待匹配语句中的语料分词需与所述匹配组中的所述预设语料分词存在平行关系;
当所述匹配规则为有序第八匹配规则时,所述待匹配语句中的语料分词需与所述匹配组中的所述预设语料分词存在变元关系;
当所述匹配规则为有序第五匹配规则时,所述待匹配语句中的语料分词需与所述匹配组中的所述预设语料分词不存在归属关系;
当所述匹配规则为有序第六匹配规则时,所述待匹配语句中的语料分词需与所述匹配组中的所述预设语料分词存在不平行关系;
当所述匹配规则为有序第七匹配规则时,所述待匹配语句中的语料分词需与所述匹配组中的所述预设语料分词存在填充关系。
6.一种自然语言匹配装置,其特征在于,所述装置包括:
获取模块,用于获取待匹配语句;
规则匹配模块,用于将所述待匹配语句与预先设置的语料库进行全语句规则匹配或者有序规则匹配,其中,所述语料库中预先定义有通过匹配规则将预设语料分词构成的规则语句与语义内容之间的对应关系,全语句规则匹配用于匹配与所述待匹配语句完全相同的语句,有序规则匹配用于匹配与所述待匹配语句结构语序相同并且关键词相同的语句;通过以下步骤设置所述语料库,包括:建立预设自然语言库,所述自然语言库用于匹配所述待匹配语句中的语料分词;建立匹配规则表,所述匹配规则表包括:全语句匹配规则与有序匹配规则;将所述预设自然语言库中的至少一个预设语料分词与所述匹配规则表中的匹配规则组合,获得匹配组;将所述匹配组与所述匹配组之间通过预设的组合规则进行组合,获得多个所述规则语句,用于构成所述语料库;
算法匹配模块,用于若全语句规则匹配失败并且有序规则匹配失败的情况下,对所述待匹配语句进行语义内容的算法匹配,以确定是否存在与所述待匹配语句语义相近的语料;
变元匹配模块,用于若语义内容的算法匹配失败的情况下,对所述待匹配语句进行变元规则匹配,得到匹配结果;其中,所述变元规则匹配用于将所述待匹配语句中同属性或者相同归属分类替换为已知变元属性的情况下进行语句匹配。
7.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-5任一项所述的自然语言匹配方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-5任一项所述的自然语言匹配方法。
CN202311028827.9A 2023-08-16 2023-08-16 一种自然语言匹配方法、装置、计算机设备及存储介质 Active CN116757203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311028827.9A CN116757203B (zh) 2023-08-16 2023-08-16 一种自然语言匹配方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311028827.9A CN116757203B (zh) 2023-08-16 2023-08-16 一种自然语言匹配方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN116757203A CN116757203A (zh) 2023-09-15
CN116757203B true CN116757203B (zh) 2023-11-10

Family

ID=87957542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311028827.9A Active CN116757203B (zh) 2023-08-16 2023-08-16 一种自然语言匹配方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116757203B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968819A (zh) * 2010-11-05 2011-02-09 中国传媒大学 面向广域网的音视频智能编目信息获取方法
CN102945230A (zh) * 2012-10-17 2013-02-27 刘运通 一种基于语义匹配驱动的自然语言知识获取方法
WO2017121316A1 (zh) * 2016-01-11 2017-07-20 陈勇 一种语音转换器
CN107391482A (zh) * 2017-07-12 2017-11-24 成都准星云学科技有限公司 一种基于句模进行模糊匹配与剪枝的方法
CN107818148A (zh) * 2017-10-23 2018-03-20 南京南瑞集团公司 基于自然语言处理的自助式查询统计分析方法
CN109815390A (zh) * 2018-11-08 2019-05-28 平安科技(深圳)有限公司 多语言信息的检索方法、装置、计算机设备及计算机存储介质
US10482181B1 (en) * 2018-08-01 2019-11-19 United States Of America As Represented By The Secretary Of The Navy Device, method, and system for expert case-based natural language learning
CN112149410A (zh) * 2020-08-10 2020-12-29 招联消费金融有限公司 语义识别方法、装置、计算机设备和存储介质
CN112732876A (zh) * 2021-02-08 2021-04-30 杭州北冥星眸科技有限公司 一种通用的语义匹配实现方法与系统
CN113722457A (zh) * 2021-08-11 2021-11-30 北京零秒科技有限公司 意图识别方法以及装置、存储介质、电子装置
CN113792126A (zh) * 2021-09-13 2021-12-14 安徽九广全景智慧科技有限公司 一种用于学校招生的智能客服的对话方法及系统
CN115357697A (zh) * 2022-08-12 2022-11-18 招商银行股份有限公司 数据处理方法、装置、终端设备以及存储介质
CN115858731A (zh) * 2022-12-22 2023-03-28 北京用友政务软件股份有限公司 一种法规库法规匹配方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150677B2 (en) * 2008-06-26 2012-04-03 Microsoft Corporation Machine translation using language order templates
US10068034B2 (en) * 2016-09-07 2018-09-04 Mellanox Technologies Tlv Ltd. Efficient matching of TCAM rules using hash tables in RAM

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968819A (zh) * 2010-11-05 2011-02-09 中国传媒大学 面向广域网的音视频智能编目信息获取方法
CN102945230A (zh) * 2012-10-17 2013-02-27 刘运通 一种基于语义匹配驱动的自然语言知识获取方法
WO2017121316A1 (zh) * 2016-01-11 2017-07-20 陈勇 一种语音转换器
CN107391482A (zh) * 2017-07-12 2017-11-24 成都准星云学科技有限公司 一种基于句模进行模糊匹配与剪枝的方法
CN107818148A (zh) * 2017-10-23 2018-03-20 南京南瑞集团公司 基于自然语言处理的自助式查询统计分析方法
US10482181B1 (en) * 2018-08-01 2019-11-19 United States Of America As Represented By The Secretary Of The Navy Device, method, and system for expert case-based natural language learning
CN109815390A (zh) * 2018-11-08 2019-05-28 平安科技(深圳)有限公司 多语言信息的检索方法、装置、计算机设备及计算机存储介质
CN112149410A (zh) * 2020-08-10 2020-12-29 招联消费金融有限公司 语义识别方法、装置、计算机设备和存储介质
CN112732876A (zh) * 2021-02-08 2021-04-30 杭州北冥星眸科技有限公司 一种通用的语义匹配实现方法与系统
CN113722457A (zh) * 2021-08-11 2021-11-30 北京零秒科技有限公司 意图识别方法以及装置、存储介质、电子装置
CN113792126A (zh) * 2021-09-13 2021-12-14 安徽九广全景智慧科技有限公司 一种用于学校招生的智能客服的对话方法及系统
CN115357697A (zh) * 2022-08-12 2022-11-18 招商银行股份有限公司 数据处理方法、装置、终端设备以及存储介质
CN115858731A (zh) * 2022-12-22 2023-03-28 北京用友政务软件股份有限公司 一种法规库法规匹配方法、装置及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
RoRED: Bootstrapping labeling rule discovery for robust relation extraction;Hou, Wenjun等;《INFORMATION SCIENCES》;第62-76页 *
一种基于规则与句法合成的层次化语句分析识别算法;贾继康;邵玉斌;龙华;杜庆治;;吉林大学学报(理学版)(04);全文 *
基于带约束语义文法的领域相关自然语言理解方法;王东升;王石;王卫民;符建辉;诸峰;;中文信息学报(02);全文 *
基于规则的复句关系词的自动标识;贾遂民;雷利利;胡明生;;中文信息学报(01);全文 *

Also Published As

Publication number Publication date
CN116757203A (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
CN108287858B (zh) 自然语言的语义提取方法及装置
US11640515B2 (en) Method and neural network system for human-computer interaction, and user equipment
CN109670163B (zh) 信息识别方法、信息推荐方法、模板构建方法及计算设备
CN106776544B (zh) 人物关系识别方法及装置和分词方法
CN107193843B (zh) 一种基于ac自动机和后缀表达式的字符串筛选方法及装置
CN110909160A (zh) 正则表达式生成方法、服务器及计算机可读存储介质
CN111310440A (zh) 文本的纠错方法、装置和系统
CN107239450B (zh) 基于交互上下文处理自然语言方法
CN111339277A (zh) 基于机器学习的问答交互方法及装置
CN112035599A (zh) 基于垂直搜索的查询方法、装置、计算机设备及存储介质
CN109508448A (zh) 基于长篇文章生成短资讯方法、介质、装置和计算设备
CN113934834A (zh) 一种问句匹配的方法、装置、设备和存储介质
CN111324705A (zh) 自适应性调整关连搜索词的系统及其方法
CN111353027B (zh) 聊天机器人中的答案反馈方法、装置、计算机设备和介质
CN108475265B (zh) 获取未登录词的方法与装置
CN116757203B (zh) 一种自然语言匹配方法、装置、计算机设备及存储介质
CN111460114A (zh) 检索方法、装置、设备及计算机可读存储介质
CN111104422A (zh) 一种数据推荐模型的训练方法、装置、设备及存储介质
CN116340352A (zh) 数据查询方法、装置、存储介质及电子设备
CN113627201B (zh) 信息抽取方法、装置、电子设备及存储介质
CN115688769A (zh) 一种基于长文本的意图识别方法、装置、设备及存储介质
CN114186060A (zh) 文本处理方法、文本分类方法、装置、设备及存储介质
CN114840642A (zh) 事件抽取方法、装置、设备及存储介质
CN111401083B (zh) 名称的识别方法及装置、存储介质和处理器
CN112035623B (zh) 智能问答方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant