局部对应抽出装置以及局部对应抽出方法

文档序号:6431205阅读:221来源:国知局
专利名称:局部对应抽出装置以及局部对应抽出方法
技术领域
本发明涉及抽出局部对应(local alignment)的局部对应抽出装置,特别是涉及使用Smith-Waterman法来抽出局部对应的局部对应抽出装置,所述局部对应是在两个文件之间的类似的字符串对。
背景技术
在较长的文件之间,虽然文件整体相互类似的情况较为少见,但存在部分类似的情况。例如,可以考虑书籍之间的类似性。在书籍之间不是仅有一处类似位置,而是有多处类似位置的情况较多。若考虑在书籍之间由数个字符构成的词语一致的情况,则在书籍之间的类似位置的数量会变得巨大。将在两个文件之间的类似位置(类似字符串对)称为局部对应。若能够将该局部对应计数,则即使不读取两个文件的整体,也能够通过仅读取局部对应的周边来把握两个文件之间的类似性的依据。例如,在专利审查等的审查业务中,必须判断作为审查对象的申请与专利文献或非专利文献之间的内容的相同性及类似性。若能在作为判断对象的文件之间将局部对应计数,则不必读取文件整体,就能够通过仅读取局部对应的周边判断对象文件间的相同性及类似性,从而促进审查业务。在概念检索(similarity seatch)中,在输入字符串的情况下,按照类似度顺序排序(ranking)并提示与输入的字符串类似的文件。在这种情况下,用户能够从排序靠前的文件开始按顺序调查与输入的字符串匹配(relevant)的文件。但是,由于用户难以了解排序的依据,为了判断输入的字符串与提示的文件的匹配性,必须阅读提示的文件自身的情况较多。文件越长则阅读理解时间也变长。另一方面,在全文检索(full text search)中,通过提示与输入的字符串一致的字符串的周边部来减少阅读文件整体的工作。因此,即使在概念检索中,通过在输入的字符串和与输入的字符串匹配的文件之间抽出类似位置(局部对应),并提示抽出的局部对应,能够不阅读文件整体就判断文件的匹配性。此外,若在专利申请的权利要求与说明书之间抽出局部对应,则能够立即找到与权利要求相关的实施例。作为抽出局部对应的现有技术存在有Smith-Waterman法(非专利文献1)。 Smith-Waterman法通过云力态规划法(dynamic programming)高效地搜索分值(score)最大的局部对应。在此,分值是指部分字符串间的类似度。通过抽出分值为规定值以上的局部对应,能够从用于抽出局部对应而生成的分值矩阵中网罗性地(exhaustive)抽出更多的局部对应。然而,由于在该方法中单纯地通过分值判断是否为局部对应,导致也大量地抽出了包括已抽出的局部对应的周边的无意义的字符的局部对应。因此,在局部对应中也需要取舍选择出具有代表性(representative)的内容。换言之,代表性与网罗性双方都需要满足。
在专利文献1中,记载有尽量不减少Smith-Waterman法的局部对应的抽出精度并提高局部对应的抽出效率的方法。具体而言,抽出完全一致的字符串对,并连结在抽出的字符串对中的在一定的间隔以内的字符串对。专利文献专利文献1 日本特开2004-038329号公报非专利文献1 [Algorithms on Strings, Trees, and Sequences] (pp. 232-234), Gusfield, D. , Cambridge University Press,1997发明要解决的问题但是,在专利文献1所记载的方法中,为了抽出完全一致的字符串对,必须预先制作后缀数组(suffix array)等的索引。此外,专利文献1所记载的方法的局部对应的抽出精度也低于Smith-Waterman法。用于遗传基因序列的检索的被称为BLAST、FASTA的软件也是与专利文献1所记载的方法同样地牺牲精度来实现高速化的方法,并且也必须预先制作索引。由此,存在对于没有进行索引化的数据就难以抽出局部对应的问题。在没有预先进行索引化的任意的长字符串之间抽出局部对应的情况下,难以网罗性地抽出具有代表性的局部对应。此外,若重视局部对应的网罗性则会损害代表性,若重视代表性则会损害网罗性。

发明内容
因此,本发明的目的在于,提供一种在没有预先进行索引化的任意的字符串之间网罗性地抽出具有代表性的局部对应的局部对应抽出装置。用于解决问题的手段表示本发明的具有代表性的一个例子,其为一种局部对应抽出装置,具备抽出在任意的两个文件之间的类似的字符串即局部对应的局部对应抽出部,其特征在于,上述局部对应抽出部具有第一矩阵生成部,将构成上述两个文件中的一个文件的字符串作为行, 将构成另一个文件的字符串作为列,在与构成上述行的字符串的字符以及构成上述列的字符串的字符对应的网格中登记表示与该网格对应的两个字符的类似度的分值,从而生成第一矩阵;以及第二矩阵生成部,在由与上述第一矩阵的网格对应的网格构成的第二矩阵的网格中的、与由上述第一矩阵生成部计算出分值的网格对应的网格中登记与该网格对应的两个字符所属的局部对应的标识符,从而生成上述第二矩阵;与上述第一矩阵的网格对应的两个字符的类似度越大,则登记在该网格中的分值所示出的值越大,上述第一矩阵生成部基于从与上述分值的计算对象的网格相邻的网格中的已计算出分值的网格开始到该计算对象的网格为止的路径被预先设定的值,计算上述计算对象的网格的分值,将上述计算出的分值中最大的分值作为上述计算对象的网格的分值来登记,将成为计算出上述最大的分值的路径的起点的上述网格作为迁移源网格来存储,上述第二矩阵生成部在示出与上述迁移源网格对应的上述第二矩阵的网格不属于任何局部对应且通过上述第一矩阵生成部计算出的最大的分值为规定值的情况下,在与上述计算对象的网格对应的上述第二矩阵的网格中登记新的局部对应的标识符,并作为上述新的局部对应的起点存储上述计算对象的网格,在示出与上述迁移源网格对应的上述第二矩阵的网格属于某个局部对应且通过上述第一矩阵生成部计算出的最大的分值比上述规定值大的情况下,在与上述计算对象的网格对应的上述第二矩阵的网格中登记与上述迁移源网格对应的上述第二矩阵的网格中所登记的局部对应的标识符,进而,在上述计算出的分值比属于相同的局部对应的网格的最大的分值大的情况下,作为上述局部对应的终点存储上述计算对象的网格。发明效果利用本发明,能够在没有预先进行索引化的任意的字符串之间网罗性地抽出具有代表性的局部对应。


