本申请要求于2008年12月12日提交的、名称为“Determining Relevant Information For Domains Of Interest”的美国临时专利申请No.61/122,282以及于2008年2月25日提交的、名称为“Platforms,Systems and Methods for Data Handling”的美国临时专利申请No.61/067,162的优先权,这两个美国临时专利申请的全部内容均以参考的方式并入于此。
具体实施方式
描述了用于确定和使用与所关注的话题和题目区域(这里还称作所关注的域)有关的相关信息的技术。在至少一些实施例中,这些技术包括:自动分析与一个或多个所关注的有关域有关的文档和其他内容项目,以自动确定与域内的相关主题有关和/或与哪些内容项目具有关于这种主题的内容有关的信息。那么,这种自动确定的针对域的相关信息可以以各种方式使用,这些方式包括:帮助用户指定所关注的主题和/或获得具有与指定主题相关的内容的内容项目。此外,在至少一些实施例中,可以跟踪与信息如何被用户和其他实体使用有关的信息,并将其用作对学习对域内的相关主题和/或相关内容项目(例如通过使用自动化机器学习技术)的改进确定的反馈。此外,在至少一些情形中,这些技术可以与计算机实现的域专用相关性确定(“DSRD”)服务的实施例结合使用,该计算机实现的域专用相关性确定服务自动确定与所关注的域有关的相关性信息并提供这种信息以供其他使用,如以下更详细地描述。
如前所述,在至少一些实施例中,所描述的技术包括:自动分析与所关注的域有关的文档和其他内容项目,以自动确定与与域内的相关主题有关和/或与哪些内容项目具有关于这种主题的内容有关的信息(例如通过产生使特定内容项目与特定词和/或主题相关的索引)。尽管以上各种讨论将内容项目称作“文档”,但应当理解,所描述的技术可以与许多种类型的内容项目一起使用,这些内容项目包括例如文本文档(如网页、字处理文档、幻灯片以及其他演示文稿、电子邮件和其他电子消息等)、图像、视频文件、音频文件、软件代码、固件和其他逻辑、均伴有一个或多个遗传信息序列的遗传密码、其他生物数据等。此外,内容项目可以具有一种或多种文件类型或其他数据结构(例如流传输数据),包括文档片段、或者更大文档的其他段或部分、或者内容项目,并且,这种内容项目的内容可以包括文本和/或多种其他类型的数据(例如,音频信息的二进制编码;视频信息的二进制编码;图像信息的二进制编码;数学等式和数学数据结构、其他类型的字母数字数据结构和/或符号数据结构;加密的数据等等)。在至少一些实施例中,专用于域的多个文档的组由DSRD服务的实施例选择并自动分析。文档的组可以例如是包括特定域的所有可用文档在内或包括足以表示该域的文档在内的文集。此外,要分析的文档可以是从一个或多个源获得的,例如,从包括专用于一个或多个域的广泛信息在内的网站(例如,包括与棒球有关的广泛信息在内的假设“all-baseball-now.com”网站、包括与多种体育有关的各类信息在内的“espn.com”网站、包括与大量域有关的各类信息在内的“Wikipedia.org”维基百科网站、“commons.wikipedia.org”维基百科共享资源媒体收集网站和“wikinews.org”维基新闻来源网站)获得。在一些实施例中,文档中的每一个具有至少部分是已分析的文本信息的内容,而在其他实施例中,至少一些文档或其他内容项目可以包括其他类型的内容(例如,图像、视频信息、音频信息等)。
在至少一些实施例中,对域的文档的自动化分析可以包括:例如通过使用挖掘技术或其他技术,分析文档的内容,以确定与域相关的主题。例如,如果正在分析的文档与棒球域相关,则可确定的主题包括专用于特定球员、特定球队、特定联盟(如职业棒球大联盟、第一级大学棒球等)、特定事件(如特定年度的全明星比赛或世界职业棒球锦标赛、类固醇使用争议等)、特定赛季、特定记录(如累积的本垒打记录)等的主题。在至少一些实施例中,自动化分析包括:对文档进行索引以确定在文档中的每一个中存在什么词,然后分析一些或全部这种词对文档的重要性。例如,在至少一些实施例中,文档中的每个词与该文档的相关度的初始确定是基于该词对文档内容的特殊性来进行的,例如通过使用词频率-反文档频率(“TF-IDF”,term frequency-inverse document frequency)分析来进行的。此外,贯穿文档组使用的一个或多个相关词的组合可以被选择为表示域的主题,例如最相关的词的域的主题,并且,主题的一个或多个相关词与一个或多个文档的所确定的相关度可以用于确定该一个或多个文档与该主题的相关度,如以下更详细地讨论。此外,如本文其他位置更详细地讨论的,在一些实施例中,与文档或其他内容项目相关联且被分析以确定相关主题的词或其他信息可以包括其他类型的信息,包括未被包括在内容项目的内容中的信息,例如与内容项目相关联的元数据和/或与内容项目与之相对应的一个或多个用户相关联的信息。
如上所述,在各个实施例中,文档词分析信息的产生是可以以各种方式来执行的,在一些实施例中,这种产生使用TF-IDF分析。这种TF-IDF分析使用要分析的文档的向量空间表示,其中,每个文档被视为与“词袋”类似,而无需考虑词在该文档中的作用(例如,无需考虑语法、语句结构、段落结构、标点等)。在这种情形中,文档表示可以大部分地或完全地反映词在文档中的词频率(“TF”),这使得能够将文档高效地映射至数学上易懂的高维度向量空间中。此外,当确定词与文档的相关性时,可以考虑和使用特定词相对于域的各种文档的特殊性,例如通过考虑特定词在文集或其他文档组的文档中有多么普遍存在。具体地,在至少一些实施例中,词i在文档d中的词频率和词i在域的文档上的反文档频率(“IDF”)可以如下表达:
那么,词和文档的词频率-反文档频率(“TF-IDF”或“TF.IDF”)分是可以通过将该词和该文档的TF分和该词的IDF分相乘来确定的。这种特定词i和特定词d的TF-IDF(i,d)分(还示作“TF-IDFi,d”或“TF.IDFi,d”)可以用作在描述该文档在文集中的指纹的过程中对该词在向量空间表示中有多么重要的测量,以便例如反映该词与该文档的相关度。这是对在具体文档中频繁出现但在文集这个总体中不常出现的高频词进行分级的度量。以下包括了与分析域的文档以确定与该域相关或在多个域上相关的主题有关的附加细节。
在至少一些实施例中,对域的文档的自动化分析还可以包括:分析文档的内容,以确定哪些文档具有与域的所确定的主题相关的内容。例如,在至少一些实施例中,可以执行对文档的相关性的初始确定,以便例如基于主题内的特定词与特定文档的内容的相关性,确定每个文档与一些或所有主题中的每一个的相关度,如以下更详细地讨论。此外,在一些实施例中,作为文档相关性确定而分析的文档是被分析以确定相关主题的相同文档,而在其他实施例中,一些或全部文档相关性确定文档与主题相关性确定文档不同(例如,如果文档相关性确定文档包括先前主题相关性确定期间不可用的新文档;如果主题相关性确定文档是被选择以用于训练目的的文档的专用子集,例如由于要表示域;等等)。此外,在至少一些实施例和情形中,可以将多个相关文档的组相对于一些或全部主题一起进行分析,例如通过将多个相关文档视为单个文档以用于分析目的,而在其他情形中,可以将特定文档划分为多个部分,该多个部分均被视为相对于一些或全部主题的不同文档以用于分析目的。以下包括了与分析域的文档以确定与所确定的主题有关的附加细节。
在由DSRD服务自动确定了与一个或多个域之内或之上的相关主题有关和/或与具有关于这种主题的内容的特定文档有关的相关性信息之后,在各个实施例中,就可以以各种方式使用这种自动确定的相关性信息,包括:帮助人类用户和其他实体指定所关注的主题和/或或的具有关于所指定的主题的内容的文档。例如,如以下更详细地描述的,与一个或多个域之内或之上的相关主题有关的自动确定的相关性信息可以被DSRD服务或其他关联服务用于帮助DSRD服务以外的人类用户或其他实体(如自动化程序)指定所关注的一个或多个主题,例如用作搜索询问的一部分,以便识别用户的偏好等。在各个实施例中,可以以各种方式使用自动确定的主题信息,例如从用户接收一个或多个词并向用户呈现有关信息(例如,包括所接收的词、与所接收的词有关的其他词等等在内的主题)、向用户呈现自动确定的主题的列表以供浏览或选择等等。类似地,如以下更详细地描述的,与域内的相关文档有关的自动确定的相关性信息可以被DSRD服务或其他关联服务用于帮助人类用户DSRD服务以外的人类用户或其他实体(如自动化程序)获得与所关注的一个或多个主题有关的内容,例如响应于搜索询问,以便向用户推送或提供未显式请求的相关信息(例如,基于先前指定的主题偏好)等。此外,在各个实施例中,可以以各种方式向用户显示与各个词和/或主题的互相关性有关的信息。在于2008年12月12日提交的、名称为“Electronic Profile Development,Storage,Use,and Systems Therefor”的美国专利申请No.12/334,389和于2008年12月12日提交的、名称为“Advertising Selection and Display Based on Electronic Profile Information”的美国专利申请No.12/334,416中可得到与关于所关注的域的所确定的相关信息的可能使用示例有关的附加细节,这两个申请的全部内容以参考的方式并入于此。
此外,在至少一些实施例中,以各种方式来跟踪和使用与用户或其他实体如何使用自动确定的主题和/或文档相关性信息有关的信息。例如,在至少一些实施例中,与自动确定的主题和/或文档信息的使用有关的信息可以被DSRD服务用作与自动确定的主题和/或文档相关性信息有关的反馈。这种反馈可以用于例如修正可用作所确定的词的特定词和词组合的相关性的初始确定,和/或修正特定文档与所确定的主题的相关性的初始确定,并且,该修正后的所确定的相关性信息就可以被DSRD服务或其他关联服务以与初始确定的相关性信息类似的方式使用。在这种方式下,连续或其他重复反馈回路可以用于重复改进由DSRD服务执行的自动相关性确定。如以下更详细地描述的,在一些实施例中,反馈用于学习或修正自动确定的主题和/或文档信息,例如通过使用所配置的神经网络或者其他自适应模型或系统。此外,在至少一些实施例和情形中,可以以各种方式将所配置的神经网络或其他自适应系统自动扩展为使用与变为可用的新文档和/或所确定的新主题有关的信息。
出于示意目的,以下描述了一些示例和实施例,其中,以特定方式分析特定类型的信息,以特定方式使用与特定域有关的所确定的信息。出于示意目的提供了这些示例,并为了简明而简化了这些示例,并且应当理解,可以在许多种其他情形中使用本发明的技术,其中一些情形在以下更详细地描述。例如,尽管以下描述了对特定文本文档的分析,但可以类似地分析和使用其他形式的信息。此外,尽管将特定算法和技术示意为用于确定一个或多个域之内或之上的相关主题、确定与主题相关的特定文档、以及基于使用和其他反馈来学习主题和/或文档的改进相关性,但也可以以其他方式使用其他算法和技术。
图1A和1B示意了使用所描述的技术确定与所关注的域有关的相关信息并向用户或其他实体提供有关信息和功能的自动化域专用相关性确定服务的示例。具体地,图1B示意了DSRD服务105的实施例,以及去往和来自DSRD服务105的示例数据流的高级描述,作为确定和使用相关域专用信息的一部分。在本示例中,DSRD服务105访问并分析与所关注的一个或多个域有关的各个文档160,以确定与域中的每一个有关的相关性信息。本示例中的DSRD服务105所产生的所确定的相关性信息包括与一个或多个域中的每一个之内的相关主题有关的信息170以及与哪些文档具有关于这种主题的内容有关的信息180,尽管在其他实施例中,仅可以确定一种类型的相关性信息。在本示例中,DSRD服务105向各个用户140提供所确定的相关主题信息170中的至少一些和/或所确定的相关文档信息180中的至少一些,以供他们使用。尽管这里未示意,但在其他实施例中,DSRD服务105可以以一种或多种其他方式(例如经由一个或多个中间的其他服务(例如,从DSRD服务105获得相关域专用信息并以各种方式使用它的其他服务))向用户140提供所确定的相关主题信息170和/或所确定的相关文档信息180。此外,在本示例中,DSRD服务105可以获得与用户140对所确定的相关域专用信息170和/或180的使用有关的各种反馈或其他信息190,并可以使用该反馈来改善所确定的相关域专用信息170和/或180。在本文其他位置更详细地描述与DSRD服务105的各个数据流和动作有关的附加细节,包括参照图2A-2L中讨论的示例实施例。
图1A示意了与图1B的DSRD服务105的一个实施例有关的附加示例细节。具体地,在图1A的示例中,由示例DSRD服务105文档访问并分析的文档可以包括可通过网络100访问的域文档160(例如,可从一个或多个网站或其他信息源公开访问)和/或DSRD服务105可专门访问的可选域文档135(例如,由服务105产生或提供的域文档;从第三方源可用但不可公开访问的域文档,例如,如果可用于付费访问或者基于服务105与第三方源之间的所定义的关系;等等)。此外,在确定了一个或多个域的相关性信息之后,DSRD服务105还通过网络100与各个用户140和/或一个或多个可选其他服务150(例如,与用户140进行交互并使用由DSRD服务105提供的信息的其他管理服务)进行交互的。
此外,在本示例中,DSRD服务105包括:多个模块,均提供DSRD服务105的一些功能,包括域分析管理器模块110、相关文档确定管理器模块120和相关主题确定管理器模块130。具体地,域分析管理器模块110执行各种动作以获得并自动分析域相关文档的内容,以便例如使这种所分析的信息可由模块120和130使用。相关文档确定管理器模块120使用所分析的文档信息来确定与特定词或其他主题相关的文档,以便例如产生图1B的域文档相关性信息180(图1A中未示出,但可存储在图1中也未示出的一个或多个存储设备上)。类似地,相关主题确定管理器模块130使用所分析的文档信息来确定与域相关的主题,以便例如产生1B的域主题相关性信息170(图1A中未示出,但可存储在图1中也未示出的一个或多个存储设备上)。在本示意实施例中,模块120和/或130从而可以向用户140或可选其他服务150提供所产生域专用相关性信息,例如经由用户可交互式地使用的所提供的GUI(“图形用户界面”)和/或经由软件程序可借以采用编程方式进行交互的所提供的API(“应用编程接口”)。在其他实施例中,DSRD服务105的一个或多个其他模块(未示出)可以代之以经由由DSRD服务105提供的一个或多个GUI和/或一个或多个API来与用户140和/或可选其他服务150进行交互。
尽管未在图1A和1B中示意,但DSRD服务105可以以各种方式实现,包括利用在一个或多个计算系统(未示出)上执行的一个或多个软件模块,并且,DSRD服务105可以将各种信息存储在一个或多个本地或远程的存储设备(未示出)上。类似地,用户140、其他服务150和域文档160可以使用计算设备或系统(未示出)来执行各种所描述的交互和/或存储各种所描述的信息。此外,尽管在一些实施例中,DSRD服务105和其他服务150可以由非关联实体提供,但在其他实施例中,DSRD服务105以及一个或多个其他服务150可以代之以由单个操作者(例如彼此相结合地)提供。此外,图1A所示的网络100可以具有各种形式,例如,各种不同方可能操作的、所链接的网络(如因特网)的可公开访问的网络。在一些实施例中,网络100可以是专用网络,例如,对无特权用户来说全部或部分不可访问的公司或大学网络。在其他实施例中,网络100可以包括可向和/或从因特网访问的一个或多个专用网络,并且在至少一些实施例中,网络100中的一些或全部还可以包括宽带或广播有线或无线链路(例如,蜂窝电话连接;使用Wi-Fi、Wi-MAX、蓝牙、广播模拟或数字电视、EVDO、卫星或其他无线联网或通信协议的无线计算机连接;等等)。
此外,各个用户140和其他实体可以以各种方式与DSRD服务105进行交互,以发出请求并指定各种信息。例如,用户可以注册或订阅至DSRD服务105和/或可选其他服务150,以便例如提供可在后续请求中使用的各种偏好和其他信息。在这些实施例中,在用户与要注册的DSRD服务105进行交互之后,可以向用户发布与用户相关联且后续在发出其他请求(例如针对指定询问的搜索结果的请求)时使用的一个或多个标识符(例如,密钥、令牌、用户名等)。此外,在一些实施例中,可选其他服务150可以注册至DSRD服务105或与DSRD服务105进行交互,以建立关联关系,以便例如允许其他服务150获得对由DSRD服务105产生的至少一些域专用相关性信息的访问。此外,各种费用可以与DSRD服务的使用相关联,使得DSRD服务可以对至少一些请求作出响应来交换由请求者支付的费用,以便例如向可选其他服务150提供域专用相关性信息来交换来自其他服务150的费用,或者向用户140提供域专用相关性信息来交换来自用户的费用。在其他实施例中,DSRD服务105可以以其他方式获得费用,例如,从域专用文档和其他内容的提供者获得费用以执行与该内容有关的相关性确定、从诸如广告商和零售商(例如,用于向至少一些用户140提供广告或其他所指示的内容)之类的其他第三方获得费用等等。
图2A-2L示意了用于确定与所关注的示例域有关的相关性信息的技术的示例,例如,可以由DSRD服务的实施例自动执行。
例如,图2A和2B示意了与作为所关注的特定示例域的一部分的多个文档有关的概要信息的示例,以及可由与该域又挂内的文档的DSRD服务的实施例产生的示例词分析信息。具体地,如关于示例概要信息200所指示的,所关注的示例域与棒球有关,并且本示例中可用于该域的域专用文档的文集包括1000个文档(例如,新闻文章、球员传记、球队概要等)。
本示例中的信息200包括文集中存在的几支示例词的概要,以及这些词的IDF信息。具体地,示出了多个词202a,均具有唯一词ID 202b、文集中包括该词在内的多个文档的指示202c以及该词和文集文档的对应IDF值202d。还可以产生和存储各种其他概要信息,但在本示例中未示出。此外,示例表200中的每一行204反映了不同词,例如,行204a与公共词“the”相对应,其出现在文集中的1000个文档中的每一个中,并因此具有IDF值0。在本示例中,基于IDF值来对行204进行排序,使得后续词具有增加的IDF值,从而反映其在文集的文档中的出现次数少于先前词,因此相对于其存在于的那些文档更特殊。本文其他位置包括了与计算IDF值有关的附加细节。此外,在一些实施例中,可以将一些公共词或其他所指示的词(例如,词“the”)作为文档词分析的一部分进行移除,因此,这些词可能不在这种概要信息200中示出或可能不用在与相关性有关的信息的后续确定中。此外,本示例中的词202a中的一些是包括多个有关单词在内的词组,例如“home run(本垒打)”和“Hank Aaron”,而有时可一起使用的其他词(例如,“Barry Bonds”和“Bobby Bonds”)被示作单独的词。应当理解,可以以多种方式确定这种多单词的词,例如,基于其一起重复使用和缺少单独使用来自动确定、基于在域的公共词的词典或其他类似信息中包括这种词来自动确定、基于DSRD服务的操作者的输入来至少部分地以手动方式确定等等。在其他实施例中,每个单词至少最初可以被视为单独的词,并可选地,可以基于用户一起重复使用的词中的那些词的互相关性的所学习的相关性,将每个单词后续分组在一起作为公共主题的一部分,如本文其他位置更详细地讨论。
图2A和2B所示的其他示例表210、220、230、240和250均反映了文集中的示例文档,并包括与这些文档中的示例词有关的各种信息以及这些词和这些文档的对应词相关性信息。具体地,词210与示例文档1相对应,在本示例中,示例文档1是关于以下内容的新闻文章:Barry Bonds在效力于旧金山巨人队时于2007年创造了职业生涯本垒打(“HR”)记录,超越了之前由Hank Aaron保持的记录。尽管Bonds赶超了本垒打记录,但在职业棒球大联盟的球员当中正在出现与类固醇争议有关的重大新闻报导,Bonds后来也被指控与涉嫌使用类固醇有关。
表210中的各个条目214均与1500单词的文档1中出现的词212a的示例子集相对应,例如,条目214a中的词“Bonds”、条目214c中的词“Hank Aaron”等。还示意了每个词在文档1中的出现次数212b,并示出了对应的词频率值212c。这里还针对词而复制IDF值212d,IDF值212d与信息200中的相同值202d相对应。此外,每个条目214包括基于词频率值212c和IDF值212d的TF-IDF值212e。例如,将条目214a中的词“Bonds”指示为在文档1中出现35次,这使得在文档的1500个单词当中有2.33%的频率。词“Bonds”的IDF值212d是1.10,与信息200的条目204d的信息202d相对应,并且,在本示例中,条目214a中的Bonds的TF-IDF值212e是2.559。在本示例中,以TF-IDF值的降低值的顺序示意了条目214,指示词“Bonds”是所示的该文档的最具描述性的词,而分别处于条目214i和214j中的其他词(如“the”和“indictment”)不是该文档的描述性词(例如,由于词“the”出现在文集的所有文档中从而具有为0的IDF值,以及由于词“indictment”未出现在该示例文档中从而具有为0的词频率值212c)。本文其他位置包括了与计算TF和TF-IDF值有关的附加细节。
表220、230、240和250分别包括示例文档2、3、4和5的类似信息。具体地,示例文档2是Barry Bonds的总览传记,集中于Bonds的各种成就并包括如各个条目224中所示的对应词222a。示例文档3是与Bonds的对可能的与类固醇有关的滥用的指控相对应的新闻文章,并包括如各个条目234中所示的对应词232a。示例文档4与在Bonds的指控之前发生且发起了职业棒球大联盟中与类固醇有关的一些争议的事件,并具体与前职业棒球大联盟球员Jose Canseco在与职业棒球大联盟中涉嫌类固醇使用有关的议会之前作证相对应,各个条目224中示出了对应词242a。示例文档5是2008职业棒球大联盟赛季中段的新闻文章,并集中于Bonds在2007赛季结束后停止效力的旧金山巨人队的当前状态,各个条目254中示出了对应词252a。如参照图2C-2L更详细地讨论的,这些示例文档的示例词信息将用于示意一些所描述的技术,用来确定该示例的与棒球有关的域的相关主题和特定主题的相关文档。
图2C和2D示意了由用户指定的搜索询问的示例,其中,针对文集的示例文档1-5的图2A和2B所示的示例词分析信息可以被DSRD服务用于确定与询问相关的特定信息。具体地,图2C示意了用户已指定的询问,在本示例中,该询问包括询问词265a“Bonds”和“steroids(类固醇)”。示出了各个信息261a,其指示两个询问词中的每一个与示例文档1-5中的每一个的所评估的相关度,包括针对示例文档262中的每一个而产生的归一化总计文档相关性分或数264x。如以下更详细地描述的,可以针对每个词264和每个文档262产生归一化文档相关性数,在本示例中,对文档的每个词的归一化分求平均,以便基于两个询问词的组合来产生该文档的文档相关性数264x。具体地,在本示例中,词与文档的相关性部分地基于该词和文档的TF-IDF值,并部分地使用该词在文集中的所有文档上的最大和最小TF-IDF值而进行归一化。在本示例中,在信息267a-267d中示出了两个询问词的示例最小和最大TF-IDF值,尽管在至少一些实施例中可能未向指定了该询问的用户示意这种信息267和/或表261a。以下包括与产生示例文档相关性数有关的附加细节。
在本示例中,示例文档3具有询问词的所产生的最高文档相关性值,这是由于与Bonds的关于类固醇的指控有关的文档3的内容与两个询问词265a都高度相关。示例文档1和4均与询问词265a的组合适度相关,这是基于这些示例文档中的每一个与询问词之一高度相关,而仅与另一询问词稍微相关(即,示例文档1与“Bonds”词高度相关,而仅与“steroids”词稍微相关,以及,示例文档4与“steroids”词高度相关,而仅与“Bonds”词稍微相关),如文档1的列262a和文档4的列262d中、信息261a的条目264a和264b中所示。示例文档2和5同其他三个示例文档相比,与询问词265a较不相关。
如前所述,在各个实施例中,可以以各种方式执行对特定文档与一个或多个指定词(如作为搜索询问的一部分的词)(例如作为主题的一部分的多个有关词)的相关性的确定。作为一个具体示例,可以以各种方式来对指定的词和文档中的每一个的TF-IDF分进行组合,以便例如产生平均值或总和。具体地,在至少一些实施例中,产生各种指定词的TF-IDF分的平均值,并且还可以对该平均值进行归一化(例如,以表示相关性百分比或0与1之间的另一个数),以便产生所指定的词的归一化文档相关性(“DR”)分,以便于在文档之间进行比较并且便于人理解DR分。在至少一些实施例中,文档d相对于一个或多个指定的词i的组g的DR分可以确定如下:
其中,对g中的词i中的每一个执行求和,NTerms(g)反映了组g中词i的量,特定词i的最小和最大TF-IDFi分分别反映了该词在域的所有文档k上的最低和最高分。
图2D示意了可响应于图2C中指示的询问词265a“Bonds”和“steroids”而向用户显示或提供的信息260的示例。信息260可以例如是所产生并提供给用户的客户端设备以供显示的网页的一部分,或可以是向用户呈现的信息屏幕的一部分。
具体地,在本示例中,信息260包括所指定的询问词265a的视觉指示266,并且,以所产生的文档相关性的顺序示出了对应的搜索结果的列表269。此外,在本示例中,列表269中的条目中的每一个不仅包括对应相关文档的指示(例如,文档的名称或其他标识符,例如可以被显示为用户可选择的链接,该链接可由用户选择以访问文档),而且包括文档的对应的所产生的归一化文档相关性数的指示,以便例如在评估是否获得与特定文档有关的其他信息或是否将文档选择为与询问词265a相关时,向用户提供信息。本示例中所指示的归一化文档相关性数还均包括对归一化文档相关性数的相关度的文本评估,尽管在其他示例中可以示出归一化文档相关性数和关联文本评估中的仅一个(或都不可以示出)。此外,在各个实施例中,可以以各种方式执行对特定搜索结果的选择和显示,包括示出询问结果的所指定的量、示出高于所指定的最小文档相关性值的一些或所有询问结果等。
此外,在本示例中,提供了附加信息和用户可选择的控件268以便可能由用户选择,尽管在其他示例中可能未示出这种附加信息。在本示例中,附加信息268问用户是否愿意扩大先前指定的搜索询问以进一步描述域的相关主题,以便例如通过指定比询问词265a更好地表示用户兴趣的跟具体或不同的主题,来改进搜索结果的精度。作为一个可能示例,如之前关于均与所指定的询问词之一高度相关但仅与另一指定询问词适度相关的示例文档1和4而讨论的,用户可能能够通过弄清楚用户是主要关注职业棒球大联盟中与类固醇有关的争议(例如,由于其不仅涉及Bonds,还涉及其他球员),还是主要关注与Bonds涉嫌使用类固醇仅稍微相关的与Bonds有关的信息(例如,Bonds创造职业生涯本垒打记录),来改进搜索结果的精度。更一般地,通过识别具体与用户当前所关注的一个或多个主题相关的附加词,所得到的扩大询问词可以更好地消除可与初始询问中的词相关联的各种可能主题的歧义。
对图2D的信息268中的用户可选择的“是”控件的选择可以提示DSRD服务的各种附加动作,其中,一个这样的示例是参照图2E和2F来更详细描述的。具体地,图2E示意了与可关于所指定的询问词265a“Bonds”和“steroids”的其他词274有关的信息270,其中确定了其他词与所指定的询问词265a的所评估的相关度的指示。在其他实施例中,可以以其他方式提示对与主题有关的词相关性信息的使用,例如,在一些或所有情形中,如果针对一些或所有用户自动执行(例如,以便显示具有与一个或多个其他词的可能相关性有关的图2D的信息260的附加信息,不论是替换还是补充信息268)。
可以以各种方式使用图2E中的各个信息270,例如,用作进一步定义特定主题以用在改善的搜索询问中的一部分,该改善的搜索询问部分地基于初始指定的询问词265a。例如,在一些实施例中,可以向指定了询问词265a的用户示意这种信息270中的一些或全部,尽管在所示的实施例中未向用户显示信息270。在本示例中,信息270包括:多个词条目274a-274f,均与同询问词265a的可能组合的候选附加词相对应,并且,文档列272a-272d指示这些词与示例文档1-4的所评估的相关度。列272e指示每个条目274中的候选词相对于询问词265a的总计词相关性分,以便例如反映候选词与由询问词265a表示的可能主题的所评估的相关度。在各个实施例中,可以以各种方式选择各个示例文档272和候选附加词274。例如,可以通过首先选择文集中被确定为与询问词265a最相关(例如基于图2C所示的归一化文档相关性数264x)的文档的子集,来选择候选附加词。可以以各种方式选择最相关的文档,例如选择具有最高文档相关性数的指定量的文档、选择具有最高文档相关性数的指定百分比的文档、选择其文档相关性数高于指定阈值(如预定义阈值,例如最小文档相关性数阈值;或者动态确定的阈值,例如如果对具有类似文档相关性数值的文档进行分组提供了最相关文档的组与其他文档之间的自然出现的阈值点)的一些或所有文档等等。在图2E的本示例中,如图2C中的条目264x的列262e中所指示,基于其低文档相关性数2%,示例文档5已被选择为最相关文档以进一步用在本示例中,但是,其他示例文档1-4已被选择以用作相关文档。
在本示例中,一旦针对询问词265a选择了最相关文档,就部分地基于这些所选的文档,针对询问词265a选择候选附加词。例如,可以基于所选文档中的词而不是对于这些所选文档来说最相关搜索词265a,来选择候选附加词,例如,基于所选文档的这些其他词的TF-IDF值和/或基于所选文档的这些其他词的词频率值。在本示例中,每个词条目274和示例文档272的信息270中所示的数反映了该词和文档的TF-IDF值。例如,关于与词“home run”相对应的条目274a,将示例文档1的该词的词相关性值272a指示为TF-IDF至1.333(如之前在图2A的信息210的条目214b和列212e中所指示),并将示例文档2的条目274a中的词“home run”的词相关性值272b指示为TF-IDF值1.125(如之前在图2A的信息220的行224b和列222e中所指示)。
此外,在本示例中,然后在所选的文档上对词274中的每一个的词相关性值进行合计,例如通过对这些单独的TF-IDF文档专用值求平均,其中,在列272e中反映了每个候选附加词274的所得到的、所确定的总计词相关性分或数。在本示例中,以询问词265a的所确定的总计相关性值的减小顺序示出了候选词274,使得条目274a中的候选词“home run”被确定为所指定的询问词的最相关候选附加词,并且使得条目274f中的候选附加词“Canseco”被确定为所示的所指定的询问词的最不相关候选附加词。。可以以各种方式来识别基于所选文档的组而选择以考虑的特定候选附加词,例如通过使用每个文档中或被确定为潜在地最相关的所有文档(例如,通过使用TF-IDF值、词频率值或其他单独文档词相关性值)中其他词的指定量、通过使用每个文档中或所有文档中潜在地最相关的其他词的指定百分比、通过使用至少一个所选文档或所有所选文档或最相关文档的一些指定的最小子集的、其TF-IDF值(或其他单独文档词相关性值)高于指定阈值(如预定义阈值,例如最小词相关性数阈值;或者动态确定的阈值,例如如果对具有类似词相关性数值的词进行分组提供了最相关词的组与其他词之间的自然出现的阈值点)的一些或所有其他词等等。在其他实施例中,可以以其他方式选择候选附加词和/或相关文档,并且可以以其他方式确定单独词相关性值和/或总计词相关性值。本文其他位置包括了与产生示例词相关性分或其他值有关的附加细节。
图2F继续图2A-2E的示例,并示意了可向用户显示或提供的信息275的示例,该信息275包括与要选择并与先前指示的询问词265a一起使用的其他可能词有关的信息,该其他可能词在图2D中以视觉指示266示出并在图2F中以视觉指示276示出。如前所述,可以以各种方式提示对信息275的提供,例如,响应于对图2D中的信息260的信息268中的“是”用户可选择空间的选择或者以其他方式。此外,以与图2D的信息260类似的方式,可以以各种方式向用户提供所示的信息275,例如,作为所产生并提供给用户的客户端设备以供显示的网页的一部分,或者作为向用户呈现的信息屏幕的一部分(例如,作为在用户的计算设备上执行的软件应用的GUI的一部分,例如由DSRD服务的操作者提供的软件应用以与DSRD服务一起使用,或由第三方提供的软件应用)。
本示例中的信息屏幕275包括所指定的询问词265a的其他可能有关词的列表279,例如在本示例中,其是基于图3E的候选附加词274中的至少一些来产生的。具体地,示例的有关其他词279包括多个条目279a-279e,并且是基于图2E的总计相关性分272e来以减小的所确定的词相关性示出的。此外,在本示例中,示出了所包括的其他可能词中的每一个的词相关性的指示,尽管在其他实施例中可能不包括这种词相关性信息或者可以以其他方式示出这种词相关性信息,在本示例中,已经将从图2e的列272e确定的词相关性分转换为从0至10的刻度,其中,被确定为最相关的其他可能词具有可能值10,被确定为最不相关的其他可能词具有较低值。尽管这里未示意,但其他可能词中的每一个可以是用户可选择的链接,或可以具有一个或多个关联的用户可选择控件,以允许用户将该词选择或指定为所关注的,以便例如进行指定以包括该所选词作为修正后的询问的一部分。在其他实施例中,可以以其他方式显示词相关性信息,例如指示从图2E实际确定的词相关性分272e、显示这种词相关性分的归一化版本(以与先前参照针对文档相关性分的图2D描述的方式类似的方式)等等。此外,尽管图2F中未以与图2D类似的方式示出词相关性值的文本描述,但在其他实施例中可以示出这种词相关性值。
图2G和2H继续图2A-2F的示例,并具体与用户可指定的两个备选主题相对应,例如通过选择如图2F所示的附加有关词,或以另一种方式。具体地,图2G与以下示例相对应:用户已选择其他附加词“home run”和“Hank Aaron”以与在先词“Bonds”和“steroids”一起使用,作为扩大的询问词265b的组的一部分,例如基于对图2F中的列表279的条目279a和279c的选择。图2G还包括:附加信息261b,以与先前关于图2C的信息261a讨论的方式类似的方式,指示各个示例文档1-5与扩大的询问词265b的相关性。可以以各种方式使用图2G中的各个信息261b,以便例如确定包括文集中与扩大的询问词265b最相关的文档在内的新搜索结果,其可以向用户显示或提供(例如,以与图2D的方式类似的方式)。此外,在一些实施例中,可以向指定了扩大的询问词265b的用户示意一些或所有这样的信息261b,尽管在所示的实施例中不向用户显示信息261b。
在本示例中,信息261b包括与图2C的信息261a相关的附加条目264c和264d,其已经被添加以与两个附加询问词相对应。相应地,已经关于图2C的条目264x的先前文档相关性数更新条目264y中得到的总计归一化文档相关性数,以反映两个附加词的添加。在本示例中,条目264y中的总计归一化文档相关性信息继续基于四个扩大的询问词265b中的每一个的单独词相关性数的平均值,尽管在其他实施例中,可以以其他方式(例如,使用加权的平均值)计算总计归一化文档相关性分。在本示例中,两个附加搜索词的添加已减小示例文档3的所确定的相关性,示例文档3先前被确定为图2C中初始询问词265a的最相关文档。具体地,如信息261b的列262c和条目264y中所示,文档3的修正后的文档相关性分已经从先前值84%减小至当前值47%。此外,如信息261b的列262a和262b中所示,示例文档1和2的相对相关性已相对于图2C中的信息增大,使得文档1被确定为扩大的询问词265b的最相关文档,文档2被确定为扩大的询问词265b的第二相关的文档
在本示例中,基于示例文档的一般话题以及使用扩大的询问词265b指定的主题,可以直观地理解文档相关性数的改变。具体地,相对于图2C的两个初始询问词265a,图2G的扩大的询问词265b显得与职业棒球大联盟中的一般与类固醇有关的争议不那么相关,而与专用于Barry Bonds及其本垒打记录成就更加相关。相应地,现在,与Bonds创造本垒打记录有关的示例文档1新闻文章已经变为与扩大的询问最相关的文档,更一般地,与类固醇争议有关的示例文档4已经变得不相关得多。示例文档2和3继续与扩大的询问词265b至少适度相关,这是由于与Bonds有关的示例文档2传记和与Bonds的指控有关的示例文档3都包括对本垒打记录的讨论,并且示例文档2提到了前记录保持着Hank Aaron。
图2H示意了图2G的备选,其中,以不同的方式扩大了图2C的初始询问词265c,以便指定包括附加询问词“indictment(指控)”和“Canseco”以及在先词“Bonds”和“steroids”在内的扩大的询问词265c的组。这种扩大的询问词265c可以例如反映用户所关注的主题,该主题相对于图2G的扩大的询问265b,与Bond涉嫌类固醇使用和职业棒球大联盟中的一般与类固醇有关的争议更加相关,而与同Bonds涉嫌类固醇使用无关、与Bonds有关的特定信息较不相关。相应地,图2H的信息261c分别与图2C和2G的信息261a和261b类似,但包括与两个新询问词相对应的附加条目264g和264h,新条目264z反映了基于新的扩大的询问词265c产生的修正后的文档相关性数。如直观期望的,分别与Bonds的关于类固醇的指控和Canseco的关于类固醇的作证有关的示例文档3和4是示例文档当中最相关的文档,而不专用于类固醇争议的示例文档1和2的相关性已经显著下降。
在至少一些实施例中,以与图2G的方式类似的方式,可能不向用户显示所示的信息261c,但可以向用户显示与图2D的信息类似的其他信息,以基于新询问词265c来示意相关文档的修正后的列表。此外,在至少一些实施例中,可以以其他方式使用由用户通过选择如图2G和2H所示的附加询问词而提供的反馈,包括作为相对于图2C的初始询问词265a对特定文档和/或特定词的所确定的相关性进行修改的反馈。
此外,在先前讨论的示例中,已经以相对简单的方式指定了示例询问词265a-265c,其中,在没有任何所指示的逻辑组合运算(例如AND、OR等)或相对加权或使用的其他指示的情况下列出了词。在其他实施例中,可以针对这种搜索询问指定其他类型的信息,并可以以各种方式使用其他类型的信息。例如,在一些其他实施例中,用户可能能够不仅指示所关注的询问词,而且还可能能够指示针对特定询问或主题而关注的询问词,还可能被允许以各种其他方式修改初始询问。例如,以与参照图2E和2F示意的方式类似的方式,可以确定信息以基于初始询问词265a来反映最不相关的其他词,并且,可以类似地向用户显示这种最不相关词信息,以允许选择要从扩大的询问中排除的词。在这种情形中,可以以各种方式将所关注的词与被指示为要被排除或不关注的词进行组合。例如,关于图2C和2D的示例,可以将询问词“Bonds”和“steroids”指示为所关注的,但可以指定具有被指示为要被排除的词“Canseco”的扩大的询问词。如图2H的信息261c的条目264h中所示,词“Canseco”仅与示例文档1-5中的文档4相关,并在本示例中具体具有文档4的文档相关性数0.97。可以以各种方式将这种信息图2C的信息261a进行组合,以基于扩大的询问词,将所排除的词“Canseco”与每个文档的相关性视为文档的总体文档相关性数减小,例如通过将所排除的词与文档的词相关性值视为所包括的词的词相关性值的相反数(以及将归一化文档相关性数的可能值的范围扩大为从-1至1)。如果这样,那么在本示例中,通过取“Bonds”和“steroids”的单独词相关性数0.04和0.97的平均值以及“Canseco”的负词相关性数-0.97,可以针对文档4产生修正后的文档相关性数0.01。应当理解,在其他实施例中,可以以其他方式将与所排除的词和不关注的其他词有关的相关性信息同所关注的词的相关性信息一起使用并进行组合。
此外,以与图2D的方式类似的方式,在一些实施例中,用户可以被允许指定用户认为与询问词265a特别相关的一个或多个文档,以便例如用在确定与询问词265a相关的其他词和/或与所指定的文档相关的其他文档(例如,请求与所指定的文档类似的文档)中。备选地,不以图2F所示的方式列出特定的其他可能词,而是可以向用户显示一个或多个先前定义的主题,以便可能在识别其他相关文档时选择和使用。可以以各种方式指定这种其他所定义的主题,包括文本标签(例如“Bonds的职业生涯本垒打记录”)和/或使用作为该所定义的主题的一部分的特定词(例如“Bonds,steroids,home run,Hank Aaron”)。如果特别定义的主题是基于其与初始询问词265a的相关性来选择的,则所定义的主题中的至少一些可以不基于初始指定的询问词265a中的至少一个,以便例如基于诸如“Bonds,home run,Hank Aaron”之类的但没有“steroids”的词以及与询问265c的主题类似的另一所定义的主题来指示所定义的主题。类似地,在用户选择附加询问词以用作扩大的询问的一部分的情形中,用户还可以移除在先询问词中的一个或多个(如果这样期望的话),以便例如移除图2G的示例中的词“steroids”或指示应当如前所讨论的那样排除这种词。在其他实施例中,可以以多种其他方式类似地使用所确定的词相关性和文档相关性信息。
作为另一示意性示例,还可以在错误拼写初始指定的询问词的情形中或者以非标准或非典型的方式(例如,基于单数或复数形式、基于动词处于特定时态、基于不同语言等等),适用于上述用于搜索词扩大的技术类似的技术。因此,例如,如果图2F的询问词276是“bonds”和“staroids”(例如,这是基于用户输入这些词但将“steroids”错误拼写为“staroids”并且未使“Bonds”首字母大写,从而引入不确定性),则可以将其他候选词279扩大或修改为包括与在用户指定的词中引发不确定性有关的附加词。关于“staroids”,例如,最相关附加词之一可以是词“steroids”,用以例如替换或补充“staroids”。在一些实施例中,可以仅基于在词典中对未被辨认的单词“staroids”的查找来识别附加词“steroids”(例如,可选地,连同其他所建议的替换词,例如“asteroids”、“toroids”等),尽管在其他实施例中可以使用先前讨论的词间相关性技术,基于词“staroids”与“steroids”之间先前识别的关系(例如,如果“staroids”是用户对“steroids”共同的错误拼写)和/或基于词“bonds”与“steroids”之间先前识别的关系,将“steroids”识别为替换或补充词的可能或很可能的候选。以类似的方式,在努力消除词“bonds”的歧义时,附加词可以包括诸如“Barry Bonds”、“stocks”、“interest rates”、“Bobby Bnods”等选择,例如基于词“bonds”与其他附加词之间先前识别的关系。
如前所述,在一些实施例中,可以至少部分地基于使用与词频率有关的TF-IDF值或其他信息,对特定词与特定文档和/或其他特定词的相关性进行初始确定。在其他实施例中,可以以其他方式对这种相关性信息进行确定。作为一个示例,特定词与一个或多个文档的相关性可以被表示为概率分布或其他分布,并且,可以将两个或更多个这种词的各个分布进行比较,以确定这些分布有多么类似,作为各个词有多么相关的度量。类似地,特定文档均可以被表示为多个词的分布,并且类似地,可以将两个或更多个这种文档的各个分布进行比较,以确定这些文档有多么类似。因此,例如,具有一个或多个词和文档的搜索询问可以被表示为所期望和所包含的文档词的一对概率分布,其中,针对文集中的一些或所有文档执行对这种概率分布的比较,从而可以确定具有与该询问最相关的统计信息的文档。作为在两个分布之间执行这种比较的一个示例,才可以计算Kullback-Leibler发散统计度量,以提供两个这种分布之间的相似性的凸度量,而在其他实施例中,可以使用统计信息熵的差来对两个这种分布进行比较。以下包括了与执行这种比较的示例有关的附加细节,并且,应当理解,在其他实施例中,可以以其他方式执行这种比较。
具体地,在一些实施例中,可以利用两个与文档有关或与词有关的分布之间的Kullback-Leibler发散来确定这两个分布之间的相似性。两个分布P和Q的Kullback-Leibler发散可以表达如下,
其中,Pi和Qi是离散概率分布P和Q的值(例如,用于文档P的与文档有关的分布,每个Pi可以表示文档中与词i相匹配的单词的百分比,可以表示特定词i与文档P的相关度,可以表示词i是文档P中的最相关词的概率等等)。其他实施例可以使用其他统计度量来对两个分布进行比较,例如,两个统计信息熵度量之差,不论是替换还是补充例如来自Kullback-Leibler发散的相似性度量。概率分布的统计熵是对概率分布的差异性的度量。概率分布P的统计熵可以表达如下,
其中,Pi是离散概率分布P的值。那么,可以通过计算熵差度量来测量两个统计熵度量之差。两个概率分布P和Q之间的熵差度量可以表达为随机变量之间的互信息,如下,
其中,p(p)和p(q)分别表示P和Q的边缘分布,p(p,q)表示P和Q的联合分布。备选地,两个概率分布P和Q之间的熵差度量可以表达为
EM=‖H(P)-H(Q)‖2
其中,H(P)和H(Q)分别是概率分布P和Q的熵,如上所述。
此外,如前所讨论的图2A-2H示意了确定特定示例文档组的与文档有关的相关信息和与主题有关的相关信息并以各种方式使用该相关信息的示例。如本文其他位置所讨论的,在一些实施例中,所确定的与相关性有关的信息中的至少一些可以以各种特定方式表示,并可以被更新以反映用户反馈和其他改变。图2I-2L示意了以各种方式表示和修正所确定的文档相关性信息和与词有关的相关性信息的具体示例,具体地,在这些示例中,通过产生和更新表示所确定的与相关性有关的信息的神经网络来进行表示和修正。
具体地,图2I示意了表示特定文档与特定词的相关性的示例神经网络295a。在本示例中,神经网络295a包括:各个输入节点280,与针对文档的文集而识别的词相对应;各个输出节点290,表示文集中的文档;以及一个或多个层的内部节点285,表示为了基于特定输入词280产生特定输出文档290的文档相关性数而执行的计算。尽管为了简明而在图2I中仅示意了单个组的内部节点285,但应当理解,一些这样的神经网络可以具有附加内部节点。此外,节点之间的链路表示这些节点之间的关系,并可以包括如下所讨论的关联权重。
如之前参照图2C讨论的,指定了包括两个询问词265a在内的搜索询问,这两个搜索词265a是“Bonds”和“steroids”。图2I中的节点280a和280c表示所产生的神经网络中的这些词,并为了辨认以粗体示意。此外,在图2C的示例中,针对文集中包括示例文档1-4在内的各个文档确定了归一化文档相关性数264x,在本示例中,这些示例文档1-4具有对应的节点291-294。此外,在本示例中,示意了信息297,以示出基于本示例的两个询问词265a的、这些示例文档1-4的归一化文档相关性数,简写为“AC”,以反映与这些词的节点280a和280c相对应的关联内部节点285a和285c。因此,例如,基于询问词265a的、文档1的所示归一化文档相关性值297a是值0.48,如之前在图2C的条目264x的列262a中所示。针对示例文档2-4示意了类似信息297b-297d。
在本示例中,将在所产生的神经网络中对输出文档290的文档相关性数的计算分为两部分,这两部分对应于输入词280与内部节点285之间的链路282以及内部节点285与输出文档290之间的链路287。此外,示意了信息287a和287b,以反映与所示的各个链路287有关的信息,包括:通过基于初始确定的文档相关性信息来指示与每个链路相关联的初始权重。例如,内部节点A 285a与对应于示例文档1的输出节点291之间的链路(在信息287a中简写为链路“A-D1”),该链路被初始给定了权重0.000518或5.18×10-4,如信息287b中所示。类似地,关于内部节点C 285c与输出节点291之间的链路(在信息287a中简写为链路“C-D1”),该链路被初始给定了信息287b中的权重0.000053。此外,输入节点280a和280c与内部节点285a和285c之间分别的链路282可以用于基于图2C中所述的示例词相关性信息,分别确定值1,641和2,075,如以下更详细地描述。因此,可以基于这两个链路A-D1和C-D1以及内部节点285a和285c,以及基于输入节点280a与内部节点285a之间和输入节点280c与内部节点285c之间的链路282,从神经网络确定基于询问词280a和280c的、示例文档1的归一化文档相关性值297a(例如,通过计算1641*0.00018=0.85作为词“Bonds”的文档相关性数,通过计算2075*0.000053=0.11作为词“steroids”的文档相关性数,其中其平均值是0.48,如图2C的信息261a中所示)。与产生这种神经网络的一个示例实施例有关的附加细节如下,包括参照以下等式1-5。
具体地,一旦已确定特定词与特定文档的相关性(例如,如这些文档和这些词的组合的DR分中所反映),就可以以各种方式表示该信息,包括使用可基于用户反馈更新的神经网络以及以其他方式。类似地,一旦已确定特定词与一个或多个词的其他组的相关性(例如,部分地基于这些词中的一些或全部的相关文档),就还可以以各种方式表示和更新该信息,包括使用可基于用户反馈更新的类似神经网络以及以其他方式。然后,可以对这种神经网络的权重和/或其他方面(例如特定链路)进行修改,以反映随时间获得的反馈和其他附加信息,以便例如改进由神经网络随时间提供的相关性信息,从而反映从可获得的反馈和其他附加信息的自动化学习。以下示意了产生这种神经网络并更新这种神经网络中的权重的一个特定示例,其他实施例可以使用其他有关技术。
如前所述,在至少一些实施例中,文档d相对于一个或多个指定词i的组g的DR分(以下也称作“HDR分”)可以确定如下。
等式1
类似地,该DR公式可以用于表示具有与特定文档j相对应的一个或多个词i的组g的询问中的各个这种词i的TF.IDF值的神经网络权重集合,表示线性组合外加偏置,如下。
等式2
其中
以及
这种基于所计算的DR分的神经网络权重可以用于将所产生的神经网络初始化为与所计算的DR分相对应。
此外,使用TF.IDF的定义,其中,xij是词i在文档j中的词频率,TF.IDF值可以表示如下:
等式3
其中σ(x)是Heaviside函数(如果其自变量x为负,则其值为0,而如果其自变量x为零或为正,则其值为1),N是文集中文档的数目。
因此,将结果代入HDR(j)如下:
等式4
对于具有一个或多个词t的组g的询问,文档中的词频率可以被视为那些词投影至每个文档中的权重,那么,对于给定的询问,权重Uij=βij*xij和系数αi的集合可以被定义为使得一般可以将相关性神经网络表达如下,
等式5
并以权重将其初始化为使得其实现TF.IDF询问相关性分,其中
以及
这种权重U一般对应于内部节点285与输出文档节点290之间的链路287的图2I中的权重287b。
此外,如前所述,可以更新这种所产生的神经网络,以反映反馈以及用于指示域的附加的与相关性有关的信息的其他信息。例如,可以对训练示例集合{t,h}使用二次误差函数如下:
那么,可以导出用于通过随机梯度下降对网络权重进行更新的反向传播规则。相应地,可以计算E相对于模型权重的导数如下:
在各个实施例中,可以以各种方式开发训练情况,包括通过使用用户对给定文档的选择来将目标值hi设置为等于当前最相关文档的值或者比当前最相关文档的值大出一些百分比。
当扩大所产生的神经网络以反映词之间的相互关系时(例如可以有助于在多个重叠的或有关的主题之间消除歧义),在各个实施例中,而可以以各种方式执行学习。图2K的示例神经网络295c示意了这种扩大的神经网络,其中,示意了基于新词的输出节点283,新链路296处于基于文档的节点290与基于新词的输出节点283之间。例如,在这种情形中,可以选择将词频率权重V保持为固定,或者经由反向传播来适配权重U和V。如前所述,权重U一般对应于内部节点285与文档节点290之间的链路287,图2I中示意了示例权重287b,并且,权重V一般对应于文档节点290与基于词的输出节点283之间的链路296,图2K中示意了示例权重296b。
在这种情形中,针对基于文档的节点290与基于新词的输出节点283之间的链路,使用另一个前向反馈步骤,以用于消除d的歧义,如下:
在权重V为固定的情形中,可以对权重V进行反转并将其应用于新d,以获得适当的反馈值h。备选地,可以利用更新的误差函数E(d)来修改权重U和V以及αl和γl,如下:
那么,梯度下降学习规则具有如下形式:
此外,在至少一些实施例中,可以通过实现“权重衰减”正则化来约束所学习的参数的范围。由此,这导致将二次项添加至U、V、αl和γl中的E和E(d)。因此,不同权重的导数导致权重中的E和E(d)的梯度中的线性项使梯度下降得以实现,并导致基于与目标值h或d之差、在不存在误差信号的情况下权重中的指数衰减。因此对于w(任何网络权重U、V、αl和γl),附加项
可以被添加至梯度,其中ε是参数。
尽管参照产生和更新这种神经网络的实施例描述了具体细节,但应当理解,在其他实施例中,可以以其他方式产生和/或更新其他神经网络。
返回至之前参照图2A-2I描述的示例,图2J继续这些示例,具体示意了基于与使用文集的所确定的相关性信息有关的反馈、针对图2I的神经网络295a随时间可能发生的改变。具体地,图2J中示意了修改后的神经网络295b,其中,对询问词280a和280c的、示例文档1的归一化文档相关性值进行了修改。这种改变可以基于例如用户对示例文档1的重复选择以在指定了询问词280a和280c之后检查或使用,以便例如反映以下内容:隐式用户反馈,其内容为示例文档1是对应于这些指定词的最相关文档;或者来自用户的显式反馈,指示示例文档1的这种相关性。相应地,在本示例中,对示例文档1的文档相关性数297a进行了修改,使得文档1是基于用户反馈的所有示例文档中最相关的,例如在本示例中通过将归一化文档相关性数修改为等于另一最相关文档或以指定的余量(例如,本示例中是0.01)高于另一最相关文档。此外,为了反映更高的归一化文档相关性数297a,对链路A-D1和C-D1的值进行了修改,如修改后的信息287c中所示。在本示例中,为了方便,以粗体示出了修改后的链路权重和文档相关性数297a,以及链路A-D1和C-D1的视觉表示。应当理解,可以以各种方式在链路A-D1和C-D1之间分发对链路A-D1和C-D1的权重的修改以反映增加后的文档相关性值297a,例如均等地或成比例地增加链路权重以与增加后的文档相关性数相对应。备选地,在其他实施例中,该学习可以使特定链路权重得以更新,并且可以产生更新后的文档相关性数以与那些更新后的链路权重相对应。
此外,尽管图2J中未示意,但在一些实施例中,对示例文档1的文档相关性分的修改和/或对链路A-D1和C-D1的链路权重的修改还可以导致对其他所产生的文档相关性数和/或链路权重的修改。例如,当针对指定词280a和280c增大示例文档1的相关性时,可以关于这些指定词280a和280c降低其他示例文档2-4的相关性,以反映较低的相对相关性值。如果是这样,则可以以各种方式(例如成比例地)降低所确定的文档相关性数297b-297d,并且可以降低内部节点285a和285c与这些其他示例文档2-4之间的链路的对应链路权重。为了方便,以斜体示出了本示例中可降低的这种其他信息,尽管在图2J中为调整示例值。此外,应当理解,在一些情形中,可以将特定词确定为与特定示例文档没有相关性,例如关于如输入节点280e和示例文档1中表示的词“indictment”,如图2A中的该词和文档的行214j中的值212e中所反映。如果是这样,则内部节点285e与对应于示例文档1的节点291之间的链路可能不存在,或者可能存在但权重值为0。在本示例中,使用虚线示出具有0值权重和可能不存在的链路287。然而,应当理解,可以将诸如E-D1之类的特定链路初始确定为具有0权重并与诸如示例文档1之类的特定文档没有相关性,但是,对域的所确定的相关性信息的随时间学习和其他修改可以指示在该词与该文档之间不存在一些相关性,并且如果是这样,则可以对修改后的神经网络中的对应链路和关联权重进行修改,以反映该修改后的所确定的相关性。
此外,尽管这里未示意,但在一些实施例中,在创建了诸如图2I和2J的295a和295b之类的神经网络之后,可以以各种方式对其进行修改。例如,如果文集的附加文档变为在产生和/或更新了文集的神经网络之后可用,则在一些实施例中,可以以各种方式将附加文档并入现有神经网络中,而无需重新产生整个神经网络。作为一个示例,可以针对这种新的文档创建新的输出节点290,并可以在内部节点285与输出文档节点290之间产生新链路287。此外,可以以各种方式确定要分配给新链路287的权重,例如通过基于现有词与新文档的初始确定的相关性值对这些权重进行初始化、通过对已经处于神经网络中的对应链路权重取平均值或者基于现有链路权重中的一些或全部产生新链路权重、通过确定最相似的其他现有文档(例如,通过如前所讨论的那样使用Kullback-Leibler发散统计度量对文档相似性进行评估或者以其他方式)并基于最相似的其他现有文档对链路权重和/或新文档的文档相关性值进行初始化(例如,对最相似的其他现有文档的对应值取平均值)等等。
图2K示意了与图2I的神经网络295a类似的示例神经网络295c,但反映了文集的附加的所确定的与主题有关的相关性信息。具体地,在本示例中,神经网络295c包括与词相对应的类似输入节点280、与文档基于输入词而确定的归一化相关性数相对应的内部节点285和文档节点290,但还包括与文集的词相对应的附加输出节点283以及与文档有关的节点290同与新词有关的输出节点283之间的附加链路296。如本文其他位置更详细地讨论的,在一些实施例中,对一个或多个第一词与一个或多个其他词之间的相关性的确定可以至少部分地基于被确定为与第一词相关的文档,以便例如使用这些文档来识别可能的其他相关词。在本示例中,示出了附加信息296a和296b,以便以之前与参照图2I描述的方式类似的方式反映链路296的权重。
该示例神经网络295c的初始状态与图2E的示例相对应,其中,其他词的相关性是基于示例初始询问词265a来确定的。因此,例如,图2K中显示的信息298包括特定其他输出词283基于输入词280a和280c而确定的相关性的指示(为了方便而以粗体示出),例如与图2E的条目274c的信息272e相对应的词“Hank Aaron”的输出词283b的词相关性数298b。类似地,词相关性数298d和298e指示输出词“home run”283d和“indictment”283e基于输入词280a和280c而确定的词相关性数。
以与图2J的方式类似的方式,图2L示意了修改后的神经网络295d,其示出了同特定输出词与特定输入词的相关性的所学习的改变相对应的、图2K的神经网络295c的改变。在本示例中,当前所关注的输入词继续是与输入节点280a和280c相对应的询问词265a,并且,对输出词“Hank Aaron”283b和“home run”283d的所确定的相关性进行了修改,以反映这些输出词相对于这些输入词的相关性的所学习的增加。例如,如图2G所示,多个用户可能已经选择附加词“Hank Aaron”和“home run”,以用在具有词“Bonds”和“steroids”的扩大的询问中,如之前参照图2G的示例所讨论。在本示例中,分别针对输出节点283b和283d选择了修正后的词相关性数298b和298d,在本示例中,这与这些输出词基于这两个输入词的相关性数的50%增加相对应。此外,相应地修改了对应的链路权重,在本示例中,这与从被确定为与输入词280a和280c最相关的文档的子集(在本示例中,其包括如图2C和2D中描述的示例文档1-4)中的每一个至受影响的输出词节点283b和283d的链路相对应。为了方便,以粗体示出了本示例中已修改的词相关性数298和链路296。
此外,在一些实施例中,类似地,可以对与链路287终端一些相关联的权重进行修改,以替换或补充对链路296的修改,以便例如增加内部节点285a和285c与示例文档1-4中的一个或多个之间的链路的权重,从而适应输出词283b和283d与输入词280a和280c的增加的相关性中的一些或全部。此外,应当注意,链路D3-B和D4-B的权重已经从具有图2K中的0值增加至具有本示例中的较小关联权重,尽管在其他实施例中可以不增加这种0值权重。
应当理解,针对示例神经网络295a-295d而示意的各个权重、相关性数和其他信息是为了示意而提供的,并可以具有其他形式,并且在其他实施例中,可以以其他方式修改它们。此外,图2A-2L的示例中所示的信息是仅处于示意性目的而提供的,并且应当理解,在其他实施例中,可以以其他方式执行所描述的各种活动。此外,以抽象的方式示出了各种其他细节,或者并未为了理解而示意各种其他细节。此外,在各个实施例中,各种其他类型的功能可以由DSRD服务提供和使用,如本文其他位置更详细地讨论。还应当理解,尽管示意了少量的词、文档和神经网络节点,但在实际实施例中,实际量可以大得多,例如包括几十万个词和几百万个文档,以及对应数目的神经网络节点。
尽管图2A-2L的示例基于对在文本文档和其他内容项目中出现的词进行分析,但应当理解,可以以其他方式并与其他类型的内容一起使用所描述的技术。具体地,可以对具有其他类型的内容的内容项目的文集进行分析,以识别任何其他类型的可辨认特征或特性或者作为这些内容项目的内容的一部分或与这些内容项目相关联的其他属性,并且,可以以与针对文本词而讨论的方式类似的方式确定特定属性与内容和/或与其他这种属性的相关性。这种内容项目属性的非排他列表包括以下各项:内容项目的类型(例如,音频流或文件、视频流或文件、图像等);内容项目的源;图像或视频内容中的特定对象;流或文件内容项目中的信息的特定模式;与内容项目相关联的元数据的特定类型;等等。这种属性均可以被视为词,以便例如提供与所指定的属性相关的搜索结果和/或定义一个或多个相关属性的主题或其他组。
此外,尽管图2I-2L的示例使用神经网络和反向传输学习来随时间改进所确定的相关性信息,但在其他实施例中,可以使用其他类型的机器学习技术或自适应系统。作为一个示例,在一些其他实施例中,可以使用与图2I-2L的示例中讨论的神经系统具有类似结构的盖然贝叶斯神经网络,来表示初始确定的相关性信息,但是其中,节点值表示基于网络中先前链接的节点的对应输入值的条件概率,盖然信任传播用于确定特定相关性值,学习涉及随时间更新与反馈相对应的条件概率值。
此外,尽管先前关于用户指定询问词或偏好信息来讨论示例,但在各个实施例中,可以以各种方式使用其他类型的信息。例如,可以自动分析和使用专用于用户的信息的组,以确定该用户的偏好信息,然后,该偏好信息可以用于自动确定与该偏好信息相关的其他内容。这种可分析的用户换用信息的非排他示例包括电子邮件和其他通信的组(例如,用户在指定时间段内已发送和/或接收的所有电子邮件)、各种类型的用户动作的日志或历史(例如,素质性的搜索和/或与所得到的搜索结果的交互的历史)、与用户的社交网络和其他关系有关的信息等。备选地,在一些实施例中,用户专用信息的一个或多个这种组可以被视为该用户(和/或其他人)可能所关注文档的文集,例如,基于对这种用户专用信息的分析来自动确定用户所关注的主题,和/或允许检索与用户的当前关注相关的这种用户专用信息的特定段。
例如,用户可能正在访问文档,并且该文档的信息的上下文可以用于识别其他相关内容项目(例如,从该用户的计算系统、从因特网或其他外部网络或数据存储单元等)。作为一个具体的示意性示例,用户John Doe可能正在编辑他/她的简历,并可能期望从用户的电子邮件存储单元和网络获得相关工作历史数据或其他有关数据。电子邮件存储单元可以例如具有与公司1和公司2的用户所做的过去工作有关的电子邮件,其中,这些电子邮件的头部包括各个公司名称。用户的数据存储单元(不论是本地的还是远程的)还可以包含用户的一个或多个过去简历或简历示例,并且与工作有关的社交联网站点可以具有用户的过去雇用的历史。在这种情形中,特定用户将简历打开的上下文可以用于自动扩大或补充用户指定的具有询问词“Doe”的搜索,以便例如添加来自简历的附加询问词“John”、“公司1”、“公司2”“resume(简历)”职称或描述信息、来自简历或来自其他所存储的简档的用户地理位置信息或者用户的偏好信息等中的一个或多个。然后,扩大的搜索可以识别各种类型的相关文档或其他信息,例如与公司1和公司2的用户所做的过去工作有关的电子邮件、与公司1和公司2有关的其他所存储的文档、过去简历或简历示例、来自与工作有关的社交联网站点的雇用历史信息等。
此外,如本文其他位置更详细地描述的,可以在除了识别或检索相关内容项目以外的情形中使用所描述的技术。例如,对内容项目的第一组的自动化分析可以用于识别与第一组的内容项目中的数据的类型或类别相对应的主题(例如,基于数据具有匹配或类似的模式),并且,这些所识别的主题可以用于对用作询问词的另一数据项目的类型进行归类或确定。作为一个示意性示例,可以对各种类型的加密数据进行分析,从而识别与加密方案的类型相对应的主题。如果随后提供或指定加密文件或其他加密数据段,则DSRD服务可以自动用于识别用于对该指定的数据段进行加密的最可能加密方案中的一个或多个。更一般地,从内容项目的第一组识别的主题可以是与题目区域相关的有效解决方案的类型,使得随后的询问可以提出其中将一个或多个对应的所识别的主题自动确定为可能解决方案某种类型的数学或其他问题。应当理解,类似地,可以以多种其他方式使用所描述的技术。
图3是示意了适于执行确定与所关注的域有关的相关信息的技术的系统的示例实施例的框图。具体地,图3示意了适于执行DSRD系统340的实施例的计算系统300以及各个用户计算系统350和其他计算系统360、370和380。在所示的实施例中,计算系统300具有包括CPU 305、各个I/O组件310、存储单元320和存储器330在内的组件。所示的I/O组件包括显示器311、网络连接312、计算机可读介质驱动器313和其他I/O设备315(例如键盘、鼠标、扬声器等)。此外,所示的用户计算系统350具有与服务器计算系统300的组件类似的组件,包括CPU 351、I/O组件352、存储单元354和存储器357,尽管一些细节未示意(例如特定I/O组件)。其他计算系统360、370和380均还可以包括与关于计算系统300示意的组件中的一些或全部类似的组件,但为了简明而未在本示例中示意这些组件。
DSRD系统340是在存储器330中执行的,以便例如提供DSRD服务的实施例。具体地,DSRD系统340通过网络390(例如,经由因特网和/或万维网、经由专用蜂窝网络等)与计算系统350、360、370和380中的一些或全部进行交互,以获得信息和请求,并作为响应而提供信息。例如,本示例中的DSRD系统340从与用户计算系统350进行交互的各个用户(未示出)接收请求(例如,针对提供所请求的搜索结果和/或与域的所确定的主题有关的信息的请求),并相应地作出响应。此外,用户计算系统350中的一个或多个可以与DSRD系统340进行交互,以执行各种其他类型的动作,例如提供与用户动作有关的各种类型的反馈,如本文其他位置跟详细地讨论。其他计算系统350可以正在执行各种软件,作为与DSRD系统340的交互的一部分。例如,用户计算系统350均可以正在执行网络浏览器350或存储器357中的其他软件,以与DSRD系统340进行交互,例如与由DSRD系统340提供的DSRD服务的基于网络的GUI进行交互。
为了确定域专用相关性信息,DSRD系统340从一个或多个源获得域专用文档或其他内容,并分析该信息,以自动确定域专用相关性信息。在各个实施例中,域专用内容的源可以改变,例如,可选地包括本地存储单元320上的与域有关的信息322、其他计算系统370上的可选域信息375、从用户计算系统350和/或其他计算系统360上的可选其他系统365提供以由一个或多个用户分析的信息;等等。在各个实施例中,其他计算系统360上的可选其他系统365和/或在存储器330中执行的可选其他系统335可以具有各种形式,例如从DSRD系统340获得所确定的相关性信息并以各种方式使用该所获得的信息(例如,与用户计算系统350的用户进行交互)的关联服务、和/或向DSRD系统提供内容以供分析的内容提供服务。例如,特定可选其他系统365可以保持域信息并向DSRD系统340提供该域信息以供分析,并且从DSRD系统340获得所产生的所确定的相关性信息并使用该相关性信息,但是,由DSRD系统340在确定相关性信息(如文本分析信息、所产生的神经网络等)时使用的信息中的至少一些被存储在计算系统300上并未被提供给其他系统365。备选地,在其他实施例中,DSRD系统340可以在不与任何这种可选其他服务进行交互的情况下产生并使用一个或多个域的所确定的相关性信息。此外,一个或多个可选其他第三方可以使用其他计算系统380中的一个或多个,并以各种其他方式与DSRD服务进行交互。
与DSRD系统340的操作有关的各种信息可以存储在存储单元320中或其他位置(例如,远程存储在一个或多个其他计算系统380上),例如,与一个或多个所关注的域有关的信息322(例如,要分析的或已分析的域专用内容)、与域专用内容的分析结果有关的信息324(例如,域专用相关性信息,例如所产生的神经网络;所确定的分以及与特定词、主题和文档有关的其他信息)、用于反映与用户同各种域专用信息和其他反馈信息的交互有关的信息的信息326、以及各种用户信息328(例如,偏好)。在其他实施例中,可以以其他方式存储由DSRD系统340使用或产生的信息中的一些或全部,包括:存储在其他计算系统380上或存储在其他存储节点/系统(未示出)上。DSRD系统340可以以各种方式获得反馈信息326,例如,通过基于DSRD系统340与用户的交互(例如,当向他们提供所确定的相关性信息时)产生该信息、从与用户进行交互并从DSRD系统向这些用户提供所确定的相关性信息的可选其他系统335和/或365、通过一个或多个系统与用户进行交互以产生反馈信息等等。
应当理解,计算系统300、350、360、370和380仅是示意性的,并不意在限制本发明的范围。计算系统均可以包括多个交互计算系统或设备,并且计算系统可以连接至未示意的其他设备,包括通过一个湖多个网络(如因特网)、经由网络、或经由专用网络(如移动通信网络等)。更一般地,计算系统可以包括可进行交互并执行所描述类型的功能的硬件或软件的任意组合,包括但不限于台式计算机或其他计算机、数据库服务器、网络存储设备和其他网络设备、PDA、蜂窝电话和无线电话以及其他电话系统、寻呼机、电子组织器、因特网装置、基于电视的系统(例如,使用机顶盒和/或个人/数字录像机)、广播系统、以及包括使用任何适当通信协议的适当通信能力的各种其他消费产品。此外,在一些实施例中,由所示的DSRD系统340提供的功能可以分布在各个模块中。类似地,在一些实施例中,可以不提供DSRD系统340的功能中的一些和/或其他附加功能可以是可用的。
还应当理解,尽管将各个项目示意为在使用的同时存储在存储器中或存储在存储单元上,但这些项目或其部分可以在存储器与其他存储设备之间转移,以用于存储器管理和数据完整性的目的。备选地,在其他实施例中,软件模块和/或系统中的一些或全部可以在另一设备上的存储器中执行,并经由计算机间的通信与所示的计算系统进行通信。此外,在一些实施例中,可以以其他方式实现或提供系统和/或模块中的一些或全部,例如至少部分地以固件和/或硬件,包括但不限于一个或多个特定用途集成电路(ASIC)、标准集成电路、控制器(例如,通过执行适当指令,并包括微控制器和/或嵌入式控制器)、场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)等、以及采用RFID技术的器件。模块、系统和数据结构中的一些或全部还可以存储(例如,作为软件指令或结构化数据)在计算机可读介质(如硬盘)、存储器、网络或适当驱动器要读取的便携式介质部件,或者经由适当连接而存储,包括以存储在一个或多个这种计算机可读介质上的一个或多个条形码或其他有关码进行编码并可由适当读取器设备读取。系统、模块和数据结构还可以作为所产生的数据信号(例如,作为载波的一部分)在多种计算机可读传输介质(包括基于无线和基于有线/电缆的介质)上传输,并可以采用多种形式,或者更一般地,可以以任何计算机可读介质为中间媒介。在其他实施例中,这种计算机程序产品还可以采用其他形式。相应地,可以利用其他计算机系统配置来实施本发明。
图4是DSRD服务例程400的示例实施例的流程图。该例程是可以通过例如执行图1A和1B的DSRD服务105和/或图3的DSRD系统340来提供的,以便例如管理对与所关注的域有关的相关性信息的确定以及与用户或其他实体的对应交互。在所示的实施例中,该例程在各个时刻对与一个或多个所关注的域有关的信息进行分析,以便例如对与特定域有关的信息进行预处理(例如,如DSRD服务的操作人所指示、如第三方实体所请求等等),从而确定至少一些类型的域专用相关性信息以用于对基于这种信息的后续请求作出响应,或者在至少一些情形中,响应于来自用户或其他实体的请求,动态产生至少一些类型的域专用相关性信息。
在所示的实施例中,该例程开始于框405,在框405,接收对请求或其他信息的指示。例程继续至框410,确定是否接收到针对确定所指定的域的与相关性有关的信息的请求,或者是否已经提供要分析的域专用内容,如果是,则继续至框415。然后,在框415-450,例程对域专用信息进行分析以确定域的与相关性有关的信息,并存储该信息以供后续使用。此外,尽管将框415-450示意为执行对所关注的域的与相关性有关的信息的初始确定,但在至少一些实施例中,可以类似地执行框415-450中的一些或全部,以修改先前确定的相关性信息,例如,基于用户反馈来修正先前确定的相关性信息和/或基于新可用的域专用内容来扩大先前确定的相关性信息。
具体地,在框415,例程获得要分析的域的文档或其他域专用信息,例如基于当前在框405接收到的文档、先前接收并存储以供后续使用的文档、从在框405接收到的请求中指示的外部位置检索到的文档等等。在框415之后,例程继续至框420,执行域分析管理器例程,以对可用域专用内容的此信息进行分析,其中,这种例程的一个示例是参照图5示意的。在框420之后,例程继续至框430,执行相关主题确定管理器例程,确定域的与相关主题有关的信息,其中,这种例程的一个示例是参照图6示意的。在框430之后,例程继续至框440,执行相关文档确定管理器例程,确定域中与特定词和主题相关的特定文档,其中,这种例程的一个示例是参照图7示意的。在框440之后,例程继续至框450,存储所确定的相关性信息和/或可选地向请求者提供所确定的相关性信息,例如,如果该信息是响应于请求而动态确定的或者是为了适应先前请求而提供的。
如果在框410确定了接收到另一种类型的请求或信息,则例程继续至框460,确定是否已经接收到针对提供所指示的域的所确定的相关性信息的请求。可以出于各种原因以及在各个时刻提供这种所确定的相关性信息,例如响应于搜索请求,或者作为帮助用户指定与一个或多个所关注的主题有关的信息的一部分,以及以各种方式(例如,作为被提供给用户以便在用户的客户端设备上显示或呈现的网页或其他信息屏幕的一部分)。如果在框460确定了已经接收到针对提供所指示的域的所确定的相关性信息的请求,则例程继续至框465,确定在框415-450是否已经确定并存储所请求的相关性信息以供后续使用,或者是否要动态产生所请求的相关性信息中的一些或全部。在其他实施例中,可以不进行这种确定,例如如果响应于这种请求而提供的相关性信息始终是先前确定和存储的,或者始终是动态确定的。在所示的实施例中,如果在框465确定了要使用所存储的相关性信息,则例程继续至框470,从先前确定和存储的信息获得所请求的相关性信息。
此外,在各个实施例中,可以以各种方式执行框470的动作。例如,在一些实施例中,至少一些类型的所确定的相关性信息可以仅可用于被授权接收该信息的用户或其他实体的子集,并且如果是这样,则框460-475中的一个或多个的动作还可以包括:确定请求者是否被授权接收所请求的信息(例如,已经提供对信息的付费访问的适当费用、具有被验证为被授权接收保密请求信息的特定标识等等)。此外,可以以各种方式接收请求和提供信息,包括以电子消息的方式或经由使用由DSRD服务(例如关联服务)提供的一个或多个API的编程交互。备选地,可以从用户接收基于网络的请求(例如,所基于的是基于网络的信息搜索GUI、或由DSRD服务提供到另一GUI、或另一关联服务),并且可以向用户提供所请求的信息,作为响应于该请求而发送的一个或多个所产生的网页的一部分。
如果在框465确定了要动态获得所请求的相关性信息中的至少一些,则例程继续至框475,执行对信息的动态获得。具体地,如示例例程400所示,框475的执行可以包括:执行与框420-440相对应的其他例程中的一个或多个并从这些例程获得结果信息。此外,尽管这里未示意,但在一些实施例中,框475的执行还可以包括:获得要分析的文档或其他内容,例如,通过也发起对框415的执行,或者,可以在框405接收要使用的这种内容,并将这种内容提供给与框420-440相对应的例程中的一个或多个,作为框475的执行的一部分。在框470或475之后,例程继续至框480,向用户或其他请求者提供所获得的信息,在各个实施例中,这可以以各种方式执行,如本文其他位置更详细地讨论。此外,应当理解,在至少一些情形中,框480的执行可以涉及与用户或其他请求者的多个交互,例如,最初提供一些信息,后续提供附加信息,或基于用户或其他请求者在发起对信息的提供之后采用的动作,与用户或其他请求者执行其他交互。在框475之后,例程继续至框480,可选地从用户或其他请求者对所提供的相关性信息的使用中获得或确定反馈,并且如果是这样,则在所示的实施例中保留该反馈,以便后续用于执行学习动作,从而改进先前确定的相关性信息;在其他实施例中,在至少一些情形中,例程可以立即使用任何这种所获得的反馈,例如使用反馈信息来重新执行与框420-440中的一个或多个相对应的例程。
如果在框460确定了未接收到针对提供所指示的域的所确定的相关性信息的请求,则例程继续至框490,在适当时执行一个或多个其他所指示的操作。例如,可以在框490接收域专用内容,并存储该域专用内容以供后续分析,例如要分析的新域的信息和/或先前确定其相关性信息的域的新的或更新后的信息。备选地,可以在框490接收和使用其他类型的信息,例如与使用先前确定的相关性信息有关的反馈信息,并且可以以各种方式使用其他类型的信息。例如,如果在框490接收到和/或在框485存储的反馈满足一个或多个预定义准则(例如,基于所获得的反馈的最小或最大量、自先前确定对应相关性信息时起的时间的最小或最大量等等),则框490的执行可以触发使用反馈信息来附加地执行与框420-440中的一个或多个相对应的例程,以学习和更新先前确定的相关性信息,如本文其他位置更详细地描述。此外,可以在框490接收和处理其他类型的请求,例如针对更新先前确定的相关性信息的请求(例如,基于后续的反馈信息、可用的后续附加域专用内容等),例如来自DSRD服务与之进行交互的用户或其他实体的请求或者来自DSRD服务的操作人的请求。类似地,可以接收和处理来自DSRD服务的操作人的各种管理请求。
在框450、485或490之后,例程继续至框495,确定是否继续直到例如接收到要终止的显式指示为止。如果确定了要继续,则例程返回至框405,而如果确定了不继续,则例程继续至框499并结束。
图5是域分析管理器例程500的示例实施例的流程图。该例程是可以通过例如执行图1A的DSRD服务105的预分析管理器模块110和/或图3的DSRD系统340的模块来提供的,以便例如对域的域专用内容进行分析,从而确定特定文档中和所有文档的组上的特定词的使用。此外,在至少一些情形中,例程500是可以基于对图4的框420的执行来执行的。在本示例中,例程500是关于对域的域专用内容的初始分析而执行的,但在其他实施例中,可以类似地执行例程500以更新先前分析的信息,以便例如对在已完成对其他文档的在先分析之后变为可用于域的附加文档进行分析。此外,以与其他例程的方式类似的方式,例程500可以确定域的词分析信息,而后使用该所确定的信息,以及响应于针对这种信息的请求,动态确定域的词分析信息。
该例程的所示实施例开始于框505,在框505,接收对要针对域而分析的文档或另一请求的指示。例程继续至框510,确定是否接收到要分析的文档。如果接收到,则例程继续至框515,对文档中的每一个进行分析以确定文档中出现的词。此外,如本文其他位置更详细地讨论的,在各个实施例中,文档的词的确定可以包括多种类型的词处理,例如对词进行归一化(例如,使用词干来对有关词进行组合)、移除公共词(例如“the”、“a”、“an”、“of”、“and”等)或其他所指示的词、将多个单词总计在一起为单独的词以用于后续分析的目的、产生文档中词的索引等。在框515之后,例程继续至框520,执行每个文档的词的词频率确定,在框530,执行所有文档上每个词的反文档频率确定。然后,在框540,例程基于在框520和530产生的信息来确定每个词和文档组合的TF-IDF分。在框540之后,例程继续至框560,存储所确定的信息以供后续使用,并可选地提供所确定的信息作为输出(例如,作为对动态调用所确定的信息的例程500的响应,例如关于图4的框475;或者以便由图6的相关主题确定管理器例程600和/或图7的相关文档确定管理器例程700使用,例如与图4的框430和/或440相对应)
如果在框510确定了未接收到要分析的文档,则例程继续至框585,在适当时执行一个或多个其他所指示的操作。例如,其他操作可以包括:接收并响应针对先前产生的文档词分析信息的请求、针对更新先前确定的文档分析信息以反映可用的新的域专用内容的请求、来自DSRD服务的操作人的管理请求等等。
在框560或585之后,例程继续至框595,确定是否继续直到例如接收到要终止的显式指示为止。如果确定了要继续,则例程返回至框505,而如果确定了不继续,则例程继续至框599并结束。
图6是相关主题确定管理器例程600的示例实施例的流程图。该例程是可以通过例如执行图1A的相关主题确定管理器模块130和/或图3的DSRD系统340的模块来提供的,以便例如使用域的文档的文档词分析信息来确定词与域的可能主题之间的关系。例程600是可以通过例如执行图4的框430或以其他方式来发起的。此外,该例程的所示实施例描述了域的与相关主题有关的信息的初始确定,以及更新先前确定的与主题有关的相关性信息以反映后续反馈和/或与域的可能主题有关的其他信息。此外,以与其他例程的方式类似的方式,例程600可以确定域的与主题有关的相关性信息,而后使用该所确定的相关性信息,以及响应于针对这种信息的请求,动态确定域的与主题有关的相关性信息。
此外,在所示的实施例中,将图中对域的与主题有关的相关性信息的确定示意为与图7中对域的与文档有关的相关性信息的确定分离地执行,尽管在其他实施例中,可以以其他方式执行对这种类型的相关性信息的确定。例如,在特定实施例中,可以确定与主题有关的相关性信息和与文档有关的相关性信息中的仅一个,可以将对域的与主题有关和与文档有关的相关性信息的确定一起执行作为单个例程的一部分,可以将对于这两种类型的确定来说公共的信息执行一次,然后在两个不同例程之间共享该信息等等。
该例程的所示实施例开始于框605,在框605,接收域的文档的文档词分析信息(例如,作为图5的例程500的输出、作为以动态确定请求的一部分的形式而提供的信息等等),或者接收另一请求。该例程继续至框610,确定是否接收到文档词分析信息,并且如果接收到,则继续至框615。在所示的实施例中,执行框615-650,以确定域中所关注的一个或多个词的每个组的与主题有关的信息。可以通过例如使用文档中的任一个中出现的每个词(可选地排除公共词和/或其他所指示的词)来选择要分析的词。备选地,要分析的词的组可以包括:例如,域的文档中出现的两个词或另一所指示的量的词的每个组合、被确定为充分潜在地彼此相关的两个词或另一所指示的量的词的每个组合(例如,高于所指定的阈值)等等。此外,可以重复执行框615-650,以估计和修正与多个词的互相关性有关的信息,例如,最初针对每个词单独地执行框615-650,接下来执行对两个词的至少一些组合的确定(例如,基于可从针对这些词单独地执行框615-650得到的信息),接下来执行对三个词的至少一些组合的确定(例如,基于可从针对与两个词的先前选择的组合充分相关的特定词执行框615-650得到的信息)等等。
具体地,在所示的实施例中,开始于要考虑的一个或多个词的第一个组,框615中的例程选择要考虑的一个或多个词的下一组,并且,开始于第一文档,在框620,类似地选择要考虑的域的下一文档。然后,在框625,例程确定所选词与所选文档的归一化平均相关性,例如基于对每个所选词与所选文档的归一化TF-IDF分求平均或进行合计。然后,在框635,例程确定是否有更多文档要分析,并且如果有,则返回至框620。否则,例程继续至框640,基于在框625确定的相关分来确定当前所选词的最相关文档。接下来,在框645,例程识别所确定的最相关文档中的一个或多个,并使用所识别的文档来确定与所选词潜在地最相关的其他词,例如基于这些其他词在所识别的文档中的词频率或者这些其他词语所识别的文档的相关性的指示。
此外,在一些实施例中,可选地,被确定为与所选词最相关的其他词可以与所选词中的一个或多个进行组合,以便可能用作主题和/或以便可能关于针对这些词的组合后的组的框615-650而进行后续分析,例如,可选地找到可能与词的该组合后的组有关的其他附加词。可以以各种方式执行对其他附加词与当前所选词的可能关系的这种正在进行的分析,例如通过将所选词的组与每个最相关其他词、与所有最相关其他词、与最相关其他词的一些或全部子组合等等分别进行组合。备选地,在其他实施例中,可以将一些或所有最相关其他词与一些或所有所选词进行组合,以便以其他方式识别可能的词,和/或从用户对词的一起使用得到的后续反馈可以用于定义词的那些组相关在一起,作为域的主题。
在框645之后,例程继续至框650,确定是否有一个或多个词的更多个组要考虑,并且如果有,则返回至框615。否则,例程继续至框660,在所示的实施例中,产生神经网络以反映域中的词与域中的其他词的相关性,例如部分地基于关于框625、640和645产生的信息。如关于框680所讨论的,这种所产生的神经网络还可以稍后基于反馈而更新,以改善对域的特定词的互相关性的确定。在框660之后,例程继续至框670,存储所确定的与相关主题有关的信息和所产生的神经网络,并可选地在适当时(例如,响应于针对动态产生该信息的请求)提供所确定的信息中的一些或全部作为输出。
如果在框610确定了未接收到文档词分析信息,则例程继续至框675,确定是否接收到反馈信息或者反馈信息是否是可确定的,例如基于对先前确定和提供的相关性信息的使用。如果接收到反馈信息或者反馈信息是可确定的,则例程继续至框680,使用反馈信息来更新与反馈相对应的先前产生的神经网络,如本文其他位置更详细地讨论。框680的执行还存储更新后的神经网络信息,并可选地向请求者提供更新后的信息作为例程的输出。如果在框675确定了未接收到反馈信息,则例程继续至框685,在适当时执行一个或多个其他所指示的操作。例如,这种其他所指示的操作可以包括:接收针对提供域的先前确定的与主题有关的信息(例如,来自域的特定先前产生的神经网络的当前版本的与主题有关的信息,例如在更新了神经网络之后)的请求;接收用户反馈信息以随后用于改善域的所确定的与主题有关的信息(例如,被一起选择以表示主题的词的特定组);从用户、其他实体或其他操作人接收针对对先前确定的与主题有关的信息执行更新的请求(例如,基于用户反馈和/或可用于域的附加域专用内容);从DSRD服务的操作人接收其他管理请求等等。可以以各种方式处理被接收以供随后使用的反馈信息。例如,如果该反馈满足一个或多个预定义准则(例如,基于所获得的反馈的最小或最大量、自先前确定对应相关性信息时起的时间的最小或最大量等等),则框685的执行可以触发随后执行例程600,其中,提供该反馈信息以便在框680使用。
在框670、680或685之后,例程继续至框695,确定是否继续直到例如接收到要终止的显式指示为止。如果确定了要继续,则例程返回至框605,而如果确定了不继续,则继续至框699并结束。
图7是相关文档确定管理器例程700的示例实施例的流程图。该例程是可以通过例如执行图1A的相关主题确定管理器模块120和/或图3的DSRD系统340的模块来提供的,以便例如使用域的文档的文档词分析信息来确定域的词与文档之间的关系。例程700是可以通过例如执行图4的框440或以其他方式来发起的。此外,该例程的所示实施例描述了域的与相关文档有关的信息的初始确定,以及更新先前确定的与文档有关的相关性信息以反映后续反馈和/或与域的文档有关的其他信息。此外,以与其他例程的方式类似的方式,例程700可以确定域的与文档有关的相关性信息,而后使用该所确定的相关性信息,以及响应于针对这种信息的请求,动态确定域的与文档有关的相关性信息。
该例程的所示实施例开始于框705,在框705,接收域的文档的文档词分析信息(例如,作为图5的例程500的输出、作为以动态确定请求的一部分的形式而提供的信息等等),或者接收另一请求。该例程继续至框710,确定是否接收到文档词分析信息,并且如果接收到,则继续至框715。在所示的实施例中,执行框715-745,以确定域中所关注的一个或多个词的每个组的与文档有关的信息,例如以与图6的框615-650类似的方式。可以通过例如使用文档中的任一个中出现的每个词(可选地排除公共词和/或其他所指示的词)或者以如参照图6更详细描述的其他方式,选择要分析的词。
具体地,在所示的实施例中,开始于要考虑的一个或多个词的第一个组,框715中的例程选择要考虑的一个或多个词的下一组,并且,开始于第一文档,在框720,类似地选择要考虑的域的下一文档。然后,在框725,例程确定所选词与所选文档的归一化平均相关性,例如基于对每个所选词与所选文档的归一化TF-IDF分求平均或进行合计。然后,在框735,例程确定是否有更多文档要分析,并且如果有,则返回至框720。否则,例程继续至框740,基于在框725确定的相关分来确定当前所选词的最相关文档。接下来,在框745,例程确定是否有一个或多个词的更多个组要考虑,并且如果有,则返回至框715。
如果没有一个或多个词的更多个组要考虑,则例程继续至框750,在所示的实施例中,产生神经网络以反映域中的词与域中的文档的相关性,例如部分地基于关于框725和740产生的信息。如关于框780所讨论的,这种所产生的神经网络还可以稍后基于反馈而更新,以改善对域的特定词与域的特定文档的相关性的确定。在框750之后,例程继续至框755,存储所确定的与相关文档有关的信息和所产生的神经网络,并可选地在适当时(例如,响应于针对动态产生该信息的请求)提供所确定的信息中的一些或全部作为输出。
如果在框710确定了未接收到文档词分析信息,则例程继续至框775,确定是否接收到反馈信息或者反馈信息是否是可确定的,例如基于对先前确定和提供的相关性信息的使用。如果接收到反馈信息或者反馈信息是可确定的,则例程继续至框680,使用反馈信息来更新与反馈相对应的先前产生的神经网络,如本文其他位置更详细地讨论。框780的执行还存储更新后的神经网络信息,并可选地向请求者提供更新后的信息作为例程的输出。如果在框775确定了未接收到反馈信息,则例程继续至框785,在适当时执行一个或多个其他所指示的操作。例如,这种其他所指示的操作可以包括:接收针对提供域的先前确定的与文档有关的信息(例如,来自域的特定先前产生的神经网络的当前版本的与文档有关的信息,例如在更新了神经网络之后)的请求;接收用户反馈信息以随后用于改善域的所确定的与文档有关的信息(例如,被选择以用作与指定主题或词的其他组相对应的特定文档);从用户、其他实体或其他操作人接收针对对先前确定的与文档有关的信息执行更新的请求(例如,基于用户反馈和/或可用于域的附加域专用内容);从DSRD服务的操作人接收其他管理请求等等。可以以各种方式处理被接收以供随后使用的反馈信息。例如,如果该反馈满足一个或多个预定义准则(例如,基于所获得的反馈的最小或最大量、自先前确定对应相关性信息时起的时间的最小或最大量等等),则框785的执行可以触发随后执行例程700,其中,提供该反馈信息以便在框780使用。
在框755、780或785之后,例程继续至框795,确定是否继续直到例如接收到要终止的显式指示为止。如果确定了要继续,则例程返回至框705,而如果确定了不继续,则继续至框799并结束。
应当理解,在一些实施例中,可以以备选方式提供上述例程所提供的功能,例如,分割在更多例程当中或者统一为更少例程。类似地,在所示的一些实施例中,例程可以提供比所描述的多或少的功能,例如,当其他所示例程分别缺少或包括这种功能时或者当所提供的功能的量发生改变时。此外,尽管可以将各种操作示意为以特定方式(例如,串行或并行)和/或以特定顺序执行,但本领域技术人员应当理解,在其他实施例中,可以以其他顺序以及以其他方式执行操作。本领域技术人员还应当理解,可以以不同方式来结构化上述数据结构,例如通过将单个数据结构分割为多个数据结构或者通过将多个数据结构统一为单个数据结构。类似地,在所示的一些实施例中,数据结构可以存储比所描述的多或少的信息,例如当其他所示的数据结构分别缺少或包括这种信息时或者当所存储的信息的量或类型发生改变时。
通过以上内容,应当理解,尽管这里为了示意的目的描述了具体实施例,但在不脱离本发明的精神和范围的前提下可以进行各种修改。相应地,本发明仅由所指定的权利要求书及其中记载的元素限定。此外,尽管通常以特定的权利要求形式呈现本发明的特定方面,但发明人想到以任何可用的权利要求形式呈现本发明的各个方面。例如,尽管在特定时刻,本发明的仅一些方面可能被记载为体现在计算机可读介质中,但同样地也可以由此体现其他方面。