本发明涉及语义分析,具体地,涉及基于solr的语义分析方法、系统、介质及设备,更为具体地,涉及基于solr的语音助手。
背景技术:
1、一般的语义分析采用的是文本输入,对用户输入的文本进行分词,然后根据分词的结果去索引库中匹配文档,以达到语义分析的目的。
2、专利文献cn103838833a(申请号:201410061245.5)公开了一种基于相关词语语义分析的全文检索系统,包括查询信息接收模块、基于相关词语的概念语义分析模块、语义知识库模块、检索模块、索引库、索引模块、基于相关词语的主题语义分析模块、结果集处理模块和数据服务器。该文献是对传统互联网搜索引擎的改进,能够对文档进行基于相关词语的概念语义分析和基于相关词语的主题语义分析,从而使用户可得到更准确、更全面、更智能化的查询结果。
3、本发明采用的是语音转换文本,相较于文本输入,语音转换的文本会因为用户发音的不标准伴随着大量错别字,仅通过分词进行语义分析无法达到理想的效果。因此通过使用solr、数据库相结合的方式,先从转换的语音文本中提取关键字,再通过solr将关键词转换为用户真正需求的信息,最后根据获取到的信息去数据库中查询数据,在提高了命中率的同时,用户也拥有了更加便捷的体验。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种基于solr的语义分析方法、系统、介质及设备。
2、根据本发明提供的一种基于solr的语义分析方法,包括:
3、步骤s1:将用户的语音转化为语音文本;
4、步骤s2:基于语音文本提取关键词;
5、步骤s3:基于提取的关键词通过solr进行关键词匹配从而获取用户真正需求信息;
6、步骤s4:根据获取的用户真正需求信息进行相应操作。
7、优选地,所述步骤s2采用:
8、步骤s2.1:根据预设词库对语音文本进行初步的分词转换,得到预处理后的语音文本;
9、步骤s2.2:提取预处理后的语音文本中的用户意图词,确定用户意图,并将用户意图词从语音文本中移除;
10、步骤s2.3:对移除后的语音文本进行分词处理,并根据用户意图提取关键词。
11、优选地,所述步骤s3采用:
12、步骤s3.1:在solr中配置数据库字段与solr文档中域的映射关系,通过dataimport将数据库中的数据以文档的形式导入到solr中,solr会根据域与数据库字段之间的映射关系,对数据库中的字段进行分词和过滤处理,最后将分词过滤的结果建立索引存储到solr的索引库中;
13、步骤s3.2:将关键词作为查询条件,设置查询参数通过httpsolrclient向solr发送http请求,查询solr中满足条件的数据;
14、步骤s3.3:solr接收到http请求后,根据查询条件的域,对查询条件的值进行分词、过滤,将分词、过滤后的结果与solr索引库中的索引进行匹配;solr根据请求中设置的查询参数对数据按照分数从大到小方式的将文档进行排序,获取solr查询到的结果集。
15、步骤s3.4:基于获取的solr查询到的结果集进行进一步筛选,获取用户真正需求信息。
16、优选地,所述步骤s3.4采用:
17、步骤s3.4.1:基于获取到的结果集截取结果集中分数为最大分数的子结果集;
18、步骤s3.4.2:将子结果集中的各个结果分别与关键词依次进行相似度计算获取最大相似度;
19、步骤s3.4.3:将最大相似度对应的结果作为查询条件去数据库中查询数据,获取到数据后,将数据拼接为字符串。
20、根据本发明提供的一种基于solr的语义分析系统,包括:
21、模块m1:将用户的语音转化为语音文本;
22、模块m2:基于语音文本提取关键词;
23、模块m3:基于提取的关键词通过solr进行关键词匹配从而获取用户真正需求信息;
24、模块m4:根据获取的用户真正需求信息进行相应操作。
25、优选地,所述模块m2采用:
26、模块m2.1:根据预设词库对语音文本进行初步的分词转换,得到预处理后的语音文本;
27、模块m2.2:提取预处理后的语音文本中的用户意图词,确定用户意图,并将用户意图词从语音文本中移除;
28、模块m2.3:对移除后的语音文本进行分词处理,并根据用户意图提取关键词。
29、优选地,所述模块m3采用:
30、模块m3.1:在solr中配置数据库字段与solr文档中域的映射关系,通过dataimport将数据库中的数据以文档的形式导入到solr中,solr会根据域与数据库字段之间的映射关系,对数据库中的字段进行分词和过滤处理,最后将分词过滤的结果建立索引存储到solr的索引库中;
31、模块m3.2:将关键词作为查询条件,设置查询参数通过httpsolrclient向solr发送http请求,查询solr中满足条件的数据;
32、模块m3.3:solr接收到http请求后,根据查询条件的域,对查询条件的值进行分词、过滤,将分词、过滤后的结果与solr索引库中的索引进行匹配;solr根据请求中设置的查询参数对数据按照分数从大到小方式的将文档进行排序,获取solr查询到的结果集。
33、模块m3.4:基于获取的solr查询到的结果集进行进一步筛选,获取用户真正需求信息。
34、优选地,所述模块m3.4采用:
35、模块m3.4.1:基于获取到的结果集截取结果集中分数为最大分数的子结果集;
36、模块m3.4.2:将子结果集中的各个结果分别与关键词依次进行相似度计算获取最大相似度;
37、模块m3.4.3:将最大相似度对应的结果作为查询条件去数据库中查询数据,获取到数据后,将数据拼接为字符串。
38、根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述所述的基于solr的语义分析方法的步骤。
39、根据本发明提供的一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现上述所述的基于solr的语义分析方法的步骤。
40、与现有技术相比,本发明具有如下的有益效果:
41、1、本发明通过采用自定义词库,对语音转换文本进行意图提取,转换错词、近义词,关键词提取,解决了将整个文本作为参数,通过solr查询信息时命中率低下的问题;
42、2、本发明通过采用solr根据错误关键词匹配正确关键词,mysql根据正确关键词查询信息的方式,解决了语音转换为文本时,用户普通话不标准,导致错别字过多,无法正确匹配用户需求的问题。
1.一种基于solr的语义分析方法,其特征在于,包括:
2.根据权利要求1所述的基于solr的语义分析方法,其特征在于,所述步骤s2采用:
3.根据权利要求1所述的基于solr的语义分析方法,其特征在于,所述步骤s3采用:
4.根据权利要求1所述的基于solr的语义分析方法,其特征在于,所述步骤s3.4采用:
5.一种基于solr的语义分析系统,其特征在于,包括:
6.根据权利要求5所述的基于solr的语义分析系统,其特征在于,所述模块m2采用:
7.根据权利要求5所述的基于solr的语义分析系统,其特征在于,所述模块m3采用:
8.根据权利要求5所述的基于solr的语义分析系统,其特征在于,所述模块m3.4采用:
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的基于solr的语义分析方法的步骤。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的基于solr的语义分析方法的步骤。