图1是本发明的第一实施方式的局部对应抽出系统的结构的说明图。图2是本发明的第一实施方式的显示器所显示的局部对应显示画面20的说明图。图3是本发明的第一实施方式的变形例的局部对应显示画面的说明图。图4是追加本发明的第一实施方式的变形例的概要条形图(要約〃一★ ~一卜) 的局部对应显示画面的说明图。图5是在本发明的第一实施方式的两个字符串之间的分值的说明图。图6是本发明的第一实施方式的分值矩阵的说明图。图7是本发明的第一实施方式的分值计算方法的说明图。图8是本发明的第一实施方式的初始化处理的说明图。图9是本发明的第一实施方式的局部对应收集处理的说明图。图10是本发明的第一实施方式的起点矩阵的说明图。图11是本发明的第一实施方式的局部对应抽出处理的流程图。图12是在两个字符串之间执行本发明的第一实施方式的局部对应处理,在没有抽出局部对应的情况的说明图。图13是在酷似的两个文件中通过执行第一实施方式的局部对应处理抽出的局部对应的显示例。图14是本发明的第二实施方式的局部对应收集处理的说明图。图15是通过执行本发明的第二实施方式的局部对应处理抽出的局部对应的显示例。
具体实施例方式使用图1 图11对本发明的第一实施方式进行说明。图1是本发明的第一实施方式的局部对应抽出系统的结构的说明图。将在作为抽出对象的两个字符串(文件)之间的类似字符串对称为局部对应。局部对应抽出系统是在两个字符串之间抽出局部对应并显示抽出的局部对应的系统。局部对应抽出系统具备客户端10以及能够经由网络11访问客户端10的检索服务器12。检索服务器12是经由网络11向客户端10发送作为局部对应的抽出对象的对象字符串(对象文件)的计算机。
在经由键盘及鼠标103将对象字符串直接输入至客户端10的情况下,局部对应抽出系统也可以不具备网络11及检索服务器12。客户端10具备CPU101、存储器102、键盘及鼠标103、显示器104、局部对应抽出部105、局部对应显示控制部106以及数据通信部107。CPUlOl执行构成局部对应抽出部105及局部对应显示控制部106的各种程序。存储器102临时存储CPUlOl执行的程序及用于执行该程序的必需的数据。键盘及鼠标103是接受来自用户的输入的输入部。显示器104是在局部对应显示控制部106的控制下显示通过局部对应抽出部105抽出的局部对应的显示部。局部对应抽出部105从对象字符串中抽出局部对应。局部对应显示控制部106进行用于在显示器104上显示通过局部对应抽出部105抽出的局部对应的控制。数据通信部107是经由网络11进行数据通信的接口,例如,能够通过TCP/IP协议进行通信的局域网卡(LAN card)。对局部对应抽出系统的整体的处理的概要进行说明。首先,客户端10取得对象字符串。对于客户端10取得对象字符串的方法存在各种方法。例如,客户端10从检索服务器12取得对象字符串的方法,以及,用户操作键盘及鼠标103来向客户端10输入对象字符串的方法等。在客户端10从检索服务器12取得对象字符串的情况下,首先,客户端10向检索服务器12发送取得的对象字符串的文件编号。然后,在检索服务器12接收到文件编号的情况下,作为对象字符串向客户端10发送与已接收的文件编号对应的文件的字符串。接下来,局部对应抽出部105从客户端10取得的对象字符串中抽出局部对应。此外,通过图5 图10对局部对应抽出部105抽出局部对应的具体的处理进行详细说明。然后,局部对应显示控制部106在显示器104上显示通过局部对应抽出部105抽出的局部对应。此外,通过图2 图4对在显示器104上显示的局部对应进行详细说明。此外,在图6进行详细的叙述,在从对象字符串中抽出局部对应的情况下,由于局部对应抽出部105只使用对象字符串的字符串信息,对象字符串可以不索引化。因此,本实施方式的对象字符串可以是通过检索服务器12检索出的文件,也可以是由用户直接输入的字符串。图2是在本发明的第一实施方式的在显示器104上显示的局部对应显示画面20 的说明图。在局部对应显示控制部106的控制下,在显示器104上显示局部对应显示画面20。局部对应显示画面20包括抽出按钮201、一致分值输入框体(box)202、不一致分值输入框体203、跳读分值输入框体204、间隔输入框体205、分值阈值输入区域206、文件编号输入区域207、208、文本区域209、210、以及局部对应显示区域211。首先,对文本区域209及210进行说明。在文本区域209及210中显示对象字符串ο文本区域209及210介由用户的键盘及鼠标103接收字符输入。因此,用户能够使用键盘及鼠标103自由地编辑在文本区域209及210显示的字符串。此外,在客户端10从检索服务器12取得对象字符串的情况下,用户在文件编号输入区域207及208中输入希望取得对象字符串的文件编号。然后,若在各个文件编号输入区域207及208中输入换行,则客户端10向检索服务器12发送输入至文件编号输入区域 207及208的文件编号。在检索服务器12接收到文件编号的情况下,检索与接收到的文件编号对应的文件,并向客户端10发送检索出的文件。在客户端10接收到从检索服务器12发送的文件的情况下,在位于输入与接收到的文件对应文件编号的文件编号输入区域207及208的下方的文本区域209及210中显示接收到的文件的字符串。此外,在显示器104显示局部对应显示画面20的情况下,局部对应显示控制部106 也可以向检索服务器12发送上一次输入文件编号输入区域207及208中的文件编号。然后,在用户操作抽出按钮201的情况下,局部对应显示控制部106向局部对应抽出部105输入在文本区域209及210中显示的对象字符串。然后,局部对应抽出部105从输入的对象字符串中抽出局部对应,并将抽出的局部对应输入至局部对应显示控制部106。局部对应显示控制部106在局部对应显示区域211中显示输入的局部对应。此外,在一致分值输入框体202、不一致分值输入框体203、跳读分值输入框体 204、间隔输入框体205以及分值阈值输入区域206中输入在局部对应抽出部105抽出局部对应时所使用的参数。通过图6 图10对这些参数进行详细说明。此外,在显示器104显示局部对应显示画面20的情况下,若局部对应显示控制部 106已决定对象字符串,则也可以使抽出按钮201的操作自动化。接下来,对显示通过局部对应抽出部105抽出的局部对应的局部对应显示区域 211进行说明。局部对应显示区域211通过二维的矩阵来显示作为对象字符串的两个字符串。具体而言,局部对应显示区域211的横轴与输入文本区域209的字符串对应,局部对应显示区域211的纵轴与输入文本区域210的字符串对应。在横轴中,始端(先頭)的字符位于左端,末尾的字符位于右端。在纵轴中,始端的字符位于上端,末尾的字符位于下端。此外,虽然在图2中,在局部对应显示区域211的上方的显示区域215显示与横轴对应的字符串,此外在局部对应显示区域211的左侧的显示区域216显示与纵轴对应的字符串,但也可以不在这些显示区域214、215中显示字符串。例如,在与横轴及纵轴对应的字符串的字符数为规定数以上的情况下,局部对应显示控制部106在显示区域214、215中不显示字符串。通过矩形来显示与局部对应显示区域211的纵轴对应的字符串和与横轴对应的字符串之间的局部对应。在图2中,抽出两个局部对应,并通过两个矩形212A及212B(在下文中通称为21 显示该抽出的局部对应。矩形212的纵边的位置及长度与局部对应显示区域211的纵轴表示的字符串的局部对应的范围对应,矩形212的横边的位置及长度与局部对应显示区域211的横轴表示的字符串的局部对应的范围对应。具体而言,矩形212A是局部对应显示区域211的横轴表示的字符串的一部分的 “特許&検索”与纵轴表示的字符串的一部分的“特許検索”之间的局部对应。矩形212B是局部对应显示区域211的横轴表示的字符串的一部分的“精度向上”与纵轴表示的字符串的一部分的“精度O向上”之间的局部对应。用户通过将鼠标指示器214指向确定的矩形212,能够从局部对应显示区域211所显示的多个矩形212(局部对应)中选择特定的矩形212。此外,局部对应显示控制部106 以用户能够把握由用户选择的矩形212已被选择的方式显示。具体而言,局部对应显示控制部106以高亮度(例如,涂成灰色等)显示由用户选择的矩形212。此外,局部对应显示控制部106将在文本区域209及210中显示的字符串中的与由用户选择的矩形212对应的部分的列以用户能够把握与该部分字符串对应的矩形212已被选择的方式进行显示。具体而言,局部对应显示控制部106以高亮度(例如,高亮显示 (反転表示)等)显示该部分的列。由此,用户选择在局部对应显示区域211中显示的矩形212,并且,能够立即搜索与在文本区域209及210中显示的字符串中选择的矩形212对应的字符串,从而能够一边比较一边阅读从文本区域209及210搜索出的字符串周边。此外,在局部对应的字符串较长的情况下,由于矩形212的面积变得较大,用户能够一眼辨别出重要的局部对应。通常,用户搜索在局部对应显示区域211显示的较大的矩形,并通过将鼠标指示器214指向该矩形来选择该矩形,从文本区域209及210中搜索与该矩形对应的字符串,并包括该字符串的周边地进行阅读。此外,在文本区域209及210中显示的字符串的字符数比规定数大的情况下,局部对应显示控制部106自动滚动地进行显示,从而使与选择的矩形212对应的部分字符串位于文本区域209及210的最上部。另外,例如,该规定数设定为比不需在文本区域209及 210中滚动就能够显示的字符数更大的值。若输入文本区域209及210的字符串较长,则由于局部对应显示区域211所显示的矩形212也变得显示为相对较小,用户难以辨别面积较小的矩形212。因此,如图3所示, 也考虑追加放大显示局部对应显示区域211的一部分的缩放区域303的变形例。图3是本发明的第一实施方式的变形例的局部对应显示画面30的说明图。在如图3所示的局部对应显示画面30的结构中,对于与图2所示的局部对应显示画面20的结构相同的结构附加相同的附图标记,并省略其说明。如图3所示的局部对应显示区域211是显示在文本区域209及210中显示的对象字符串的矩阵的整体的区域。在该局部对应显示区域211内显示用户能够通过鼠标操作的范围(scope) 302。在缩放区域303中放大显示位于范围302内的范围。此外,若范围302移动,则局部对应显示控制部106更新与移动缩放区域303的显示内容的范围302对应的显示内容。图4是本发明的第一实施方式的变形例的局部对应显示画面40的说明图。如图4所示的局部对应显示画面40是在图2或图3所示的局部对应显示区域211 中追加概要条形图41及42的画面。存在用户想要立即把握在局部对应显示区域211中显示的矩形212集中在哪个部分的情况。用户能够通过搜索局部对应显示区域211,在某种程度上把握矩形212集中在局部对应显示区域211的哪一个部分。然而,该方法在一览性上有欠缺。因此,局部对应显示控制部106汇集在局部对应显示区域211中显示的矩形212 的横向分布,从而生成表示纵向的分布度的概要条形图41,此外,生成表示在局部对应显示区域211中显示的矩形212的横向分布的概要条形图42,并显示生成的概要条形图41及 42。
概要条形图41是将在局部对应显示区域211中显示的矩形212在横向上投影的结果的条形图,表示在纵向的字符串中的局部对应的分布。另一方面,概要条形图42表示在横向的字符串中的局部对应的分布。例如,矩形212C向概要条形图41的411及412的部分投影。此外,通过以局部对应的最大分值越大则颜色越浓的方式进行显示,也能够使对于用户重要的局部对应易于注视。此外,分值意味着类似度,在后面叙述具体的分值计算法。一方的字符串中的部分字符串与另一方的字符串中的多个部分对应的情况也较多。例如,在图4中,在纵向字符串中的“精度”在横向上出现三处。因此,与纵向的“精度” 对应的概要条形图41的部分412与其它部分相比颜色显示为较浓。这样,在局部对应显示区域211中显示的矩形212在行方向及列方向上投影的情况下,若概要条形图41及42的颜色与位于该行方向以及列方向的局部对应的分值的总和成比例地显示为较浓,则用户仅观察概要条形图41及42就能够迅速找到存在分值较大的局部对应的部分或是存在较多的局部对应的部分。若在概要条形图41及42中点击鼠标, 则局部对应显示区域211也进行对应的部分的寻头并显示。在下文中对概要条形图生成处理进行说明。通过局部对应显示控制部106执行概要条形图生成处理。此外,在将通过局部对应抽出部105抽出的局部对应输入至局部对应显示控制部 106之后,由局部对应显示控制部106执行概要条形图生成处理。在此,局部对应具有起点和终点,起点与在局部对应显示区域211中显示的矩形 212的左上点的坐标(br,bc)相当,终点与矩形212的右下点的坐标(er,ec)相当。此外, 局部对应的分值为S,将在局部对应显示区域211中显示的全部的矩形212后缀数组局部对应)中分值最大的局部对应的分值称为Smax。首先,局部对应显示控制部106基于各局部对应的分值S及最大分值Smax决定各局部对应的透明度。以0 255表示透明度,若透明度为0则为完全透明,若透明度为255 则为完全不透明。各局部对应的透明度决定为该局部对应的分值S越大则越不透明。由此,在概要条形图41及42中,分值S越大的局部对应颜色显示为越浓,从而使用户易于注视。具体而言,若预先设定最大分值Smax的局部对应的透明度Tmax,则局部对应显示控制部106基于透明度Tmax通过等比分配(日文原文等比配分)决定各局部对应的透明度T。换言之,局部对应显示控制部106通过计算Tmax * (S/Smax)来决定透明度Τ。接下来,在概要条形图41中,局部对应显示控制部106以该矩形212的局部对应的透明度T涂覆从矩形212的起点的y坐标be至终点的y坐标ec的范围。此外,在概要条形图42中,局部对应显示控制部106以该矩形212的局部对应的透明度T涂覆从矩形212 的起点的χ坐标br至终点的χ坐标er的范围。局部对应显示控制部106对全部的局部对应执行该处理。在此,局部对应显示控制部106在概要条形图41及42中向局部对应重复的位置加法运算(加算)重复的局部对应的透明度T,由于是以加法运算后的透明度进行涂覆,该处位置的颜色显示为较浓。此外,在以上的处理中,各局部对应的透明度T是与各局部对应的分值成比例的值。因此,概要条形图41及42中颜色较浓的位置是因为与该处位置对应的局部对应的分值较大或在该处位置局部对应重复。在任意一种情况下,在概要条形图41及42中颜色较浓的位置意味着存在对于用户重要的局部对应。但是,由于分值较大的局部对应在局部对应显示区域211中的矩形212的面积变大,虽然用户容易找到分值较大的局部对应,但以在局部对应显示区域211中难以找到在纵向及横向上重复的局部对应的观点来看,也有用户只想知道局部对应重复的位置的情况。因此,局部对应显示控制部106也可以不是使用该局部对应的分值S来决定局部对应的透明度T,而是将全部的局部对应的透明度T设定为规定值,在局部对应在纵向或者横向上重复的情况下,加法运算重复的局部对应的透明度T,并以加法运算后的透明度进行涂覆。由此,由于概要条形图41及42的颜色的浓淡不是取决于分值,而是取决于重复的局部对应的数量,用户易于在局部对应显示区域211中找到纵向及横向上重复的局部对应。接下来,对局部对应抽出部105抽出局部对应的处理进行说明。在局部对应的抽出中,如前所述,仅网罗性地抽出具有代表性的局部对应成为问题。在本发明中,在现有的Smith-Waterman法中,通过设置起点一致的剪枝(枝刈>9 )来解决前述的问题。图5是在本发明的第一实施方式的两个字符串之间的分值的说明图。字符串A “特許O検索精度O向上”与字符串B “特許検索O精度O向上”之间的各字符被建立对应。将该以各字符为单位的对应称为对准(alignment)。对准包括对应的字符彼此一致的一致对准及对应的字符彼此不一致的不一致对准。在图5中,“f ”与“Θ” 的对准50为不一致对准,其它的对准为一致对准。字符串A以及字符串B的全部字符不可能均对准。在图5中,字符串A的“ O ”(51) 以及字符串B的“O”(5 的任意一个字符都没有建立对应。没有该对准的字符意味着跳过该字符的读取,在下文中将其称为跳读(読&飛K )。向一致对准、不一致对准及跳读预先设定规定值。在图5中,设定为对一致对准+2 分,对不一致对准-2分,对跳读-1分。在这种情况下,在字符串A与字符串B之间将这些的值合计而得的值(分值)为12分,将该分值作为字符串A与字符串B的类似度。此外,局部对应是在对象字符串中分值局部地变大的部分字符串对,通过局部对应抽出部105将其抽出。局部对应抽出部105根据向一致对准、不一致对准以及跳读设定的值抽出不同的局部对应。此外,用户能够经由图2所示的一致分值输入框体202、不一致分值输入框体203 以及跳读分值输入框体204将一致对准、不一致对准以及跳读的值设定为希望的值。此外,不一致对准的值也可以是根据不一致对准的字符的种类而不同。例如,将在不一致对准的字符的种类为助词的情况下的值设定为在不一致对准的字符的种类为助词以外的情况下的值更低。此外,由于在字符串中出现次数较多的部分字符串对于用户重要的可能性较高, 为了局部对应抽出部105把握出现次数,也可以在分值中包含出现次数。由此,局部对应抽出部105通过出现次数为规定值以上的部分字符串的分值乘以1以上的规定值,能够使其分值比出现次数为比规定值低的部分字符串更大。在本实施方式中,局部对应抽出部105计算对象字符串的分值,为了抽出局部对应而使用Smith-Waterman法。Smith-Waterman法是利用动态规划法高效地计算分值的方法。在下文中,使用图6对本实施方式的分值计算方法进行说明。图6是本发明的第一实施方式的分值矩阵的说明图。局部对应抽出部105将两个对象字符串中的一方的对象字符串配置在行上,将另一方的对象字符串配置在列上。然后,局部对应抽出部105从左上的网格(cell)按顺序计算矩阵的网格的分值,并将计算出的分值登记在网格中,从而生成分值矩阵。此外,矩阵的网格和与该网格对应的行的字符及该网格对应的列的字符对应。此外,登记在各网格中的分值为直至该网格为止的分值的合计值。在此,使用图7对分值的计算方法进行说明。图7是本发明的第一实施方式的分值计算方法的说明图。在计算某个网格的分值的情况下,局部对应抽出部105计算出按照每个从与对象的网格相邻且已计算分值的网格直至计算对象的网格为止的各个路径计算出分值,并将计算出的分值中的最大的分值登记在计算对象的网格中。在下文中,对图7的计算网格73的分值的情况进行具体说明。网格70、71以及72是与网格73相邻,并且已经计算出分值的网格。将从位于网格73的正上方的网格71开始的路径作为第一路径74,将从位于网格73的左上的网格70 开始的路径作为第二路径75,将从位于网格73的左侧的网格72开始的路径作为第三路径 76。首先,对经由第一路径74的情况的网格73的分值进行说明。与位于计算对象的网格73的正上方的网格71对应的字符为“検”(702)及 “許”(703),与网格73对应的字符为“検”(702)及“検”(704)。跳过在该网格71中“検”(704) 的读取。换言之,“検”(70 没有变化,从正上方的网格直至计算对象的网格为止的路径的行的字符没有变化,而列的字符变化,这意味着跳过该列的“検”(704)的读取(跳读)。在此,由于将跳读预先设定为“-1”,向网格71的分值的值“2”加法运算第一路径 74设定的值(向跳读设定的值)“-1”,从而在经由第一路径74的情况下的网格73的分值计算为“1”。接下来,对经由第三路径76的情况的网格73的分值进行说明。与位于计算对象的网格73的左侧位置的网格72对应的字符为“&” (701)及 “検” (704),与网格73对应的字符为“検” (702)以及“検” (704)。在该网格70的阶段跳过 “検”(702)的读取。换言之,从左侧的网格直至计算对象的网格为止的路径的列的字符没有变化,而行的字符变化,这意味着跳过该行的“検”(702)的读取(跳读)。在此,由于向跳读预先设定“-1”,向网格72的分值的值“2”加法运算向第三路径 76设定的值(向跳读设定的值)“_1”,在经由第三路径76的情况下的网格73的分值计算为 “1”。接下来,对经由第二路径75的情况的网格73的分值进行说明。与位于左上的网格70对应的字符为“ &,,(701)以及“許”(703),与网格73对应的字符为“検”(702)以及“検”(704)。在这种情况下,由于与位于左上的网格70对应的行的字符以及列的字符与和网格73对应的行的字符以及列的字符不同而不会跳读。在与网格73对应的行的字符与列的字符一致的情况下,第二路径75意味着一致对准,在与网格73 对应的行的字符与列的字符不一致的情况下,第二路径75意味着不一致对准。另外,在图 7中,由于与网格73对应的行的字符“検”(704)与列的字符(70 —致,第二路径75意味
着一致对准。在此,向一致对准预先设定“2”,向不一致对准预先设定“_2”。向网格70的分值的值“3”加法运算向一致对准设定的值“2”,从而在经由第二路径75的情况下的网格73的分值计算为“5”。如上所述,计算经由第一路径74 第三路径76的情况的网格73的分值。然后, 从计算出的分值中选择分值最大的路径,并将该最大分值登记至网格73。在图7中,由于在经由第二路径75的情况下的分值“5”为最大,向网格73登记分值“5”。如上所述,局部对应抽出部105从图6所示的左上端的网格开始按顺序在横向上登记分值。然后,在一行的全部的网格中已经登记分值的情况下,局部对应抽出部105从下一行的左端的网格按顺序登记分值。因此,必须登记计算对象的网格的左侧的网格,左上的网格,以及左侧网格的分值。此外,作为初始化处理,局部对应抽出部105在与行对应的对象字符串(如图6 所示的“精度向上O特許&検索”)的始端字符之前插入一列,在列上向对应的对象字符串 (如图6所示的“特許検索O精度O向上”)的始端字符之前插入一行。将该插入的行及列称为初始矩阵。然后,局部对应抽出部105向初始矩阵的网格预先登记分值“0”。在此,对以往的使用Smith-Waterman法的局部对应抽出处理的问题进行说明。在通过在图7中说明的分值计算方法生成如图6所示的分值矩阵之后,从分值矩阵的网格中选择登记有最大的分值的网格。通过按反序对到该选择的网格为止的路径进行回溯(迪3 ),抽出最大的分值的局部对应。在图6中,最大的分值为“7”,登记有最大的分值的网格为网格60及61。通过按反序从网格60开始回溯路径,从对象字符串(“精度向上O特許&検索”)抽出“特許全検索”,通过按反序从网格61开始回溯路径,从对象字符串(“特許検索O精度O向上”)抽出 “特許検索”。此外,“特許&検索”以及“特許検索”为局部对应。在这种情况下,在分值矩阵中仅能够抽出最大分值的局部对应,不能抽出比最大分值低的局部对应。例如,在图6中,假设“特許f検索”及“特許検索”的分值为“7”,“精度向上”以及“精度O向上”的分值为“6”,则“精度向上”及“精度O向上”不会作为局部对应而被抽出。由此,在生成分值矩阵之后从登记有最大分值的网格开始按反序回溯路径的方法的情况下,仅能够抽出具有代表性的局部对应,而不能网罗性地抽出局部对应。因此,考虑能够通过抽出分值为规定值以上的网格并从抽出的网格开始按反序回溯路径来抽出局部对应的方法。然而,虽然在该方法中能够网罗性地抽出局部对应,但会重复地抽出局部对应,从而使抽出的局部对应变得冗长。在图6中,在抽出的网格的分值的规定值设定为“6”的情况下,抽出网格62以及 63。在这种情况下,通过从网格62按反序回溯路径而抽出的局部对应是“特許&検索”与 “特許検索O ”。该“特許検索O,,仅是在原本作为与“特許&検索”对应的局部对应而应该抽出的字符串“特許検索”的末尾追加“O”的字符串,仅是对于原本的局部对应“特許検索” 的变形。
作为原本的局部对应抽出的字符串的最后的字符是与分值最大的网格对应的字符。在设定为若为一致的对准则分值增加,若为不一致的对准及跳读则分值减少的情况下, 由于若两个对象字符串的各个字符一致则分值增加,在其它的情况下则分值减少,所以分值没有减少而使分值变为最大的字符、最后的字符就是作为原本的局部对应抽出的字符串的最后的字符。在前述的方法中,存在将与分值变为最大的网格的周边的网格对应的字符作为局部对应的最后的字符抽出的情况,该局部对应不过是原本的局部对应的变形,而使抽出的局部对应变得冗长化。在本实施方式中,在生成分值矩阵时计算出的分值比该计算出的分值的网格所属的局部对应内的最大分值更大的情况下,局部对应抽出部105将该计算出的分值的网格作为局部对应的终点进行登记。此外,构成计算出的分值的网格所属的局部对应的网格是经由与到该计算出的分值为止的路径的起点相同的起点开始的全部的路径的网格。将该处理称为起点一致的剪枝。由此,不会抽出原本的局部对应的变形,从而能够网罗性地抽出没有冗长化的局部对应。此外,若对象字符串变长,或是分值矩阵的尺寸变大,则从生成分值矩阵开始执行起点一致的剪枝,从而会导致用于探索起点相同的路径的计算量增大。因此,在本实施方式中,由于在生成分值矩阵的同时执行局部对应抽出处理,通过Smith-Waterman法能够以与局部对应抽出处理几乎相同的计算量抽出局部对应。使用图8 图11对本实施方式的局部对应抽出处理进行说明。图8是本发明的第一实施方式的初始化处理的说明图。通过局部对应抽出部105执行初始化处理。首先,局部对应抽出部105登记两个对象字符串,并设定一致分值、不一致分值以及跳读分值(S801)。具体而言,通过数组X[1......Ix]以及数组Y[1......Iy]显示两个对象字符串。
为了方便,在各数组的要素1中登记各对象字符串的始端字符。此外,各对象字符串的长度为Ix以及ly。此外,局部对应抽出部105将输入图2所示的一致分值输入框体202、不一致分值输入框体203以及跳读分值输入框体204的值设定为一致分值(Match)、不一致分值 (Unmatch)以及跳读分值(Skip)。接下来,局部对应抽出部105初始化分值矩阵680 。分值矩阵为在图6中说明的矩阵,显示为Μ


与通过数组X显示的对象字符串相当,
与通过数组Y显示的对象字符串相当。此外,数组X的第i个字符X[i]以及与数组Y的第j个字符Y[j]对应的网格为 M[i][j]。分值矩阵的各网格与图6相同,登记有直至该网格的路径的分值合计值。此外, 局部对应抽出部105在分值矩阵的第0行的网格及第0行的列中登记分值“0”。接下来,局部对应抽出部105初始化局部对应(S80;3)。通过起点数组B、终点数组 E、分值数组S的三个数组来显示局部对应。作为局部对应的唯一的(一意& )标识符的ID 相当于这些数组的索引。
在起点数组B中登记有各局部对应的起点的坐标,在终点数组E中登记有各局部对应的终点的坐标。在此,所谓坐标是指分值矩阵的索引对。例如,在以数组X的第i个字符x[i]及数组Y的第j个字符Y[j]为起点的情况下,起点的坐标为(i,j)。在分值数组S中登记有各局部对应的分值。在分值数组S中作为初始值登记有0。ID为i的局部对应的起点坐标为B[i],终点坐标为E[i],该局部对应的分值为 S[i]。在本实施方式中,虽然作为与局部对应相关的信息存储有起点信息、终点信息以及分值信息,但也可以存储局部对应的路径信息(对准)。图9是本发明的第一实施方式的局部对应收集处理的说明图。局部对应抽出部105在执行图8所示的初始化处理之后,执行局部对应收集处理。首先,局部对应抽出部105将登记有局部对应的ID的变量a初始化为0(S901)。如前所述,局部对应的ID与局部对应的起点数组B、终点数组E、分值数组S的索引相当。在S901中,由于局部对应为未抽出,局部对应抽出部105将局部对应的ID初始化为0。接下来,局部对应抽出部105对如图10所示的起点矩阵进行初始化690 。起点矩阵的网格与分值矩阵的网格对应,在起点矩阵的网格中登记该网格所属的局部对应的 ID。在S902中,局部对应抽出部105在起点矩阵的全部的网格中登记初始值“-1”。起点矩阵的局部对应的ID为“_1”意味着该网格不属于任意一个局部对应。在此,使用图10对起点矩阵进行说明。图10是本发明的第一实施形态的起点矩阵的说明图。起点矩阵的各网格的坐标与图6所示的分值矩阵的坐标相同,在各网格中登记网格所属的局部对应的ID。此外,如前述那样,由于在各网格中作为初始值登记有“_1”,登记为“_1”的网格不属于任意一个局部对应。接下来,局部对应抽出部105选择作为处理对象的分值矩阵的行(S903)。具体而言,局部对应抽出部105作为处理对象的行选择在分值矩阵的行中与对象字符串的始端的字符串对应的行(与数组Y的最初的索引对应的行),对该处理对象的行执行S904 S906。若局部对应抽出部105执行S904 S906的处理,则作为处理对象的行而选择已选择的行的下一行(下方的行)。局部对应抽出部105反复执行S904 S906直至对全部的行执行S904 S906完毕。接下来,局部对应抽出部105从包含在处理对象的行中的列中选择处理对象的列 (S904)。具体而言,局部对应抽出部105作为处理对象的列而选择包含在处理对象的行中的列之中与对象字符串的始端的字符串对应的列(与数组X的最初的索引对应的行),对该处理对象的列执行S905 S906。若局部对应抽出部105执行S905 S906的处理,则作为处理对象的列而选择已选择的列的下一列(右侧的列)。局部对应抽出部105反复执行 S905 S906直至对处理对象的行所包含的全部的列执行S904 S906完毕。通过S903及S904,在分值矩阵的网格中决定作为S905及906的执行对象的网格 (在下文中,将其称为处理对象的网格),对分值矩阵的全部的网格执行S905及S906。
接下来,局部对应抽出部105计算处理对象的网格的分值(S905)。具体而言,局部对应抽出部105计算图9的S905的1 4所示的路径的分值,并从计算出的分值中选择最大的分值(Smax),并将选择的最大的分值登记至处理对象的网格 (M[r] [c])中。在这种情况下,局部对应抽出部105作为(rl,cl)存储路径的迁移源(遷移元)的网格的坐标。在下文中,对图9的S905的1 4所示的路径进行说明。S905的1是用于使分值的最大值不会为负值,分值设定为“0”。S905的2是从位于处理对象的网格(r,c)的正上方的网格(r_l,c)的迁移,与纵向的字符的跳读相当。通过向迁移源的网格(r-l,c)的分值(M[r-1],[c])加法运算跳读分值(Skip)来计算出在这种情况下的处理对象的网格的分值。S905的3是从位于处理对象的网格(r,c)的左侧的网格(r,c_l)的迁移,与横向的字符的跳读相当。通过向迁移源的网格(r,c-l)的分值(M[r],[c-1])加法运算跳读分值(Skip)来计算出在这种情况下的处理对象的网格的分值。S905的4是从位于处理对象的网格(r,c)的左上的网格(r_l,C-l)的迁移,根据与处理对象的网格对应的两个字符(数组X[r]与数组Y[c])是否一致而计算出的分值不同。与处理对象的网格对应的两个字符一致的情况的处理对象的网格的分值是通过向迁移源的迁移源的网格(r-1,c-1)的分值(M[r-1], [c-1])加法运算一致分值(Match) 而计算出的。另一方面,与处理对象的网格对应的两个字符不一致情况的处理对象的网格的分值是向迁移源的迁移源的网格(r-1,c-1)的分值(M[r-1],[c-1])加法运算不一致分值 (Unmatch)来计算出的。由于通过S905向分值矩阵的网格登记分值,S905被称为分值矩阵生成处理。接下来,局部对应抽出部105基于由S905计算出的处理对象的网格的最大的分值Smax,执行决定是否将该处理对象的网格的坐标设定为局部对应的终点的剪枝处理 (S906)。 在下文中,对剪枝处理进行详细说明。首先,局部对应抽出部105判断由S905计算出的处理对象的网格的最大的分值 Smax是否为“0”。在由S905计算出的处理对象的网格的最大的分值Smax为“0”的情况下,由于与该网格对应的字符不属于局部对应,局部对应抽出部105返回S904的处理,并选择下一个处理对象的列。另一方面,在由S905计算出的处理对象的网格的最大的分值Smax不为“0”的情况下,局部对应抽出部105取得登记在如图10所示的起点矩阵中的迁移源的网格中的局部对应的ID。具体而言,局部对应抽出部105取得登记在与在起点矩阵的网格中的迁移源的网格的坐标(rl,cl)对应的网格中的局部对应的ID(P[rl][cl])。此外,局部对应抽出部 105将取得的局部对应的ID作为k存储。然后,局部对应抽出部105判断取得的迁移源的网格的局部对应的ID是否为 “-1”。
在取得的迁移源的网格的局部对应的ID为“-1”的情况下,由于新的局部对应是从处理对象的网格开始,局部对应抽出部105设定新的局部对应。具体而言,局部对应抽出部105在与起点矩阵的网格中的处理对象的网格的坐标 (r,c)对应的网格的局部对应ID(P[r][c])中登记新的局部对应的ID (a)。此外,局部对应抽出部105在起点数组B[a]及终点数组E[a]中登记处理对象的网格的坐标(r,c)。然后,局部对应抽出部105使新的局部对应的ID(a)递增(increment)。这样,在有新的局部对应的情况下具备新的局部对应的ID (a),若搜索到局部对应则递增。另一方面,在取得的迁移源的网格的局部对应的ID不是为“-1”的情况下,由于处理对象的网格属于与迁移源的网格相同的局部对应,局部对应抽出部105在起点矩阵的网格中的处理对象的网格的坐标(r,c)的网格中登记与迁移源的网格相同的局部对应的 ID(k)。换言之,在起点矩阵的网格的局部对应的ID(P[r] [c])中登记迁移源的网格的局部对应的 ID(P[rl] [cl])。然后,局部对应抽出部105取得登记在迁移源的网格的局部对应的ID(k)的分值数组S[k]中的分值(局部对应的最大分值),并且判断处理对象的网格的最大的分值 (Smax)是否比局部对应的最大分值(SDO)更大。在判断为处理对象的网格的最大分值(Smax)比局部对应的最大分值(SDO)更大的情况下,为将处理对象的网格作为终点,局部对应抽出部105将处理对象的网格的坐标 (r,c)登记在终点数组E[k]中,并将处理对象的网格的最大分值登记在分值数组S[k]中。另一方面,在判断为处理对象的网格的最大的分值(Smax)在局部对应的最大分值(SDO)以下的情况下,局部对应抽出部105返回S904的处理,并选择下一个处理对象的列。此外,由于通过S906在起点矩阵的网格中登记该网格所属的局部对应的ID,S906 被称为起点矩阵生成处理。如上所述,局部对应抽出部105—边计算分值矩阵的各网格的分值,一边收集局部对应。此外,将各局部对应的起点、终点以及局部对应的最大分值分别存储在起点数组B、 终点数组E以及分值数组S中。由此,通过局部对应抽出部105抽出的局部对应将在起点一致的局部对应内的分值最大的字符作为终点,所以能够保证代表性。图11是本发明的第一实施方式的局部对应抽出处理的流程图。局部对应抽出处理是在执行图9所示的局部对应收集处理之后,由局部对应抽出部105执行的处理,是对在由局部对应收集处理收集的局部对应中的局部对应的最大分值比规定值更大的局部对应进行抽出的处理。首先,局部对应抽出部105接受输入至如图2及图3所示的分值阈值输入区域206 中的分值阈值的输入,并将接受的分值阈值作为threshold存储(SllOl)。接下来,局部对应抽出部105选择作为S1103的处理对象的局部对应的
ID(S1102)。在此,通过S1102的处理将作为处理对象的局部对应的ID而选择的ID设为 “‘”
丄 ο具体而言,局部对应抽出部105从“0”开始按顺序反复地选择局部对应的ID,直至对局部对应的ID为“a”的局部对应执行Sl 103的处理为止。接下来,局部对应抽出部105判断通过由S1102的处理选择出的局部对应的ID而确定的局部对应的局部对应的最大分值是否比分值阈值更大。具体而言,局部对应抽出部105判断在与S1102的处理所选择出的局部对应的 ID “i”相对应的分值数组S[i]中登记的局部对应最大分值是否比分值阈值更大。在判断为通过由Sl 102的处理选择的局部对应的ID所确定的局部对应的局部对应的最大分值比分值阈值更大的情况下,局部对应抽出部105作为局部对应而抽出通过该局部对应的ID确定出的局部对应(S1103)。例如,将通过局部对应的ID “i”确定出的局部对应作为局部对应抽出,在该抽出的局部对应的起点数组B[i]的坐标为(rl,cl),终点数组E[i]的坐标为(r2,c2)的情况下,一方的对象字符串的数组X[rl..r2]所表示的部分字符串以及另一方的对象字符串的数组Y[cl. . c2]所表示的部分字符串成为局部对应。由此,局部对应抽出部105抽出局部对应的最大分值比规定值更大的局部对应, 并通过局部对应显示控制部106显示该抽出的局部对应。在此,局部对应的最大分值较小的局部对应的起点坐标与终点坐标的距离较短(换言之,局部对应的面积较小),局部对应的最大分值较大的局部对应的起点的坐标与终点的坐标的距离较长(换言之,局部对应的面积较大)。因此,通过对如图11所示的局部对应执行抽出处理,由于局部对应显示控制部106在图2所示的局部对应显示区域211中几乎不显示面积较小的局部对应,能够防止局部对应显示区域211的显示变得繁琐。此外,虽然在本实施方式中,由局部对应抽出部105执行如图11所示的局部对应抽出处理,但也可以由局部对应显示控制部106来执行。具体而言,也可以是局部对应抽出部105作为局部对应抽出由如图9所示的局部对应收集处理所收集的全部的局部对应。然后,局部对应显示控制部106对抽出的局部对应执行如图11所示的局部对应抽出处理,并仅显示局部对应的最大分值比分值阈值更大的局部对应。(第二实施方式)在下文中,使用图12 图15对本发明的第二实施方式进行说明。本实施方式是向第一实施形态的局部对应处理追加用于提高网罗性的处理(最大间隔长限制处理)的实施方式。首先,对由第一实施方式的局部对应处理不能抽出希望的局部对应的情况进行说明。图1是在两个字符串之间执行本发明的第一实施方式的局部对应处理,并且没有抽出局部对应的情况的说明图。在图12中,在字符串C "aaaaal234bbb"与字符串D ‘‘aaaaa567mAb,,之间,对通过第一实施方式的局部对应处理抽出局部对应的情况进行说明。在这种情况下,直观地假定作为局部对应抽出在字符串C及字符串D之间共有的 “aaaaa,,以及 “bbb,,。然而,在如图9所示的第一实施方式的局部对应收集处理中,仅抽出“aaaaa”作为局部对应。在下文中对此进行具体的说明。由于在字符串C以及字符串D之间“aaaaa”的部分一致,第五个“a”的分值变为 “10” (1201)。此后,由于字符串C的“1234”部分与字符串D “5678”部分不一致,分值分别减少“-2”,与字符串C的“4”以及字符串D的“8”对应的分值变为“2” (1202)。然后,由于字符串C及字符串D中“blDb”部分一致,第三个“b”的分值变为“8”。在此,如前所述,在如图9所示的S905中,在处理对象的网格的最大分值Smax比0 大,且在该处理对象的网格的迁移源的网格的局部对应的ID为“_1”的情况下,从该处理对象的网格开始新的局部对应。在如图9所示的S905中,在处理对象的网格的最大分值Smax 为0的情况下,由于局部对应抽出部105不对该网格进行任何操作,在起点矩阵的处理对象的网格中登记了初始值“-1”。因此,在图9所示的局部对应收集处理中,仅在处理对象的网格的最大分值为比0 大的值且迁移源的网格的最大分值Smax为0的情况下开始新的局部对应。S卩,一旦网格的最大分值比0大,则直至最大分值为0的网格为止都属于相同的局部对应。由此,若最大分值变大过一次,则即使在直至最大分值变为0的区间中存在新的局部对应也无法抽出,导致该新的局部对应被隐藏。在图12中,1201的分值“ 10”直至第一个“b”也没有衰减至“0”,无法将“blA”作
为新的局部对应抽出。图13是通过在酷似的两个文件中执行第一实施方式的局部对应处理的抽出的局部对应的显示例。通过局部对应处理抽出的局部对应,通过局部对应显示控制部106在图2所示的局部对应显示区域211中显示二维映射(二次元7、”)。局部对应的最大分值越大,则局部对应在局部对应显示区域211中显示为越大的矩形。如图13所示的1301表示在两个文件的局部对应中最大的局部对应。在该最大的局部对应的右下存在没有抽出局部对应的空白部分(130 。由于最大的局部对应的局部对应最大分值较大,后方(右下部)的分值没有衰减至0,即使在该部分中存在局部对应,也无法作为新的局部对应将其抽出。换言之,在第一实施方式的局部对应收集处理中,通过起点一致的剪枝,作为过度重视局部对应的代表性的结果,产生了没有网罗性地抽出局部对应的问题。因此,在本实施方式中,通过进行最大间隔长限制来解决前述问题。在此,所谓间隔长是指从局部对应的终点开始连续地不一致或者跳读的字符数。 在此,在如图12所示字符串C “aaaaal234bbb”以及字符串D “aaaaa5678bbb”的情况下, 由于第五个“a”的分值为“10”,从而成为局部对应的最大分值,第五个“a”成为局部对应的终点。然后,由于从作为终点的第五个“a”开始的“1234”与“5678”不一致,间隔长为4。最大间隔长限制是局部对应的间隔长为规定值(最大间隔长)以下的限制。在图 12中,若间隔长的规定值设定为“3”,在判断“ 1234”与“5678”为不一致的时刻,则在字符串C中为“4”,在字符串D中为“8”之后“aaaaa”的局部对应不可能继续,在该处位置重置局部对应。因此,能够将后方的“blDb”作为新的局部对应抽出。使用图14对最大间隔长限制进行详细说明。图14是本发明的第二实施方式的局部对应收集处理的说明图。为实现最大间隔长限制,仅在第一实施方式的如图9所示的局部对应收集处理中追加最大间隔长限制处理即可。在图14所示的处理中,对与图9所示处理相同的处理附加相同的附图标记,并省略其说明。首先,局部对应抽出部105取得向图2所示的间隔输入框体205输入的值作为最大间隔长(gap) (1401)。然后,局部对应抽出部105执行S901 S905,并执行最大间隔长限制处理 (1402)。局部对应抽出部105在S905的处理中,作为处理对象的网格的最大分值,仅在选择与处理对象的网格对应的两个字符不一致情况的(图14所示的S905的4. 2)的分值的情况下执行最大间隔长限制处理。首先,局部对应抽出部105取得登记在图10所示的起点矩阵中的迁移源的网格中的局部对应的ID。具体而言,局部对应抽出部105取得登记在与在起点矩阵的网格中的迁移源的网格的坐标(rl,cl)对应的网格中的局部对应的ID(P[rl][cl])。此外,局部对应抽出部105将取得的局部对应的ID作为k存储。接下来,局部对应抽出部105通过取得的局部对应的ID来取得确定的局部对应的终点的坐标(r2,c2)。具体而言,局部对应抽出部105在终点数组E中取得登记在与已取得的局部对应的ID(k)对应的终点数组E[k]中的终点的坐标(r2,c2)。接下来,局部对应抽出部105计算从终点的坐标(r2,c2)开始直至处理对象的网格为止的坐标(r,c)的间隔长。具体而言,局部对应抽出部105通过r-r2计算出行方向的间隔长,通过c-C 2计算出列方向的间隔长。然后,在计算出的行方向的间隔长以及列方向的间隔长的至少其一比最大间隔长 (gap)更大的情况下,局部对应抽出部105设定新的局部对应,并进入S906。具体而言,局部对应抽出部105在起点矩阵的网格中与处理对象的网格的坐标 (r,c)对应的网格的局部对应ID (P[r] [c])中登记新的局部对应的ID (a)。此外,局部对应抽出部105在起点数组B[a]以及终点数组E[a]中登记处理对象的网格的坐标(r,c)。然后,局部对应抽出部105使新的局部对应的ID(a)递增。另一方面,在计算出的行方向的间隔长及列方向的间隔长在最大间隔长(gap)以下的情况下,局部对应抽出部105不进行任何操作地进入S906。此外,虽然在图14所示的局部对应处理的S1402中仅在选择与处理对象的网格对应的两个字符不一致的情况的分值作为处理对象的网格的最大分值的情况下执行最大间隔长限制处理,但也可以在选择了跳读的分值作为处理对象的网格的最大分值的情况下执行最大间隔长限制处理。如上所述,在本实施方式中,由于在从局部对应的终点开始不一致或者跳读的字符连续了规定次数的情况下设定新的局部对应,因此即使抽出了分值较大的局部对应,也能够网罗性地抽出在该分值较大的局部对应之后的局部对应。此外,由于是既计算分值矩阵的各网格的分值又执行最大间隔长限制处理,能够与以往的Smith-Waterman法几乎相同的计算量来执行。图15是通过执行本发明的第二实施方式的局部对应处理的抽出的局部对应的显示例。图15是对与图13相同的文件执行图14所示的局部对应收集处理的情况的局部对应的显示例。在图15中,在两个文件的局部对应中的最大的局部对应(1301)的右下部的局部对应也被抽出。
如上所述,在本实施方式中,能够提高具有代表性的局部对应的抽出的网罗性。其中10局部对应抽出装置101CPU102存储器103键盘及鼠标104显示器105局部对应抽出部106局部对应显示控制部107通信部11 网络12检索服务器
权利要求
1.一种局部对应抽出装置,具备抽出在任意的两个文件之间的类似的字符串即局部对应的局部对应抽出部,其特征在于,上述局部对应抽出部具有第一矩阵生成部,将构成上述两个文件中的一个文件的字符串作为行,将构成另一个文件的字符串作为列,在与构成上述行的字符串的字符以及构成上述列的字符串的字符对应的网格中登记表示与该网格对应的两个字符的类似度的分值,从而生成第一矩阵;以及第二矩阵生成部,在由与上述第一矩阵的网格对应的网格构成的第二矩阵的网格中的、与由上述第一矩阵生成部计算出分值的网格对应的网格中登记与该网格对应的两个字符所属的局部对应的标识符,从而生成上述第二矩阵;与上述第一矩阵的网格对应的两个字符的类似度越大,则登记在该网格中的分值所示出的值越大,上述第一矩阵生成部,基于从与上述分值的计算对象的网格相邻的网格中的已计算出分值的网格开始到该计算对象的网格为止的路径被预先设定的值,计算上述计算对象的网格的分值, 将上述计算出的分值中最大的分值作为上述计算对象的网格的分值来登记, 将成为计算出上述最大的分值的路径的起点的上述网格作为迁移源网格来存储, 上述第二矩阵生成部,在示出与上述迁移源网格对应的上述第二矩阵的网格不属于任何局部对应且通过上述第一矩阵生成部计算出的最大的分值为规定值的情况下,在与上述计算对象的网格对应的上述第二矩阵的网格中登记新的局部对应的标识符,并作为上述新的局部对应的起点存储上述计算对象的网格,在示出与上述迁移源网格对应的上述第二矩阵的网格属于某个局部对应且通过上述第一矩阵生成部计算出的最大的分值比上述规定值大的情况下,在与上述计算对象的网格对应的上述第二矩阵的网格中登记与上述迁移源网格对应的上述第二矩阵的网格中所登记的局部对应的标识符,进而,在上述计算出的分值比属于相同的局部对应的网格的最大的分值大的情况下,作为上述局部对应的终点存储上述计算对象的网格。
2.如权利要求1所述的局部对应抽出装置,其特征在于, 上述第一矩阵生成部,选择位于上述第一矩阵的最上方的行,并从上述选择的行的左侧的列的网格开始按顺序计算上述分值,在计算出上述选择的行的全部的网格的上述分值的情况下,选择位于该选择的行的下方的行,在基于从上述计算对象的网格的上方相邻的网格开始到该计算对象的网格为止的路径来计算上述计算对象的网格的分值的情况下,从上述上方相邻的网格的已计算出的分值中减去第一规定值来计算上述计算对象的分值,在基于从上述计算对象的网格的左侧相邻的网格开始到该计算对象的网格为止的路径来计算上述计算对象的网格的分值的情况下,从上述左侧相邻的网格的已计算出的分值中减去第二规定值来计算上述计算对象的分值,在基于从上述计算对象的网格的左上方相邻的网格开始到该计算对象的网格为止的路径来计算上述计算对象的网格的分值的情况下,判断与该计算对象的网格对应的两个字符是否一致,在判断为与该计算对象的网格对应的两个字符一致的情况下,在上述左上方相邻的网格的已计算出的分值上加上第三规定值来计算上述计算对象的分值,在判断为与该计算对象的网格对应的两个字符不一致的情况下,从上述左上方相邻的网格的已计算出的分值中减去第四规定值来计算上述计算对象的分值。
3.如权利要求1所述的局部对应抽出装置,其特征在于, 上述第二矩阵生成部,判断上述两个字符不一致的网格从成为该网格所属的上述局部对应的上述终点的网格开始是否连续规定次数,在判断为上述两个字符不一致的网格从成为上述终点的网格开始连续规定次数的情况下,即使通过上述第一矩阵生成部计算出的最大的分值比规定值更大,也在与上述计算对象的网格对应的上述第二矩阵的网格中登记新的局部对应的标识符,并对与上述计算对象的网格对应的两个字符成为上述新的局部对应的起点的情况进行存储。
4.如权利要求2所述的局部对应抽出装置,其特征在于,上述局部对应抽出部将即使通过上述第一矩阵生成部计算出的最大的分值比规定值更大也在与上述计算对象的网格对应的上述第二矩阵的网格中登记新的局部对应的标识符的上述规定次数设定为由用户输入的值。
5.如权利要求1所述的局部对应抽出装置,其特征在于,具备局部对应显示控制部,上述局部对应显示控制部控制通过上述局部对应抽出部抽出的局部对应的显示,上述局部对应显示控制部,在将在构成上述两个文件中的一个文件的字符串作为行,将构成另一个文件的字符串作为列的二维映射上,利用矩形显示通过上述局部对应抽出部抽出的局部对应的起点和终占,显示上述行方向以及上述列方向的局部对应的分布的一览。
6.如权利要求5所述的局部对应抽出装置,其特征在于, 上述局部对应显示控制部,通过对在上述行方向上存在的局部对应的最大分值进行加法运算,计算上述行方向的局部对应的分布,通过对在上述列方向上存在的局部对应的最大分值进行加法运算,计算上述列方向的局部对应的分布。
7.如权利要求5所述的局部对应抽出装置,其特征在于, 上述局部对应显示控制部,通过对在上述行方向上存在的局部对应的数量进行加法运算,计算上述行方向的局部对应的分布,通过对在上述列方向上存在的局部对应的数量进行加法运算,计算上述列方向的局部对应的分布。
8.一种局部对应抽出方法,具备抽出在任意的两个文件之间的类似的字符串即局部对应的局部对应抽出部,其特征在于, 上述方法包括第一矩阵生成步骤,将构成上述两个文件中构成一个文件的字符串作为行,将构成另一个文件的字符串作为列,在与构成上述行的字符串的字符以及构成上述列的字符串的字符对应的网格中登记表示与该网格对应的两个字符的类似度的分值,从而生成第一矩阵;第二矩阵生成步骤,在由与上述第一矩阵的网格对应的网格构成的第二矩阵的网格中的、与由上述第一矩阵生成部计算出分值的网格对应的网格中登记与该网格对应的两个字符所属的局部对应的标识符,从而生成上述第二矩阵;与上述第一矩阵的网格对应的两个字符的类似度越大,则登记在该网格中的分值所示出的值越大,上述第一矩阵生成步骤包括基于从与上述分值的计算对象的网格相邻的网格中的已计算出分值的网格开始到该计算对象的网格为止的路径被预先设定的值,计算上述计算对象的网格的分值的步骤; 将上述计算出的分值中最大的分值作为上述计算对象的网格的分值来登记的步骤; 将成为计算出上述最大的分值的路径的起点的上述网格作为迁移源网格来存储的步骤;上述第二矩阵生成步骤包括在示出与上述迁移源网格对应的上述第二矩阵的网格不属于任何局部对应且通过上述第一矩阵生成部计算出的最大的分值为规定值的情况下,在与上述计算对象的网格对应的上述第二矩阵的网格中登记新的局部对应的标识符,并对与上述计算对象的网格对应的两个字符成为上述新的局部对应的起点的情况进行存储的步骤;在示出与上述迁移源网格对应的上述第二矩阵的网格属于某个局部对应且通过上述第一矩阵生成部计算出的最大的分值比上述规定值大的情况下,在与上述计算对象的网格对应的上述第二矩阵的网格中登记与上述迁移源网格对应的上述第二矩阵的网格中所登记的局部对应的标识符,进而,在上述计算出的分值比属于相同的局部对应的网格的最大分值更大的情况下,对与上述计算对象的网格对应的两个字符成为上述局部对应的终点的情况进行存储的步骤。
9.如权利要求8所述的局部对应抽出方法,其特征在于, 上述第一矩阵生成步骤包括选择位于上述第一矩阵的最上方的行,并从上述选择的行的左侧的列的网格开始按顺序计算上述分值的步骤;在计算出上述选择的行的全部的网格的上述分值的情况下,选择位于该选择的行的下方的行的步骤;在基于从上述计算对象的网格的上方相邻的网格开始到该计算对象的网格为止的路径来计算上述计算对象的网格的分值的步骤中,从上述上方相邻的网格的已计算出的分值中减去第一规定值来计算上述计算对象的分值,在基于从上述计算对象的网格的左侧相邻的网格开始到该计算对象的网格为止的路径来计算上述计算对象的网格的分值的步骤中,从上述左侧相邻的网格的已计算出的分值中减去第二规定值来计算上述计算对象的分值,基于从上述计算对象的网格的左上方相邻的网格开始到该计算对象的网格为止的路径来计算上述计算对象的网格的分值的步骤中包括判断与该计算对象的网格对应的两个字符是否一致的步骤,在判断为与该计算对象的网格对应的两个字符一致的情况下,在上述左上方相邻的网格的已计算出的分值上加上第三规定值来计算上述计算对象的分值,在判断为与该计算对象的网格对应的两个字符不一致的情况下,从上述左上方相邻的网格的已计算出的分值中减去第四规定值来计算上述计算对象的分值。
10.如权利要求8所述的局部对应抽出方法,其特征在于, 上述第二矩阵生成步骤包括判断上述两个字符不一致的网格从成为该网格所属的上述局部对应的上述终点的网格开始是否连续规定次数的步骤;在判断为上述两个字符不一致的网格从作为上述终点的网格开始连续规定次数的情况下,即使通过上述第一矩阵生成部计算出的最大的分值比规定值更大,也在与上述计算对象的网格对应的上述第二矩阵的网格中登记新的局部对应的标识符,并对与上述计算对象的网格对应的两个字符成为上述新的局部对应的起点的情况进行存储的步骤。
11.如权利要求8所述的局部对应抽出方法,其特征在于,上述方法包括将即使通过上述第一矩阵生成步骤计算出的最大的分值比规定值更大也在与上述计算对象的网格对应的上述第二矩阵的网格中登记新的局部对应的标识符的上述规定次数设定为由用户输入的值的步骤。
12.如权利要求8所述的局部对应抽出方法,其特征在于,上述方法包括对通过上述局部对应抽出步骤抽出的局部对应的显示进行控制的局部对应显示控制步骤,上述局部对应显示控制步骤包括在将上述两个文件中构成一个文件的字符串作为行,将构成另一个文件的字符串作为列的二维映射上,利用矩形显示通过上述局部对应抽出步骤抽出的局部对应的起点和终点的步骤;显示上述行方向以及上述列方向的局部对应的分布的一览的步骤。
13.如权利要求12所述的局部对应抽出方法,其特征在于, 上述局部对应显示控制步骤包括通过对在上述行方向上存在的局部对应的最大分值进行加法运算,计算上述行方向的局部对应的分布的步骤;通过对在上述列方向上存在的局部对应的最大分值进行加法运算,计算上述列方向的局部对应的分布的步骤。
14.如权利要求12所述的局部对应抽出方法,其特征在于, 上述局部对应显示控制步骤包括通过对在上述行方向上存在的局部对应的数量进行加法运算,计算上述行方向的局部对应的分布的步骤;通过对在上述列方向上存在的局部对应的数量进行加法运算,计算上述列方向的局部对应的分布的步骤。
全文摘要
本发明的目的在于,提供网罗性地抽出在没有预先进行索引化的任意的字符串之间具有代表性的局部对应的局部对应抽出装置。一种具备抽出在任意的两个文件之间类似的字符串的局部对应的局部对应抽出部的局部对应抽出装置,其特征在于,在表示与迁移源网格对应的第二矩阵的网格属于某一个局部对应且通过第一矩阵生成部计算出的最大分值比规定值更大的情况下,并且在计算出的分值比相同的局部对应所属的网格的最大分值更大的情况下,将与计算对象的网格对应的两个字符作为局部对应的终点来存储。
文档编号G06F17/30GK102402567SQ201110241220
公开日2012年4月4日 申请日期2011年8月22日 优先权日2010年9月10日
发明者岩山真 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1