CN117725151A - 基于改良模板的语义搜索方法及系统 - Google Patents

基于改良模板的语义搜索方法及系统 Download PDF

Info

Publication number
CN117725151A
CN117725151A CN202310842118.8A CN202310842118A CN117725151A CN 117725151 A CN117725151 A CN 117725151A CN 202310842118 A CN202310842118 A CN 202310842118A CN 117725151 A CN117725151 A CN 117725151A
Authority
CN
China
Prior art keywords
template
sequence
search
matching
analysis
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.)
Pending
Application number
CN202310842118.8A
Other languages
English (en)
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.)
Inspur Software Technology Co Ltd
Original Assignee
Inspur Software 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 Inspur Software Technology Co Ltd filed Critical Inspur Software Technology Co Ltd
Priority to CN202310842118.8A priority Critical patent/CN117725151A/zh
Publication of CN117725151A publication Critical patent/CN117725151A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于改良模板的语义搜索方法及系统,属于语义搜索技术领域,要解决的技术问题为不依赖语料库的情况下、如何为特殊专业领域实现语义搜索。包括如下步骤:对于搜索语句,分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据进行字段标准化;构造正则表达式的词性标注序列作为模板,形成模板列表,并为每个模板配置对应的解析器;对搜索语句进行分词和词性标注,得到标注序列;基于模板和解析器对标注序列进行语义解析、并将解析结果与主题库字段进行映射,得到搜索语句。

Description

