CN109923538A - 文本检索装置、文本检索方法以及计算机程序 - Google Patents
文本检索装置、文本检索方法以及计算机程序 Download PDFInfo
- Publication number
- CN109923538A CN109923538A CN201780069191.9A CN201780069191A CN109923538A CN 109923538 A CN109923538 A CN 109923538A CN 201780069191 A CN201780069191 A CN 201780069191A CN 109923538 A CN109923538 A CN 109923538A
- Authority
- CN
- China
- Prior art keywords
- text
- retrieval
- code
- word
- data
- 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.)
- Granted
Links
Classifications
-
- 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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
Abstract
文本检索装置12对由原始文本中记载的互不相同的多个词语变换出的互不相同的固定长度的代码的多个文本数据进行存储。用户终端14指定多个词语,且向文本检索装置12发送以词语数指定这些多个词语所应存在的范围的检索要求。文本检索装置12获取与检索要求所指定的多个词语各自对应的固定长度的代码,与检索要求所指定的词语数基准的范围、固定的代码长度相应地导出字符数基准的范围。文本检索装置12执行以多个词语的代码和字符数基准的范围为条件的邻近检索,从多个文本数据中提取符合上述条件的文本数据。
Description
技术领域
本发明涉及数据处理技术,尤其涉及对文本进行检索的技术。
背景技术
N-gram方式的全文检索技术目前正在广泛普及(例如参照专利文献1)。而且,现在,在文献的检索服务中,有提供对在用户所指定的范围(以下也称为“邻近范围”)中记载了用户所指定的多个关键词的文献进行检索的邻近检索的情况。
在先技术文献
专利文献
专利文献1:日本特开2006-99427号公报
发明概要
发明所要解决的课题
在N-gram方式的检索引擎中,虽然能够进行以字符数为基准的邻近检索,但不能进行以词语数为基准的邻近检索。换言之,虽然能将字符数指定为作为邻近检索的条件的邻近范围,但不能指定词语数。每个词语的字符数可能不同,对于以词语数指定邻近范围的需求较高。但是,将现有的检索引擎修改成可以用词语数为基准进行邻近检索、或者将现有的检索引擎置换为能够以词语数为基准进行邻近检索的其他的检索引擎需要巨大的成本。
本发明鉴于这样的问题而完成,其主要的目的在于,提供一种在使用N-gram方式的检索引擎的同时实现以词语数为基准的邻近检索的技术。
用于解决课题的方案
为了解决上述问题,本发明的一种形式的文本检索装置具有:第1文本存储部,对多个文本数据进行存储,所述多个文本数据分别是将记载于原始文本的互不相同的多个词语变换成互不相同的固定长度的代码的数据;接收部,接收检索要求,所述检索要求是对多个词语进行指定的检索要求,且以词语数对这些多个词语所应存在的范围进行指定;获取部,获取与检索要求所指定的多个词语分别对应的、固定长度的代码;导出部,与检索要求所指定的词语数基准的范围和固定的代码长度相应地导出字符数基准的范围;以及检索部,执行以由获取部获取的多个词语的代码、及由导出部导出的字符数基准的范围为条件的邻近检索,并且从存储于所述第1文本存储部的多个文本数据中提取满足条件的文本数据。
本发明的另一个形式是文本检索方法。在该方法中,文本存储部存储多个文本数据,多个文本数据分别是记载于原始文本的互不相同的多个词语变换成的互不相同的固定长度的代码,能够访问文本存储部的计算机执行以下步骤:指定多个词语的检索要求,且接收以词语数指定这些多个词语所应存在的范围的检索要求的步骤;获取与检索要求所指定的多个词语分别对应的固定长度的代码的步骤;与检索要求所指定的词语数基准的范围和固定的代码长度相应地导出字符数基准的范围的步骤;以及执行以在获取的步骤中获取的多个词语的代码和在导出的步骤中导出的字符数基准的范围为条件的邻近检索,并从存储于文本存储部的多个文本数据中提取满足条件的文本数据的步骤。
此外,以上的构成要素的任意组合、本发明表现形式在系统、计算机程序、保存计算机程序的记录媒体等之间进行的变换,均作为本发明的形式而有效。
发明效果
根据本发明,能够一边使用N-gram方式的检索引擎一边实现词语数基准的邻近检索。
附图说明
[图1]是示出第1实施例的检索系统的图。
[图2]是示出图1的文本检索装置的功能构成的框图。
[图3]是示意地示出字典存储部的构成例的图。
[图4]是示出第1实施例的文本检索装置的运行的流程图。
[图5]是示出第1实施例的文本检索装置的运行的流程图。
[图6]是示出第2实施例的文本检索装置的运行的流程图。
[图7]是示出第2实施例的文本检索装置的运行的流程图。
具体实施方式
在对本发明的实施例详细说明前首先对概要进行说明。
实施例的文本检索装置所具有的检索引擎执行N-gram方式的文本检索。例如,如以“eat”进行检索,则“beat”“heat”“beaten”会全部命中。N-gram方式的检索引擎无法识别词语的分割。例如,“eat”和“beaten”都能通过检索“eat”而命中。
另外,N-gram方式的检索引擎在邻近检索中不考虑词语数。例如,在“eatpathologically you are disgusting”和“eat it much faster you can hurtyourself”中,“eat”与“you”之间的字符数虽然相同,但其间的词语数分别是1和3,还是相当有差别的。在N-gram方式的检索引擎中,虽然能够进行基于字符数的邻近检索,但不能进行基于词语数的邻近检索。
在邻近检索中,用户以多个关键词、这些多个关键词所应存在的范围(即邻近范围)为条件进行指定。该范围可以说是表示多个关键词的邻近程度,以下称为“距离”。将字符数所指定的距离,换言之,字符数基准的邻近范围称为“字符距离”,将以词语数指定的距离,换言之,词语数基准的邻近范围称为“词语距离”。
在此,示出基于字符数的邻近检索的例子。例如,在执行以关键词“eat”、关键词“you”、字符距离“15”为条件的邻近检索时,命中在15字符范围内包括“eat”和“you”两者的文本。此外,实施例的N-gram方式的检索引擎以完全一致的方式对连续的字符串进行检索。例如,在3-gram的情况下,以关键词“aboard”进行的检索不会命中“aboveboard”。
在实施例中,使用N-gram方式的检索引擎,实现基于词语数的邻近检索。例如,“车里计算机”由“车”“里”“计算机”3词语构成,在以“车”以及“计算机”为关键词、将词语距离设为“3”的邻近检索中,命中包括“车里计算机”的文本。此外,词语距离“2”意味着2个关键词邻接。词语距离“N(N为3以上)”意味着多个关键词存在于包括了关键词在内的N个词语内。
具体而言,实施例的文本检索装置将原始文本的各词语变换为固定长度的代码后的文本作为检索对象的多个文本而存储。文本检索装置在接受检索要求后,将检索要求所指定的关键词变换为固定长度的代码。与此同时,基于检索要求中指定的词语距离和固定的代码长度,导出字符距离。文本检索装置将关键词的代码和字符距离输入N-gram方式的检索引擎,执行基于字符数的邻近检索。这样,能够通过将检索对象文本内的各词语以及检索关键词变换成固定长度的代码,而将用户指定的词语距离变换为字符距离。根据实施例的文本检索装置12,能够一边使用现有的N-gram方式的检索引擎,一边实现基于词语数的邻近检索。换言之,能够使用执行基于字符数的邻近检索的现有检索引擎,来实现基于词语数的邻近检索。
(第1实施例)
图1示出第1实施例的文本检索系统10。文本检索系统10具备文本检索装置12和用户终端14。文本检索装置12是提供关键词检索、邻近检索等文本检索服务的信息处理装置。例如,文本检索装置12也可以是经由互联网而提供专利文献的检索服务的服务器。
用户终端14是文本检索装置12提供的由文本检索服务的使用者(以下称为“用户”)操作的信息处理装置。用户终端14还可以是例如PC、智能手机、平板电脑终端。文本检索装置12与用户终端14经由包括LAN、WAN、互联网等的通信网16而连接。此外,图1中描述了1个用户终端14,但实际上也可以将由多个用户操作的多个用户终端14与文本检索装置12连接。
图2是示出图1的文本检索装置12的功能构成的框图。文本检索装置12具备控制部20、存储部22、通信部24。控制部20执行与文本检索相关的各种数据处理。存储部22是存储通过控制部20参照或更新的数据的存储区域。通信部24根据规定的通信协议与外部装置通信。控制部20经由通信部24,与用户终端14之间进行数据的发送和接收。
本说明书的框图中所示的各块,在硬件方面,可以通过以计算机的CPU和内存为主的元件和机械装置来实现,而在软件方面,可以通过计算机程序等来实现,在这里,描述了通过它们之间的协作而实现的功能块。因此,本领域技术人员能够理解,这些功能块能够通过硬件、软件的组合以多种形式实现。
例如,控制部20的各块的功能作为计算机程序被安装,该计算机程序也可以装载于文本检索装置12的存储器。接着,文本检索装置12的CPU也可以将该计算机程序读出至主内存并执行,发挥控制部20的各块的功能。另外,存储部22也可以通过文本检索装置12的主内存、存储器而实现。此外,文本检索装置12也可以通过网络服务器、应用程序APP服务器、数据库服务器等多台装置经由通信网协作而实现。
存储部22包括字典存储部26、原本文本存储部28、代码化文本存储部30。原本文本存储部28存储多个原始文本数据。原始文本数据是文本内记载的词语变换为代码之前的文本数据,换言之,是完成时刻的内容的文本数据。原始文本数据包含日语、英语等多种语言记载的文本。例如,原始文本数据也可以包含公开专利公报和管理数据(各种编号等)、专利登载公报、管理数据。
字典存储部26存储原始文本数据中可能包含的多个词语、与多个代码的对应关系。该词语也称词素,包含日语、英语等多种语言中确定的词语。图3是示意地示出字典存储部26的构成例的图。字典存储部26存储将多种语言中的互不相同的多个词语对应于互不相同的固定长度的代码的字典数据。代码也称多个词语各自的唯一的ID。实施例的代码是11字节的固定长度数据,具体而言,是11字符的固定的字符串。各代码的前端(例如第1字节)设定有在前端以外不使用的特殊值(换言之分割字符)。特殊值也可以是在代码的第2~11字节不使用的值(比特的排列)。实施例中,代码前端的特殊值用“#”表示
返回到图2,代码化文本存储部30存储将原始文本数据中记载的互不相同的多个词语变换为互不相同的固定长度的代码的文本数据(以下也称为“代码化文本数据”。),存储多个代码化文本数据。代码化文本数据也可以包含例如,将原始的公开专利公报中记载的多个词语变换为代码的公开专利公报的代码化数据、和将原始的专利登载公报中记载的多个词语变换为代码的专利登载公报的代码化数据。
参照图3对代码化文本数据的例子进行说明。例如,原始文本数据中包含字符串“我的发明”(“我”“的”“发明”这3个词语)的情况下,将上述字符串变换为“#0024F76DA7#0024F76DD8#0024F76DA6”并记录在代码化文本数据中。
此外,存储在代码化文本存储部30的多个代码化文本数据,分别与存储在原本文本存储部28的变换前的原始文本数据对应。多个代码化文本数据各自也可以包含对应的原始文本数据的标识符,也可以包含对应的原始文本数据内存上的地址(即指针)。
控制部20包含文本变换部32、检索要求接收部34、代码获取部36、字符距离导出部38、检索指示部40、检索执行部42、检索结果提供部44。在图中没有示出,但控制部20也可以包含公知的网络服务器的功能。
文本变换部32将存储在原本文本存储部28的原始文本数据生成代码化文本数据。例如,文本变换部32执行公知的词素解析处理,识别原始文本数据中记载的多个词语。文本变换部32参照字典存储部26的字典数据,通过将原始文本数据中记载的多个词语置换为对应各词语的固定长度的代码,生成代码化文本数据。文本变换部32将生成的代码化文本数据保存于代码化文本存储部30。
检索要求接收部34接收从文本检索装置12发送的检索要求。实施例的检索要求是对邻近检索作出要求的查询电文。具体而言,检索要求中指定多个词语,并且这些多个词语所应存在的范围由词语数指定。换言之,实施例的检索要求指定了多个关键词和这些关键词间的词语距离。
代码获取部36参照字典存储部26的字典数据,获取通过检索要求接收部34接收的检索要求中指定的多个词语各自对应的代码。
字符距离导出部38根据通过检索要求接收部34接收的检索要求中指定的词语距离和固定的代码长度(实施例中为11字符),导出作为邻近检索条件的字符距离。具体而言,字符距离导出部38将(词语距离×代码长度)的结果作为字符距离而导出。
检索指示部40与检索执行部42相互协作,作为执行包含邻近检索的各种检索处理的检索部而发挥功能。检索指示部40将检索指示输入检索执行部42,该检索指示指定作为关键词通过代码获取部36获取的多个代码,即指定通过字符距离导出部38导出的字符距离的检索指示。
检索执行部42是根据检索指示部40输入的检索指示,执行通过N-gram方式的文本检索处理的检索引擎。无论用户终端14是否要求基于词语距离进行邻近检索,检索执行部42都执行基于字符距离的邻近检索。
具体而言,检索执行部42以检索指示中指定的多个关键词和字符距离为条件执行邻近检索。检索执行部42从存储在代码化文本存储部30的多个代码化文本数据之中,提取满足上述条件的代码化文本数据。另外,检索执行部42从原本文本存储部28提取、与从代码化文本存储部30提取的(即邻近检索中命中的)与代码化文本数据对应的原始文本数据。检索执行部42将从原本文本存储部28提取的原始文本数据,以及/或从代码化文本存储部30提取的代码化文本数据输出至检索结果提供部44。
检索结果提供部44将检索执行部42提取的原始文本数据发送至发出检索要求的用户终端14。例如,也可以将表示原始文本数据的识别信息(各种管理编号等)、原始文本数据的本文的至少一部分发送至用户终端14。作为变形例,检索结果提供部44也可以将通过检索执行部42提取的代码化文本数据(例如和原始文本数据共通的管理编号等),与原始文本数据同时、或代替原始文本数据,发送至用户终端14。另外,作为变形例,也可以在向用户提示原始文本数据的全部或一部分时,对原始文本数据中检索指示所指示的多个关键词的出现之处进行高亮显示(明示)。
如以上所述,存储在代码化文本存储部30的代码化文本数据是与记录在原始文本数据的词语预先对应的代码的记录。当字典存储部26的字典数据中不存在记录在原始文本数据的某词语(称为“特定词语”。)对应的代码时,文本变换部32将特定词语分解成多个单字符词语。单字符词语是由1个字符构成的词语,包含例如“A”“b”“あ”“い”“日”“月”等。字典存储部26的字典数据中预先保存了对应于多个单字符词语的多个代码。文本变换部32参照字典存储部26的字典数据,将预先对应了各个多个单字符词语的代码记录在代码化文本数据。
当字典数据中不存在对应于检索要求中指定的多个词语之中的一部分词语的代码时,代码获取部36将不存在对应代码的词语(即特定词语)分解成多个单字符词语,获取多个单字符词语各自的代码。
字符距离导出部38根据分解特定词语的单字符词语的个数,将检索要求中指定的词语距离扩大。具体而言,将(检索要求中指定的词语距离-特定词语数+各特定词语的单字符词语的个数)作为新的词语距离导出。例如,当检索要求中指定的词语距离为5、特定词语数为1、该特定词语被分解成3个单字符词语时(换言之特定词语的字符数为3时),将(5-1+3=7)作为新的词语距离导出。字符距离导出部38基于新的词语距离导出字符距离。例如,当新的词语距离为“7”时,将其与固定的代码长度“11”的乘积“77”作为字符距离导出。像这样,根据邻近检索中的词语数的增加,扩大词语距离,通过这样,将特定词语分解成多个单字符词语的结果是,用户指定的词语距离实质上变短,能够避免检索精度的降低。
检索指示部40将检索要求中指定的多个词语之中存在1个以上对应代码的词语的代码、多个单字符词语的代码、通过字符距离导出部38导出的字符距离为条件的邻近检索指示输入检索执行部42。检索执行部42基于这些条件执行邻近检索,从代码化文本存储部30提取满足这些条件的代码化文本数据。
检索指示部40进而指示检索执行部42进一步执行以通过邻近检索提取的1个以上的代码化文本数据为总体的新的邻近检索。具体而言,指示进一步执行以多个单字符词语的代码邻接为条件的新的邻近检索。例如,将某1个特定词语分解成4个单字符词语时,基于字符距离“4”指示进一步执行新的邻近检索。检索执行部42根据检索指示执行新的邻近检索,过滤之前的邻近检索的结果。
通过以上构成对文本检索装置12的运行进行说明。
图4是示出第1实施例的文本检索装置12的运行的流程图。该图示出代码化文本数据生成时的运行。检索总体中所应包含的原始文本数据(例如新公开的公开专利公报等)随时追加到原本文本存储部28。文本变换部32直到新的原始文本数据保存到原本文本存储部28为止,一直保持待机(S10的N)。检测到新的原始文本数据保存在原本文本存储部28(S10的Y)之后,文本变换部32对新的原始文本数据中记载的字符串执行词素解析处理,提取新的原始文本数据中记载的多个词语(S11)。
文本变换部32参照字典数据,获取对应于S11中提取的各词语的代码(S12)。如对应于原始文本数据中包含的至少1个词语(称为“特定词语”。)的代码未在字典数据中定义(S14的Y),文本变换部32将特定词语分解成多个单字符词语,获取各单字符词语对应的代码(S16)。如原始文本数据中不存在特定词语,即原始文本数据的所有词语在字典数据中都已定义(S14的N),则跳过S16。文本变换部32将由原始文本数据的各词语(可能包含单字符词语)变换成的固定长度的代码的代码化文本数据,保存在代码化文本存储部30(S18)。
图5也是示出第1实施例的文本检索装置12的运行的流程图。该图示出检索时的运行。直到接收从用户终端14发送的检索要求为止,检索要求接收部34一直保持待机(S20的N)。检索要求接收部34接收检索要求(具体而言,多个词语和指定词语距离的邻近检索要求)(S20的Y)之后,代码获取部36参照字典数据,识别对应检索要求中指定的多个词语的多个代码(S22)。
如至少1个词语(称为“特定词语”。)对应的代码未在字典数据中定义(S24的Y),则代码获取部36将内存的规定区域中设置的特殊旗标设定为开启(S26)。代码获取部36将特定词语分解成多个单字符词语,获取对应于各单字符词语的代码(S28)。字符距离导出部38根据单字符词语的个数,将检索要求中指定的词语距离扩大(S30)。具体而言,词语距离仅增加单字符词语的个数与特定词语的个数之间的差别部分。如检索要求中指定的词语不包含特定词语,即,如指定的所有词语都在字典数据中已定义(S24的N),则跳过S26~S30。
字符距离导出部38基于检索要求中指定的词语距离或S30中扩大的词语距离、固定的代码长度,导出用于邻近检索的字符距离(S32)。检索指示部40将检索要求中指定的多个词语的代码、以及如有特定词语则对该特定词语进行分解得到的多个单字符词语的代码为关键词而指定的检索指示,即进一步指定S32中导出的字符距离的邻近检索指示输入检索执行部42。检索执行部42执行以代码化文本存储部30保存的多个代码化文本数据为总体的邻近检索处理,即执行通过N-gram方式的字符数基准的邻近检索处理(S34)。检索执行部42从代码化文本存储部30提取邻近检索中命中的代码化文本数据,从原本文本存储部28提取对应于提取的代码化文本数据的原始文本数据。
如特殊旗标为开启(S36的Y),检索指示部40指示检索指示部40进一步执行以S34的邻近检索处理中提取的1个以上的代码化文本数据为总体的过滤检索,即以多个单字符词语的代码邻接为条件的新的邻近检索(S38)。检索指示部40将特殊旗标返回为关闭(S40)。如特殊旗标为关闭(S36的N),则跳过S38、S40。检索结果提供部44将通过检索执行部42提取的代码化文本数据相关联的信息、以及/或与原始文本数据相关联的信息作为邻近检索结果发送至用户终端14(S42)。当执行了S38的过滤检索时,检索结果提供部44将该过滤检索的结果作为邻近检索结果发送至用户终端14。通过以上处理,基于由用户指定的词语距离的邻近检索的结果被提示给用户。
作为具体例,示出接收了指定的3个词语“都知事”“小池氏”“外游”和词语距离10为检索要求的情况下的运行。在该例子中,“小池氏”是字典数据中不存在的特定词语。当原始文本数据中包含“小池氏”时,对应的代码化文本数据中记录有3个单字符词语“小”“池”“氏”各自的代码。文本检索装置12将“小池氏”分解成3个单字符词语“小”“池”“氏”。与此同时,文本检索装置12将词语距离扩大为12(≈10-1+3),导出字符距离132(=12×11※使代码长度为11)。文本检索装置12执行以5个词语“都知事”“小”“池”“氏”“外游”、以及字符距离132为条件的第1邻近检索,提取满足该条件的代码化文本数据。
文本检索装置12在提取1个以上的代码化文本数据作为第1邻近检索的结果的情况下,执行以这些代码化文本数据为总体的邻近检索,即以3个单字符词语“小”“池”“氏”、以及词语距离3(字符距离为33)为条件的第2邻近检索。词语距离3的第2邻近检索,以“小”“池”“氏”邻接为条件。第2邻近检索的结果是,“都知事”“小”“池”“氏”“外游”记载于词语距离12(实质上词语距离10)以内,并且,“小”“池”“氏”邻接的代码化文本数据(以及原始文本数据)被提取。
此外,如在检索执行部42中能够指定重要程度(顺序导向),则在第2邻近检索中优选地进一步指定,对3个单字符词语“小”“池”“氏”按重视顺序进行检索。据此,更容易获得与用户指定的检索条件更相符的检索结果。此外,在第2邻近检索中,也可以以作为第1邻近检索的结果的对应于1个以上的代码化文本数据的1个以上的原始文本数据为总体,通过通常检索从这些1个以上的原始文本数据之中提取包含关键词“小池氏”的内容。
另外,如为能够在关键词间指定通配符(在此为“*”)的检索引擎,也可以指定“#(都知事)*#(小)#(池)#(氏)*#(外游)”(只不过,#(词语)表示词语的代码。)作为检索语句,并且,将指定字符距离132(词语距离12)的检索指示输入检索执行部42。此时,也更容易获得与用户指定的检索条件更相符的检索结果。
通过第1实施例的文本检索装置12,能够进行字符数指定的邻近检索,但也能使用与词语数指定的邻近检索未对应的现有的N-gram方式的检索引擎,实现词语数指定邻近检索。因此,为了对应词语数指定的邻近检索,无需修改现有的检索引擎,或者新购买检索引擎。尤其是在英语等按每个词语进行分割而记述的语言的文本检索中,相比字符数,词语数对于用户来说是直观的,作为检索条件的便利性较高。通过文本检索装置12,使用英语等的用户能够使用N-gram方式的检索引擎,实现便利性较高的词语数指定的邻近检索。
另外,在文本检索装置12中,通过在对应于多个词语的多个代码的前端设定只在前端使用的分割字符,检索代码时一定会从代码的前端开始判断是否一致。据此,能够防止从代码的中间(即词语的中间)开始判断是否一致,另外,也能防止从某代码跨到下一个代码来判断是否一致。另外,通过文本检索装置12,当用户指定了不存在对应的代码的词语时,也能够实现邻近检索。
(第2实施例)
第2实施例的文本检索装置12,词语对应的代码未在字典数据中定义时的处理与第1实施例有所不同。第2实施例中的文本检索系统10的构成、以及文本检索装置12的功能块与第1实施例相同(图1以及图2)。以下,适当地省略与第1实施例重复的构成的说明,主要对与第1实施例不同的点进行说明。
文本变换部32在对应于原始文本数据中记录的某词语(称为特定词语。)的代码在字典存储部26的字典数据中未定义的情况下,文本变换部32跳过特定词语的代码变换,执行下一个词语的代码变换。即,文本变换部32不将特定词语相关的代码记录在代码化文本数据,换言之,仅将原始文本数据中记录的词语之中的对应于字典数据中的代码的词语记录在代码化文本数据中。
当对应于检索要求中指定的多个词语之中的一部分词语(称为特定词语。)的代码未在字典数据中定义时,代码获取部36跳过特定词语的代码变换,执行下一个词语的代码变换。检索指示部40指示检索执行部42执行邻近检索,所属检索的条件是,检索要求中指定的多个词语之中对应的代码为已完成定义的词语的代码,以及变换了检索要求中指定的词语距离的字符距离。检索执行部42从原本文本存储部28提取对应于满足上述条件的1个以上的代码化文本数据的1个以上的原始文本数据,作为邻近检索的执行结果。
检索指示部40进而将通过邻近检索提取的1个以上的原始文本数据指定为总体,并且,把将特定词语指定为关键词的过滤检索的指示输入检索执行部42。检索执行部42执行过滤检索(在此为普通的关键词检索),从通过邻近检索提取的1个以上的原始文本数据之中提取包含特定词语的原始文本数据。检索结果提供部44将通过检索执行部42的过滤检索的结果发送至发出邻近检索要求的用户终端14。
通过以上构成对文本检索装置12的运行进行说明。
图6是示出第2实施例的文本检索装置12的运行的流程图。该图对应于图4,示出代码化文本数据生成时的运行。该图的S50~S52与图4的S10~S12相同,因此省略说明。
当对应于原始文本数据中包含的至少1个词语(称为“特定词语”。)的代码未在字典数据中定义时(S54的Y),文本变换部32跳过特定词语的处理,代码化文本数据中不保存特定词语相关的代码(S56)。如原始文本数据中不存在特定词语,即原始文本数据的所有词语均不对应于代码(S54的N),则跳过S56。文本变换部32把将原始文本数据的各词语(但特定词语除外)变换为固定长度的代码的代码化文本数据保存在代码化文本存储部30(S58)。
图7也是示出第2实施例的文本检索装置12的运行的流程图。该图对应于图5,示出检索时的运行。该图的S60、S62与图5的S20、S22相同,因此省略说明。
如至少1个词语(称为“特定词语”。)对应的代码未在字典数据中定义(S64的Y),则代码获取部36将内存的规定区域中设置的特殊旗标设定为开启(S66)。检索指示部40将特定词语从邻近检索的对象中去除(S68)。如检索要求中指定的词语不包含特定词语,即,对应于指定的所有词语的代码未在字典数据中定义(S64的N),则跳过S66、S68。字符距离导出部38基于检索要求中指定的词语距离、以及固定的代码长度,导出用于邻近检索的字符距离(S70)。
检索指示部40将去除了检索要求中指定的多个词语之中特定词语后的剩余词语的代码作为关键词指定的检索指示,即进一步指定了S70中导出的字符距离的邻近检索指示输入检索执行部42。检索执行部42执行以代码化文本存储部30保存的多个代码化文本数据为总体的邻近检索处理,即执行通过N-gram方式的字符数基准的邻近检索处理。检索执行部42从原本文本存储部28提取对应于通过邻近检索处理提取的代码化文本数据的原始文本数据(S72)。
如特殊旗标为开启(S74的Y),检索指示部40将在邻近检索处理中提取的以1个以上的原始文本数据为总体的过滤检索的指示,即以特定词语为关键词指定的过滤检索指示输入检索执行部42。检索执行部42从邻近检索处理中提取的1个以上的原始文本数据之中,提取包含特定词语的原始文本数据(S76)。检索指示部40将特殊旗标返回为关闭(S78)。如特殊旗标从最初开始就为关闭(S74的N),则跳过S76和S78。检索结果提供部44将通过检索执行部42提取的代码化文本数据相关联的信息、以及/或与原始文本数据相关联的信息作为邻近检索结果,发送至用户终端14(S80)。当执行了S76的过滤检索时,检索结果提供部44将该过滤检索的结果作为邻近检索结果发送至用户终端14。通过以上处理,基于由用户指定的词语距离的邻近检索的结果被提示给用户。
作为具体例,示出接收了指定的3个词语“都知事”“小池氏”“外游”和词语距离10为检索要求的情况下的运行。在该例子中,“小池氏”是字典数据中不存在的特定词语。当原始文本数据包含“小池氏”时,与“小池氏”相关的代码不记录在对应的代码化文本数据中。文本检索装置12执行以2个词语“都知事”“外游”和字符距离110(=词语距离10×代码长度11)为条件的邻近检索,提取满足该条件的代码化文本数据,进而提取对应的原始文本数据。当提取1个以上的原始文本数据作为邻近检索的结果时,文本检索装置12执行以这些原始文本数据为总体的过滤检索,即以关键词“小池氏”为条件的关键词检索。据此,“都知事”和“外游”记载于词语距离10以内,并且,包含“小池氏”的原始文本数据被提取。
在第2实施例的文本检索装置12中,与第1实施例的文本检索装置12发挥相同的效果。例如,通过第2实施例的文本检索装置12,当用户指定不存在对应的代码的词语时,可能会产生噪音,但能够将尽量符合用户指定的条件的检索结果提示给用户。
以上,以第1实施例和第2实施例为基础对本发明进行了说明。这些实施例均为示例,可存在各构成要素、各处理程序组合的变形例,另外,本领域技术人员应当能够理解这样的变形例也属于本发明范围。
对变形例进行说明。在字典存储部26的字典数据中定义的固定长度的代码的前端,也可以设定在前端以外不使用的任一多个特殊值。换言之,也可以将某范围内的值设定为特殊值(分割字符)。具体而言,也可以将Unicode中的U+9000~U+9FFF的范围设定为特殊值,在代码(在此为10字符)的前端第1字符设定上述范围中的任一特殊值。另外,也可以将U+1000~U+8FFF的范围设定为代码的第2字符~第10字符。
在本变形例的形式中,由于表示前端的分割字符在代码的中间没有出现,因此与实施例的分割字符发挥相同的效果。例如,必须从代码的前端开始判断是否一致,能够防止从代码的中间开始判断是否一致。另外,在第1变形例的形式中,代码的前端(例如第1字符)也能够用于代码的识别。即,代码需要按词语而成为唯一,但也能够在代码的前端从规定范围的特殊值群之中设定不同的值,为此能够使代码长度短于实施例。据此,能够减小字典数据以及代码化文本数据的大小。
对其他变形例进行说明。保存在代码化文本存储部30的代码化文本数据也可以是将原始文本数据中记载的具有相互关联性的多个词语变换为共通的代码。具体而言,在字典存储部26的字典数据中,也可以对相互关联的多个词语分配共通的代码。例如,对于基本形相同但活用形不同的多个词语,也可以分配相同的代码。另外,在英语等中,也可以对某词语的原形、过去形、过去分词、复数形分配相同的代码。进而,另外,对于词干相同但接头词或接尾词不同的多个词语,也可以分配相同的代码。文本变换部32也可以参照字典数据,将拼写不同但相互关联的多个词语变换为相同的代码。
进而对其他变形例进行说明。在第1实施例中,如检索要求中指定的词语的代码未在字典数据中定义,由于将未定义的词语(称为特定词语。)分解成多个单字符词语,因此特定词语的字符数越多,作为邻近检索对象的词语数则越增加。当检索要求中存在特定词语时,优选地,用户稍长地指定词语距离。于是,第1实施例的文本检索装置12进而也可以具备通知部,该通知部将内容的消息发送至用户终端14并进行显示,该内容对将作为检索条件的词语距离设定为比当前值(换言之,检索要求时的指定值)更长进行催促。该消息的发送时机可以是邻近检索结果发送时,也可以是通过代码获取部36检测出特定词语的时刻。作为进一步的变形例,第1实施例的文本检索装置12也可以不向用户提示消息,使作为检索条件的词语距离自动大于用户的指定值。加上用户的指定值而得出的值,也可以基于作为检索条件而指定的关键词的个数、特定词语的个数、单字符词语的个数、用户指定值之中的至少1个而确定。另外,也可以通过开发者的知识、使用文本检索装置12的实验来确定适当的加算值(换言之加算值确定算法)。
另外,在第2实施例中,当检索要求中指定的词语的代码未在字典数据中定义时,忽视未定义的词语,执行邻近检索。因此,如果按照用户最初指定的词语距离,检索结果中容易混入噪音。于是,第2实施例的文本检索装置12进而也可以具备通知部,该通知部将内容的消息发送至用户终端14并进行显示,该内容对将作为检索条件的词语距离设定为比当前值(换言之,此前检索要求时的指定值)更短进行催促。该消息的发送时机可以是邻近检索结果发送时,也可以是通过代码获取部36检测出特定词语的时刻。作为进一步的变形例,第2实施例的文本检索装置12也可以不向用户提示消息,使作为检索条件的词语距离自动小于用户的指定值。用户的指定值所减去的值也可以基于作为检索条件而指定的关键词的个数、特定词语的个数、用户指定值之中的至少1个而确定。另外,也可以通过开发者的知识、使用文本检索装置12的实验来确定适当的减数值(换言之减数值确定算法)。
进而对其他变形例进行说明。第1实施例以及第2实施例的文本检索装置12进而也可以具备通知部,该通知部在检索要求中指定的词语的代码未在字典数据中定义时,把确认是否将未定义的词语(称为特定词语。)变更为其他词语的消息发送至用户终端14并进行显示。该确认结果,当用户终端14回复不变更特定词语时,文本检索装置12也可以执行第1实施例以及第2实施例中记载的特定词语相关联的处理。作为进一步的变形例,文本检索装置12也可以不向用户提示消息,将特定词语自动变换为字典数据中定义了代码的其他词语(在此称为“已定义词语”。)。例如,文本检索装置12也可以保持确定特定词语和已定义词语之间的对应关系的表,当检测到特定词语时,识别对应于该特定词语的已定义词语,将该特定词语变换为对应的已定义词语的代码。上述表也可以将意义类似以及/或拼写类似的特定词语和已定义词语对应起来。当特定词语在该表中也未定义时,文本检索装置12也可以执行第1实施例以及第2实施例中记载的特定词语相关联的处理。
进而对其他变形例进行说明。存在文本检索装置12将外部输入的文本数据(以下也称“输入文本数据”。)变换为更适合检索的形式的情况。文本检索装置12的原本文本存储部28也可以将变换后的文本数据(以下也称“检索形文本数据”。)作为原始文本数据而保持。即,原始文本数据也可以包含输入文本数据和检索形文本数据这两方。
表示输入文本数据和检索形文本数据的例子。
输入文本数据1:
“I bought a book from that shopper,when I was a little girl.”
将输入文本数据1变换后的检索形文本数据1:
“I buy a book from that shop,when I be a little girl.”
输入文本数据2:
“The chef cooked a special food at a national event while we weredevoted in eating.”
将输入文本数据1变换后的检索形文本数据2:
“The chef cook a special food at a nation event while we were devotin eat.”
如上述例子所示,检索形文本数据也可以是将输入文本数据中包含的动词词语(过去形、过去分词形、现在分词形等)变换为基本形(换言之,原形)的形式。另外,检索形文本数据可以是将输入文本数据中包含的名词词语(复数形)变换为单数形的形式,也可以是将某名词词语变换为更普通的名词词语的形式。文本检索装置12进而也可以具备从外部装置获取输入的输入文本数据,参照将变换前的词语和变换后的词语预先对应了的表,将输入文本数据变换为检索形文本数据,将变换后的检索形文本数据保存于原本文本存储部28的检索形文本生成部。
进而对其他变形例进行说明。第1实施例的文本检索装置12,在执行通过包含分解特定词语的单字符词语的关键词的邻近检索之后,也可以不执行以多个单字符词语的代码邻接为条件的新的邻近检索(过滤检索)。换言之,也可以跳过图5的S38。此外,也可以在通过包含单字符词语的关键词进行的邻近检索之前,执行以多个单字符词语的代码邻接为条件的邻近检索。
另外,第2实施例的文本检索装置12在执行通过排除了特定词语的关键词的邻近检索后,也可以不执行以特定词语为关键词的过滤检索。换言之,也可以跳过图7的S76。此外,也可以在通过排除了特定词语的关键词进行的邻近检索之前,执行将特定词语作为关键词的检索。例如,也可以在提取包括特定词语在内的原始文本数据后,执行以对应于提取的原始文本数据的代码化文本数据为总体并通过以排除了特定词语的关键词进行的邻近检索。
上述的实施例以及变形例的任意组合也可以作为本发明的实施方式而有用。通过组合而产生的新的实施方式集合了组合的实施例以及变形例各自的效果。本领域技术人员能够理解,权利要求中记载的各构成要件所应达到的功能能够通过实施例以及变形例中示出的各构成要素的个体或协作而实现。
符号说明
10 文本检索系统
12 文本检索装置
26 字典存储部
28 原本文本存储部
30 代码化文本存储部
34 检索要求接收部
36 代码获取部
38 字符距离导出部
40 检索指示部
42 检索执行部
工业可用性
本发明能够应用于对文本进行检索的装置。
Claims (11)
1.一种文本检索装置,其特征在于,具有:
第1文本存储部,对多个文本数据进行存储,所述多个文本数据分别是将记载于原始文本的互不相同的多个词语变换成互不相同的固定长度的代码的数据;
接收部,接收检索要求,所述检索要求是对多个词语进行指定的检索要求,且以词语数对这些多个词语所应存在的范围进行指定;
获取部,获取与检索要求所指定的多个词语分别对应的、固定长度的代码;
导出部,与检索要求所指定的词语数基准的范围和固定的代码长度相应地导出字符数基准的范围;以及
检索部,执行以由所述获取部获取的多个词语的代码、以及由所述导出部导出的字符数基准的范围为条件的邻近检索,并且从存储于所述第1文本存储部的多个文本数据中提取满足所述条件的文本数据。
2.如权利要求1所述的文本检索装置,其特征在于,在所述固定长度的代码的前端,设定在前端以外不使用的特殊值。
3.如权利要求1所述的文本检索装置,其特征在于,在所述固定长度的代码的前端,设定在前端以外不使用的多个特殊值中的任意一个。
4.如权利要求1~3中任一项所述的文本检索装置,其特征在于,还具备第2文本存储部,对与存储于所述第1文本存储部的多个文本数据相对应的变换前的文本数据、即多个原始文本数据进行存储,
所述检索部从所述第2文本存储部提取与从所述第1文本存储部提取的文本数据对应的原始文本数据。
5.如权利要求4所述的文本检索装置,其特征在于,存储于所述第1文本存储部的文本数据记录了预先与记载于原始文本数据的词语对应的代码,在原始文本数据中记载的与某词语对应的代码未定义的情况下,与该词语相关的代码不记录于所述文本数据,
在与检索要求所指定的多个词语中的一部分词语相对应的代码未定义的情况下,所述检索部执行基于对应的代码所存在的词语的代码的邻近检索,从通过该邻近检索提取的1个以上原始文本数据中提取包括所述一部分词语的原始文本数据。
6.如权利要求1~4中任一项所述的文本检索装置,其特征在于,存储于所述第1文本存储部的文本数据记录了预先与记载于原始文本数据的词语对应的代码,在原始文本数据中记载的与某词语对应的代码未定义的情况下,该词语被分解成多个单字符词语,在所述文本数据中记录预先与多个单字符词语对应付的代码,
在与检索要求所指定的多个词语中的一部分词语相对应的代码未定义的情况下,所述检索部执行基于存在对应的代码的词语的代码、以及所述一部分词语分解出的多个单字符词语的代码的邻近检索。
7.如权利要求6所述的文本检索装置,其特征在于,所述导出部与所述一部分词语分解出的单字符词语的个数相应地扩大检索要求所指定的词语数基准的范围,与扩大了的词语数基准的范围相应地导出字符数基准的范围。
8.如权利要求6或7所述的文本检索装置,其特征在于,所述检索部进一步执行以通过所述邻近检索提取的1个以上的文本数据为总体的新的邻近检索、即以所述多个单字符词语的代码邻接为条件的新的邻近检索。
9.如权利要求1~8中任一项所述的文本检索装置,其特征在于,存储于所述第1文本存储部的文本数据是记载于原始文本数据的相互具有关联性的多个词语变换成共通的代码的数据。
10.一种文本检索方法,其特征在于,文本存储部存储多个文本数据,所述多个文本数据分别是记载于原始文本的互不相同的多个词语变换成的互不相同的固定长度的代码,能够访问文本存储部的计算机执行以下步骤:
指定多个词语的检索要求,且接收以词语数指定这些多个词语所应存在的范围的检索要求的步骤;
获取与检索要求所指定的多个词语分别对应的固定长度的代码的步骤;
与检索要求所指定的词语数基准的范围和固定的代码长度相应地导出字符数基准的范围的步骤;以及
执行以在所述获取的步骤中获取的多个词语的代码和在所述导出的步骤中导出的字符数基准的范围为条件的邻近检索,并从存储于所述文本存储部的多个文本数据中提取满足所述条件的文本数据的步骤。
11.一种计算机程序,其中,
文本存储部存储多个文本数据,所述多个文本数据分别是记载于原始文本的互不相同的多个词语变换成的互不相同的固定长度的代码,能够访问文本存储部的计算机实现以下功能:
指定多个词语的检索要求,且接收以词语数指定这些多个词语所应存在的范围的检索要求的功能;
获取与检索要求所指定的多个词语分别对应的固定长度的代码的功能;
与检索要求所指定的词语数基准的范围和固定的代码长度相应地导出字符数基准的范围的功能;以及
执行以通过所述获取的功能获取的多个词语的代码和通过所述导出的功能导出的字符数基准的范围为条件的邻近检索,并从存储于所述文本存储部的多个文本数据中提取满足所述条件的文本数据的功能。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-217884 | 2016-11-08 | ||
JP2016217884A JP6787755B2 (ja) | 2016-11-08 | 2016-11-08 | 文書検索装置 |
PCT/JP2017/033316 WO2018088027A1 (ja) | 2016-11-08 | 2017-09-14 | 文書検索装置、文書検索方法およびコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109923538A true CN109923538A (zh) | 2019-06-21 |
CN109923538B CN109923538B (zh) | 2023-09-15 |
Family
ID=62110263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780069191.9A Active CN109923538B (zh) | 2016-11-08 | 2017-09-14 | 文本检索装置、文本检索方法以及计算机程序 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6787755B2 (zh) |
CN (1) | CN109923538B (zh) |
WO (1) | WO2018088027A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6740475B2 (ja) | 2018-03-27 | 2020-08-12 | 三菱ケミカルアクア・ソリューションズ株式会社 | ヘッダー付散気装置及び膜分離活性汚泥装置 |
WO2020213776A1 (ko) * | 2019-04-19 | 2020-10-22 | 한국과학기술원 | 토론 상황 시 객관적이고 구체적이고 정보가 풍부한 근거 문장 검색에 특화된 자질 추출기 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010047351A1 (en) * | 2000-05-26 | 2001-11-29 | Fujitsu Limited | Document information search apparatus and method and recording medium storing document information search program therein |
US20050187964A1 (en) * | 2004-02-24 | 2005-08-25 | Shogakukan, Inc. | Method and apparatus for retrieving natural language text |
JP2010287052A (ja) * | 2009-06-11 | 2010-12-24 | Fujitsu Ltd | 検索システムおよび記憶媒体 |
CN102968429A (zh) * | 2011-08-31 | 2013-03-13 | 卡西欧计算机株式会社 | 文本检索装置以及文本检索方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5523946A (en) * | 1992-02-11 | 1996-06-04 | Xerox Corporation | Compact encoding of multi-lingual translation dictionaries |
US20020165707A1 (en) * | 2001-02-26 | 2002-11-07 | Call Charles G. | Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers |
-
2016
- 2016-11-08 JP JP2016217884A patent/JP6787755B2/ja active Active
-
2017
- 2017-09-14 CN CN201780069191.9A patent/CN109923538B/zh active Active
- 2017-09-14 WO PCT/JP2017/033316 patent/WO2018088027A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010047351A1 (en) * | 2000-05-26 | 2001-11-29 | Fujitsu Limited | Document information search apparatus and method and recording medium storing document information search program therein |
US20050187964A1 (en) * | 2004-02-24 | 2005-08-25 | Shogakukan, Inc. | Method and apparatus for retrieving natural language text |
JP2005242416A (ja) * | 2004-02-24 | 2005-09-08 | Shogakukan Inc | 自然言語文の検索方法および検索装置 |
JP2010287052A (ja) * | 2009-06-11 | 2010-12-24 | Fujitsu Ltd | 検索システムおよび記憶媒体 |
CN102968429A (zh) * | 2011-08-31 | 2013-03-13 | 卡西欧计算机株式会社 | 文本检索装置以及文本检索方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2018077611A (ja) | 2018-05-17 |
WO2018088027A1 (ja) | 2018-05-17 |
CN109923538B (zh) | 2023-09-15 |
JP6787755B2 (ja) | 2020-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10180967B2 (en) | Performing application searches | |
US7788262B1 (en) | Method and system for creating context based summary | |
US10558754B2 (en) | Method and system for automating training of named entity recognition in natural language processing | |
US20100287162A1 (en) | method and system for text summarization and summary based query answering | |
US20200265074A1 (en) | Searching multilingual documents based on document structure extraction | |
CN104077388A (zh) | 基于搜索引擎的摘要信息提取方法、装置以及搜索引擎 | |
CN109669925B (zh) | 非结构化数据的管理方法及装置 | |
JP2011529600A (ja) | 意味ベクトルおよびキーワード解析を使用することによるデータセットを関係付けるための方法および装置 | |
KR20160042896A (ko) | 마이닝된 하이퍼링크 텍스트 스니펫을 통한 이미지 브라우징 | |
CN104169912A (zh) | 信息处理终端和方法,以及信息管理设备和方法 | |
CN109299219A (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
US20180293215A1 (en) | Method and Computer Program for Sharing Memo between Electronic Documents | |
Albrecht et al. | Blueprints for text analytics using Python | |
CN109643315A (zh) | 基于结构化网络知识自动生成中文本体库的方法、系统、计算机设备和计算机可读介质 | |
EP3961426A2 (en) | Method and apparatus for recommending document, electronic device and medium | |
Nadee et al. | Towards data extraction of dynamic content from JavaScript Web applications | |
CN109923538A (zh) | 文本检索装置、文本检索方法以及计算机程序 | |
GB2522286A (en) | Font process method and font process system | |
CN110245357A (zh) | 主实体识别方法和装置 | |
KR20220168062A (ko) | 인공지능을 활용한 기사 작성 솔루션 및 장치 | |
Maududie et al. | An approach of web scraping on news website based on regular expression | |
US20110099134A1 (en) | Method and System for Agent Based Summarization | |
JP6868576B2 (ja) | 事象提示システムおよび事象提示装置 | |
JP7122773B2 (ja) | 辞書構築装置、辞書の生産方法、およびプログラム | |
WO2014049310A2 (en) | Method and apparatuses for interactive searching of electronic documents |
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 |