用于执行计算机实现的现有技术搜索的系统和方法
文献发布时间:2023-06-19 12:07:15
相关申请的交叉引用
本申请要求来自2018年8月28日提交的美国临时专利申请号62/723,959以及2019年8月27日提交的美国专利申请号16/553,148的优先权,这两个专利特此通过引用以其整体并入。
背景技术
执行现有技术搜索通常是麻烦和低效的。执行现有技术搜索的方法经受长的处理时间,从而导致专利审查过程中的积压和延迟。此外,当前的计算机化搜索工具需要人类在一个或多个步骤处输入信息。当前搜索方法的低效率也源于量化文本文档的困难,从而产生次优结果。
因此,存在对用于高效且准确地标识相似文档的系统和方法的需求。
发明内容
对于本发明的一些实施例,提供了一种用于生成文档数据库的计算机实现的方法。
在一个实施例中,提供了一种用于生成文档数据库的计算机实现的方法。该方法可以包括接收多个文档中的文档,该文档包括单词集合;将第一编码器应用于单词集合以生成第一向量;将第二编码器应用于单词集合以生成第二向量;使用第一向量和第二向量将文档索引成可搜索索引;以及使能使用索引搜索文档。
在另一个实施例中,提供了一种用于从文档语料库检索相似文档的方法。该方法可以包括:接收搜索文档,该搜索文档包括单词集合;将第一编码器应用于单词集合以生成第一向量;将第二编码器应用于单词集合以生成第二向量;确定搜索文档的第一向量和文档语料库的每个文档的第一向量之间的第一相似性;确定搜索文档的第二向量和文档语料库的每个文档的第二向量之间的第二相似性;基于第一相似性生成语料库中的文档的第一排名列表;基于第二相似性生成语料库中的文档的第二排名列表;基于每个文档在其相对排名列表中的位置,应用投票算法来确定与每个文档相关联的评分;以及基于所确定的评分输出文档的第三排名列表。
在另一个实施例中,一种计算机程序产品可以包括其中体现有计算机可读程序的非暂时性计算机可读介质。当在计算设备上执行时,该计算机可读程序可以使得计算设备:接收搜索文档,该搜索文档包括单词集合;将第一编码器应用于单词集合以生成第一向量;将第二编码器应用于单词集合以生成第二向量;确定搜索文档的第一向量和文档语料库的每个文档的第一向量之间的第一相似性;确定搜索文档的第二向量和文档语料库的每个文档的第二向量之间的第二相似性;基于第一相似性生成语料库中的文档的第一排名列表;基于第二相似性生成语料库中的文档的第二排名列表;基于每个文档在其相对排名列表中的位置,应用投票算法来确定与每个文档相关联的评分;以及基于所确定的评分输出文档的第三排名列表。
将理解,前述一般描述和以下详细描述均仅仅是示例性和解释性的,并且不是对如要求保护的公开实施例的限制。
附图说明
并入本说明书中并构成其一部分的附图图示了公开的实施例,并且与说明书一起用于解释公开的实施例。在附图中:
图1是根据公开的实施例的用于维护现有技术数据库的示例性系统的框图。
图2A是根据公开的实施例的用于搜索现有技术数据库的示例性系统的过程图解。
图2B是根据公开的实施例的示例性语义编码器的过程图解。
图3A是根据公开的实施例的示例性节点-边图。
图3B是根据公开的实施例的示例性节点-边图。
图4A是根据公开的实施例的用于搜索现有技术数据库的示例性图形用户接口。
图4B是根据公开的实施例的显示现有技术搜索结果的另一示例性图形用户接口。
图5是根据公开的实施例的搜索现有技术数据库的示例的图示。
图6是根据公开的实施例的生成现有技术数据库的示例性方法的流程图。
图7是根据公开的实施例的搜索现有技术数据库的示例性方法的流程图。
具体实施方式
在以下详细描述中,阐述了许多具体细节,以便提供对公开的示例实施例的透彻理解。然而,本领域技术人员将理解,示例实施例的原理可以在没有每个具体细节的情况下实践。没有详细描述公知的方法、过程和组件,以免模糊示例实施例的原理。除非明确声明,否则本文描述的示例方法和过程不被约束为特定的次序或顺序,也不被约束为特定的系统配置。另外,一些所描述的实施例或其元素可以同时、在同一时间点或并发地发生或被执行。
公开的实施例提供了用于执行计算机实现的现有技术搜索的系统和方法。公开的系统和方法可以用于评估现有技术及其与一个或多个文档(诸如新专利申请)的相似性。公开的系统和方法可以提供在先前系统之上增加的准确度,先前系统低效并且在一个或多个步骤处需要人类干预。
在一个实施例中,与本公开一致的系统和方法可以接收专利申请或其他文档作为输入并输出相关的现有技术结果和/或其他相关文档。这样的系统和方法可以用于例如寻找与新提交的专利申请相关的现有技术。在其他实施例中,描述的系统和方法可以用于在提交专利申请之前执行相关技术搜索,或者可以用于帮助自由操作分析。
本文描述的系统和方法可以由例如商业、政府或学术实体使用,所述实体包括但不限于科学家、知识产权专业人员、法律专业人员、商业专业人员、专利局审查员、监管机构和学术界。在实施例中,该系统可以使得用户能够在已公布的专利申请(或其他文档)和新的专利申请(或其他文档)之间执行相似性搜索。在一些实施例中,该系统可以输出被确定为与输入文档最相似的文档,或者基于相似文档与输入文档的相似性排名的相似文档列表。
图1描绘了与公开的实施例一致的用于维护现有技术数据库的示例性系统100。如所示,系统100可以包括现有技术系统102、现有技术数据库104和客户端设备106。系统100的组件可以经由网络108彼此连接。
如本领域技术人员将领会的,系统100的组件可以以各种方式布置,并且在适用的情况下用硬件、固件和/或软件的任何合适的组合来实现。例如,与图1中的描绘相比,系统100可以包括更多或更少数量的现有技术系统、现有技术数据库、客户端设备和/或网络。此外,系统100可以进一步包括与公开的实施例一致的未描绘的执行或帮助执行一个或多个过程的其他组件或设备。图1中所示的示例性组件和布置不意图限制公开的实施例。
现有技术系统102可以包括与公开的实施例一致的计算设备、计算机、服务器、服务器集群、多个服务器集群和/或云服务。现有技术系统102可以包括一个或多个存储器单元和一个或多个处理器,其被配置为执行与公开的实施例一致的操作。现有技术系统102可以包括与公开的实施例一致的被配置为生成、接收、检索、存储和/或提供数据模型和/或数据集的计算系统。现有技术系统102可以包括与公开的实施例一致的被配置为生成和训练模型的计算系统。现有技术系统102可以被配置为(例如,经由网络108)从系统100的其他组件和/或系统100之外的计算组件接收数据、从其检索数据和/或将数据传输到其。现有技术系统102在下面更详细地公开(参考图2A)。
现有技术系统102可以包括程序(例如,脚本、函数、算法)来训练、实现、存储、接收、检索和/或传输一个或多个机器学习模型。机器学习模型可以包括神经网络模型、注意力网络模型、生成对抗模型(GAN)、递归神经网络(RNN)模型、深度学习模型(例如,长短期记忆(LSTM)模型、随机森林模型、卷积神经网络(CNN)模型、RNN-CNN模型、LSTM-CNN模型、时间-CNN模型、支持向量机(SVM)模型、基于密度的带噪声应用的空间聚类(DBSCAN)模型、k-均值聚类模型、基于分布的聚类模型、k-medoids模型、自然语言模型和/或另一种机器学习模型。模型可以包括整合模型(即,由多个模型组成的模型)。在一些实施例中,当满足训练标准时,模型的训练可以终止。训练标准可以包括多个时期、训练时间、性能度量(例如,再现测试数据的准确度估计)等。选择可以被配置为在训练期间调整模型参数。模型参数可以包括权重、系数、偏移等。训练可以有监督或者无监督。
现有技术数据库104可以托管在一个或多个服务器、一个或多个服务器集群或者一个或多个云服务上。现有技术数据库104可以连接到网络108(连接未示出)。
在一些实施例中,现有技术数据库104可以包括与公开的实施例一致的被配置为存储供系统100使用的数据的一个或多个数据库。在一些实施例中,现有技术数据库可以被配置为存储与公开的实施例一致的数据集和/或一个或多个数据集索引。现有技术数据库104可以包括基于云的数据库(例如,亚马逊网络服务关系数据库服务)或前提数据库。现有技术数据库104可以包括与公开的实施例一致的数据集、模型数据(例如,模型参数、训练标准、性能指标等)和/或其他数据。现有技术数据库104可以包括(例如,经由网络108)从系统100的一个或多个组件和/或系统100外部的计算组件接收的数据。在一些实施例中,现有技术数据库104可以是现有技术系统102的组件(未示出)。
在一些实施例中,现有技术数据库104可以在数据结构、例如图结构中存储信息。现有技术数据库104可以在没有限制的情况下使用存储器驱动器、可移除盘驱动器等来实现,其采用诸如串行高级技术附件(SATA)、集成驱动电子设备(IDE)、IEEE-1394、通用串行总线(USB)、光纤通道、小型计算机系统接口(SCSI)等连接协议。存储器驱动器可以进一步包括鼓、磁盘驱动器、磁-光驱动器、光驱动器、独立盘冗余阵列(RAID)、固态存储器设备、固态驱动器等。
客户端设备106可以包括一个或多个存储器单元和一个或多个处理器,其被配置为执行与公开的实施例一致的操作。在一些实施例中,客户端设备106可以包括硬件、软件和/或固件模块。客户端设备106可以是用户设备。客户端设备106可以包括移动设备、平板设备、个人计算机、终端、信息亭、服务器、服务器集群、云服务、存储设备、被配置为执行根据公开实施例的方法的专用设备等。
现有技术系统102、现有技术数据库104或客户端设备106中的至少一个可以连接到网络108。网络108可以是公共网络或专用网络,并且可以包括例如有线或无线网络,其在没有限制的情况下包括:局域网、广域网、城域网、IEEE 1002.11无线网络(例如,“Wi-Fi”)、网络中的网络(例如,因特网)、陆线电话网络等。网络108可以连接到其他网络(图1中未描绘)将各种系统组件彼此连接和/或连接到外部系统或设备。在一些实施例中,网络108可以是安全网络,并且需要密码来访问网络。
图2A描绘了现有技术系统102的示例性配置200。如本领域技术人员将领会的,现有技术系统102中包括的组件和组件的布置可以变化。例如,与图2A中的描绘相比,现有技术系统102可以包括更多或更少数量的处理器、接口或I/O设备或存储器单元。此外,现有技术系统102可以进一步包括与公开的实施例一致的未描绘的执行或帮助执行一个或多个过程的其他组件或设备。图2A中所示的组件和布置不意图限制公开的实施例,因为用于实现公开的过程和特征的组件可以变化。
处理器200可以包括已知的计算处理器,包括微处理器。处理器200可以构成同时执行并行过程的单核或多核处理器。例如,处理器200可以是用虚拟处理技术配置的单核处理器。在一些实施例中,处理器200可以使用逻辑处理器来同时执行和控制多个过程。处理器200可以实现虚拟机技术或其他已知技术,以提供对多个软件过程、应用、程序等执行、控制、运行、操纵、存储等的能力。在另一个实施例中,处理器200可以包括多核处理器布置(例如,双核、四核等),其被配置为提供并行处理功能性,以允许同时多个过程的执行。本领域普通技术人员将理解,可以实现提供本文公开的能力的其他类型的处理器布置。公开的实施例不限于任何类型的处理器。处理器200可以执行存储在存储器中的各种指令,以执行下面更详细描述的公开实施例的各种功能。处理器200可以被配置为执行用一个或多个已知编程语言编写的功能。
现有技术系统102可以包括两个组件:现有技术平台202和现有技术应用204。在一些实施例中,现有技术系统102可以包括组件(包括附加组件)的其他布置。
现有技术平台202可以被配置为从在数据源208处接收的一个或多个专利文件生成现有技术数据库206。数据源208可以访问一个或多个数据库、第三方数据库、网络抓取器等,以接收文档文件。文档文件可以从数据源208传输到生产数据库210。
生产数据库210可以存储已经被摄取的文件(摄取的数据)和已经被人类手动或经由机器自动化索引的文件(精选的数据)。例如,索引可以基于与文档相关联的一个或多个标签。标签可以与文档内容、文档中包含的一个或多个关键词或与文档相关联的元数据相关。生产数据库210可以与现有技术数据库104相同,或者可以是单独的数据库。
在一些实施例中,如果摄取的文件是非本机语言,则翻译模块212可以将文档的文本从非本机语言翻译成本机语言。在一些实施例中,翻译模块212可以例如从数据库检索文件的本机语言版本。例如,翻译模块212可以接收包括中国专利的文件。翻译模块212可以解析文档以确定专利号,并使用该专利号来查询一个或多个第三方应用以检索本机语言配对应用。
为了填充现有技术数据库206,可以执行两个模块:批处理模块214和正在进行的模块216。批处理模块214可以处理文件语料库。例如,批处理模块214可以被配置为对现有技术数据库206执行文件的初始处理。在一些实施例中,正在进行的模块216可以处理在数据源208接收的文件,作为周期性的部分(例如,每日、每周、每月等)更新过程。在一些实施例中,正在进行的模块216可以查询现有技术数据库206,以确定数据库中是否已经存在文件。如果文件确实存在,则正在进行的模块216可以更新与现有技术数据库206中的文件相关联的信息。
在一些实施例中,批处理模块214可以包括:文档解析器218a、语义编码器220a、句法编码器222a和图构建器224a。正在进行的模块216可以包括文档解析器218b、语义编码器220b、句法编码器222b和图构建器224b。在一些实施例中,相同命名的组件(例如,文档解析器218a和文档解析器218b)可以以相同的方式实现。在其他实施例中,相同命名的组件可以彼此不同地实现。
文档解析器218a、218b可以标识文件的一个或多个组成部分。例如,如果文件是专利,则文档解析器218a、218b可以被配置为执行一个或多个字符分析过程来标识唯一标识符(例如,专利号、公开号、申请日)、专利标题、摘要和权利要求书。在一些实施例中,文档解析器218a、218b可以标识独立和从属权利要求。在一些实施例中,文档解析器218a、218b可以预处理接收的文件。例如,文档解析器218a、218b可以将PDF文件或微软Word文档转换成XML文档。
一旦文档解析器218a、218b已经标识了文件的一个或多个组成部分,语义编码器220a、220b就可以例如使用深度神经网络编码器来创建组成部分的向量表示。深度神经网络编码器可以被配置为以数值方式捕获文件文本的语义含义。例如,语义编码器220a、220b可以将文本信息(例如,标题、摘要、权利要求书)转换成以向量形式成文本的数值、数学表示。一旦文本被转换成代表性向量,就可以将该文本与以相同方式转换的其他文本进行比较,以确定文档之间的相似性。
语义编码过程236的一个示例在图2B中图示。语义编码器220a、220b可以将一系列单词(例如,输入文档的文本)变换成向量,其中向量中的每个位置具有表示文档(例如,存储在现有技术数据库206中的文档)语料库中单词频率的值。例如,令文本语句是“Thequick brown fox(这个敏捷的棕色狐狸)”。语义编码器220a、220b可以评估该系列的每个单词以生成向量。假定80000个单词的词汇表,[THE] [QUICK] [BROWN] [FOX]可以具有对应的整数向量[1,3257,2037,100]。1可以对应于“the”,3257对应于“quick”等等,使得1对应于“the”意指它是语料库中最频繁的单词,并且3257意指“quick”是语料库中第3257频繁的单词。在一些实施例中,词汇表可以是在文档语料库中至少出现一次的单词列表。在其他实施例中,词汇表可以基于例如参考工具书(例如,牛津英语词典)、一个或多个技术或科学词典等。
嵌入模块238可以被配置为生成256行和80001列的矩阵。取决于意图的应用和/或期望的处理速度,可以存在更多或更少的行。行数可以指代分析的单词数。例如,256可以对应于专利权利要求的前256个单词。列数可以对应于假定的词汇表,其具有用于发现的不在词汇表中的单词、或者“词汇表外”单词的附加第一列。因此,第2列可以表示语句中贯穿文档语料库使用最频繁的单词,等等。
在一些实施例中,行表示单词在文本中的数字位置。例如,对于单词“the”,嵌入模块238将在256×80001矩阵的第1行第2列存储1,这指示“the”是语句中的第一个单词(对应于第1行)并且是最常用的单词(对应于第2列)。
双向门控循环单元240可以向前和向后“读取”语句,以创建具有512行(是由嵌入模块238生成的矩阵中的行数的两倍)和80001列的矩阵。神经网络242可以将矩阵转化成最终向量,以供相似性评分中使用。在一些实施例中,可以基于机器学习来确定存储在最终向量内的每个位置处的浮点数宽度,以生成最佳宽度。
句法编码器222a、222b可以通过使用术语频率-逆文档频率(TF-IDF)编码器来创建由文档解析器218a、218b标识的文件组成部分的向量表示。句法编码器222a、222b可以被配置为捕获文本的句法含义。句法编码器222a、222b可以将文本信息(在专利、标题、摘要和权利要求书的示例中)转换成以向量形式的该文本的数值、数学表示。句法编码器222a、222b可以例如解析文件文本以从文件标识和移除“停止单词”(例如,“和”、“该”等等)。句法编码器222a、222b然后可以分析解析的文本,以确定单词在文档中有多常用。单词或对象在文件中的常用度可以指代与文档中所有剩余单词比较,该单词在该文档中出现的次数。句法编码器222a、222b还可以确定单词或对象的稀有度。例如,稀有度可以是与一单词在文件语料库中出现在多少文件比较,该单词在文件中出现的次数。
在一些实施例中,图构建器224a、224b可以处理文件,以便将文件信息存储在知识图数据库中。知识图数据库可以以图数据结构存储文件信息。参考图3A和3B进一步详细地讨论了用于生成知识图的示例性方法。
在一些实施例中,现有技术数据库206可以存储向量数据、文档数据和知识图数据。在一些实施例中,可以在异常数据存储中维护异常。异常数据存储可以是现有技术数据库206的一部分。例如,当文档解析器218a、218b不能标识文件中的一个或多个组成部分时,可以生成异常数据。在另一个示例中,当不能定位本机语言文件的配对时,可以生成异常。
在一些实施例中,来自批处理模块214的向量数据以及来自正在进行的模块216的不是异常数据的向量数据被存储在向量数据存储中。来自批处理模块214的文档数据和来自正在进行的模块216的不是异常数据的文档数据可以存储在文档数据存储中。来自批处理模块214的图数据以及来自正在进行的模块216的不是异常数据的图数据被存储在知识图数据存储中。
现有技术应用204可以包括数据源226、翻译模块228、近实时模块230、评分模块232和诸如显示器或打印机的输出设备234。输出设备234可以是例如经由网络108与现有技术系统102通信的外部设备。输出设备234可以是打印机、计算设备、终端、信息亭等中的一个或多个。
现有技术应用204可以被配置为(例如,经由客户端设备106 )接收来自用户的输入,包括用户想要与其他文档比较以标识一个或多个相似文档的文档。现有技术应用可以分析输入文档并搜索由现有技术平台202生成的现有技术数据库206,以标识一个或多个相似的文档。
数据源226可以接收经由图形用户接口(GUI)输入的一个或多个文件。例如,GUI可以被配置为接收指示要上传到数据源226的文档的文件位置的输入。
如果接收到的文件是非本机语言,则文件可以由翻译模块228翻译。翻译模块228可以被配置为以与翻译模块212相同的方式操作。在一些实施例中,翻译模块228和翻译模块212可以是相同的。文件然后可以由近实时模块230处理,该近实时模块230可以包括图构建器(例如,图构建器224a、224b)、语义编码器(例如,语义编码器220a、220b)、句法编码器(例如,句法编码器222a、222b)和文档解析器(例如,文档解析器218a、218b)。
如上参考现有技术平台202所述,文档解析器可以标识文件的一个或多个组成部分。一旦文档解析器已经标识了文件的那些组成部分,图构建器就可以处理文件的文本,以便将文件信息存储在知识图数据库中。文件信息可以被上传到现有技术数据库206中的知识图数据存储。语义编码器可以使用捕获文本语义含义的深度神经网络编码器来创建来自文档解析器的组成部分的向量表示。句法编码器可以使用捕获文本的句法含义的术语频率-逆文档频率(TF-IDF)编码器从文档解析器创建那些组成部分的向量表示。
在一些实施例中,当近实时模块230已经完成处理时,评分模块232就可以摄取文件数据并执行若干个过程。首先,评分模块232可以运行对现有技术数据库206的查询。查询数据可以以与接收到的文件在语义上最相似并且在句法上最相似的文件的形式返回。查询数据还可以返回与知识图中接收到的文件相邻的文件。在一些实施例中,可以使用余弦、皮尔逊相关系数或雅克卡指数来确定相似性。查询数据中返回的文件数量可以是参数。一旦相似专利的三个组(语义、句法和图)被返回到评分模块232,整合过程可以组合结果以生成相似文件的最佳答案集。
整合过程可以使用投票算法来合并来自语义、句法和图过程的文件列表。例如,如果文件出现在一个过程的输出中,则该事件贡献的投票等于该文件在该过程列表中出现之处的逆排名。可以为每个唯一的文件累积投票,并且作为按照每个文件接收的投票数排名的答案集来返回前几个文件。在一些实施例中,现有技术应用204可以从用户接口接收期望数量的结果。因此,现有技术应用204可以返回具有输入数量的结果的列表。在一些实施例中,可以对一个或多个过程的投票贡献进行加权。例如,如果语义向量被确定为特定文档类型的更准确的相似性预测器,则语义过程的投票可以比句法和图过程具有更高的权重。
在一些实施例中,评分模块232可以包括过滤规则过程。过滤规则过程可以基于用户输入将一个或多个过滤器或算法应用于最终答案集。例如,用户可以指定规则来约束答案集。在专利现有技术搜索的示例中,用户可以应用过滤规则来使现有技术应用204取回最终答案集中每个应用的中文配对应用。
最终,一旦评分模块232已经完成处理,答案集就可以在显示器中呈现给用户或者在外围打印机、例如输出设备234上打印。例如,答案集可以作为列表、图表、表格、图显示等呈现给用户。答案集可以包括一个或多个文档标识符(例如,专利号)、文档标题、到答案列表的一个或多个文档的超链接等。
图3A和3B描述了知识图生成的方法。例如,图构建器224a、224b可以使用这些方法来生成一个或多个知识图。在一些实施例中,知识图可以包括与在专利、非专利文献和其他文档中发现的科学信息相关的互连的科学主题、角色和命名法。科学主题和角色通过用语句或对例如新的主旨、复合词或想法的更少使用来进行描述,提供了对文档的更好的理解。角色可以提供可以如何使用主旨和/或思想和/或可以以何种类型的能力来使用主旨和/或思想的信息。在一些实施例中,人类精选的信息可以用作互连文档的机制、诸如专利和非专利文献。精选的信息可以被重铸为互连的多关系异构网络,并被建模为知识图。在一些实施例中,可以使用在专利和/或科学文献的训练集上训练的一个或多个机器学习算法来自动生成科学文档、角色和命名法。
在一些实施例中,可以使用人类或计算机精选的科学内容来构建知识图,其可以用于在文档之间进行连接。互连网络的结构和形状(拓扑)可以是文档相关性的特性,并且可以提供由精选器指定的文档相似性的定义。因此,基于共享拓扑和/或技术相似性特性被确定为相似的文档可以一起呈现在知识图中。
在一些实施例中,知识图中的文档连接可以包括化学主题和主旨相关信息。附加信息可以用于对文档相关性进行评分,诸如整个知识图中连接的主题和主旨的自然分布。例如,给定科学主题将影响相似性评分的程度可以基于其在知识图内的连接性模式。在实施例中,公开的系统和方法可以通过子结构搜索、化学信息学技术、引用、组织、作者以及其他技术和类别来细化。知识图可以代替人工智能技术(诸如神经嵌入)或者与人工智能技术(诸如神经嵌入)结合使用来标识相关文档。例如,如上所述,知识图可以与语义和句法相似性结合使用,并且可以提供文档相似性的互补表示。
图3A是示例性知识图110,其图示了表示由形状120a、120b表示的两个专利文档之间的关系的网络结构。这些关系可以使用例如人类精选来建立。在知识图110中被指示为例如形状125的主旨可以使用连接127被连接到讨论该主旨的文档(例如,专利文档120a)。在图3A的示例性网络结构中,两个专利文档120a、120b彼此不直接相关(即,他们不共享直接连接的主题或主旨)。取而代之,间接连接140a、140b可以在知识图110中指示,其允许两个文档120a、120b通过中间主题/概念连接,诸如用形状130指示的“醛”。文档之间的直接连接可能是与一种居间主旨或概念的连接。在该示例中,因为概念醛130不直接连接到文档120a,而是取而代之在其自身和文档120a之间具有主旨141A和主旨125。文档120b通过概念醛130间接连接到文档120a。
图3B是另一个示例性知识图210,其图示了表示由形状220a、220b表示的两个专利文档之间的关系的网络结构。在该示例中,两个专利文档220a、220b共享与多个概念和主旨相关信息(例如,抗肿瘤剂230a、肿瘤230b、人类230c、炎症230d和主旨240)的直接连接。两个专利文档之间的相似性度量可以基于共享概念、主旨相关信息或使用直接连接或者在一些实施例中使用任何连接将专利文档连接在一起的其他科学信息的数量。例如,文档220a和220b可以具有共享的概念评分:0.2;疾病关联度:0.1;共享主旨信息:0.3,从而产生0.6的相似性评分。文档220a和220c(未示出)可以具有:共享概念评分0.0;疾病关联度:0.0;共享主旨信息:0.1,从而产生0.1的相似性评分。相似性评分可以使用余弦、皮尔逊相关系数或雅克卡指数来确定。在一些实施例中,相似性可以从0到1进行度量,其中0指示文档之间没有相似性,并且1指示文档完全相似。
图4A是被配置为接收对现有技术应用204的用户输入的示例性GUI 400。GUI 400可以被配置为接收用户输入并向用户提供数据(例如,操作客户端设备106的专利审查员或用户)。
GUI 400可以例如在输入字段402接收文档的文件位置。数据源208和/或数据源226可以被配置为接收在输入字段402中标识的文档。在其他实施例中,用户可以在字段404输入专利号。现有技术系统可以被配置为查询一个或多个第三方数据库以检索与输入的专利号相关联的文档。一旦已经上传了一个或多个文档,GUI 400就可以呈现上传文档的列表406。这些上传的文档是用户希望针对其例如从现有技术数据库206找到相似文档的文档。
在一些实施例中,现有技术应用204可以包括当搜索过程已经完成运行时向用户提供警报的功能性。在其他实施例中,现有技术应用可以生成包含搜索结果的文档(例如,文本文件、电子表格、微软Word文档等)。用户可以(例如,经由输入框408)输入电子邮件地址,(一个或多个)进度警报和/或结果输出列表可以被发送到该电子邮件地址。在其他实施例中,输入框408可以被配置为接收将包含输出结果的文件保存到的位置。
图4B是被配置为例如经由客户端设备106向用户提供现有技术应用204的输出的示例性GUI 410。
GUI 410可以在结果窗口412中输出由评分模块232标识的文档的排名列表。结果窗口412可以显示标识的目标专利,例如被标识为相似于经由GUI 400输入的专利的专利。结果窗口412可以显示与每个专利相关联的信息,包括例如专利号、相似性评分、标题和DOCDB专利家族号。在一些实施例中,用户可以例如经由GUI 400指定哪些数据将显示在结果窗口412中。例如,现有技术应用204返回的其他数据可以包括审查状态、最后审查意见邮寄日期、提交日期等。在一些实施例中,GUI 410可以包括到结果中列出的每个文档的可选链接。
在一些实施例中,用户可以通过使用过滤工具414过滤结果。例如,可以通过一个或多个特性来过滤结果,使得仅显示具有指定特性的那些结果。GUI 410还可以包括分类工具416,使得用户可以例如按专利号、CPC、国家、相关性等对结果进行分类。
图5是用于使用现有技术系统102执行现有技术搜索的示例性过程500的流程图。实时应用204可以接收文档502。文档502可以在数据源226处接收,并且可以由用户经由GUI400上传。
如先前参考图2A所述,文档502可以由近实时模块230处理。一个或多个深度学习编码器504可以被配置为使得文档502的语义向量模块506生成文档502的语义向量。TF-IDF编码器508可以被配置为使得句法向量模块510为文档502生成句法向量。在一些实施例中,可以将一个或多个机器学习算法应用于文档502,以生成或标识一个或多个文档特性。基于这些特性,可以在索引模块512处对文档进行索引和/或标记。知识图模块514可以将文档502上传到知识图中,例如知识图包括基于一个或多个特性的专利文档语料库。例如,知识图模块514可以使用所述特性来确定一个或多个相似的文档。表示文档502的节点可以基于共享特性的数量连接到相似的文档。
这些度量(语义向量、句法向量和知识图)可以用于查询现有技术数据库516以标识一个或多个相似的文档。在一些实施例中,因为文档属性已经被以数值方式量化,所以相似性算法可以被应用于现有技术数据库516中的每个文档以及文档502的向量。相似性算法可以由例如下式定义:
相似性
也可以应用其他算法或相似性度量。例如,可以使用皮尔逊相关系数来确定相似性:
相似性
其中
在另一个实施例中,可以使用雅克卡索引来确定相似性:
相似性
基于知识图514的相似性可以例如基于与表示文档502的节点相邻的节点(例如,文档)来确定。在一些实施例中,相似性程度可以基于文档502及其相邻文档之间直接和/或间接共享的多个特性。
三个过程(语义、句法和图)中的每一个可以生成专利及其与文档502的相似性程度的排名列表(例如,分别为表格518、520和522)。三个过程的结果可以使用一个或多个整合方法或算法来组合,以生成最终答案集524。最终答案集可以表示被确定为与文档502最相似的专利列表。例如,参考表格518,专利1可以被分配最高投票数,专利2可以被分配比专利1低的投票数,并且专利3可以被分配最少投票数。投票可以被计数(例如,通过生成专利1的投票总和),使得具有最大投票数的专利排名第一,其指示它是现有技术文档中与文档502最相似的。在一些实施例中,最终答案集524可以经由GUI 410输出给用户。
图6是根据公开的实施例的用于生成文档数据库的示例性方法600。
在步骤602,处理设备(例如,现有技术系统102的处理设备)可以接收多个文档中的文档,该文档包括单词集合。例如,文档可以是专利,并且可以是专利文档语料库之一。
在步骤604,处理设备可以将第一编码器应用于单词集合,以生成第一向量。第一编码器可以被配置为生成语义向量。
在步骤606,处理设备可以将第二编码器应用于单词集合,以生成第二向量。第二向量可以是例如句法向量。
在步骤608,处理设备可以使用第一向量和第二向量来索引文档。
在步骤610,处理设备可以使能使用索引搜索文档。在一些实施例中,方法600可以对多个文档执行,并且可以用于从生成的和索引的向量中生成文档数据库。例如,生成的数据库可以包括多个文档,其中每个文档与语义向量和句法向量相关联。数据库可以关于向量值进行索引,从而便于搜索文档。
图7是用于从文档语料库检索相似文档的示例性方法700。
在步骤702,处理设备例如在现有技术应用204处可以接收搜索文档,该搜索文档包括单词集合。例如,搜索文档可以是专利或其他包含文本的文档。
在步骤704,处理设备可以将第一编码器应用于单词集合,以生成第一向量。第一编码器可以被配置为生成语义向量。
在步骤706,处理设备可以将第二编码器应用于单词集合,以生成第二向量。第二向量可以是例如句法向量。
在步骤708,处理设备可以确定搜索文档的第一向量和文档语料库的每个文档的第一向量之间的第一相似性。例如,处理设备可以应用相似性算法来确定搜索文档和现有技术数据库206中的每个文档之间的相似性程度。
在步骤710,处理设备可以确定搜索文档的第二向量和文档语料库的每个文档的第二向量之间的第二相似性。处理设备可以对与每个文档相关联的第二向量应用相同或不同的相似性算法。例如,相似性算法可以基于余弦,可以是皮尔逊相关系数,或者可以是雅克卡指数。
在步骤712,处理设备可以基于第一相似性生成语料库中的文档的第一排名列表。例如,排名列表可以具有在顶部位置产生相似性1(最高相似性)的文档,以及在最低位置产生相似性0(最低相似性)的文档。
在步骤714,处理设备可以基于第二相似性生成语料库中的文档的第二排名列表。排名列表可以包括与搜索文档从最相似到最不相似排名的文档列表,如上所述。
在步骤716,处理设备可以基于每个文档在其相对排名列表中的位置,应用投票算法来确定与每个文档相关联的评分。投票算法可以被配置为分别基于专利在第一和第二列表中的位置对每个排名的专利应用评分。在一些实施例中,处理设备可以生成单个列表或多于两个列表。文档列表的数量可以基于例如相似性比较类型的数量。例如,可以在使用语义向量比较和句法向量比较的过程中生成两个列表。在另一个示例中,如图5中所示,在过程500期间可以生成三个列表,过程500为语义向量、句法向量和知识图中的每一个生成三个相似性度量。
作为示例,给定两个排名列表,每个具有三个文档,其中最相似的文档在第一位置,在第一位置的文档可以被分配三个投票。在第二位置的文档可以被分配两个投票,并且在第三位置的文档可以被分配1个投票。因此,如果文档A在一个列表中排名第一,并且在另一个列表中排名第三,则其最终评分将是四。在一个列表中排名第二并且在另一个列表中排名第一的文档B将具有为五的最终评分,并且文档C将具有为三的最终评分。因此,文档的最终排名列表可以产生:文档B、文档A和文档C,它们从最相似到最不相似进行排序。
在步骤718,处理设备可以基于所确定的评分输出文档的第三排名列表。第三列表可以通过组合与每个列表中的每个文档相关联的评分并将文档从高评分到低评分排名来生成。排名列表可以例如经由GUI 410输出给用户。
将理解,公开的实施例在它们的应用方面不一定限于在以下描述中阐述的和/或在附图和/或示例中图示的组件和/或方法的构造和布置的细节。公开的实施例能够变化,或者能够以各种方式实践或实行。
公开的实施例可以在系统、方法和/或计算机程序产品中实现。计算机程序产品可以包括其上具有计算机可读程序指令的一个(或多个)计算机可读存储介质,用于使得处理器实行本发明的各方面。
计算机可读存储介质可以是能够保存和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备,诸如穿孔卡或其上记录有指令的凹槽中的凸起结构,以及前述的任何合适组合。如本文使用的计算机可读存储介质本身不应被解释为瞬态信号,诸如无线电波或其他自由传播的电磁波,通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆传递的光脉冲)或通过电线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令以供存储在相应计算/处理设备内的计算机可读存储介质中。
用于实行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微码、固件指令、状态设置数据或者是以一种或多种编程语言的任何组合编写的源代码或目标代码,所述一种或多种编程语言包括面向对象的编程语言,诸如Smalltalk、C++等,以及常规的过程编程语言,诸如“C”编程语言或相似的编程语言。计算机可读程序指令可以完全在用户的计算机上、部分在用户的计算机上作为独立的软件包、部分在用户的计算机上且部分在远程计算机上、或者完全在远程计算机或服务器上执行。在后一种场景下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以使其连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来个性化电子电路来执行计算机可读程序指令,以便执行本发明的各方面。
本文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图示和/或框图来描述本发明的各方面。将理解,流程图示和/或框图的每个框以及流程图示和/或框图中的框的组合可以通过计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机的处理器、专用计算机或其他可编程数据处理设备以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的构件。这些计算机可读程序指令也可以存储在计算机可读存储介质中,其可以指导计算机、可编程数据处理装置和/或其他设备以特定方式运转,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现在流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令也可以加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,从而产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现在流程图和/或框图的一个或多个框中指定的功能/动作。
各图中的流程图和框图图示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能性和操作。在这方面,流程图或框图中的每个框可以表示软件程序、代码段或代码部分,其包括用于实现(一个或多个)指定逻辑功能的一个或多个可执行指令。还应当注意,在一些替代实现中,框中提到的功能可以不按图中提到的次序发生。例如,连续示出的两个框实际上可以基本上并发执行,或者所述框有时可以以相反的次序执行,这取决于所涉及的功能性。还将注意到,框图和/或流程图示的每个框以及框图和/或流程图示中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
出于说明的目的,已经呈现了本发明的各种实施例的描述,但是这些描述不意图穷举或限于公开的实施例。在不脱离所述实施例的范围和精神的情况下,许多修改和变型对于本领域普通技术人员来说将是清楚的。选择本文使用的术语是为了最好地解释实施例的原理、实际应用或相对于市场上发现的技术的技术改进,或者使得本领域普通技术人员能够理解本文公开的实施例。
将领会,为了清楚起见,在单独实施例的上下文中描述的本发明的某些特征也可以在单个实施例中组合地提供。相反,为了简洁起见,在单个实施例的上下文中描述的本发明的各种特征也可以单独提供,或者以任何合适的子组合提供,或者提供为适合于本发明的任何其他描述的实施例中。在各种实施例的上下文中描述的某些特征不被认为是那些实施例的基本特征,除非没有那些元件,该实施例不起作用。
尽管已经结合本发明的特定实施例描述了本发明,但是明显的是,许多替代物、修改和变型对于本领域技术人员来说将是清楚的。因此,意图包含落入所附权利要求的精神和宽范围内的所有这样的替代物、修改和变型。
- 用于执行计算机实现的现有技术搜索的系统和方法
- 用于输入和搜索非罗马字母表字符的计算机实现的方法和系统以及相关搜索系统