基于改良模板的语义搜索方法及系统
技术领域
本发明涉及语义搜索技术领域,具体地说是基于改良模板的语义搜索方法及系统。
背景技术
与传统的基于关键字的搜索方法不同,语义搜索使用单词的含义和上下文来理解查询背后的意图并提供更准确的结果。而目前较流行的语义搜索的实现方式是基于自然语言处理技术进行一些依存句法分析,获取上下文及句子中单词间的关系,并结合一些搜索引擎如ElasticSearch获得最终的搜索结果。
上述方法中提到的自然语言处理(NLP)技术,是需要依托于足量的语料库进行模型训练才能确保准确度在可接受范围内,这对于一些特殊专业领域来说,没有或者无法提供足量的语料库,无法进行相应的模型训练,进而无法实现语义搜索。
不依赖语料库的情况下、如何为特殊专业领域实现语义搜索,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供基于改良模板的语义搜索方法及系统,来解决不依赖语料库的情况下、如何为特殊专业领域实现语义搜索的技术问题。
第一方面,本发明一种基于改良模板的语义搜索方法,包括如下步骤:
主题库构建:对于搜索语句,分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据进行字段标准化;
模板构建:根据搜索场景、构造正则表达式的词性标注序列作为模板,形成模板列表,并为每个模板配置对应的解析器,所述解析器用于基于自定义的语法解析规则对与其相关模板提取的参数进行限定;
获取标注序列:对搜索语句进行分词和词性标注,得到标注序列;
匹配解析:基于模板和解析器对标注序列进行语义解析、并将解析结果与主题库字段进行映射,得到搜索语句。
作为优选,主题库构建包括如下步骤:
分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据定义为元数据,并将各元数据字段进行标准化命名;
将各关联资源中字段与元数据字段进行映射,并将数据抽取到主题库中。
作为优选,模板由词性列表构成。
作为优选,对于模板的语法结构,在每个词性后添加有顺序数字,顺序数字用于表示其对应的词性在一个搜索语句分词后的序列中的顺序;
对应的,获取标注序列时,得到标注序列后,在标注序列中添加顺序数字,得到处理后的标注序列;
对应的,在匹配解析时,基于模板和解析器对处理后的标注序列进行语义解析、并将解析结果与主题库字段进行映射。
作为优选,匹配解析包括如下步骤:
匹配模板:将标注序列匹配模板,得到能够与模板匹配的匹配序列;
解析序列:通过解析器将匹配序列与主题库字段进行匹配,将匹配成功的匹配序列从标注序列中剔除、并将匹配的字段作为搜索词;
重复执行匹配模板和解析序列,直至模板列表匹配完成,基于搜索词得到搜索语句。
第二方面,本发明一种基于改良模板的语义搜索系统,用于通过如第一方面任一项所述的基于改良模板的语义搜索方法进行语义搜索,所述系统包括:
主题库构建模块,所述主题库构建模块用于执行如下:对于搜索语句,分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据进行字段标准化;
模板构建模块,所述模板构建模块用于根据搜索场景、构造正则表达式的词性标注序列作为模板,形成模板列表,并为每个模板配置对应的解析器,所述解析器用于基于自定义的语法解析规则对与其相关模板提取的参数进行限定;
标注序列获取模块,所述标注序列获取模块用于对搜索语句进行分词和词性标注,得到标注序列;
匹配解析模块,所述匹配解析模块用于基于模板和解析器对标注序列进行语义解析、并将解析结果与主题库字段进行映射,得到搜索语句。
作为优选,主题库构建模块用于执行如下构建主题库:
分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据定义为元数据,并将各元数据字段进行标准化命名;
将各关联资源中字段与元数据字段进行映射,并将数据抽取到主题库中。
作为优选,模板由词性列表构成。
作为优选,对于模板的语法结构,所述模板构建模块用于在每个词性后添加有顺序数字,顺序数字用于表示其对应的词性在一个搜索语句分词后的序列中的顺序;
对应的,获取标注序列时,得到标注序列后,所述标注序列获取模块用于在标注序列中添加顺序数字,得到处理后的标注序列;
对应的,所述匹配解析模块用于基于模板和解析器对处理后的标注序列进行语义解析、并将解析结果与主题库字段进行映射。
作为优选,所述匹配解析模块用于执行如下得到搜索语句:
匹配模板:将标注序列匹配模板,得到能够与模板匹配的匹配序列;
解析序列:通过解析器将匹配序列与主题库字段进行匹配,将匹配成功的匹配序列从标注序列中剔除、并将匹配的字段作为搜索词;
重复执行匹配模板和解析序列,直至模板列表匹配完成,基于搜索词得到搜索语句。
本发明的基于改良模板的语义搜索方法及系统具有以下优点:
1、通过构造基于正则表达式语法的词性标注序列作为模板,并配合基于自定义语法的解析器,将语义解析结果与主题库字段进行映射,获得最终搜索语句,适用于特殊行业没有大批量语料库注解并且包含很多专业术语的场景,拓宽了语义搜索的适用范围;
2、在规则匹配过程中采用了正则表达式匹配词性标注序列的方式,并配合解析器,这种方式相较传统的规则匹配形式更加灵活,可以极大减少需要配置的模板数量,用更少的模板适配更多的场景;
3、直接将语义解析出的信息与主题库字段进行映射,可显著提高搜索的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
图1为实施例1一种基于改良模板的语义搜索的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供基于改良模板的语义搜索方法及系统,用于解决不依赖语料库的情况下、如何为特殊专业领域实现语义搜索的技术问题。
实施例1:
本发明一种基于改良模板的语义搜索方法,包括如下步骤:
S100、主题库构建:对于搜索语句,分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据进行字段标准化;
S200、模板构建:根据搜索场景、构造正则表达式的词性标注序列作为模板,形成模板列表,并为每个模板配置对应的解析器,所述解析器用于基于自定义的语法解析规则对与其相关模板提取的参数进行限定;
S300、获取标注序列:对搜索语句进行分词和词性标注,得到标注序列;
S400、匹配解析:基于模板和解析器对标注序列进行语义解析、并将解析结果与主题库字段进行映射,得到搜索语句。
步骤S100主题库构建,包括如下步骤:
(1)分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据定义为元数据,并将各元数据字段进行标准化命名;
(2)将各关联资源中字段与元数据字段进行映射,并将数据抽取到主题库中。
以人员主题库为例,得到的字段表如下表1所示。
字段 字段注释
XM 姓名
SFZH 公民身份证号
CSSJ 出生日期
DZ 地址
步骤S200配置模板,该模板是基于正则表达式的,但匹配内容不再是具体的搜索语句,而是词性序列,此种方式大大扩展了模板的匹配范围,提高了灵活性,可用较少的模板匹配更多的场景,例如:
(m\d+)(q\d+)?p\d+(m\d+)(q\d+)
此模板可匹配语法结构为【数词量词(可无)介词数词量词】的结构。
从上面举例也可看出,采用词性序列虽然拓宽了适用范围,但同样带来了匹配准确性降低的问题,本实施例采用了模板与解析器相结合的方式来控制模板匹配范围,解析器通过定义一种语法解析规则,来对模板中提取出的参数进行限定,例如,上面模板对应的解析器如下:
通过该解析器可知,当输入搜索语句中包含【数词量词(可无)介词数词量词】的结构,并且量词为“岁”时,会将年龄解析为出生时间字段的范围。上述模板及解析器可匹配诸如【年龄在30(岁)到40岁之间】的语句。
作为模板配置的改进,在每个词性后添加有顺序数字,顺序数字用于表示其对应的词性在一个搜索语句分词后的序列中的顺序。对应的,获取标注序列时,得到标注序列后,在标注序列中添加顺序数字,得到处理后的标注序列。
对应的,在匹配解析时,基于模板和解析器对处理后的标注序列进行语义解析、并将解析结果与主题库字段进行映射。
在上述列举的正则表达式中,每个词性后面还会跟着\d+的限定,意思是每个词性后面都会有一个数字,这里的数字代表了这些词性在一个搜索语句分词后的序列中的顺序,此处目的是为了准确提取出命中模板的词性序列片段,一旦命中,就将这些子序列拿出来,防止重复匹配。
通过以上三种措施,使模板匹配既扩大了适用范围,又提高了匹配准确度。
通过前两个步骤,完成了语义搜索的准备工作,接下来进入搜索环节。
步骤S300获取标注序列,获取搜索语句后,将搜索语句进行标注,输出标注序列。举例说明如下:
输入句子【一个叫朱富贵的年龄在20到30岁左右的山西男子】,首先进行分词,得到如下序列:
【一个叫朱富贵的年龄在20到30岁左右的山西男子】
对本序列进行标注,得到如下序列:
【m[一个],v[叫],PER[朱富贵],u[的],n[年龄],p[在],m[20],p[到],m[30],q[岁],m[左右],u[的],LOC[山西],n[男子]】
注意,在标注前已经进行了实体识别,如“朱富贵”已通过实体识别算法标注为[PER]人员姓名。
基于模板的改进,将标注序列添加上顺序数字,再生成一个处理后的标注序列,如下:
【m0 v1 PER2 u3 n4 p5 m6 p7 m8 q9 m10 u11 LOC12 n13】
步骤S400匹配解析,包括如下步骤:
(1)匹配模板:将标注序列匹配模板,得到能够与模板匹配的匹配序列;
(2)解析序列:通过解析器将匹配序列与主题库字段进行匹配,将匹配成功的匹配序列从标注序列中剔除、并将匹配的字段作为搜索词;
(3)重复执行匹配模板和解析序列,直至模板列表匹配完成,基于搜索词得到搜索语句。
以步骤S200中的模板及解析器为例,最终序列【m6 p7 m8 q9】可匹配模板【(m\d+)(q\d+)?p\d+(m\d+)(q\d+)】,结果解析器解析后解析结果如下:
\\*.CSSJ:[1993TO 2003]
将匹配成功的序列在总序列中剔除掉,继续重复步骤5、6,直到模板列表匹配完成。最终获得的解析结果如下:
\*.CSSJ:[1993TO 2003]AND\*.DZ:山西AND\*.XB:男AND NAME:朱富。
本实施例的方法,将待搜索数据基于一定规则构建出主题库,然后根据搜索场景配置模板,模板是基于正则表达式语法,匹配的是词性标注序列,同时配置出当前模板对应的解析器;接下来对搜索语句进行分词获取词性序列及顺序,匹配模板后通过解析器将搜索词与具体主题库字段进行匹配,获得最终的搜索语句。通过本方法,可以提高语义搜索的准确性,并且可以无需训练特定行业的专属模型而实现语义搜索。
实施例2:
本发明一种基于改良模板的语义搜索系统,包括主题库构建模块、模板构建模块、标注序列获取模块以及匹配解析模块,该系统可执行实施例1公开的方法进行语义搜索。
主题库构建模块用于执行如下:对于搜索语句,分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据进行字段标准化。
本实施例中,主题库构建模块用于执行如下构建主题库:
(1)分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据定义为元数据,并将各元数据字段进行标准化命名;
(2)将各关联资源中字段与元数据字段进行映射,并将数据抽取到主题库中。
模板构建模块用于根据搜索场景、构造正则表达式的词性标注序列作为模板,形成模板列表,并为每个模板配置对应的解析器,所述解析器用于基于自定义的语法解析规则对与其相关模板提取的参数进行限定。
本实施例中,模板由词性列表构成,词性包括数词、量词和介词。
作为改进,对于模板的语法结构,模板构建模块用于在每个词性后添加有顺序数字,顺序数字用于表示其对应的词性在一个搜索语句分词后的序列中的顺序。
作为具体实施,对于模板的语法,每个词性后面还会跟着\d+的限定,意思是每个词性后面都会有一个数字,这里的数字代表了这些词性在一个搜索语句分词后的序列中的顺序,此处目的是为了准确提取出命中模板的词性序列片段,一旦命中,就将这些子序列拿出来,防止重复匹配。
标注序列获取模块用于对搜索语句进行分词和词性标注,得到标注序列。
对应于模板的改进,获取标注序列时,得到标注序列后,本实施例标注序列获取模块用于在标注序列中添加顺序数字,得到处理后的标注序列。
匹配解析模块用于基于模板和解析器对标注序列进行语义解析、并将解析结果与主题库字段进行映射,得到搜索语句。
本实施例中,匹配解析模块用于执行如下得到搜索语句:
(1)匹配模板:将标注序列匹配模板,得到能够与模板匹配的匹配序列;
(2)解析序列:通过解析器将匹配序列与主题库字段进行匹配,将匹配成功的匹配序列从标注序列中剔除、并将匹配的字段作为搜索词;
(3)重复执行匹配模板和解析序列,直至模板列表匹配完成,基于搜索词得到搜索语句。
对应于模板的改进,本实施例匹配解析模块用于基于模板和解析器对处理后的标注序列进行语义解析、并将解析结果与主题库字段进行映射。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

