CN108027814B - 停用词识别方法与装置 - Google Patents
停用词识别方法与装置 Download PDFInfo
- Publication number
- CN108027814B CN108027814B CN201580029727.5A CN201580029727A CN108027814B CN 108027814 B CN108027814 B CN 108027814B CN 201580029727 A CN201580029727 A CN 201580029727A CN 108027814 B CN108027814 B CN 108027814B
- Authority
- CN
- China
- Prior art keywords
- query statement
- word
- query
- words
- variation
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 239000013598 vector Substances 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 23
- 238000012549 training Methods 0.000 claims description 21
- 238000013507 mapping Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 28
- 230000008859 change Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Fuzzy Systems (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种停用词识别方法,涉及计算机技术领域。在该方法中,获取了用户输入的第一查询语句后,获取与该查询语句属于相同会话的第二查询语句,并根据第一查询语句中的各个词相对于第二查询语句的变化特征来识别第一查询语句中的停用词。本方法可以更加精确的识别查询语句中的停用词,提升停用词的识别精度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种运用于信息检索系统的停用词识别方法与装置以及一种计算设备。
背景技术
信息检索系统,例如搜索引擎或问答(英文:question answering)系统,根据用户的输入的查询语句,检索出用户所需的相关内容。用户的输入的查询语句,可能包含有一部分没有实际意义且出现频率较高的词汇,又称之为停用词(英文:stop word),信息检索系统为了提升检索的效率以及准确性,需要识别出查询语句中的停用词,并将该部分停用词从查询语句中去除以获得查询语句中的关键词,信息检索系统再根据获取的关键词进行匹配,获取用户所需的相关内容。
随着信息检索系统的普遍使用以及智能化,越来越多的用户使用自然和半自然的语言方式来输入查询语句进行搜索,因此对于信息检索系统的停用词识别能力的要求也越来越高,现有技术中停用词识别一般依靠预先由词汇领域专家人工编辑的停用词表来实现,而人工编辑的停用词表不仅制作开销较大,并且依靠与停用词表的匹配来识别输入语句中停用词的方法也无法适应越来越复杂的用户搜索行为。
发明内容
本申请提供了一种停用词识别方法、装置以及计算机设备,以提升停用词的识别精度。
本申请的第一方面提供了一种停用词识别方法,该方法由运行在计算机设备上的信息检索系统执行,包括:接收第一查询语句,并获取第一查询语句对应的会话标识(英文:identify,缩写:ID);根据获取的会话ID,获取与第一查询语句属于同一会话的第二查询语句;获取第一查询语句的各个词相对于第二查询语句的变化特征,变化特征用于体现第一查询语句的各个词在相对于第二查询语句的各种变化,例如新增词、词性、词所在的位置、词两端的标点符号等,根据第一查询语句的各个词相对于第二查询语句的变化特征,识别第一查询语句中的停用词。
可选的,第二查询语句为用户在输入第一查询语句之前输入的上一查询语句,由于用户通过信息检索系统进行检索的过程中,连续输入的查询语句之间的变化特征更能够体现用户对检索语句的调整,因此连续输入的查询语句之间的变化特征有助于停用词的识别。
通过获取与待处理查询语句属于相同会话的查询语句,随后获取该查询语句与待处理查询语句的词的变化特征,并将该变化特征纳入识别待处理查询语句中的停词的考虑因素中,使得停词识别的过程中,能够根据查询语句之间的变化特征进行停词识别,提升了停用词的识别精度。
结合第一方面,在第一方面的第一种实现方式中,获取的第二查询语句符合以下条件之任一或以下条件中任意两个或多个之间的组合:第一查询语句与第二查询语句的最长公共子句的长度大于第一阈值;或者第一查询语句转换为第二查询语句所需的最少操作数小于第二阈值;或者将第一查询语句映射为第一向量,并将第一查询语句映射为第二向量,第一向量与第二向量之间的夹角小于第三阈值;或者第一查询语句与第二查询语句的最长公共子句的长度,与第一查询语句和第二查询语句的长度之和的比值大于第四阈值;或者第一查询语句与第二查询语句的最长公共子句的长度,与第一查询语句和第二查询语句中长度较短者的长度的比值大于第五阈值;或者第一向量与第二向量之间的距离小于第六阈值。
与第一查询语句属于相同会话的查询语句可以有多个,而由于用户使用信息检索系统的过程中可能会更换检索目标,而用户在检索不同目标时使用的查询语句的变化一般较大,而针对相同或相似检索目标的两个查询语句之间的变化特征对于停用词的识别效果更加优良。因此在与第一查询语句属于相同会话的多个查询语句中进一步进行甄别,确定与第一查询语句相比区别较小的第二查询语句,这类查询语句与第一查询语句有着针对相同或相似检索目标的概率较大,再将该第二查询语句用于提取第一查询语句中的各个词相对于第二查询语句的变化特征。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,还包括根据第一查询语句的各个词查询信息检索系统的词特征库,获取第一查询语句的各个词的统计特征;因此停用词的识别过程中,不仅仅根据第一查询语句的各个词相对于第二查询语句的变化特征,还根据第一查询语句的各个词的统计特征识别第一查询语句中的停用词。
第一查询语句的各个词的统计特征也能体现各个词在文件库的统计参数,将统计特征加入到停用词的识别中能进一步提升停用词的识别精度。
可选的,还获取了第一查询语句中各个词在第一查询语句中的语句特征,并根据第一查询语句的各个词的统计特征、第一查询语句的各个词相对于第二查询语句的变化特征和第一查询语句中各个词在第一查询语句中的语句特征来识别第一查询语句中的停用词,以进一步提升停用词的识别精度。
结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,根据第一查询语句的各个词的统计特征和第一查询语句的各个词相对于第二查询语句的变化特征,识别第一查询语句中的停用词包括:将第一查询语句的各个词相对于第二查询语句的变化特征和第一查询语句的各个词的统计特征输入识别模型,获得识别模型识别出的第一查询语句中的停用词,识别模型一般为一段程序代码,该程序代码运行时实现停用词识别的功能。
结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,该方法还包括,将第一查询语句中的停用词的统计特征和第一查询语句中的停用词相对于第二查询语句的变化特征作为正样本,将第一查询语句中除停用词外的其他词的统计特征和第一查询语句中除停用词外的其他词相对于第二查询语句的变化特征作为负样本,根据正样本和负样本对识别模型进行训练。
结合第一方面的第四种实现方式,在第一方面的第五中实现方式中,在进行识别模型的训练之前,将第一查询语句去除所述识别模型识别出的停用词获得候选检索词,根据候选检索词进行检索获得检索结果;在确定检索结果的正确性的情况下,执行训练。
确定检索结果的正确性,即通过对第一查询语句对应的操作信息进行分析以确定用户对第一查询语句对应的检索结果的满意程度,选取用户满意的查询语句对应的停用词的识别过程中,被识别的停用词和非停用词,并将这些停用词和非停用词的各种特征用于识别模型的训练,进一步提升识别模型的识别精度。
本申请的第二方面提供了一种停用词识别装置,该装置包括输入模块和处理模块,输入模块用于接收第一查询语句,获取第一查询语句对应的会话ID。处理模块,用于根据会话ID,获取与第一查询语句属于同一会话的第二查询语句;获取第一查询语句的各个词相对于第二查询语句的变化特征,变化特征用于体现第一查询语句的各个词在相对于第二查询语句的各种变化,例如词性、词所在的位置、词两端的标点符号等,根据第一查询语句的各个词相对于第二查询语句的变化特征,识别第一查询语句中的停用词。该装置用于实现第一方面提供的停用词识别方法。
本申请的第三方面提供了一种计算设备,包括处理器、存储器。该计算设备运行时能够实现第一方面提供的停用词识别方法,用于实现第一方面提供的停用词识别方法的程序代码可以保存在存储器中,并由处理器来执行。
本申请的第四方面提供了一种存储介质,该存储介质中存储的程序代码被执行时能够实现第一方面提供的停用词识别方法。该程序代码由实现第一方面提供的停用词识别方法的计算机指令构成。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作以简单地介绍,显而易见的,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的信息检索系统的组织结构示意图;
图2为本发明实施例提供的又一信息检索系统的组织结构示意图;
图3为本发明实施例提供的计算设备的组织结构示意图;
图4为本发明实施例提供的停用词识别方法的流程示意图;
图5为本发明实施例提供的停用词识别装置的组织结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
贯穿本说明书,术语“停用词”,又称为停词,指代语句中对语句表述不构成直接影响的或影响微小的词汇,例如用户输入的查询语句内对搜索出相关文件无帮助的词汇,如查询语句“one basketball player Kobe”中“one”对于检索出用户想要的相关内容并无帮助,因此在此场景下“one”可以被视为停用词。应当说明的是,在不同语境、应用场景下,同一词汇是否是停用词可能会有着不同的判断,例如查询语句“one world one dream”中,如果把“one”还作为停用词去除,则搜索结果的准确性将会受到很大影响。
贯穿本说明书,术语“会话”(英文:session)包括一段时间间隔内两个或两个以上设备之间的交互消息。如果一个会话建立在用户和服务器之间,则该时间间隔起于用户开始使用某服务的时间,终止于用户明确终止使用这个该服务的时间,或者是终止于用户一定时间内不与该服务器交互,比如30分钟。具体到信息检索系统的使用环境中,当一个新的会话开始后,信息检索系统生成新的会话ID并持续接收到用户发来的查询语句,当信息检索系统连续一定时间未收到用户发来的新的查询语句,则信息检索系统认为当前会话结束,该会话开始至结束期间信息检索系统接收到的全部查询语句均属于该会话,并且该会话ID与属于该会话的查询语句会被存储于历史查询语句中。
贯穿本说明书,术语“无边界语言”指代字符间没有用于划定界限的标点符号或空格的语言,常见的无边界语言包括中文、日文等。相应的,最常见的有边界语言包括英文。
本发明实施例所应用的信息检索系统的架构图
图1为信息检索系统200的一种实现方式,包括存储设备206、检索设备202构成。其中存储设备206中存储了信息检索系统进行检索时需要的数据,存储设备206可以通过通信网络204与检索设备202建立通信,存储设备206也可以直接设置在检索设备202中,通过输入输出单元2021与检索设备202建立通信。检索设备202中包括输入输出单元2021和处理单元2022,用户通过输入输出单元2021向检索设备202发送一个查询语句后,检索设备202根据该查询语句进行检索以返回给用户对应的检索结果,一般信息检索系统的检索结果通过一系列的文件展现给用户。如果用户通过通信网络204向检索设备202发送查询语句,则输入输出单元2021可以为网络接口,如果用户在检索设备202本地向检索设备202发送查询语句,则输入输出单元2021还可以为检索设备202的输入/输出(英文:input/output,缩写:I/O)接口。
图2为信息检索系统200的另一种实现方式,包括一个或多个检索设备202,还包括一个或多个存储设备206,各个检索设备202和各个存储设备206之间通过通信网络实现通信,信息检索系统200的文件库、索引文件库、历史查询语句、历史查询日志、词特征库等数据可以分布式部署于各个存储设备206中。一个或多个检索设备202可以组成分布式计算系统对查询语句进行处理。该信息检索系统200在待处理的查询语句的数量较大,信息检索系统200的负载较高时,能够将待处理任务分配至不同检索设备202上执行,以提升信息检索系统200的并行处理能力。
信息检索系统200一般周期性的更新其能够索引到的文件并将这些文件存储于文件库中,获取更新的文件后,信息检索系统200为各个文件分配ID并建立索引,常见的索引包括倒排索引(英文:inverted index),如表1所示,倒排索引中记录了各个词所在的文件ID,记录索引的文件也称为索引文件。
表1
检索设备202通过输入输出单元2021获取了查询语句后,处理单元2022将查询语句分为一系列的词,如果查询语句为无边界语言,则获取该一系列词的过程也称为分词,例如将“手机购物”分词为“手机”(意思为移动电话,发音为)和“购物”(意思为购买,发音为kou(51)u(51)两个词),如果查询语句为英文,则该获取一系列词的过程中无须再对查询语句进行分词,直接根据查询语句中的空格来区别不同的词。获取的一系列词中的一部分可能为停用词,为了保证检索结果的准确程度,接下来将这些词中的停用词识别出来。随后将去除了停用词后的词与索引文件进行匹配,并获取该查询语句在索引文件中匹配的各个文件的匹配情况,包括匹配的各个文件的评分或排序,最后将评分最高或排序最靠前的一定数量的文件返回给用户。
通过信息检索系统200的工作流程可以看出,信息检索系统200输出的检索结果的准确与否,很大程度上依赖于与索引文件进行匹配的词的准确性,因此停用词的准确识别对于信息检索系统的性能很重要。
图1或图2中的检索设备202可以通过图3中的计算设备400实现。计算设备400的组织结构示意图如图3所示,包括处理器402、存储器404,还可以包括总线408、通信接口406,通信接口406可以为输入输出单元2021的一种实现方式,处理器402和存储器404可以为处理单元2022的一种实现方式。
其中,处理器402、存储器404和通信接口406可以通过总线408实现彼此之间的通信连接,也可以通过无线传输等其他手段实现通信。
存储器404存储器可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器404还可以包括上述种类的存储器的组合。计算设备400运行时,存储器404加载存储设备206中的历史查询语句、历史查询日志、词特征库等数据,以供处理器402使用。在通过软件来实现本发明提供的技术方案时,用于实现本发明图4提供的停用词识别方法的程序代码可以保存在存储器404中,并由处理器402来执行。
计算设备400通过通信接口406获取查询语句,当获取查询语句对应的检索结果后通过通信接口406返回给用户。
处理器402可以为中央处理器(英文:central processing unit,缩写:CPU)。处理器402获取第一查询语句后,获取与第一查询语句属于相同会话的第二查询语句,提取第一查询语句中的各个词相对于第二查询语句的变化特征,变化特征用于指示第一查询语句中的各个词相对于第二查询语句的位置、词性、两端标点符号、语法类别等的变化,并将第一查询语句中的各个词相对于第二查询语句的变化特征用于识别第一查询语句中的停用词。
通过获取与待处理查询语句属于相同会话的查询语句,随后获取该查询语句与待处理查询语句的词的变化特征,并将该变化特征纳入识别待处理查询语句中的停词的考虑因素中,使得停词识别的过程中,能够根据查询语句之间的变化特征进行停词识别,提升了停用词的识别精度。
处理器402获取的取与第一查询语句属于相同会话的查询语句可以有多个,而由于用户使用信息检索系统的过程中可能会更换检索目标,而用户在检索不同目标时使用的查询语句的变化一般较大,而属于针对相同或相似的检索目标的两个查询语句之间的变化特征对于停用词的识别效果更加优良,因此处理器402在与第一查询语句属于相同会话的多个查询语句中进一步进行甄别,确定与第一查询语句相比区别较小的第二查询语句,再将该第二查询语句用于提取第一查询语句中的各个词相对于第二查询语句的变化特征。
处理器402还可以获取第一查询语句的各个词的统计特征,并将各个词的统计特征和变化特征输入识别模型来识别第一查询语句中的停用词。处理器402使用的识别模型可以为一段程序代码,程序代码可以存储于存储器404中,处理器402对识别模型进行训练,或使用识别模型来识别停用词时,调用该段代码。识别模型也可以通过硬件实现,则处理器402将第一查询语句的各个词的统计特征和变化特征输入至该硬件,该专有硬件返回给处理器402识别结果,该硬件可以为现场可编程逻辑门阵列(英文:field-programmable gatearray,缩写:FPGA)。
第一查询语句中的各个词的统计特征体现了第一查询语句中的各个词在信息检索系统的文件库中的统计信息,将各个词的统计特征加入到停用词的识别过程中也有助于识别第一查询语句中的停用词。
本发明还提供了一种停用词识别方法,图1、图2中的检索设备202以及图3中的计算设备400运行时执行该停用词识别方法,其流程示意图如图4所示。
步骤602,接收第一查询语句,获取第一查询语句对应的会话ID。
本实施例中以信息检索系统接收的第一查询语句为“backstreet boys‘theone’”为例,获取该“backstreet boys‘the one’”对应的会话ID。此时一般有两种情况,如果该查询语句是一个新会话的第一个查询语句,那么步骤602中需要为该查询语句生成一个会话ID,如果该查询语句属于一个已存在的会话,则步骤602中获取的会话ID即为该已存在的会话ID。
可选的,步骤602之后还执行了步骤604。
步骤604,根据第一查询语句的各个词查询信息检索系统的词特征库,获取第一查询语句的各个词的统计特征。
首先从“backstreet boys‘the one’”中获取“backstreet”、“boys”、“the”和“one”四个词,如果步骤602中接收的查询语句为无边界语言,则需要对查询语句进行分词以获取查询语句中的各个词。获取这四个词的统计特征,例如词频、词频均值、词频方差等,词特征库是信息检索系统通过对一定数量的或一定时间周期内获得的文件内出现的各个词的各种特征进行统计后获得的,因此查询语句包含的各个词在词特征库中可以查询到其对应的各种统计特征值。信息检索系统常通过数组存储查询语句,例如Query1[6][n+2]={{backstreet,1,统计特征1,统计特征2…统计特征n},{boys,2,统计特征1,统计特征2…统计特征n},{‘,3},{the,4,统计特征1,统计特征2…统计特征n},{one,5,统计特征1,统计特征2…统计特征n},{’,6}},其中{backstreet,1,统计特征1,统计特征2…统计特征n}表示查询语句的第一个词为“backstreet”,其中的统计特征1至统计特征n为“backstreet”一词的各个统计特征。第一查询语句中的各个词的统计特征体现了第一查询语句中的各个词在信息检索系统的文件库中的统计信息,分析各个词的统计特征也有助于识别停用词。
信息检索系统接收了第一查询语句之后会对第一查询语句进行处理并转化为数据结构存储起来,例如上文中的Query1[6][n+2],除了获取各词的统计特征之外,可选的,还获取了第一查询语句中各个词在第一查询语句中的语句特征,包括第一查询语句中各个词在第一查询语句中出现的次数、各个词的词性、各个词的语法类别、各个词在第一查询语句中的位置、各个词的前后是否是空格、各个词是否是用引号括起等,如果语句特征共有m种,则获取“backstreet boys‘the one’”后会转化为Query1[6][n+m+2]。第一查询语句的各个词的在第一查询语句的语句特征体现了各个词在第一查询语句中的特点,分析各个词的语句特征也有助于识别停用词。
步骤606,根据第一查询语句对应的会话ID,获取与第一查询语句属于同一会话的第二查询语句。
根据第一查询语句对应的会话ID查询历史查询语句,获取与查询语句“backstreet boys‘the one’”属于同一会话的第二查询语句,以此处获得的第二查询语句为“the one backstreet boys”为例,即Query2[4][2]={{the,1},{one,2},{backstreet,3},{boys,4}},第二查询语句中各个词的统计特征、语句特征等在Query2中省略。由于同一会话中可能包含多个查询语句,可选的,步骤606中获取的查询语句可以为步骤602中的查询语句之前的上一条查询语句。用户在查询过程中,如果通过一次查询未获取所需的文件,则会调整查询语句再次查询,因此相邻的查询语句能够形成语句链的可能性更高,相邻的查询语句之间的变化特征也更有助于停用词的识别。历史查询语句中记录了各个会话ID与该会话ID对应的会话所属的查询语句,历史查询语句还可以包括属于同一语句链的查询语句的信息。
需要说明的是,步骤604和步骤606的执行顺序可以互换或者两者并行处理。由于步骤604中对查询语句进行处理获得的词在查询语句中的统计特征以及语句特征,以及执行步骤606、步骤608和步骤610获取的词的变化特征均可以用于步骤612中,因此执行步骤602后,步骤604和步骤606可以并行处理,其中步骤606这一支路后续还包括步骤608和步骤610。
可选的,步骤606之后还执行步骤608。
步骤608,确定获取的第二查询语句符合以下条件之任一:第一查询语句与第二查询语句的最长公共子句的长度大于第一阈值;或者第一查询语句转换为第二查询语句所需的最少操作数小于第二阈值;或者将第一查询语句映射为第一向量,并将第一查询语句映射为第二向量,第一向量与第二向量之间的夹角小于第三阈值;或者第一查询语句与第二查询语句的最长公共子句的长度,与第一查询语句和第二查询语句的长度之和的比值大于第四阈值;或者第一查询语句与第二查询语句的最长公共子句的长度,与第一查询语句和第二查询语句中长度较短者的长度的比值大于第五阈值;或者第一向量与第二向量之间的距离小于第六阈值。
第一查询语句所属的会话可能包括多个查询语句,因此通过步骤608中这多个查询语句中进一步筛选出符合条件的第二查询语句,也即筛选出能够与第一查询语句组成语句链的第二查询语句。筛选的标准可以基于以下条件中的任意一个或者多个之间的任意组合。确定第二查询语句与第一查询语句符合以下条件中的任意一个或者多个之间的任意组合,也即确定第二查询语句与第一查询语句能够组成一个语句链,如果能够组成一个语句链,则继续执行步骤610,如果无法组成一个语句链,则执行步骤612。
条件一,判断“backstreet boys‘the one’”与“the one backstreet boys”之间的最长公共子句的长度与第一阈值的大小关系。本实施例中,“backstreet boys‘theone’”与“the one backstreet boys”的最长公共子句的长度为2。如果第一阈值为1,则“backstreet boys‘the one’”与“the one backstreet boys”可以构成一个语句链。子句的长度即子句中包含的词的个数。
将Query1[6][2]={{backstreet,1},{boys,2},{‘,3},{the,4},{one,5},{’,6}}与Query2[4][2]={{the,1},{one,2},{backstreet,3},{boys,4}}中的元素依次比较,即可获得Query1与Query2的最长公共子句为“backstreet boys”和“the one”,两个子句的长度均为2,因此Query1与Query2的最长公共子句的长度为2。
条件二,判断“backstreet boys‘the one’”最少需要多少操作才能转换为“theone backstreet boys”,或“the one backstreet boys”最少需要多少操作才能转换为“backstreet boys‘the one’”,如果所需的最少操作数小于第二阈值,则可以判断“backstreet boys‘the one’”与“the one backstreet boys”属于同一语句链。本例中,“the one backstreet boys”至少需要将句首的“the”和将“one”删除,并在句末添加“the”和“one”,并在“the one”两端加上引号,一共6个操作,才能变为“backstreet boys‘theone’”。
通过比较Query1与Query2可知,由于两者的最长公共子句为“backstreet boys”和“the one”,因此如果想将“the one backstreet boys”转换为“backstreet boys‘theone’”,最少需要6个操作,即将Query1中的{the,1}和{one,2}删除,则{backstreet,3}和{boys,4}变为{backstreet,1}和{boys,2},再在{boys,2}后加上{the,4},{one,5},并在新增的{the,1},{one,2}两端分别加上{‘,3}和{’,6}。
条件三,计算“backstreet boys‘the one’”和“the one backstreet boys”转化为向量之后的夹角,如果夹角小于第三阈值,则“backstreet boys‘the one’”和“the onebackstreet boys”能够组成一个语句链。常用的将查询语句转化为向量的方法包括:1、建立向量空间模型(英文:vector space modal,缩写:VSM),以词特征库中每一个词作为一个维度,则VSM中维度数等于词特征库中词的个数,将“the one backstreet boys”映射至VSM中,则VSM中“the”,“one”,“backstreet”,“boys”这四个词对应的维度将会被赋值,该值可以表征该词的出现或者为该词的统计特征,通过VSM的建立,“backstreet boys‘the one’”和“theone backstreet boys”会变为VSM空间的两个向量,因此可以计算得到这两个向量的夹角或距离;2、Word2vec,bags of words,word embedding等将语句转换为向量的方法。
条件四与条件一的区别在于,判断的为“backstreet boys‘the one’”和“the onebackstreet boys”的最长公共字句的长度与“backstreet boys‘the one’”和“the onebackstreet boys”的长度之和的比值与第四阈值的大小关系,如果比值大于第四阈值则可以判断“backstreet boys‘the one’”与“the one backstreet boys”属于同一语句链。查询语句的长度即查询语句中包含的词的个数。
条件五与条件一的区别在于,判断的为“backstreet boys‘the one’”和“the onebackstreet boys”的最长公共字句的长度与“backstreet boys‘the one’”和“the onebackstreet boys”中长度较短者的长度的比值与第五阈值的大小关系,如果比值大于第五阈值则可以判断“backstreet boys‘the one’”与“the one backstreet boys”属于同一语句链。
条件六与条件三的区别在于,将“backstreet boys‘the one’”和“the onebackstreet boys”转化为向量后,计算两个向量之间的距离,如果距离小于第六阈值,则“backstreet boys‘the one’”和“the one backstreet boys”能够组成一个语句链。条件六中两个向量之间的距离可以为欧几里得距离(英文:euclidean distance)。
需要说明是,这六种条件各会生成一个参数,分别为最长公共子句的长度、最少操作数、向量之间的夹角、最长公共子句的长度与两查询语句长度之和的比值、最长公共子句的长度与较短查询语句长度的比值、向量之间的距离,因此步骤608在实际使用中,可以任意组合使用六种参数中的任意两种或多种,例如为这六个参数配以权重再求和后获取一个总参数后,再将该总参数与阈值作为对比以判断两个查询语句能够组成语句链。
由于用户使用信息检索系统的过程中可能会更换检索目标,而用户在检索不同目标时使用的查询语句的变化一般较大,而属于相同或相似检索目标的两个查询语句之间的变化特征对于停用词的识别效果更加优良,因此以上的六种条件实质是用于确定第一查询语句与第二查询语句之间的区别较小,以获得检索目标相同或相似的第一查询语句和第二查询语句。
步骤608中,如果确定了两个查询语句可以构成一个语句链,则可以将步骤608判断的结果存入历史查询语句中。存储格式例如语句链1:查询语句A,查询语句B;语句链2:查询语句C,查询语句D。这样如果信息检索系统再次接收到相同的查询语句,则无须进行上述步骤608的确定过程,直接读取历史的确定结果即可。同时,对于语句链2,本身仅包括查询语句C和查询语句D,当接收到查询语句E并判断出查询语句E与查询语句D同属一个语句链的情况下,不仅可以创建语句链3:查询语句D,查询语句E,还可以创建出语句链4:查询语句C,查询语句D,查询语句E,当然也可以用语句链4替换掉语句链2,这样信息检索系统中存储的语句链信息将会进一步丰富,后续提取的查询语句之间的变化特征也更为丰富。
步骤610,获取第一查询语句的各个词相对于第二查询语句的变化特征。第一查询语句的各个词相对于第二查询语句的变化特征,指示第一查询语句中的各个词相对于第二查询语句的各种变化。
可选的,第一查询语句的各个词相对于第二查询语句的变化特征包括以下之任一:第一变化特征,用于指示第一查询语句的各个词相对于第二查询语句是否为新增词;第二变化特征,用于指示第一查询语句和第二查询语句均包含的词,在第一查询语句的位置相对于在第二查询语句的位置的变化;第三变化特征,用于指示第一查询语句和第二查询语句均包含的词,在第一查询语句中的词性相对于在第二查询语句中的词性的变化;第四变化特征,用于指示第一查询语句和第二查询语句均包含的词,在第一查询语句中的语法类别相对于在第二查询语句中的语法类别的变化;第五变化特征,用于指示第一查询语句和第二查询语句均包含的词,在第一查询语句中的两端标点符号相对于在第二查询语句中两端标点符号的变化。
第一变化特征,用于指示第一查询语句的各个词相对于第二查询语句是否为新增词。一般第一查询语句相对于第二查询语句新增的词为停用词的可能性较低,例如,第二查询语句为“backstreet boys”,第一查询语句为“backstreet boys the one”,那么“theone”则是第一查询语句相对于第二查询语句的新增词。
以第一查询语句Query A[m][n]={{word11,m11,,m12…,m1n},{word12,m21,,m22…,m2n}…{word1m,mm1,,mm2…,mmn}},第二查询语句Query B[x][y]={{word21,m11,,m12…,m1y},{word22,m21,,m22…,m2y}…{word2x,mx1,mx2…,mxy}}为例。其中Query A中word11为一个词或标点符号,m11为该词在A中出现的位置,m12为该词在A中出现的语法类别,m13为该词的词性,m14至m1n指示word11的其他统计特征或word11在第一查询语句中的语句特征。
比较Query A与Query B,可以判断Query A中各个word相对于Query B是否为新增的,则可以识别出第一查询语句中的各个词相对于第二查询语句是否为新增词。
第二变化特征,用于指示在第一查询语句中各个词在第一查询语句中的位置相对于在第二查询语句的位置的变化,一般如果一个词在第一查询语句中的位置相对于在第二查询语句中的位置移动了,则说明该词的重要性较高,也即该词为停用词的可能性较低。
比较Query A与Query B中每一行中对应的元素,例如如果word11与word22相同(word11为词),而m11与m21不同,则说明word11对应的词在第一查询语句的位置相对于在第二查询语句的位置变化了,因此第二特征可以指示是否位置是否变化,也可以指示变化幅度,也即m11与m21之差。
第三变化特征,第一查询语句和第二查询语句均包含的词,在第一查询语句中的词性相对于在第二查询语句中的词性的变化,不同词性的词为停用词的可能性不同,例如一般名词为停用词的概率比形容词为停用词的概率低,则如果为不同词性赋予不同的特征值,则如果一个词在第一查询语句中的词性相对于第二查询语句中的词性变化,则第三变化特征可以为该词在第一查询语句中的词性的特征值减去在第二查询语句中的词性的特征值。
比较Query A与Query B中每一行中对应的元素,例如如果word11与word22相同(word11为词),而m13与m23不同,则说明word11对应的词在第一查询语句的词性相对于在第二查询语句的词性变化了。
第四变化特征,第一查询语句和第二查询语句均包含的词,在第一查询语句中的语法类别相对于在第二查询语句中的语法类别的变化,不同语法类别的词为停用词的可能性不同,如果为不同语法类别,例如主语、谓语、宾语,赋予不同的特征值,则如果一个词在第一查询语句中的语法类别相对于第二查询语句中的语法类别变化,则第五变化特征可以为该词在第一查询语句中的语法类别的特征值减去在第二查询语句中的语法类别的特征值。
比较Query A与Query B中每一行中对应的元素,例如如果word11与word22相同(word11为词),而m12与m22不同,则说明word11对应的词在第一查询语句的语法类别相对于在第二查询语句的语法类别变化了。
第五变化特征,第一查询语句和第二查询语句均包含的词,在第一查询语句中的两端标点符号相对于在第二查询语句中两端标点符号的变化。词的两端的语标点符号不同的情况下该词为停用词的可能性不同,例如一个词在第一查询语句中相对于第二查询语句中两端多了空格或者该词用双引号或单引号括起,则说明该词为停用词的可能较低,则第六变化特征还可以指示该替换词为停用词的可能较低。例如,第二查询语句为“backstreetboys the one”,第一查询语句为“backstreet boys‘the one’”,那么“the one”在第一查询语句中两端通过引号括起,“the one”一词为停用词的可能性较低。
比较Query A与Query B中每一行中对应的元素,例如如果word13与word23相同(word13为词),而位置在word13之前的标点符号word12和位置在word13之后的标点符号word14,与而位置在word23之前的标点符号word22和位置在word23之后的标点符号word24不同,则说明word13相对于word23两端的标点符号变化了,也可能word22和word24不为标点符号,则说明word13在第一查询语句中两端增加了标点符号。
步骤608中如果确定了“backstreet boys‘the one’”与“the one backstreetboys”可以构成一个语句链,则获取“backstreet boys‘the one’”相对于“the onebackstreet boys”的变化特征。
以第一查询语句为“backstreet boys‘the one’”第二查询语句为“the onebackstreet boys”为例,第一查询语句中的“the”和“one”相对于第二查询语句有两个变化特征,即上文中的第二变化特征,“the”和“one”的位置发生了变化,以及上文中的第五变化特征,“the one”两端增加了引号。
需要说明的是,如果“backstreet boys‘the one’”所在的会话中,出现了类似于步骤608中语句链4类似的包括多余两个查询语句的语句链,则步骤610中不仅可以获取“backstreet boys‘the one’”相对于“the one backstreet boys”的变化特征,还可以获取“backstreet boys‘the one’”相对于其他查询语句的变化特征,并且可以将获取的变化特征连同步骤608中获取的语句链的判断结果一同存入历史查询语句中,以便再次处理相同查询语句时使用。
除了采用上文中数组的方式来存储查询语句,还可以用面向对象的编程实现方式来实现,比如我们可以用如下类来表示Query和Word两个对象,其中Query类指示查询语句,Word类指示查询语句中的各个词。
采用了如上数据结构来存储各个查询语句和词后,如果需要比较Query M和QueryN是否属于同一会话,则可以通过调用Query.isInTheSameSession()
{Query M.sessionID,Query N.sessionID},其中isInTheSameSession(){}定义为根据输入的查询语句的session ID判断两个查询语句是否属于同一会话。
如果需要比较Query M和Query N是否属于同一语句链,则可以通过调用Query.isInTheSameQueryChain(){Query M.sessionID,Query N.sessionID},其中Query.isInTheSameQueryChain(){}定义为根据输入的查询语句判断两个查询语句是否属于同一语句链,也即该isInTheSameQueryChain(){}包括了步骤608中确定第一查询语句和第二查询语句属于同一语句链的方法。
类似的,上文中的第一变化特征就可以用Word.newWord()函数来实现,我们在已知Query1和Query2属于同一个语句链之后,可以运行Query1.Word中的每个词的newWord()函数来判定第一查询语句中的各个词相对于第二查询语句是否为新增词。其余变化特征的获取与之类似,根据Query1.Word中定义的各个函数可以获得Query1中各个词相对于Query2的各种变化特征。
步骤612,根据第一查询语句的各个词相对于第二查询语句的变化特征,识别第一查询语句中的停用词。
识别第一查询语句中的停用词的方法可以有多种,示例性的为第一查询语句的各个词的各个变化特征赋值,如果各个变化特征的值越高说明该词为停用词的可能性越高,第一查询语句的任一词的各个变化特征的值的加权和如果大于预设的阈值,则该词被识别为停用词,如果不大于预设的阈值,则该词被识别为非停用词。
可选的,如果步骤602之后还包括步骤604也即获取了获取第一查询语句的各个词的统计特征,则步骤612可以根据第一查询语句的各个词的统计特征和第一查询语句的各个词相对于第二查询语句的变化特征,识别第一查询语句中的停用词。
可选的,如果步骤604中还获取了第一查询语句中各个词在第一查询语句中的语句特征,则步骤612可以根据第一查询语句的各个词的统计特征、第一查询语句中各个词在第一查询语句中的语句特征、第一查询语句的各个词相对于第二查询语句的变化特征来识别第一查询语句中的停用词,进一步提升停用词识别的精度。
可选的,信息检索系统还设置有识别模型,将第一查询语句的各个词的统计特征,第一查询语句的各个词相对于第二查询语句的各种变化特征,输入识别模型以识别第一查询语句中的各个词是否为停用词。该识别模型可以为阈值模型,例如如果对一个词的各个变化特征的值和统计特征的加权后求和的结果大于预设的阈值,则该词被识别为停用词,如果不大于预设的阈值,则该词被识别为非停用词,也可以为决策树、神经网络等学习模型。实际运用中,除了采用前述识别模型,我们还可以配置一些直接识别标准配合识别方法使用以加快识别过程,例如如果一个词在第一查询语句中相对于第二查询语句为新增的词,那么该词可以直接识别为非停用词。
如果步骤602之后还包括步骤604的情况下,如果第一查询语句无法与任一历史查询语句形成语句链,则无法获得第一查询语句相对于第二查询语句的变化特征,则步骤612中仅根据第一查询语句的各个词的统计特征来识别第一查询语句中的停用词。
传统的基于停用词表的停用词的识别方法,仅依赖人工设置的停词表或文件的统计信息,无法将属于同一会话的查询语句之间的变化特征纳入停用词识别的过程中,例如“backstreet boys‘the one’”这一查询语句中,如果采用停用词表来识别各个词是否是停用词,那么“the”这一定冠词很容易被识别为停用词,然而在本例中“the one”是“backstreet boys”这一歌手组合的一首歌曲的歌名,“the”不能简单当作一个定冠词处理,如果将“the”当作停用词而在后续的检索过程中忽视了其代表的含义,将会对检索结果造成负面影响。本实施例提供的方法,将查询语句之间的变化特征加入到停用词识别的过程之中,使得信息检索系统可以更好的根据用户输入的查询语句的变化来进行停用词识别,避免了传统的通过停用词表来识别停用词的方法中,无法将用户对查询语句进行调整带来的查询语句的变化纳入到停用词识别过程带来的误差。
可选的,还包括步骤614,将第一查询语句中的停用词的统计特征和第一查询语句中的停用词相对于第二查询语句的变化特征作为正样本,将第一查询语句中除停用词外的其他词的统计特征和第一查询语句中除停用词外的其他词相对于第二查询语句的变化特征作为负样本,根据正样本和负样本对识别模型进行训练。
识别出第一查询语句中的停用词后,将第一查询语句中的停用词的统计特征和第一查询语句中的停用词相对于第二查询语句的变化特征作为正样本,将第一查询语句中除停用词外的其他词的统计特征和第一查询语句中除停用词外的其他词相对于第二查询语句的变化特征作为负样本,对识别模型进行训练,以使得识别模型后续执行停用词识别的时候,如果将接收到的一个词归类于正样本,则说明识别模型将该词识别为停用词,如果将接收到的一个词归类于负样本,则说明识别模型未将该词识别为停用词。通过对识别模型的训练,提升识别模型的精度。
可选的,步骤612中根据第一查询语句的各个词的统计特征、第一查询语句中各个词在第一查询语句中的语句特征、第一查询语句的各个词相对于第二查询语句的变化特征来识别第一查询语句中的停用词,则步骤614中将第一查询语句中的停用词在第一查询语句中的语句特征作为正样本,将第一查询语句中除停用词外的其他词在第一查询语句中的语句特征作为负样本对识别模型进行训练,进一步提升识别模型的精度。
信息检索系统每识别一条查询语句中的停用词后,可以存储获取的正样本和负样本,以便积累了一定时间或积累了一定数量的正样本和负样本后,执行步骤614。
可选的,步骤614之前,还将第一查询语句去除识别模型识别出的停用词获得候选检索词,根据候选检索词进行检索获得检索结果;在确定检索结果的正确性的情况下,执行训练。
根据候选检索词进行检索,将检索过程相关特征以及检索结果存入历史查询日志,检索过程相关特征包括第一查询语句的各个词的统计特征和第一查询语句的各个词相对于第二查询语句的变化特征,第一查询语句中各个词在第一查询语句中的语句特征。同时,步骤614后对于用户而言,已经可以获得基于“backstreet boys‘the one’”的检索结果,检索结果包括根据查询语句检索到的文件ID,历史查询日志中的存储格式参考如表2。信息检索系统获取各个文件ID之后,将文件ID对应的文件返回给用户,用户对这些文件进行的操作信息也记录在历史查询日志中,操作信息包括:用户获得查询获得的各个文件后,对各个文件的操作信息,例如用户点击了哪几个文件、点击动作的发生时间、在各个文件内的浏览时间等,其中点击一个文件的时刻与点击下一文件的时刻之间的间隔一般认为是前一文件的浏览时间。
表2
确定第一查询语句对应的检索结果的正确性,即通过对第一查询语句对应的操作信息进行分析以确定用户对第一查询语句对应的检索结果的满意程度。例如,如果发现第一查询语句的检索结果中,用户点击其中一篇文件60秒内并未点击其他文件,则可以认为本次用户在本次的检索结果中找到了所需的文件,因此可以将第一查询语句中被识别为停用词的词以及其对应的检索过程相关特征可以作为识别模型的正样本,第一查询语句中未被识别为停用词的词以及其对应的检索过程相关特征可以作为识别模型的负样本,用以对识别模型进行训练。
用以确定第一查询语句对应的检索结果的正确性的筛选条件的设置可以有多种,除了通过用户点击文件后未动作的时间超过阈值这一筛选条件,还可以通过确定用户在本次检索出的文件中点击的文件的数量超过阈值等,该筛选条件或者事件的设置能够表征用户认可本次检索结果中的文件的准确程度即可。
对识别模型的训练一般需要积累一定数量的正样本和负样本后再进行,因此当历史查询日志中积累了一定数量的查询语句或经过预设的时间后,通过对历史查询日志中各个查询语句对应的检索结果的操作信息进行分析,挖掘出适合作为识别模型的训练数据的查询语句对应的检索过程相关特征,并对识别模型进行训练。
用户在使用信息检索系统的过程中,对于检索结果中各个文件的操作反应了用户对于本次检索结果的正确性的判断,也反应了检索结果对应的停用词识别结果的准确与否,通过分析用户对各个查询语句对应的历史查询日志进行分析,可以得知用户对于哪一些查询语句的检索结果较为满意,则可以将该部分查询语句对应的停用词识别相关的参数和结果用于识别模型的训练。通过将用户的操作结果的反馈至停用词识别过程中使用的识别模型,提升了信息检索系统对于用户使用环境、习惯等的适应性,尤其对于一些特殊的使用场景下的信息检索系统中停用词的识别有较大作用,例如在超市中使用的信息检索系统中,“merchandise”一词的使用频率较高并且很可能并不指示特殊含义,因此当信息检索系统将“merchandise”作为停用词并进行检索时,用户对于检索结果的准确程度可能会比较认可,因此可以将“merchandise”一词的检索过程相关特征作为正样本对识别模型进行训练。
步骤616,根据新的文件,更新信息检索系统的词特征库。
信息检索系统可以检索到的文件会周期性的进行更新,因此对新的文件中各个词进行分析后,可以更新词特征库以提升信息检索系统的停词识别的准确率。步骤616的执行和步骤602至步骤614的执行可以互相独立,即词特征库的更新和识别模型的训练可以并行执行。步骤614和步骤616可以在线进行(随着用户输入查询语句执行),也可以离线执行(例如系统空闲,或系统集中维护、系统更新时执行),尤其因为步骤614和步骤616的执行均需要一定时间的历史查询日志的更新积累或文件的更新积累,步骤614和步骤616采用离线执行可以避免在线执行对信息检索系统造成的处理压力。
本实施例提供的停用词识别方法,获取与待处理查询语句属于相同会话的查询语句,随后获取查询语句与待处理查询语句的词的变化特征,并将该变化特征纳入识别待处理查询语句中的停词的考虑因素中,使得停词识别的过程中,能够根据查询语句之间的变化特征进行停词识别,提升了停用词的识别精度,也即提升了信息检索系统输出的检索结果的准确性。
本发明实施例还提供了停用词识别装置800,该停用词识别装置800可以通过图1或图2所示的检索设备202实现,还可以通过图3所示的计算设备400实现,还可以通过专用集成电路(英文:application-specific integrated circuit,缩写:ASIC)实现,或可编程逻辑器件(英文:programmable logic device,缩写:PLD)实现。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),FPGA,通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。该停用词识别装置800用于实现图4所示的停用词识别方法。
停用词识别装置800的组织结构示意图如图5所示,包括:输入模块802和处理模块804。处理模块804工作时,执行图4所示的停用词识别方法中的步骤604至步骤616。
输入模块802,用于接收第一查询语句,获取第一查询语句对应的会话ID,也即执行图4所示的停用词识别方法中的步骤602。
处理模块804,用于根据第一查询语句对应的会话ID,获取与第一查询语句属于同一会话的第二查询语句;还用于获取第一查询语句的各个词相对于所述第二查询语句的变化特征;还用于根据第一查询语句的各个词相对于所述第二查询语句的变化特征,识别第一查询语句中的停用词。
处理模块804获取的第二查询语句与第一查询语句能够构成语句链,构成语句链的判断条件包括:第一查询语句与第二查询语句的最长公共子句的长度大于第一阈值;或者第一查询语句转换为第二查询语句所需的最少操作数小于第二阈值;或者将第一查询语句映射为第一向量,并将第一查询语句映射为第二向量,第一向量与第二向量之间的夹角小于第三阈值;或者第一查询语句与第二查询语句的最长公共子句的长度,与第一查询语句和第二查询语句的长度之和的比值大于第四阈值;或者第一查询语句与第二查询语句的最长公共子句的长度,与第一查询语句和第二查询语句中长度较短者的长度的比值大于第五阈值;或者第一向量与第二向量之间的距离小于第六阈值。
处理模块804,还根据第一查询语句的各个词查询信息检索系统的词特征库,获取第一查询语句的各个词的统计特征;将第一查询语句的各个词相对于第二查询语句的变化特征和第一查询语句的各个词的统计特征输入识别模型,获得识别模型识别出的所述第一查询语句中的停用词。识别模型一般为一段代码,处理模块804对识别模型进行训练,或使用识别模型来识别停用词时,调用该段代码。
处理模块804,还将第一查询语句去除识别模型识别出的停用词获得候选检索词,根据候选检索词进行检索获得检索结果;在确定检索结果的正确性的情况下,将第一查询语句中的停用词的统计特征和第一查询语句中的停用词相对于第二查询语句的变化特征作为正样本,将第一查询语句中除停用词外的其他词的统计特征和第一查询语句中除停用词外的其他词相对于第二查询语句的变化特征作为负样本,根据正样本和负样本对识别模型进行训练。其中确定第一查询语句对应的检索结果的正确性,即通过对第一查询语句对应的操作信息进行分析以确定用户对第一查询语句对应的检索结果的满意程度,将用户满意的检索结果对应的查询语句的停用词识别中,识别出的停用词和非停用词的各类特征用于识别模型的训练,以进一步提升识别模型的精度。
本实施例提供的停用词识别装置,能够获取与待处理查询语句属于相同会话的查询语句,随后获取查询语句与待处理查询语句的词的变化特征,并将该变化特征纳入识别待处理查询语句中的停词的考虑因素中,使得停词识别的过程中,能够根据查询语句之间的变化特征进行停词识别,提升了停用词的识别精度,也即提升了信息检索系统输出的检索结果的准确性。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
结合本发明公开内容所描述的方法可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、快闪存储器、ROM、可擦除可编程只读存储器(英文:erasable programmable read only memory,缩写:EPROM)、电可擦可编程只读存储器(英文:electrically erasable programmable read only memory,缩写:EEPROM)、硬盘、光盘或者本领域熟知的任何其它形式的存储介质中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件或软件来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、改进等,均应包括在本发明的保护范围之内。
Claims (18)
1.一种停用词识别方法,由运行在计算机设备上的信息检索系统执行,其特征在于,包括:
接收第一查询语句,获取所述第一查询语句对应的会话ID;
根据所述会话ID,获取与所述第一查询语句属于同一会话的第二查询语句;
获取所述第一查询语句的各个词相对于所述第二查询语句的变化特征;
根据所述第一查询语句的各个词相对于所述第二查询语句的变化特征,识别所述第一查询语句中的停用词;
所述第一查询语句的各个词相对于所述第二查询语句的变化特征包括以下之任一:第二变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句的位置相对于在所述第二查询语句的位置的变化;第三变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句中的词性相对于在所述第二查询语句中的词性的变化;第四变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句中的语法类别相对于在所述第二查询语句中的语法类别的变化;第五变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句中的两端标点符号相对于在所述第二查询语句中两端标点符号的变化。
2.如权利要求1所述的方法,其特征在于,获取的所述第二查询语句符合以下条件之任一:
所述第一查询语句与所述第二查询语句的最长公共子句的长度大于第一阈值;或者
所述第一查询语句转换为所述第二查询语句所需的最少操作数小于第二阈值;或者
将所述第一查询语句映射为第一向量,并将所述第一查询语句映射为第二向量,所述第一向量与所述第二向量之间的夹角或距离小于第三阈值。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述第一查询语句的各个词查询所述信息检索系统的词特征库,获取所述第一查询语句的各个词的统计特征;
所述根据所述第一查询语句的各个词相对于所述第二查询语句的变化特征,判定所述第一查询语句中的停用词包括:根据所述第一查询语句的各个词的统计特征和所述第一查询语句的各个词相对于所述第二查询语句的变化特征,识别所述第一查询语句中的停用词。
4.如权利要求3所述的方法,其特征在于,所述信息检索系统还设置有识别模型;
所述根据所述第一查询语句的各个词的统计特征和所述第一查询语句的各个词相对于所述第二查询语句的变化特征,识别所述第一查询语句中的停用词包括:
将所述第一查询语句的各个词相对于所述第二查询语句的变化特征和所述第一查询语句的各个词的统计特征输入所述识别模型,获得所述识别模型识别出的所述第一查询语句中的停用词。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
将所述第一查询语句中的停用词的统计特征和所述第一查询语句中的停用词相对于所述第二查询语句的变化特征作为正样本,将所述第一查询语句中除停用词外的其他词的统计特征和所述第一查询语句中除停用词外的其他词相对于所述第二查询语句的变化特征作为负样本,根据所述正样本和所述负样本对所述识别模型进行训练。
6.如权利要求5所述的方法,其特征在于,在进行所述训练之前,所述方法还包括:
将所述第一查询语句去除所述识别模型识别出的停用词获得候选检索词,根据所述候选检索词进行检索获得检索结果;
在确定所述检索结果的正确性的情况下,执行所述训练。
7.一种停用词识别装置,其特征在于,包括:
输入模块,用于接收第一查询语句,获取所述第一查询语句对应的会话ID;
处理模块,用于根据所述会话ID,获取与所述第一查询语句属于同一会话的第二查询语句;还用于获取所述第一查询语句的各个词相对于所述第二查询语句的变化特征;
所述处理模块还用于根据所述第一查询语句的各个词相对于所述第二查询语句的变化特征,识别所述第一查询语句中的停用词;
所述第一查询语句的各个词相对于所述第二查询语句的变化特征包括以下之任一:第二变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句的位置相对于在所述第二查询语句的位置的变化;第三变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句中的词性相对于在所述第二查询语句中的词性的变化;第四变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句中的语法类别相对于在所述第二查询语句中的语法类别的变化;第五变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句中的两端标点符号相对于在所述第二查询语句中两端标点符号的变化。
8.如权利要求7所述的装置,其特征在于,获取的所述第二查询语句符合以下条件之任一:
所述第一查询语句与所述第二查询语句的最长公共子句的长度大于第一阈值;或者
所述第一查询语句转换为所述第二查询语句所需的最少操作数小于第二阈值;或者
将所述第一查询语句映射为第一向量,并将所述第一查询语句映射为第二向量,所述第一向量与所述第二向量之间的夹角或距离小于第三阈值。
9.如权利要求7或8所述的装置,其特征在于,所述处理模块,还用于根据所述第一查询语句的各个词查询词特征库,获取所述第一查询语句的各个词的统计特征;
所述处理模块根据所述第一查询语句的各个词相对于所述第二查询语句的变化特征,判定所述第一查询语句中的停用词包括:根据所述第一查询语句的各个词的统计特征和所述第一查询语句的各个词相对于所述第二查询语句的变化特征,识别所述第一查询语句中的停用词。
10.如权利要求9所述的装置,其特征在于,所述处理模块还包括识别模型;
所述处理模块根据所述第一查询语句的各个词的统计特征和所述第一查询语句的各个词相对于所述第二查询语句的变化特征,识别所述第一查询语句中的停用词包括:将所述第一查询语句的各个词相对于所述第二查询语句的变化特征和所述第一查询语句的各个词的统计特征输入所述识别模型,获得所述识别模型识别出的所述第一查询语句中的停用词。
11.如权利要求10所述的装置,其特征在于,所述处理模块,还用于将所述第一查询语句中的停用词的统计特征和所述第一查询语句中的停用词相对于所述第二查询语句的变化特征作为正样本,将所述第一查询语句中除停用词外的其他词的统计特征和所述第一查询语句中除停用词外的其他词相对于所述第二查询语句的变化特征作为负样本,根据所述正样本和所述负样本对所述识别模型进行训练。
12.如权利要求11所述的装置,其特征在于,所述处理模块,还用于在进行所述训练之前,将所述第一查询语句去除所述识别模型识别出的停用词获得候选检索词,根据所述候选检索词进行检索获得检索结果;
在确定所述检索结果的正确性的情况下,执行所述训练。
13.一种计算设备,其特征在于,包括处理器、存储器;
所述处理器用于读取所述存储器中的程序执行以下操作:接收第一查询语句,获取所述第一查询语句对应的会话ID;还用于根据所述会话ID,获取与所述第一查询语句属于同一会话的第二查询语句;还用于获取所述第一查询语句的各个词相对于所述第二查询语句的变化特征;还用于根据所述第一查询语句的各个词相对于所述第二查询语句的变化特征,识别所述第一查询语句中的停用词;
所述第一查询语句的各个词相对于所述第二查询语句的变化特征包括以下之任一:第二变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句的位置相对于在所述第二查询语句的位置的变化;第三变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句中的词性相对于在所述第二查询语句中的词性的变化;第四变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句中的语法类别相对于在所述第二查询语句中的语法类别的变化;第五变化特征,用于指示所述第一查询语句和所述第二查询语句均包含的词,在所述第一查询语句中的两端标点符号相对于在所述第二查询语句中两端标点符号的变化。
14.如权利要求13所述的计算设备,其特征在于,所述处理器获取的所述第二查询语句符合以下条件之任一:所述第一查询语句与所述第二查询语句的最长公共子句的长度大于第一阈值;或者所述第一查询语句转换为所述第二查询语句所需的最少操作数小于第二阈值;或者将所述第一查询语句映射为第一向量,并将所述第一查询语句映射为第二向量,所述第一向量与所述第二向量之间的夹角或距离小于第三阈值。
15.如权利要求13或14所述的计算设备,其特征在于,所述处理器还用于,根据所述第一查询语句的各个词查询词特征库,获取所述第一查询语句的各个词的统计特征;
所述处理器根据所述第一查询语句的各个词相对于所述第二查询语句的变化特征,判定所述第一查询语句中的停用词包括:根据所述第一查询语句的各个词的统计特征和所述第一查询语句的各个词相对于所述第二查询语句的变化特征,识别所述第一查询语句中的停用词。
16.如权利要求15所述的计算设备,其特征在于,所述处理器根据所述第一查询语句的各个词的统计特征和所述第一查询语句的各个词相对于所述第二查询语句的变化特征,识别所述第一查询语句中的停用词包括:将所述第一查询语句的各个词相对于所述第二查询语句的变化特征和所述第一查询语句的各个词的统计特征输入识别模型,获得所述识别模型识别出的所述第一查询语句中的停用词。
17.如权利要求16所述的计算设备,其特征在于,所述处理器还用于,将所述第一查询语句中的停用词的统计特征和所述第一查询语句中的停用词相对于所述第二查询语句的变化特征作为正样本,将所述第一查询语句中除停用词外的其他词的统计特征和所述第一查询语句中除停用词外的其他词相对于所述第二查询语句的变化特征作为负样本,根据所述正样本和所述负样本对所述识别模型进行训练。
18.如权利要求17所述的计算设备,其特征在于,所述处理器进行所述训练之前,还用于将所述第一查询语句去除所述识别模型识别出的停用词获得候选检索词,根据所述候选检索词进行检索获得检索结果;在确定所述检索结果的正确性的情况下,执行所述训练。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/096179 WO2017091985A1 (zh) | 2015-12-01 | 2015-12-01 | 停用词识别方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108027814A CN108027814A (zh) | 2018-05-11 |
CN108027814B true CN108027814B (zh) | 2020-06-16 |
Family
ID=58796113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580029727.5A Active CN108027814B (zh) | 2015-12-01 | 2015-12-01 | 停用词识别方法与装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10019492B2 (zh) |
EP (1) | EP3232336A4 (zh) |
JP (1) | JP6355840B2 (zh) |
CN (1) | CN108027814B (zh) |
WO (1) | WO2017091985A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491462B (zh) * | 2018-03-05 | 2021-09-14 | 昆明理工大学 | 一种基于word2vec的语义查询扩展方法及装置 |
CN109947803B (zh) * | 2019-03-12 | 2021-11-19 | 成都全景智能科技有限公司 | 一种数据处理方法、系统及存储介质 |
CN110765239B (zh) * | 2019-10-29 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 热词识别方法、装置及存储介质 |
CN111159526B (zh) * | 2019-12-26 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 查询语句处理方法、装置、设备及存储介质 |
CN111191450B (zh) * | 2019-12-27 | 2023-12-01 | 深圳市优必选科技股份有限公司 | 语料清洗方法、语料录入设备及计算机可读存储介质 |
EP3901875A1 (en) | 2020-04-21 | 2021-10-27 | Bayer Aktiengesellschaft | Topic modelling of short medical inquiries |
CN114519090B (zh) * | 2020-11-20 | 2023-11-21 | 马上消费金融股份有限公司 | 一种停用词的管理方法、装置及电子设备 |
EP4036933A1 (de) | 2021-02-01 | 2022-08-03 | Bayer AG | Klassifizierung von mitteilungen über arzneimittel |
US11914664B2 (en) | 2022-02-08 | 2024-02-27 | International Business Machines Corporation | Accessing content on a web page |
US12130790B1 (en) * | 2023-07-20 | 2024-10-29 | Elm | Method for accelerated long document search using Hilbert curve mapping |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567371A (zh) * | 2010-12-27 | 2012-07-11 | 上海杉达学院 | 自动过滤停用词的方法 |
US8688727B1 (en) * | 2010-04-26 | 2014-04-01 | Google Inc. | Generating query refinements |
CN103902552A (zh) * | 2012-12-25 | 2014-07-02 | 深圳市世纪光速信息技术有限公司 | 停用词的挖掘方法和装置、搜索方法和装置、评测方法和装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4073989B2 (ja) * | 1997-12-09 | 2008-04-09 | 株式会社東芝 | 自然言語検索入力装置 |
US6252988B1 (en) * | 1998-07-09 | 2001-06-26 | Lucent Technologies Inc. | Method and apparatus for character recognition using stop words |
US6514140B1 (en) * | 1999-06-17 | 2003-02-04 | Cias, Inc. | System for machine reading and processing information from gaming chips |
JP2001325104A (ja) * | 2000-05-12 | 2001-11-22 | Mitsubishi Electric Corp | 言語事例推論方法、言語事例推論装置及び言語事例推論プログラムが記録された記録媒体 |
US7409383B1 (en) | 2004-03-31 | 2008-08-05 | Google Inc. | Locating meaningful stopwords or stop-phrases in keyword-based retrieval systems |
US8438142B2 (en) * | 2005-05-04 | 2013-05-07 | Google Inc. | Suggesting and refining user input based on original user input |
US9110975B1 (en) * | 2006-11-02 | 2015-08-18 | Google Inc. | Search result inputs using variant generalized queries |
US20080141278A1 (en) * | 2006-12-07 | 2008-06-12 | Sybase 365, Inc. | System and Method for Enhanced Spam Detection |
US8498980B2 (en) * | 2007-02-06 | 2013-07-30 | Nancy P. Cochran | Cherry picking search terms |
US8131735B2 (en) * | 2009-07-02 | 2012-03-06 | Battelle Memorial Institute | Rapid automatic keyword extraction for information retrieval and analysis |
US8352469B2 (en) * | 2009-07-02 | 2013-01-08 | Battelle Memorial Institute | Automatic generation of stop word lists for information retrieval and analysis |
US9009144B1 (en) * | 2012-02-23 | 2015-04-14 | Google Inc. | Dynamically identifying and removing potential stopwords from a local search query |
CA2899314C (en) * | 2013-02-14 | 2018-11-27 | 24/7 Customer, Inc. | Categorization of user interactions into predefined hierarchical categories |
CN103914445A (zh) * | 2014-03-05 | 2014-07-09 | 中国人民解放军装甲兵工程学院 | 数据语义处理方法 |
-
2015
- 2015-12-01 EP EP15909502.5A patent/EP3232336A4/en not_active Ceased
- 2015-12-01 CN CN201580029727.5A patent/CN108027814B/zh active Active
- 2015-12-01 WO PCT/CN2015/096179 patent/WO2017091985A1/zh active Application Filing
- 2015-12-01 JP JP2017521535A patent/JP6355840B2/ja active Active
-
2017
- 2017-09-01 US US15/693,971 patent/US10019492B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8688727B1 (en) * | 2010-04-26 | 2014-04-01 | Google Inc. | Generating query refinements |
CN102567371A (zh) * | 2010-12-27 | 2012-07-11 | 上海杉达学院 | 自动过滤停用词的方法 |
CN103902552A (zh) * | 2012-12-25 | 2014-07-02 | 深圳市世纪光速信息技术有限公司 | 停用词的挖掘方法和装置、搜索方法和装置、评测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3232336A4 (en) | 2018-03-21 |
JP6355840B2 (ja) | 2018-07-11 |
US10019492B2 (en) | 2018-07-10 |
JP2018501540A (ja) | 2018-01-18 |
EP3232336A1 (en) | 2017-10-18 |
US20180004815A1 (en) | 2018-01-04 |
WO2017091985A1 (zh) | 2017-06-08 |
CN108027814A (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108027814B (zh) | 停用词识别方法与装置 | |
CN108460014B (zh) | 企业实体的识别方法、装置、计算机设备及存储介质 | |
CN108073568B (zh) | 关键词提取方法和装置 | |
WO2020244073A1 (zh) | 基于语音的用户分类方法、装置、计算机设备及存储介质 | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
US9436681B1 (en) | Natural language translation techniques | |
CN107229627B (zh) | 一种文本处理方法、装置及计算设备 | |
TW202020691A (zh) | 特徵詞的確定方法、裝置和伺服器 | |
CN107102993B (zh) | 一种用户诉求分析方法和装置 | |
CN112163424A (zh) | 数据的标注方法、装置、设备和介质 | |
CN115098650B (zh) | 基于历史数据模型的评论信息分析方法及相关装置 | |
US20210026890A1 (en) | Faq consolidation assistance device, faq consolidation assistance method, and program | |
EP2707808A2 (en) | Exploiting query click logs for domain detection in spoken language understanding | |
CN112487824A (zh) | 客服语音情感识别方法、装置、设备及存储介质 | |
CN111354354B (zh) | 一种基于语义识别的训练方法、训练装置及终端设备 | |
CN113656575B (zh) | 训练数据的生成方法、装置、电子设备及可读介质 | |
CN110705285A (zh) | 一种政务文本主题词库构建方法、装置、服务器及可读存储介质 | |
CN110795942A (zh) | 基于语义识别的关键词确定方法、装置和存储介质 | |
CN115062621A (zh) | 标签提取方法、装置、电子设备和存储介质 | |
CN107480126B (zh) | 一种工程材料类别智能识别方法 | |
CN113935314A (zh) | 基于异构图网络的摘要抽取方法、装置、终端设备及介质 | |
CN110929509B (zh) | 一种基于louvain社区发现算法的领域事件触发词聚类方法 | |
CN117235137B (zh) | 一种基于向量数据库的职业信息查询方法及装置 | |
CN113407584A (zh) | 标签抽取方法、装置、设备及存储介质 | |
CN111104422B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220225 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |