本发明属于人工智能,尤其涉及基于自然语言的搜索方法和系统。
背景技术:
1、在多媒体和大数据技术发展的推动下,用户将各种图像分享到大数据平台,其他用户可以在网络中搜索用户所分享的图像。
2、目前,用户搜索图像时主要是在搜索框中输入文本,通过文本表达所需要搜索的图像,搜索引擎接收到用户输入的文本时,对输入文本进行分词,然后基于分词分别搜索图像返回给用户,导致搜索引擎所返回的图像中存在较多不符合用户搜索意图的图像。
技术实现思路
1、本发明实施例的目的在于提供基于自然语言的搜索方法和系统,旨在解决背景技术中搜索图像时搜索引擎无法识别用户搜索意图,导致搜索结果存在较多不符合用户搜索意图的图像的问题。
2、为实现上述目的,本发明实施例提供如下技术方案:
3、基于自然语言的搜索方法,用于搜索图像,所述方法具体包括以下步骤:
4、接收用户在图像搜索页面输入的搜索文本;
5、基于自然语言处理从所述搜索文本中确定原始搜索对象关键词和至少一个原始搜索意图关键词;
6、对所述原始搜索对象关键词和所述原始搜索意图关键词进行扩充,得到至少一个目标搜索对象关键词和至少一个目标搜索意图关键词;
7、从图像库中确定出对象标签与所述目标搜索对象关键词匹配的图像,得到第一候选图像集,所述图像库中每张图像设置有对象标签和至少一个对象描述标签,所述对象标签和所述对象描述标签为预先设置的所述图像的标签;
8、针对所述第一候选图像集中的每张图像,确定出所述对象描述标签与所述目标搜索意图关键词匹配的图像,得到第二候选图像集;
9、采用所述原始搜索对象关键词、所述原始搜索意图关键词、所述对象标签以及所述对象描述标签计算所述第二候选图像集中图像的分数;
10、将所述第二候选图像集中分数最高的n张图像作为搜索结果返回给用户。
11、作为本发明实施例技术方案进一步的限定,在基于自然语言处理从所述搜索文本中确定原始搜索对象关键词和至少一个原始搜索意图关键词之前,还包括以下步骤:
12、对所述搜索文本进行预处理,得到预处理后的搜索文本。
13、作为本发明实施例技术方案进一步的限定,所述基于自然语言处理从所述搜索文本中确定原始搜索对象关键词和至少一个原始搜索意图关键词,具体包括以下步骤:
14、基于依存句法分析确定所述搜索文本中每个词的词性;
15、确定出词性为名词的词作为候选搜索对象关键词;
16、将候选搜索对象关键词中排序在指定位置的词确定为原始搜索对象关键词;
17、将所述搜索文本中在所述原始搜索对象关键词之前的词性为名词、形容词、副词、动词确定为原始搜索意图关键词。
18、作为本发明实施例技术方案进一步的限定,所述基于自然语言处理从所述搜索文本中确定原始搜索对象关键词和至少一个原始搜索意图关键词,具体包括以下步骤:
19、基于依存句法分析确定所述搜索文本中每个词的词性,以及确定每个词在所述搜索文本中的位置;
20、将所述搜索文本、所述词性以及所述位置输入关键词分类模型中,得到原始搜索对象关键词和至少一个原始搜索意图关键词。
21、作为本发明实施例技术方案进一步的限定,所述关键词分类模型通过以下步骤训练:
22、获取训练语句,所述训练语句为用户搜索图片时输入的语句,所述训练语句中标注有每个词的词性、位置以及标注类别;
23、将所述训练语句输入关键词分类模型中,得到每个词的预测类别;
24、采用所述标注类别和预测类别计算损失率;
25、在所述损失率小于预设阈值时,停止对所述关键词分类模型进行训练,得到关键词分类模型;
26、在所述损失率大于预设阈值时,根据所述损失率更新所述关键词分类模型的参数,返回将所述训练语句输入关键词分类模型中的步骤;
27、其中,所述损失率计算公式如下:
28、;
29、labeli为第i个词的标注类别,typei为第i个词的预测类别,wi为第i个词的权重,其中,在第i个词的词性为名词且在所述搜索文本中的位置n时,wi=0.5,在第i个词的位置不是n时,wi=0.2。
30、作为本发明实施例技术方案进一步的限定,所述对所述原始搜索对象关键词和所述原始搜索意图关键词进行扩充得到至少一个目标搜索对象关键词和至少一个目标搜索意图关键词,具体包括以下步骤:
31、获取所述原始搜索对象关键词的同义词和近义词,将所述原始搜索对象关键词的同义词、近义词以及所述原始搜索对象关键词确定为目标搜索对象关键词;
32、获取所述原始搜索意图关键词的同义词和近义词,将所述原始搜索意图关键词的同义词、近义词以及所述原始搜索意图关键词确定为目标搜索意图关键词。
33、作为本发明实施例技术方案进一步的限定,所述从图像库中确定出对象标签与所述目标搜索对象关键词匹配的图像,得到第一候选图像集,具体包括以下步骤:
34、获取所述图像库中每张图像的对象标签,所述对象标签表示所述图像所包含的主要对象;
35、在预设的搜索对象关键词知识图谱中确定所述对象标签的第一节点、所述目标搜索对象关键词的第二节点,以及确定所述第一节点到所述第二节点的边线,所述搜索对象关键词知识图谱中每个节点设置有节点值,每条边线设置有权重;
36、计算所述第一节点的节点值、所述第二节点的节点值、所述边线的权重的乘积,得到多个第一相似度;
37、在任意一个第一相似度大于预设阈值时,将所述图像添加到第一候选图像集中,得到第一候选图像集。
38、作为本发明实施例技术方案进一步的限定,所述针对所述第一候选图像集中的每张图像,确定出所述对象描述标签与所述目标搜索意图关键词匹配的图像,得到第二候选图像集,具体包括以下步骤:
39、获取所述第一候选图像集中每张图像的对象描述标签,所述对象描述标签用于描述所述图像中包含的主要对象;
40、在预设的搜索意图知识图谱中确定所述对象描述标签的第一节点、所述目标搜索意图关键词的第二节点,以及确定所述第一节点到所述第二节点的边线,所述搜索意图知识图谱中每个节点设置有节点值,每条边线设置有权重;
41、计算所述第一节点的节点值、所述第二节点的节点值、所述边线的权重的乘积,得到多个第二相似度;
42、在任意一个第二相似度大于预设阈值时,将所述图像添加到第二候选图像集中,得到第二候选图像集。
43、作为本发明实施例技术方案进一步的限定,所述采用所述原始搜索对象关键词、所述原始搜索意图关键词、所述对象标签以及所述对象描述标签计算所述第二候选图像集中图像的分数,具体包括以下步骤:
44、针对所述第二候选图像集中的每张图像,从所述目标搜索对象关键词中确定出与所述图像的对象标签最相似的目标搜索对象关键词,并根据预设的搜索对象关键词知识图谱确定所述最相似的目标搜索对象关键词与所述原始搜索对象关键词的边线的第一权重;
45、根据预设的搜索意图知识图谱,统计所述图像的对象描述标签与所述目标搜索意图关键词的相似度大于预设阈值的对象描述标签的数量,以及确定所述目标搜索意图关键词与所述原始搜索意图关键词的边线的第二权重,并确定所述第二权重的平均值,得到第三权重;
46、计算所述第一权重、第三权重、所述数量的乘积,得到所述图像的分数。
47、基于自然语言的搜索系统,用于搜索图像,所述系统包括搜索文本接收单元、原始关键词确定单元、目标关键词确定单元、第一候选图像集确定单元、第二候选图像集确定单元、分数计算单元和搜索结果确定单元,其中:
48、搜索文本接收单元,用于接收用户在图像搜索页面输入的搜索文本;
49、原始关键词确定单元,用于基于自然语言处理从所述搜索文本中确定原始搜索对象关键词和至少一个原始搜索意图关键词;
50、目标关键词确定单元,用于对所述原始搜索对象关键词和所述原始搜索意图关键词进行扩充得到至少一个目标搜索对象关键词和至少一个目标搜索意图关键词;
51、第一候选图像集确定单元,用于从图像库中确定出对象标签与所述目标搜索对象关键词匹配的图像,得到第一候选图像集,所述图像库中每张图像设置有对象标签和至少一个对象描述标签,所述对象标签和所述对象描述标签为预先设置的所述图像的标签;
52、第二候选图像集确定单元,用于针对所述第一候选图像集中的每张图像,确定出所述对象描述标签与所述目标搜索意图关键词匹配的图像,得到第二候选图像集;
53、分数计算单元,用于采用所述原始搜索对象关键词、所述原始搜索意图关键词、所述对象标签以及所述对象描述标签计算所述第二候选图像集中图像的分数;
54、搜索结果确定单元,用于将所述第二候选图像中分数最高的n张图像作为搜索结果返回给用户。
55、作为本发明实施例技术方案进一步的限定,还包括:
56、预处理单元,用于对所述搜索文本进行预处理,得到预处理后的搜索文本。
57、作为本发明实施例技术方案进一步的限定,所述原始关键词确定单元具体包括:
58、词性分析模块,用于基于依存句法分析确定所述搜索文本中每个词的词性;
59、候选搜索对象关键词确定模块,用于确定出词性为名词的词作为候选搜索对象关键词;
60、原始搜索对象关键词确定模块,用于将候选搜索对象关键词中排序在指定位置的词确定为原始搜索对象关键词;
61、原始搜索意图关键词确定模块,用于将所述搜索文本中在所述原始搜索对象关键词之前的词性为名词、形容词、副词、动词确定为原始搜索意图关键词。
62、作为本发明实施例技术方案进一步的限定,所述原始关键词确定单元具体包括:
63、词性分析模块,用于基于依存句法分析确定所述搜索文本中每个词的词性,以及确定每个词在所述搜索文本中的位置;
64、关键词分类模块,用于将所述搜索文本、所述词性以及所述位置输入关键词分类模型中,得到原始搜索对象关键词和至少一个原始搜索意图关键词。
65、作为本发明实施例技术方案进一步的限定,还包括:
66、训练预测获取单元,用于获取训练语句,所述训练语句为用户搜索图片时输入的语句,所述训练语句中标注有每个词的词性、位置以及标注类别;
67、训练单元,用于将所述训练语句输入关键词分类模型中,得到每个词的预测类别;
68、损失率计算单元,用于采用所述标注类别和预测类别计算损失率;
69、停止训练单元,用于在所述损失率小于预设阈值时,停止对所述关键词分类模型进行训练,得到关键词分类模型;
70、参数更新单元,用于在所述损失率大于预设阈值时,根据所述损失率更新所述关键词分类模型的参数,返回训练单元;
71、其中,所述损失率计算公式如下:
72、;
73、labeli为第i个词的标注类别,typei为第i个词的预测类别,wi为第i个词的权重,其中,在第i个词的词性为名词且在所述搜索文本中的位置n时,wi=0.5,在第i个词的位置不是n时,wi=0.2。
74、作为本发明实施例技术方案进一步的限定,所述目标关键词确定单元具体包括:
75、搜索对象关键词扩充模块,用于获取所述原始搜索对象关键词的同义词和近义词,将所述原始搜索对象关键词的同义词、近义词以及所述原始搜索对象关键词确定为目标搜索对象关键词;
76、搜索意图关键词扩充模块,用于获取所述原始搜索意图关键词的同义词和近义词,将所述原始搜索意图关键词的同义词、近义词以及所述原始搜索意图关键词确定为目标搜索意图关键词。
77、作为本发明实施例技术方案进一步的限定,所述第一候选图像集确定单元具体包括:
78、对象标签获取模块,用于获取所述图像库中每张图像的对象标签,所述对象标签表示所述图像所包含的主要对象;
79、第一节点和边线值确定模块,用于在预设的搜索对象关键词知识图谱中确定所述对象标签的第一节点、所述目标搜索对象关键词的第二节点,以及确定所述第一节点到所述第二节点的边线,所述搜索对象关键词知识图谱中每个节点设置有节点值,每条边线设置有权重;
80、第一相似度计算模块,用于计算所述第一节点的节点值、所述第二节点的节点值、所述边线的权重的乘积,得到多个第一相似度;
81、第一候选图像集生成模块,用于在任意一个第一相似度大于预设阈值时,将所述图像添加到第一候选图像集中,得到第一候选图像集。
82、作为本发明实施例技术方案进一步的限定,所述第二候选图像集确定单元具体包括:
83、对象描述标签获取模块,用于获取所述第一候选图像集中每张图像的对象描述标签,所述对象描述标签用于描述所述图像中包含的主要对象;
84、第一节点和边线值确定模块,用于在预设的搜索意图知识图谱中确定所述对象描述标签的第一节点、所述目标搜索意图关键词的第二节点,以及确定所述第一节点到所述第二节点的边线,所述搜索意图知识图谱中每个节点设置有节点值,每条边线设置有权重;
85、第二相似度计算模块,用于计算所述第一节点的节点值、所述第二节点的节点值、所述边线的权重的乘积,得到多个第二相似度;
86、第二候选图像集生成模块,用于在任意一个第二相似度大于预设阈值时,将所述图像添加到第二候选图像集中,得到第二候选图像集。
87、作为本发明实施例技术方案进一步的限定,所述分数计算单元具体包括:
88、对象关键词权重确定模块,用于针对所述第二候选图像集中的每张图像,从所述目标搜索对象关键词中确定出与所述图像的对象标签最相似的目标搜索对象关键词,并根据预设的搜索对象关键词知识图谱确定所述最相似的目标搜索对象关键词与所述原始搜索对象关键词的边线的第一权重;
89、对象描述标签数据统计模块,用于根据预设的搜索意图知识图谱,统计所述图像的对象描述标签与所述目标搜索意图关键词的相似度大于预设阈值的对象描述标签的数量,以及确定所述目标搜索意图关键词与所述原始搜索意图关键词的边线的第二权重,并确定所述第二权重的平均值,得到第三权重;
90、分数计算模块,用于计算所述第一权重、第三权重、所述数量的乘积,得到所述图像的分数。
91、与现有技术相比,本发明的有益效果是:
92、本发明实施例基于自然语言处理从搜索文本中确定原始搜索对象关键词和至少一个原始搜索意图关键词后进行扩充处理得到目标搜索对象关键词和目标搜索意图关键词,从图像库中确定出对象标签与所述目标搜索对象关键词匹配的图像得到第一候选图像集,进一步针对第一候选图像集中的每张图像,确定出对象描述标签与目标搜索意图关键词匹配的图像得到第二候选图像集,采用原始搜索对象关键词、原始搜索意图关键词、对象标签以及对象描述标签计算第二候选图像集中图像的分数,将分数最高的n张图像返回到用户,实现了通过自然语言识别用户所输入的搜索文本中的搜索对象关键词和搜索意图关键词,通过搜索对象关键词和搜索意图关键词筛选图像,结合了搜索对象和用户的搜索意图搜索图像,能够准确地返回符合用户意图的图像到用户。