Claims (10)

1.一种基于改良模板的语义搜索方法,其特征在于,包括如下步骤:
主题库构建:对于搜索语句,分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据进行字段标准化;
模板构建:根据搜索场景、构造正则表达式的词性标注序列作为模板,形成模板列表,并为每个模板配置对应的解析器,所述解析器用于基于自定义的语法解析规则对与其相关模板提取的参数进行限定;
获取标注序列:对搜索语句进行分词和词性标注,得到标注序列;
匹配解析:基于模板和解析器对标注序列进行语义解析、并将解析结果与主题库字段进行映射,得到搜索语句。
2.根据权利要求1所述的基于改良模板的语义搜索方法,其特征在于,主题库构建包括如下步骤:
分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据定义为元数据,并将各元数据字段进行标准化命名;
将各关联资源中字段与元数据字段进行映射,并将数据抽取到主题库中。
3.根据权利要求1所述的基于改良模板的语义搜索方法,其特征在于,模板由词性列表构成。
4.根据权利要1所述的基于改良模板的语义搜索方法,其特征在于,对于模板的语法结构,在每个词性后添加有顺序数字,顺序数字用于表示其对应的词性在一个搜索语句分词后的序列中的顺序;
对应的,获取标注序列时,得到标注序列后,在标注序列中添加顺序数字,得到处理后的标注序列;
对应的,在匹配解析时,基于模板和解析器对处理后的标注序列进行语义解析、并将解析结果与主题库字段进行映射。
5.根据权利要求1所述的基于改良模板的语义搜索方法,其特征在于,匹配解析包括如下步骤:
匹配模板:将标注序列匹配模板,得到能够与模板匹配的匹配序列;
解析序列:通过解析器将匹配序列与主题库字段进行匹配,将匹配成功的匹配序列从标注序列中剔除、并将匹配的字段作为搜索词;
重复执行匹配模板和解析序列,直至模板列表匹配完成,基于搜索词得到搜索语句。
6.一种基于改良模板的语义搜索系统,其特征在于,用于通过如权利要求1-5任一项所述的基于改良模板的语义搜索方法进行语义搜索,所述系统包括:
主题库构建模块,所述主题库构建模块用于执行如下:对于搜索语句,分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据进行字段标准化;
模板构建模块,所述模板构建模块用于根据搜索场景、构造正则表达式的词性标注序列作为模板,形成模板列表,并为每个模板配置对应的解析器,所述解析器用于基于自定义的语法解析规则对与其相关模板提取的参数进行限定;
标注序列获取模块,所述标注序列获取模块用于对搜索语句进行分词和词性标注,得到标注序列;
匹配解析模块,所述匹配解析模块用于基于模板和解析器对标注序列进行语义解析、并将解析结果与主题库字段进行映射,得到搜索语句。
7.根据权利要求6所述的基于改良模板的语义搜索系统,其特征在于,主题库构建模块用于执行如下构建主题库:
分别围绕一个中心对象,将与中心对象相关的、且变化频率小于预定规则的数据定义为元数据,并将各元数据字段进行标准化命名;
将各关联资源中字段与元数据字段进行映射,并将数据抽取到主题库中。
8.根据权利要求6所述的基于改良模板的语义搜索系统,其特征在于,模板由词性列表构成。
9.根据权利要求6所述的基于改良模板的语义搜索系统,其特征在于,对于模板的语法结构,所述模板构建模块用于在每个词性后添加有顺序数字,顺序数字用于表示其对应的词性在一个搜索语句分词后的序列中的顺序;
对应的,获取标注序列时,得到标注序列后,所述标注序列获取模块用于在标注序列中添加顺序数字,得到处理后的标注序列;
对应的,所述匹配解析模块用于基于模板和解析器对处理后的标注序列进行语义解析、并将解析结果与主题库字段进行映射。
10.根据权利要求6所述的基于改良模板的语义搜索系统,其特征在于,所述匹配解析模块用于执行如下得到搜索语句:
匹配模板:将标注序列匹配模板,得到能够与模板匹配的匹配序列;
解析序列:通过解析器将匹配序列与主题库字段进行匹配,将匹配成功的匹配序列从标注序列中剔除、并将匹配的字段作为搜索词;
重复执行匹配模板和解析序列,直至模板列表匹配完成,基于搜索词得到搜索语句。
CN202310842118.8A 2023-07-11 2023-07-11 基于改良模板的语义搜索方法及系统 Pending CN117725151A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310842118.8A CN117725151A (zh) 2023-07-11 2023-07-11 基于改良模板的语义搜索方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310842118.8A CN117725151A (zh) 2023-07-11 2023-07-11 基于改良模板的语义搜索方法及系统

