CN114003712A - 基于人工智能的文档搜索方法、装置、设备及存储介质 - Google Patents
基于人工智能的文档搜索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114003712A CN114003712A CN202111276318.9A CN202111276318A CN114003712A CN 114003712 A CN114003712 A CN 114003712A CN 202111276318 A CN202111276318 A CN 202111276318A CN 114003712 A CN114003712 A CN 114003712A
- Authority
- CN
- China
- Prior art keywords
- document
- data set
- word
- matching
- vector
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能领域,提出一种基于人工智能的文档搜索方法、装置、电子设备及存储介质,基于人工智能的文档搜索方法包括:获取第一文档数据集;基于所述第一文档数据集构建文档向量矩阵;基于所述文档向量矩阵获取第二文档数据集,所述第二文档数据集包含停用词;依据预设的停用词表匹配所述第二文档数据集中的停用词以构建文档匹配向量并获取文档相似值;基于所述文档相似值过滤所述第二文档数据集以获取过滤文档。本申请可以有效降低文档搜索过程中停用词过滤阶段的计算量,提高了文档搜索的匹配效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于人工智能的文档搜索方法、装置、电子设备及存储介质。
背景技术
数据库中文档的搜索流程一般为:输入检索文档,搜索引擎根据输入的文档信息匹配数据库中的文档资源,最后呈现出相似度较高的文档资源。
对于文档资源中需要过滤掉的停用词,往往通过建立停用词表并与搜索到的文档资源进行逐一匹配的方式进行过滤,然而文档资源中往往存在大量的停用词,因此通过逐一匹配的方式过滤停用词需要很大的计算量,从而降低了文档搜索的匹配效率。
发明内容
鉴于以上内容,有必要提出一种基于人工智能的文档搜索方法、装置、电子设备及存储介质,以解决如何提高文档搜索的匹配效率这一技术问题。
本申请提供一种基于人工智能的文档搜索方法,包括:
获取第一文档数据集;
基于所述第一文档数据集构建文档向量矩阵;
基于所述文档向量矩阵获取第二文档数据集,所述第二文档数据集包含停用词;
依据预设的停用词表匹配所述第二文档数据集中的停用词以构建文档匹配向量并获取文档相似值;
基于所述文档相似值过滤所述第二文档数据集以获取过滤文档。
如此,通过构建字词匹配矩阵和文档匹配向量,将停用词转换为文档匹配向量的元素来对搜索到的文档数据进行停用词过滤以获取过滤文档。该方案仅需对检索字符的停用词进行修改即可实现所有文档资源的停用词过滤,降低了文档搜索过程中停用词过滤阶段的计算量,提高了文档搜索的匹配效率。
在一些实施例中,所述基于所述第一文档数据集构建文档向量矩阵包括:
划分所述第一文档数据集以获取第一分词数据集;
匹配所述第一分词数据集和预设的检索字符以获取文档表征向量;
基于所述文档表征向量构建所述文档向量矩阵。
如此,通过对第一文档数据集进行更为准确的划分,可依据第一分词数据集获取更为准确的文档表征向量,进而构建文档向量矩阵作为后续步骤的数据源,有利于进一步提高文档过滤结果的准确性。
在一些实施例中,所述基于所述文档向量矩阵获取第二文档数据集包括:
计算所述文档向量矩阵以获取相似项评分值;
依据预设权重计算所述相似项评分值以获取第一文档评分值;
基于所述第一文档评分值筛选所述第一文档数据集以获取所述第二文档数据集。
如此,通过预设的相似项获取更为准确的评分值以得到匹配度更高的第二文档数据集,进一步提高了文档过滤结果的准确性。
在一些实施例中,所述相似项评分值包括余弦距离相似项评分值、欧式距离相似项评分值、检索相似项评分值和编辑距离相似项评分值,所述搜索方法满足关系式:
S=0.3*S1+0.3*S2+0.2*S3+0.2*S4
其中,S表示第一文档评分值,S1表示所述余弦距离相似项评分值,S2表示所述欧式距离相似项评分值,S3表示所述检索相似项评分值,S4表示所述编辑距离相似项评分值。
如此,通过选取多个相似项进行评分,并分配各相似项相近的权重,可以从多个维度综合计算出所述第一文档评分值,提高所述第一文档评分值的准确度,同时不会因为单一相似项评分值的不准确导致所述第一文档评分值误差过大,增强了所述第一文档评分值的稳定性和可靠性。
在一些实施例中,所述依据预设的停用词表匹配所述第二文档数据集中的停用词以构建文档匹配向量并获取文档相似值包括:
划分所述第二文档数据集以获取第二分词结果;
匹配所述第二分词结果和预设的检索字符以获取字词匹配矩阵;
依据预设的停用词表更新所述字词匹配矩阵以获取字词更新矩阵;
基于所述字词更新矩阵构建文档匹配向量;
基于所述文档匹配向量获取所述文档相似值。
如此,划分所述第二文档数据集可以获取更为准确的分词结果,将停用词有效的区分出来,便于后续过程更为准确的对停用词进行过滤从而获取更为准确的字词匹配矩阵,通过构建文档匹配向量可以实现对文档相似值的快速计算,无需逐字匹配文档资源,有效提高文档匹配效率。
在一些实施例中,所述依据预设的停用词表更新所述字词匹配矩阵以获取字词更新矩阵包括:
匹配预设的检索字符和预设的停用词表以获取检索字符停用词;
更新所述字词匹配矩阵中所述检索字符停用词对应的维度值以获取所述字词更新矩阵。
如此,仅需对检索字符的停用词进行修改便能对所有文档资源的停用词进行过滤,有效降低了文档搜索过程中停用词过滤阶段的计算量,提高了文档搜索的匹配效率。
在一些实施例中,所述基于所述文档相似值过滤所述第二文档数据集以获取过滤文档包括:
若所述文档相似值为0,则过滤对应的文档;
若所述文档相似值不为0,则保留对应的文档,并将所有保留的文档作为过滤文档。
如此,通过数值0作为过滤第二文档数据集的一个指标,可以将搜索到的文档中只与预设的检索字符中的停用词相匹配的文档进行快速滤除,并可根据评分将搜索到的文档根据和预设的检索字符的相关度高低进行排序,提高用户检索的效率。
本申请实施例还提供一种基于人工智能的文档搜索装置,包括:
获取单元,用于获取第一文档数据集;
构建单元,用于基于所述第一文档数据集构建文档向量矩阵;
评分单元,用于基于所述文档向量矩阵获取第二文档数据集,所述第二文档数据集包含停用词;
过滤单元,用于依据预设的停用词表匹配所述第二文档数据集中的停用词以构建文档匹配向量并获取文档相似值;
所述过滤单元,还用于基于所述文档相似值过滤第二文档数据集以获取过滤文档。
本申请实施例还提供一种电子设备,包括:
存储器,存储至少一个指令;
处理器,执行所述存储器中存储的指令以实现所述的基于人工智能的文档搜索方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的基于人工智能的文档搜索方法。
附图说明
图1是本申请所涉及的基于人工智能的文档搜索方法的较佳实施例的流程图。
图2是本申请所涉及的基于第二文档数据集和预设的停用词表构建文档匹配向量以获取文档相似值的较佳实施例的流程图。
图3是本申请所涉及的基于人工智能的文档搜索装置的较佳实施例的功能模块图。
图4是本申请所涉及的基于人工智能的文档搜索方法的较佳实施例的电子设备的结构示意图。
图5是本申请所涉及的文档数据的TF-IDF分值表。
图6是本申请所涉及的文档数据的BM25分值表。
图7是本申请所涉及的文档数据的2-gram数值表。
具体实施方式
为了能够更清楚地理解本申请的目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本申请,所述描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本申请实施例提供一种基于人工智能的文档搜索方法,可应用于一个或者多个电子设备中,电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。
电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
如图1所示,是本申请基于人工智能的文档搜索方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S10,获取第一文档数据集。
在一个可选的实施例中,获取第一文档数据集包括:
S101,建立文档数据库,数据库为Elasticsearch数据库。
该可选的实施例中,由于获取的文档数据信息来源多且结构不同,因此可根据数据所属业务系统、类型、结构、长度等打上统一规范的标记,用于标识数据的来源、种类等属性。
该可选的实施例中,Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎。Elasticsearch的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排序,打分,再将返回结果呈现给用户。
S102,基于文档数据库和预设的检索字符获取第一文档数据集。
该可选的实施例中,预设的检索字符为用户输入的文档信息,可使用Elasticsearch搜索相关性排序(ES)算法获取第一文档数据集,ES算法采用基于字的词频-逆向文件频率(TF-IDF)方法,Elasticsearch首先对文档分析,然后使用结果建立一个倒排索引,找到和检索字符相关的资源参与召回计算。计算的过程如下:
构建倒排索引表:即统计出现某些词的文档有哪些。示例性的,对于三个句子序列1)“ABC”、2)“BCD”、3)“CDW”,则可以构建对于字典(“A”、“B”、“C”、“D”、“W”)的文档。则有A:[1],B:[1,2],C:[1,2,3],D:[2,3],W:[3]。
初始资源召回:即在上述步骤构建的资源中找到命中的字,例如对于用户搜索“AW”,则先将用户的检索字符按照字拆开,然后找到A出现的文档有1)文档,找到W出现的文档有3)文档,则参与计算的文档将会有文档1)和3)。在实际的召回中会去除标点符号,避免将所有文档都召回;
召回数据计算:通过以上的文档计算,可以找到基础的资源池。根据资源池子计算出两个指标,1)TF值,2)IDF值。其中TF为词频值,IDF为逆向词频值,计算公式如下:
TF=某个字在文档中出现的次数/该文档的总字数;
IDF=log(语料库的文档总数/(包含该词的文档数+1))。
上述公式表明,如果一个词出现的频率越高,那么分母就越大,逆文档频率就越接近0;分母之所以要加1,是为了避免分母为0(即所有文档都不包含该词);log表示对得到的值取对数。
则TF-IDF计算表达式为:TF-IDF=TF*IDF。
根据上述表达式,可以计算出单个文档在各个字维度上的TF-IDF分值。所有的字作为一个字典,可以得到单个文档在各个字维度上的分值。
示例性的,本示例作为示例1,设文档数据库中文档分别为“我爱深圳”,“我在前海湾”,“他更爱深圳”,用户输入的检索字符为“我在深圳”,则依据TF-IDF计算方法可获取分值表,如图5所示的文档数据的TF-IDF分值表。
通过上述方式,可得到检索字符与文档数据库中各文档的匹配分值,并筛选掉匹配分值为0的文档,保留剩下的文档作为第一文档数据集。
如此,通过建立文档数据库实现对第一文档数据集的快速准确获取,原因在于Elasticsearch数据库可基于Elasticsearch分析引擎对预设的检索字符进行自动分词,并根据相关程度赋予每个分词不同的权重来对匹配的数据进行排序,最后依据排序将最佳的匹配结果呈现给用户。
S11,基于第一文档数据集构建文档向量矩阵。
在一个可选的实施例中,基于第一文档数据集构建文档向量矩阵包括:
S111,划分第一文档数据集以获取第一分词数据集。
该可选的实施例中,可使用分词工具划分第一文档数据集,其中分词工具可使用结巴分词(jieba),由于第一文档数据集是依据分字形式进行逐字获取的,无法有效匹配文档数据集的语义信息,因此使用结巴分词对第一文档数据集进行分词处理后再与用户的输入文档进行匹配,可获取更准确的文档匹配结果,结巴分词共有三种分词模式,分别为精确模式、全模式和搜索引擎模式,其中精确模式试图将句子最精确地切开,适合文档分析,因此本方案中选用精确模式对第一文档数据集进行分词得到第一分词数据集。
S112,匹配第一分词数据集和预设的检索字符以获取文档表征向量。
该可选的实施例中,可使用可插拔相似度算法(BM25)匹配第一分词数据集以获取文档表征向量,BM25算法加入了对资源句子长度的调和,可以进一步对第一分词数据集进行计算。BM25在传统TF-IDF的基础上增加了几个可调节的参数,使得它在应用上更佳灵活和强大,具有较高的实用性。该算法的表达式为:
BM25=(idf*(k+1)*tf)/(k*(1.0-b+b*L)+tf)
其中参数b表示限制文档长度对计算结果的影响程度;L是当前文档长度与平均文档长度的比值;常量k,用来限制TF值的增长极限,当TF增加时,TF分值跟着增加,但是BM25的TF分值会被限制在0~k+1之间。它可以无限逼近k+1,但永远无法触及它。这在业务上可以理解为某一个因素的影响强度不能是无限的,而是有个最大值,这也符合我们对文档相关性逻辑的理解,本方案中选择使用k=1.2。
该可选的实施例中,通过BM25算法计算出第一分词数据集中每个文档的文档表征向量,文档表征向量的维度是词出现的总数量,其中数据采用嵌套列表方式存储List<List<Double>>,列表中嵌套列表,每一个子列表的长度是固定的,长度为词表的长度。
示例性的,在示例1中,所有的文档统计后共有8组不同的字/词,则字典的长度是8,向量的维度即为8,子列表的长度即为固定值8。通过以上的BM25的计算公式,可以计算出每个文档中对应的每个字/词的BM25值,然后构建一个数据表,如图6所示的文档数据的BM25分值表。
图6中每个数值即为每个文档中每个字/词对应的BM25值,对应每一行则为该文档的向量表达,例如检索字符的文档表征向量即为[0.3,0,0.4,0.33,0,0,0,0]。其中,由于BM25值是通过匹配检索字符中每个字/词与各文档之间的相关性获得的,因此不同的检索字符会导致计算得到的BM25值也不相同,进而使由BM25值组成的各文档的文档表征向量也不同。
S113,基于文档表征向量构建文档向量矩阵。
该可选的实施例中,基于第一文档数据集中所有的文档所对应的文档表征向量以构建文档向量矩阵。
如此,通过对第一文档数据集进行更为准确的分词划分得到第一分词数据集,并依据第一分词数据集匹配预设检索分词更为准确的获取文档表征向量来构建文档向量矩阵以作为后续步骤的数据源,有利于进一步提高文档过滤结果的准确性。
S12,基于文档向量矩阵获取第二文档数据集,第二文档数据集包含停用词。
在一个可选的实施例中,基于文档向量矩阵获取第二文档数据集包括:
S121,计算文档向量矩阵以获取相似项评分值。
该可选的实施例中,相似项分别为各文档向量与预设的检索字符向量之间的余弦距离相似项评分值、欧式距离相似项评分值、检索相似项评分值、编辑距离相似项评分值。其中,余弦距离相似项评分值为各文档向量与检索字符向量之间的余弦相似度评分值S1;欧式距离相似项评分值为各文档向量与检索字符向量之间的欧氏距离评分值S2;检索相似项评分值为基于检索字符在elastic search数据库中进行查询计算,得到相似项评分值S3;编辑距离相似项评分值为各文档向量与检索字符向量之间的编辑距离评分值S4。
其中,分别计算预设的检索字符向量与每个文档向量之间的S1、S2、S3、S4,示例性的,设预设的检索字符对应的检索字符向量为AT,两个文档向量分别为BT和CT,则计算检索字符向量AT与文档向量BT之间的各相似项评分值得到S1=0.6、S2=0.3、S3=0.8、S4=0.2,同样可计算得到检索字符向量AT与文档向量CT之间的各相似项评分值为S1=0.5、S2=0.2、S3=0.6、S4=0.3。
该可选的实施例中,编辑距离指的是从一个字符串改变到另一个字符串所要的单字符编辑操作次数。单字符操作包含:插入、删除、替换这三种操作。操作的次数为c,则编辑距离相似度分值为:
S4=(Max(lenth(doc1),length(doc2))-c)/Max(lenth(doc1),length(doc2))
由于操作的次数可能大于文档的长度,所以最后的S4可能为负值,需要在该值和0中取大值,即S=Max(0,S4)。
示例性的,预设的检索字符为“我在深圳”,则检索字符和文档1的编辑距离为:
“我在深圳”改为“我爱深圳”,需要将“在”改为“爱”这一个步骤,
所以S4=(Max(4,4)-1)/Max(4,4)=3/4=0.75。
检索字符和文档2的编辑距离为:
“我在深圳”改为“我在前海湾”,需要将“深”改为“前”,“圳”改为“海”,然后插入“湾”这3个步骤,
所以S4=(Max(4,5)-3)/Max(4,5)=2/5=0.4。
S122,依据预设权重计算相似项评分值以获取第一文档评分值。
在一个可选的实施例中,S1的预设权重为0.3,S2的权重为0.3,S3的权重为0.2,S4的权重为0.2,第一文档评分值S的计算式为:
S=0.3*S1+0.3*S2+0.2*S3+0.2*S4
通过上述实施例,可以得到第一文档数据集中每个文档的第一文档评分值S。
S123,基于第一文档评分值筛选第一文档数据集以获取第二文档数据集。
在一个可选的实施例中,依据第一文档评分值将各个文档的S值按照从高到低的排序以对第一文档数据集中的文档进行排序,设立筛选阈值为0.2,将排序结果中小于阈值的文档进行滤除,保留剩下的文档得到第二文档数据集。
其中,由于上述过程尚未对第一文档数据集中包含的停用词进行过滤,因此所得到的第二文档数据集中仍包含有各文档中自带的停用词。
如此,通过构建多个相似项获取更为准确的评分值,以从第一文档数据集中得到与检索字符匹配度更高的文档数据作为第二文档数据集,进一步提高文档过滤结果的准确性。
S13,依据预设的停用词表匹配所述第二文档数据集中的停用词以构建文档匹配向量并获取文档相似值。
请参见图2,在一个可选的实施例中,基于第二文档数据集和预设的停用词表构建文档匹配向量以获取文档相似值包括:
S131,划分第二文档数据集以获取第二分词结果。
在一个可选的实施例中,可使用二元语法(2-gram)算法对预设的检索字符和第二文档数据集中的文档进行拆分,并将通过2-gram算法对第二文档数据集中的文档进行拆分后的结果作为所述第二分词结果。其中2-gram分词是一种最大概率分词,在计算一个词概率的时候,它不光考虑自身,还会考虑它的前驱。
示例性的,例如一句话基于结巴分词工具分词后是[我,是,白羊座,的,男子汉],基于2-gram方式可将多于2字的词语进一步拆分成2字词语,将得到:[我,是,白羊座,白羊,羊座,的,男子汉,男子,子汗]。
S132,匹配第二分词结果和所述预设的检索字符以获取字词匹配矩阵。
在一个可选的实施例中,使用Elasticsearch搜索与数据分析引擎逐一对经2-gram分词后的每一个字/词和第二文档数据集中的各个文档进行匹配,如果该字词存在于文档的分词集合中,则该字词在字词匹配矩阵中对应的值就是1,不存在就是0。
示例性的,设检索字符为:“我是白羊座的男子汉吗”,分词后为[我,是,白羊座,的,男子汉,吗],基于2-gram方式即将词语拆分成2字词语,将得到:[我,是,白羊座,白羊,羊座,的,男子汉,男子,子汗,吗],这里将2字以上的词拆分后得到的一个集合。对于文档A:[我,的,星座,是,白羊],对于文档B:[白,没有,黑,好看,吗],其中矩阵的维度是所有词的维度的一个集合,维度的大小是集合所有词的总数量,检索字符按照2-gram拆分之后得到的词典如图7所示的文档数据的2-gram数值表,相应维度的数值也填写到图7中,最终得到如图7所示的字词匹配矩阵。
S133,依据预设的停用词表更新字词匹配矩阵以获取字词更新矩阵。
在一个可选的实施例中,预设的停用词表为采用基础词表加上人工整理的方式进行构建,包含:标点符号、疑问词、承接词语。其中标点符号为逗号、句号、顿号等文档常见符号;疑问词为什么、怎么、呢、吗等同类词;承接词语表示语义的承接,例如“然后”,“进而”,“紧接着”这样的词语,表转折的词语,例如“却”、“又”、“忽而”、“但是”等同类的词语,这一类词语的整理采用人工整理的方式。整理的方式如下:
对已有的所有数据进行分词,分词后标注词性,去除一些基本的带有词性的词,例如名词、动词、形容词等,然后将剩下的词语收集到一起,人工标注是否需要作为停用词整理在一起。
停用词最终整理成一个文档格式(txt)文档,与其他基础数据放在一起,例如放在磁盘或者放在网络附属存储(Network Attached Storage,nas)盘上,系统启动时将数据从磁盘加载到内存,然后常驻内存,在内存中做处理。
在一个可选的实施例中,依据预设的停用词表更新字词匹配矩阵以获取字词更新矩阵的过程为:根据预设的停用词表将字词匹配矩阵中的停用词维度置为0,示例性的,图7中检索字符“吗”和文档B的“吗”匹配了,但是在这里的过滤阶段会将停用词“吗”的维度值改为0,这里改为0只需要对检索字符进行修改,由于只有源文档一条的计算量,因此计算量很小。
S134,基于字词更新矩阵构建文档匹配向量。
在一个可选的实施例中,可使用杰卡德度量算法计算字词更新矩阵和预设的检索字符之间的相似性,杰卡德度量算法为jac=(A∩B)/(A∪B),其中A是所述预设的检索字符的词语集合,B是某个文档的词语集合,如果A交B结果为0,则jac为0。
示例性的,例如预设的检索字符为“我是白羊座的男子汉吗”,基于2-gram方式进行词语拆分后将得到:[我,是,白羊座,白羊,羊座,的,男子汉,男子,子汗],则对于文档[我,的,星座,是,白羊],计算A交B时,将会有词语“白羊”命中,jac结果不为0。
在一个可选的实施例中,对停用词所对应的数值进行更新后,基于字词更新矩阵可获取各文档所对应的文档匹配向量,由于文档匹配向量的数值只有1和0,因此对两个文档匹配向量直接相乘即可获取两个文档之间的杰卡德相似性。
示例性的,如图7中检索字符的文档向量为[1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0],文档A的检索字符为[1,1,0,1,0,1,0,0,0,0,1,0,0,0,0]。
S135,基于文档匹配向量获取文档相似值。
示例性的,检索字符的文档匹配向量和文档A的文档匹配向量相乘后的结果为:
[1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0]*[1,1,0,1,0,1,0,0,0,0,1,0,0,0,0]=4
检索字符的文档匹配向量和文档B的文档匹配向量相乘后的结果为:
[1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0]*[0,0,0,0,0,0,0,0,0,1,0,1,1,1,1]=0
上述向量相乘后所得到的结果即为文档相似值。
S14,基于文档相似值过滤第二文档数据集以获取过滤文档。
在一个可选的实施例中,分别计算检索字符向量与第二文档数据集中各文档向量的杰卡德相似性结果,对其中结果为0的文档进行滤除,保留剩余的文档得到文档过滤结果,对文档过滤结果中的各文档依据杰卡德相似性结果进行由高到低的排序后对用户进行展示。
在一个可选的实施例中,考虑到用户可能直接搜索停用词,比如用户搜索“啦啦啦啦”时,为避免用户搜索结果返回不到任何数据,在过滤之前先判断检索字符中停用词的个数是否等于检索字符中词语总数,以此来判断检索字符中字词是否全是停用词,如果全是停用词则无需进行过滤计算。
如此,通过构建字词匹配矩阵和文档匹配向量的方式对搜索到的文档数据进行停用词过滤以获取过滤文档,可以实现仅需对检索字符的停用词进行修改便能对所有文档资源的停用词进行过滤的目的,有效降低了文档搜索过程中停用词过滤阶段的计算量,提高了文档搜索的匹配效率。
由以上技术方案可以看出,本申请能够通过构建字词匹配矩阵和文档匹配向量,将停用词转换为文档匹配向量的元素来对搜索到的文档数据进行停用词过滤以获取过滤文档,仅需对检索字符的停用词进行修改便能对所有文档资源的停用词进行过滤,有效降低了文档搜索过程中停用词过滤阶段的计算量,提高了文档搜索的匹配效率。
请参见图3,图3是本申请实施例提供的一种基于人工智能的文档搜索装置的较佳实施例的功能模块图。基于人工智能的文档搜索装置11包括获取单元110、构建单元111、评分单元112、过滤单元113。本申请所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
在一个可选的实施例中,获取单元110用于获取第一文档数据集。
该可选的实施例中,首先建立文档数据库,数据库为Elasticsearch数据库,Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎。Elasticsearch的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排序,打分,再将返回结果呈现给用户。
该可选的实施例中,获取单元110基于文档数据库和预设的检索字符获取第一文档数据集,预设的检索字符为用户输入的文档信息,可使用Elasticsearch搜索相关性排序(ES)算法获取第一文档数据集,ES算法采用基于字的词频-逆向文件频率(TF-IDF)方法,Elasticsearch首先对文档分析,然后使用结果建立一个倒排索引,找到和检索字符相关的资源参与召回计算。
在一个可选的实施例中,构建单元111用于基于第一文档数据集构建文档向量矩阵。
划分第一文档数据集以获取第一分词数据集;
匹配第一分词数据集和预设的检索字符以获取文档表征向量;
基于文档表征向量构建文档向量矩阵。
该可选的实施例中,可使用分词工具划分第一文档数据集,其中分词工具可使用结巴分词(jieba),由于第一文档数据集是依据分字形式进行逐字获取的,无法有效匹配文档数据集的语义信息,因此使用结巴分词对第一文档数据集进行分词处理后再与用户的输入文档进行匹配,可获取更准确的文档匹配结果,结巴分词共有三种分词模式,分别为精确模式、全模式和搜索引擎模式,其中精确模式试图将句子最精确地切开,适合文档分析,因此本方案中选用精确模式对第一文档数据集进行分词得到第一分词数据集。
该可选的实施例中,可使用可插拔相似度算法(BM25)匹配第一分词数据集以获取文档表征向量,BM25算法加入了对资源句子长度的调和,可以进一步对第一分词数据集进行计算。BM25在传统TF-IDF的基础上增加了几个可调节的参数,使得它在应用上更佳灵活和强大,具有较高的实用性。该算法的表达式为:
BM25=(idf*(k+1)*tf)/(k*(1.0-b+b*L)+tf)
其中参数b表示限制文档长度对计算结果的影响程度;L是当前文档长度与平均文档长度的比值;常量k,用来限制TF值的增长极限,当TF增加时,TF分值跟着增加,但是BM25的TF分值会被限制在0~k+1之间。它可以无限逼近k+1,但永远无法触及它。这在业务上可以理解为某一个因素的影响强度不能是无限的,而是有个最大值,这也符合我们对文档相关性逻辑的理解,本方案中选择使用k=1.2。
该可选的实施例中,通过BM25算法计算出第一分词数据集中每个文档的文档表征向量,文档表征向量的维度是词出现的总数量,其中数据采用嵌套列表方式存储List<List<Double>>,列表中嵌套列表,每一个子列表的长度是固定的,长度为词表的长度。
该可选的实施例中,基于第一文档数据集中所有的文档所对应的文档表征向量以构建文档向量矩阵。
在一个可选的实施例中,评分单元112用于基于文档向量矩阵获取第二文档数据集,具体包括:
计算文档向量矩阵以获取相似项评分值;
依据预设权重计算相似项评分值以获取第一文档评分值;
基于第一文档评分值筛选第一文档数据集以获取第二文档数据集。
该可选的实施例中,相似项分别为各文档向量与预设的检索字符向量之间的余弦距离相似项评分值、欧式距离相似项评分值、检索相似项评分值、编辑距离相似项评分值。其中,余弦距离相似项评分值为各文档向量与检索字符向量之间的余弦相似度评分值S1;欧式距离相似项评分值为各文档向量与检索字符向量之间的欧氏距离评分值S2;检索相似项评分值为基于检索字符在elastic search数据库中进行查询计算,得到相似项评分值S3;编辑距离相似项评分值为各文档向量与检索字符之间的编辑距离评分值S4。
其中,分别计算预设的检索字符向量与每个文档向量之间的S1、S2、S3、S4,示例性的,设预设的检索字符对应的检索字符向量为AT,两个文档向量分别为BT和CT,则计算检索字符向量AT与文档向量BT之间的各相似项评分值得到S1=0.6、S2=0.3、S3=0.8、S4=0.2,同样可计算得到检索字符向量AT与文档向量CT之间的各相似项评分值为S1=0.5、S2=0.2、S3=0.6、S4=0.3。
该可选的实施例中,编辑距离指的是从一个字符串改变到另一个字符串所要的单字符编辑操作次数。单字符操作包含:插入、删除、替换这三种操作。操作的次数为c,则编辑距离相似度分值为:
S4=(Max(lenth(doc1),length(doc2))-c)/Max(lenth(doc1),length(doc2))
由于操作的次数可能大于文档的长度,所以最后的S4可能为负值,需要在该值和0中取大值,即S=Max(0,S4)。
示例性的,预设的检索字符为“我在深圳”,则检索字符和文档1的编辑距离为:
“我在深圳”改为“我爱深圳”,需要将“在”改为“爱”这一个步骤,
所以S4=(Max(4,4)-1)/Max(4,4)=3/4=0.75。
检索字符和文档2的编辑距离为:
“我在深圳”改为“我在前海湾”,需要将“深”改为“前”,“圳”改为“海”,然后插入“湾”这3个步骤,
所以S4=(Max(4,5)-3)/Max(4,5)=2/5=0.4。
其中,检索字符和各文档在计算时的先后位置关系并不会影响到对应的相似项分值,原因在于S1、S2、S3、S4均是通过对检索字符和各文档的整体进行计算得到的。
示例性的,预设的检索字符为“我在深圳”,计算检索字符和文档1的编辑距离以及计算文档1和检索字符的编辑距离结果是一致的,因为“我在深圳”和“我爱深圳”之间只有一个字不同,因此计算公式同为S4=(Max(4,4)-1)/Max(4,4)=3/4=0.75。
在一个可选的实施例中,S1的预设权重为0.3,S2的权重为0.3,S3的权重为0.2,S4的权重为0.2,加权求和结果S的计算式为:
S=0.3*S1+0.3*S2+0.2*S3+0.2*S4
在一个可选的实施例中,依据第一文档评分值将各个文档的S值按照从高到低的顺序对第一文档数据集中的文档进行排序,设立筛选阈值为0.2,将排序结果中小于阈值的文档进行滤除,保留剩下的文档得到第二文档数据集。
在一个可选的实施例中,过滤单元113用于依据预设的停用词表匹配所述第二文档数据集中的停用词以构建文档匹配向量并获取文档相似值,具体包括:
划分第二文档数据集以获取第二分词结果;
匹配第二分词结果和预设的检索字符以获取字词匹配矩阵;
依据预设的停用词表更新字词匹配矩阵以获取字词更新矩阵;
基于字词更新矩阵构建文档匹配向量;
基于文档匹配向量获取文档相似值。
在一个可选的实施例中,可使用二元语法(2-gram)算法对预设的检索字符和第二文档数据集中的文档进行拆分,并将通过2-gram算法对第二文档数据集中的文档进行拆分后的结果作为所述第二分词结果。其中2-gram分词是一种最大概率分词,在计算一个词概率的时候,它不光考虑自身,还会考虑它的前驱。
示例性的,例如一句话基于结巴分词工具分词后是[我,是,白羊座,的,男子汉],基于2-gram方式可将多于2字的词语进一步拆分成2字词语,将得到:[我,是,白羊座,白羊,羊座,的,男子汉,男子,子汗]。
在一个可选的实施例中,使用Elasticsearch搜索与数据分析引擎逐一对经2-gram分词后的每一个字/词和第二文档数据集中的各个文档进行匹配,如果该字词存在于文档的分词集合中,则该字词在字词匹配矩阵中对应的值就是1,不存在就是0。
示例性的,设检索字符为:“我是白羊座的男子汉吗”,分词后为[我,是,白羊座,的,男子汉,吗],基于2-gram方式即将词语拆分成2字词语,将得到:[我,是,白羊座,白羊,羊座,的,男子汉,男子,子汗,吗],这里将2字以上的词拆分后得到的一个集合。对于文档A:[我,的,星座,是,白羊],对于文档B:[白,没有,黑,好看,吗],矩阵的维度是所有词的维度的一个集合,维度的大小是集合所有词的总数量,检索字符按照2-gram拆分之后得到的词典如图7所示的文档数据的2-gram数值表,相应维度的数值也填写到图7中。
在一个可选的实施例中,预设的停用词表为采用基础词表加上人工整理的方式进行构建,包含:标点符号、疑问词、承接词语。其中标点符号为逗号、句号、顿号等文档常见符号;疑问词为什么、怎么、呢、吗等同类词;承接词语表示语义的承接,例如“然后”,“进而”,“紧接着”这样的词语,表转折的词语,例如“却”、“又”、“忽而”、“但是”等同类的词语,这一类的词语的整理采用人工整理的方式。整理的方式如下:
对已有的所有数据进行分词,分词后标注词性,去除一些基本的带有词性的词,例如名词、动词、形容词等,然后将剩下的词语收集到一起,人工标注是否需要作为停用词整理在一起。
停用词最终整理成一个文档格式(txt)文档,与其他基础数据放在一起,例如放在磁盘或者放在网络附属存储(Network Attached Storage,nas)盘上,系统启动时将数据从磁盘加载到内存,然后常驻内存,在内存中做处理。
在一个可选的实施例中,,依据预设的停用词表更新字词匹配矩阵以获取字词更新矩阵的过程为:根据预设的停用词表将字词匹配矩阵中的停用词维度置为0,示例性的,图7中检索字符“吗”和文档B的“吗”匹配了,但是在这里的过滤阶段会将停用词“吗”的维度值改为0,这里改为0只需要对检索字符进行修改,由于只有源文档一条的计算量,因此计算量很小。
在一个可选的实施例中,可使用杰卡德度量算法计算字词更新矩阵和预设的检索字符之间的相似性,杰卡德度量算法的计算表达式为jac=(A∩B)/(A∪B),其中A是检索文档的词语集合,B是单条被检索资源的词语集合,如果A交B结果为0,则jac为0。
在一个可选的实施例中,对停用词所对应的数值进行更新后,基于字词更新矩阵可获取各文档所对应的文档匹配向量,由于文档匹配向量的数值只有1和0,因此对两个文档匹配向量直接相乘即可获取两个文档之间的杰卡德相似性。
所述过滤单元113还用于基于所述文档相似值过滤第二文档数据集以获取过滤文档。
在一个可选的实施例中,分别计算检索字符的文档匹配向量与第二文档数据集中各文档的文档匹配向量的杰卡德相似性结果,对其中结果为0的文档进行滤除,保留剩余的文档得到文档过滤结果,对文档过滤结果中的各文档依据杰卡德相似性结果进行由高到低的排序后对用户进行展示。
在一个可选的实施例中,考虑到用户可能直接搜索停用词,比如用户搜索“啦啦啦啦”时,为避免用户搜索结果返回不到任何数据,在过滤之前先判断检索字符中停用词的个数是否等于检索字符中词语总数,以此来判断检索字符中字词是否全是停用词,如果全是停用词则无需进行过滤计算。
由以上技术方案可以看出,本申请能够通过构建字词匹配矩阵和文档匹配向量,将停用词转换为文档匹配向量的元素来对搜索到的文档数据进行停用词过滤以获取过滤文档,仅需对检索字符的停用词进行修改便能对所有文档资源的停用词进行过滤,降低了文档搜索过程中停用词过滤阶段的计算量,提高了文档搜索的匹配效率。
请参见图4,图4是本申请实施例提供的一种电子设备的结构示意图。电子设备1包括存储器12和处理器13。存储器12用于存储计算机可读指令,处理器13用执行储器中存储的计算机可读指令以实现上述任一实施例的基于人工智能的文档搜索方法。
在一个可选的实施例中,电子设备1还包括总线、存储在存储器12中并可在处理器13上运行的计算机程序,例如基于人工智能的文档搜索程序。
图4仅示出了具有存储器12和处理器13的电子设备1,本领域技术人员可以理解的是,图4示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图1,电子设备1中的所述存储器12存储多个计算机可读指令以实现一种基于人工智能的文档搜索方法,所述处理器13可执行所述多个指令从而实现:
获取第一文档数据集;
基于第一文档数据集构建文档向量矩阵;
基于文档向量矩阵获取第二文档数据集,第二文档数据集包含停用词;
依据预设的停用词表匹配所述第二文档数据集中的停用词以构建文档匹配向量并获取文档相似值;
基于文档相似值过滤第二文档数据集以获取过滤文档。
具体地,处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,所述电子设备1既可以是总线型结构,也可以是星形结构,所述电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如所述电子设备1还可以包括输入输出设备、网络接入设备等。
需要说明的是,所述电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质可以是非易失性的,也可以是易失性的。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于人工智能的文档搜索程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是所述电子设备1的控制核心(Control Unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于人工智能的文档搜索程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于人工智能的文档搜索方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成获取单元110、构建单元111、评分单元112、过滤单元113。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述基于人工智能的文档搜索方法的部分。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存储器及其他存储器等。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图4中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器13逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
本申请实施例还提供一种计算机可读存储介质(图未示),计算机可读存储介质中存储有计算机可读指令,计算机可读指令被电子设备中的处理器执行以实现上述任一实施例所述的基于人工智能的文档搜索方法。
应该了解,所述实施例仅为说明之用,在申请范围上并不受此结构限制。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。说明书陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (10)
1.一种基于人工智能的文档搜索方法,其特征在于,包括:
获取第一文档数据集;
基于所述第一文档数据集构建文档向量矩阵;
基于所述文档向量矩阵获取第二文档数据集,所述第二文档数据集包含停用词;
依据预设的停用词表匹配所述第二文档数据集中的停用词以构建文档匹配向量并获取文档相似值;
基于所述文档相似值过滤所述第二文档数据集以获取过滤文档。
2.根据权利要求1所述的基于人工智能的文档搜索方法,其特征在于,所述基于所述第一文档数据集构建文档向量矩阵包括:
划分所述第一文档数据集以获取第一分词数据集;
匹配所述第一分词数据集和预设的检索字符以获取文档表征向量;
基于所述文档表征向量构建所述文档向量矩阵。
3.根据权利要求1所述的基于人工智能的文档搜索方法,其特征在于,所述基于所述文档向量矩阵获取第二文档数据集包括:
计算所述文档向量矩阵以获取相似项评分值;
依据预设权重计算所述相似项评分值以获取第一文档评分值;
基于所述第一文档评分值筛选所述第一文档数据集以获取所述第二文档数据集。
4.根据权利要求3所述的基于人工智能的文档搜索方法,其特征在于,所述相似项评分值包括余弦距离相似项评分值、欧式距离相似项评分值、检索相似项评分值和编辑距离相似项评分值,所述搜索方法满足关系式:
S=0.3*S1+0.3*S2+0.2*S3+0.2*S4
其中,S表示第一文档评分值,S1表示所述余弦距离相似项评分值,S2表示所述欧式距离相似项评分值,S3表示所述检索相似项评分值,S4表示所述编辑距离相似项评分值。
5.根据权利要求1所述的基于人工智能的文档搜索方法,其特征在于,所述基于所述第二文档数据集和预设的停用词表构建文档匹配向量以获取文档相似值包括:
划分所述第二文档数据集以获取第二分词结果;
匹配所述第二分词结果和预设的检索字符以获取字词匹配矩阵;
依据预设的停用词表更新所述字词匹配矩阵以获取字词更新矩阵;
基于所述字词更新矩阵构建文档匹配向量;
基于所述文档匹配向量获取所述文档相似值。
6.根据权利要求5所述的基于人工智能的文档搜索方法,其特征在于,所述依据预设的停用词表更新所述字词匹配矩阵以获取字词更新矩阵包括:
匹配预设的检索字符和预设的停用词表以获取检索字符停用词;
更新所述字词匹配矩阵中所述检索字符停用词对应的维度值以获取所述字词更新矩阵。
7.根据权利要求1所述的基于人工智能的文档搜索方法,其特征在于,所述基于所述文档相似值过滤所述第二文档数据集以获取过滤文档包括:
若所述文档相似值为0,则过滤对应的文档;
若所述文档相似值不为0,则保留对应的文档,并将所有保留的文档作为过滤文档。
8.一种基于人工智能的基于人工智能的文档搜索装置,其特征在于,包括:
获取单元,用于获取第一文档数据集;
构建单元,用于基于所述第一文档数据集构建文档向量矩阵;
评分单元,用于基于所述文档向量矩阵获取第二文档数据集,所述第二文档数据集包含停用词;
过滤单元,用于依据预设的停用词表匹配所述第二文档数据集中的停用词以构建文档匹配向量并获取文档相似值;
所述过滤单元,还用于基于所述文档相似值过滤第二文档数据集以获取过滤文档。
9.一种电子设备,其特征在于,包括:
存储器,存储计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的基于人工智能的文档搜索方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现如权利要求1至7中任意一项所述的基于人工智能的文档搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111276318.9A CN114003712A (zh) | 2021-10-29 | 2021-10-29 | 基于人工智能的文档搜索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111276318.9A CN114003712A (zh) | 2021-10-29 | 2021-10-29 | 基于人工智能的文档搜索方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114003712A true CN114003712A (zh) | 2022-02-01 |
Family
ID=79925586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111276318.9A Pending CN114003712A (zh) | 2021-10-29 | 2021-10-29 | 基于人工智能的文档搜索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003712A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741492A (zh) * | 2022-04-21 | 2022-07-12 | 平安国际智慧城市科技股份有限公司 | 文本搜索方法、装置、设备及存储介质 |
CN114861651A (zh) * | 2022-05-05 | 2022-08-05 | 北京百度网讯科技有限公司 | 一种模型训练优化方法、计算设备、电子设备及存储介质 |
-
2021
- 2021-10-29 CN CN202111276318.9A patent/CN114003712A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741492A (zh) * | 2022-04-21 | 2022-07-12 | 平安国际智慧城市科技股份有限公司 | 文本搜索方法、装置、设备及存储介质 |
CN114861651A (zh) * | 2022-05-05 | 2022-08-05 | 北京百度网讯科技有限公司 | 一种模型训练优化方法、计算设备、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657231B2 (en) | Capturing rich response relationships with small-data neural networks | |
CN108804641B (zh) | 一种文本相似度的计算方法、装置、设备和存储介质 | |
WO2021174919A1 (zh) | 简历数据信息解析及匹配方法、装置、电子设备及介质 | |
WO2022141861A1 (zh) | 情感分类方法、装置、电子设备及存储介质 | |
CN103678576B (zh) | 基于动态语义分析的全文检索系统 | |
CN111639153B (zh) | 基于法律知识图谱的查询方法、装置、电子设备及介质 | |
US20180075013A1 (en) | Method and system for automating training of named entity recognition in natural language processing | |
US20180181544A1 (en) | Systems for Automatically Extracting Job Skills from an Electronic Document | |
WO2019041520A1 (zh) | 基于社交数据的金融产品推荐方法、电子装置及介质 | |
US20150032747A1 (en) | Method for systematic mass normalization of titles | |
CN113312461A (zh) | 基于自然语言处理的智能问答方法、装置、设备及介质 | |
CN110674365B (zh) | 一种搜索方法、装置、设备及存储介质 | |
CN112633000B (zh) | 一种文本中实体的关联方法、装置、电子设备及存储介质 | |
CN111611356A (zh) | 信息查找方法、装置、电子设备及可读存储介质 | |
CN110032622B (zh) | 关键词确定方法、装置、设备及计算机可读存储介质 | |
WO2022222942A1 (zh) | 问答记录生成方法、装置、电子设备及存储介质 | |
US20180285448A1 (en) | Producing personalized selection of applications for presentation on web-based interface | |
US11308084B2 (en) | Optimized search service | |
CN110888970A (zh) | 文本生成方法、装置、终端和存储介质 | |
CN114020892A (zh) | 基于人工智能的答案选取方法、装置、电子设备及介质 | |
WO2022227171A1 (zh) | 关键信息提取方法、装置、电子设备及介质 | |
CN111160699A (zh) | 一种专家推荐方法及系统 | |
CN114003712A (zh) | 基于人工智能的文档搜索方法、装置、设备及存储介质 | |
CN105653553B (zh) | 词权重生成方法和装置 | |
CN116628162A (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 |