Publications (1)

Publication Number Publication Date
CN117725151A true CN117725151A (zh) 2024-03-19

Family

ID=90198460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310842118.8A Pending CN117725151A (zh) 2023-07-11 2023-07-11 基于改良模板的语义搜索方法及系统

Country Status (1)

Country Link
CN (1) CN117725151A (zh)

Similar Documents

Publication Publication Date Title
CN106570180B (zh) 基于人工智能的语音搜索方法及装置
CN110309511B (zh) 基于共享表示的多任务语言分析系统及方法
CN110716749B (zh) 一种基于功能相似度匹配的代码搜索方法
JPH09128396A (ja) 対訳辞書作成方法
CN110929520B (zh) 非命名实体对象抽取方法、装置、电子设备及存储介质
CN110738055A (zh) 文本的实体识别方法、设备及存储介质
CN114860942B (zh) 文本意图分类方法、装置、设备及存储介质
CN103678288A (zh) 一种专名自动翻译的方法
CN117743526A (zh) 一种基于大语言模型和自然语言处理的表格问答方法
CN112380848A (zh) 文本生成方法、装置、设备及存储介质
CN111354354B (zh) 一种基于语义识别的训练方法、训练装置及终端设备
CN111401034B (zh) 文本的语义分析方法、语义分析装置及终端
CN114490984A (zh) 基于关键词指导的问答知识抽取方法、装置、设备及介质
JP2004070636A (ja) 概念検索装置
CN117216214A (zh) 一种问答抽取的生成方法、装置、设备及介质
CN113761919A (zh) 一种口语化短文本的实体属性提取方法及电子装置
CN114842982B (zh) 一种面向医疗信息系统的知识表达方法、装置及系统
CN110866394A (zh) 公司名称识别方法及装置、计算机设备及可读存储介质
CN117725151A (zh) 基于改良模板的语义搜索方法及系统
JP2011123565A (ja) Faq候補抽出システムおよびfaq候補抽出プログラム
CN115115432A (zh) 基于人工智能的产品信息推荐方法及装置
CN112530406A (zh) 一种语音合成方法、语音合成装置及智能设备
CN110633471A (zh) 一种基于PubMed数据库的英文分词处理系统及方法
CN108280066A (zh) 一种汉语到英语的离线翻译方法
CN111508494B (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