确定在文档中所表达的情绪的系统和方法

文档序号:6352017阅读:145来源:国知局
专利名称:确定在文档中所表达的情绪的系统和方法
技术领域
所公开的实施例一般地涉及确定在文档中所表达的情绪。。
背景技术
因特网包括关于各种主题的信息。该信息可能由特定领域的专家或者临时用户(例如,博主、评论员等等)撰写。搜索引擎允许用户识别包括关于用户感兴趣的主题的信息的文档。然而,目前难以识别这些用户所表达的关于特定主题(例如,特定宾馆的房间质量)的情绪。


图I是示出根据一些实施例的网络的框图。图2是示出根据一些实施例的情绪服务器的框图。图3是根据一些实施例的确定在文档中所表达的情绪的方法的流程图。图4是根据一些实施例的提取关键词列表的方法的流程图。图5是根据一些实施例的生成类别列表的方法的流程图。图6是根据一些实施例的生成类别列表的另一方法的流程图。图7是根据一些实施例的确定与句子的至少一个关键词对应的至少一个类别的另一方法的流程图。图8是根据一些实施例的确定类别的类别谱的方法的流程图。图9是根据一些实施例的从文档集中选择多个文档的方法的流程图。图10是根据一些实施例的机器的框图。在附图中,相似参考标号指代对应的部分。
具体实施例方式以下描述包括体现示例性实施例的示例性系统、方法、技术、指令序列、以及计算机程序产品。在以下描述中,为了说明的目的,提出了很多具体细节以便提供对于本发明主题的各种实施例的理解。然而,对于本领域技术人员而言明显的是本发明主题的实施例可以在没有这些具体细节的情况下实践。总的来说,没有详细示出公知的指令实例、协议、结构和技术。这里描述的实施例提供了确定在文档中所表达的情绪的技术。图I是示出根据一些实施例的网络120的框图。网络120通常可以包括能够将计算节点耦接到一起的任何类型的有线或无线通信通道。这包括但不限于局域网、广域网、或网络组合。在一些实施例中,网络120包括因特网。在一些实施例中,服务器100耦接到网络120。服务器100可以包括文档102。文档102可以是任何类型的文档,包括但不限于web文档(例如,超文本标记语言(HTML)文档、可扩展标记语言(XML)文档等)、文本文档、电子数据表(spreadsheet)、报告书(presentation)、扫描文档(例如,扫描文本等)、图像等等。在一些实施例中,聚集器104耦接到网络120。聚集器104可以包括文档106。在 一些实施例中,聚集器104从服务器100获得文档102的至少一个子集。例如,聚集器104可以爬行(crawl)服务器100,并且从服务器100取回文档102的至少一个子集。在一些实施例中,情绪服务器108耦接到网络120。情绪服务器108被配置来确定在文档中所表达的情绪,如这里所描述的。情绪服务器108所使用的文档可以包括从服务器100 (例如,通过爬行服务器100)获得的文档、从聚集器104 (例如,通过从聚集器104购买文档)获得的文档或者其组合。图2是示出根据一些实施例的情绪服务器108的框图。情绪服务器108包括情绪模块202,被配置来确定在文档中所表达的情绪;爬行模块204 (可选的),被配置来爬行服务器100以获得文档102的至少一个子集;关键词模块206,被配置来从文档中提取关键词;过滤模块208,被配置来过滤关键词和文档;以及分类模块210,被配置来分类文档、句子、和/或关键词。注意,可以组合这些1 块的功能。例如,情绪1 块202可以包括关键词模块206和过滤模块208的功能。下面关于图3 - 9更详细地描述这些模块。确定在文档中所表达的情绪图3是根据一些实施例的确定在文档中所表达的情绪的方法300的流程图。情绪模块202接收(302)来自多个文档的文档。例如,所述多个文档可以包括文档102的至少一个子集、文档106的至少一个子集、或者其组合。下面关于图9更详细地描述选择多个文档的过程。然后,情绪模块202识别(304)该文档中的句子,该句子包括在来自关键词列表的至少一个关键词的预定距离内的至少一个情绪签名。所述至少一个情绪签名对应于该句子中的至少一个情绪的表达。在一些实施例中,所述至少一个情绪签名包括至少一个词(例如,形容词),所述至少一个词指示在该句子中存在所述至少一个情绪的表达。在一些实施例中,情绪签名与倾向(polarity)相关联。例如,所述倾向可以指示该情绪签名反映正面的情绪、负面的情绪、或中性的情绪。注意,情绪模块202可以识别大于或小于一个句子的语法单元。例如,情绪模块202可以识别包括处于至少一个关键词的预定距离内的至少一个情绪签名的段落或短语。在一些实施例中,从所述多个文档中提取关键词列表,并且使用相转变公式(phase transition formula)过滤该关键词列表。下面关于图4更详细地描述这些实施例。
在一些实施例中,所述至少一个情绪签名被包括在情绪签名列表中。情绪签名列表可以被手动生成。分类模块210然后确定(306)与该句子的至少一个关键词对应的至少一个类别。在一些实施例中,所述至少一个类别与产品、服务、或其组合相关联。下面关于图7和8更详细地描述确定与句子的至少一个关键词对应的至少一个类别的过程。在一些实施例中,所述至少一个类别被包括在类别列表中,该类别列表是使用关键词列表而生成的。下面关于图5和6更详细地描述这些实施例。情绪模块202然后基于所述至少一个情绪签名来确定(308)与所述至少一个类别对应的至少一个情绪。在一些实施例中,所述至少一个情绪是与至少一个类别相关的观点的表达。为了阐明关于图3描述的过程,考虑包括示例句子“房间很臭,地毯很脏”的示例文档。假设词“臭”和“脏”是表达负面情绪(例如,负面倾向)的情绪签名,词“房间”和“地毯”是关键词,并且预定距离为3。由于情绪签名“臭”与关键词“房间”相距两个词并且 情绪签名“脏”与关键词“地毯”相距两个词,因此情绪模块202识别出(304)该示例句子。分类模块210然后确定(306)与该句子的关键词对应的类别。在该示例中,分类模块210可以确定“宾馆房间”为该句子的关键词的类别。情绪模块202然后确定关于宾馆房间(例如,所述类别)所表达的情绪是负面情绪。提取关键词列表在一些实施例中,在识别(304)文档中的包括在来自关键词列表的至少一个关键词的预定距离内的至少一个情绪签名的句子之前,关键词模块206从所述多个文档中提取关键词列表。图4是根据一些实施例的提取关键词列表的方法400的流程图。关键词模块206从所述多个文档中的每个文档中提取(402)关键词。对于每个关键词,关键词模块206执行以下操作。关键词模块206计算(404)该关键词在所述多个文档中的频率f、以及包括该关键词的文档的数量N。接下来,关键词模块206使用(406)相转变公式,基于该关键词在所述多个文档中的频率以及包括该关键词
的文档的数量来计算关键词的相关性。在一些实施例中,相转变公式为|其中X > I。在
hr
一些实施例中,X为3。然后当该关键词的相关性超过预定阈值时,关键词模块206将该关键词添加(408)到关键词列表。生成类别列表在一些实施例中,在确定(306)与句子的至少一个关键词对应的至少一个类别之前,分类模块210生成类别列表。图5是根据一些实施例的生成类别列表的方法500的流程图。分类模块210识另Ij (502)所述多个文档中包括来自关键词列表的至少一个关键词的文档的第一集合。接下来,分类模块210识别(504)在文档的第一集合中至少预定数量的文档中包括的关键词的集合。分类模块210然后将该关键词的集合添加(506)到类别列表,其中,相应的类别包括相应的关键词的集合。因此,在这些实施例中,分类模块210通过识别在至少预定数量的文档中出现的关键词来确定类别。图6是根据一些实施例的生成类别列表的方法600的流程图。分类模块210确定(602)关键词列表中彼此相关的关键词对,其中所述关键词对是独一无_■的(unique)关键词对。接下来,分类模块210识别关键词对的集合,其中,每个集合包括对于该集合中的所有关键词对公共的至少一个关键词。分类模块210然后迭代地组合(606)关键词对的集合,直至达到预定的终止条件,其中,每个组合的集合包括对于该组合的集合中的所有关键词对公共的至少一个关键词。因此,在这些实施例中,分类模块210确定彼此相关的关键词的集合,并且迭代地组合所述对(或更大组的关键词)以形成类别。例如,分类模块210可以从关键词列表中识别出以下关键词对{巴黎,浪漫史}、{巴黎,爱之城}、{巴黎,法国}、{狗,比格犬}、{猫,暹罗猫}。分类模块210然后可以确定{巴黎,浪漫史,爱之城,法国}为相关关键词的集合(例如,类别),这是因为词“巴黎”对于{巴黎,浪漫史}、{巴黎,爱之城}、{巴黎,法国}是公共的。注意,分类模块210还可以确定{巴黎,浪漫史,爱之城}为相关关键词的集合。与具体类别相关联的关键词的数量可以取决于若干因素,包括但不限于期望的具体性(specif icity)的量(例如,包括4个关键词的类别比包括3个关键词的类别更具体)、与特定类别相关联的文档的数量、以及与特定类别相关联的句子的数量等等。在一些实施例中,通过对于类别所期望的具体性的级别,来确定预定的终止条件。越多的关键词 被用来描述类别,该类别就越具体(例如,{巴黎,浪漫史,爱之城,法国}比{巴黎,浪漫史,爱之城}更具体)。确定与关键词对应的类别可以使用若干种技术来确定与关键词对应的类别。在一些实施例中,分类模块210使用支持向量机来确定(306)与该句子的至少一个关键词对应的至少一个类别。在一些实施例中,分类模块210使用神经网络来确定(306)与该句子的至少一个关键词对应的至少一个类别。图7是根据一些实施例的确定与句子的至少一个关键词对应的至少一个类别的方法700的流程图。分类模块210获得(702)多个类别谱,相应的类别谱包括关键词在与相应类别对应的关键词列表中出现的频率。接下来,分类模块210基于所述至少一个关键词确定该句子的类别谱。在一些实施例中,分类模块210将该句子的类别谱标准化。分类模块210然后计算(706)该句子的类别谱与所述多个类别谱中的每个类别谱的标量积。分类模块210然后将所述至少一个类别确定(708)为与超过预定阈值的至少一个标量积对应的类别。注意,类别谱可以由对{WordID(词ID), Frequency (频率)}来表示,其中,WordID的值对应于唯一关键词,Frequency对应于与该WordID对应的关键词的出现频率。例如,关键词“巴黎”可以具有WordID 8以及出现频率1002。因此,类别谱包括对{8,1002}。还注意可以可视地表示类别谱。例如,在2D曲线图上,X轴可以是WordID, y轴可以是Frequency。还注意两个类别谱
的标量积是每个WordID的关键词的出现频率的积之和(例如,-^equency2l)
),其中,i对应于WordID, Frequencyli是对于第一类别的、与WordID i对应的关键词的出现频率,Frequency2i是对于第二类别的、与WordID i对应的关键词的出现频率。在一些实施例中,在获得多个类别谱之前,分类模块210确定每个类别的类别谱。图8是根据一些实施例的确定类别的类别谱的方法800的流程图。分类模块210获得(802)与该类别对应的文档集。接下来,分类模块210从该文档集的每个文档中提取(804)关键词。分类模块210然后使用相转变公式过滤(806)关键词,以产生过滤后的关键词。接下来,分类模块210确定(808)过滤后的关键词在该文档集中出现的频率。在一些实施例中,将每个关键词出现的频率除以跨越所有类别而在整个集中看到的该关键词的总计数。在一些实施例中,然后将阈值应用于作为结果的类别谱。在这些实施例中,如果关键词在一个类别内的总计数除以跨越所有类别的总关键词词计数的幅值大于预定阈值,则可以通过公式或算法将该幅值重置为新值。在一些实施例中,然后将阈值应用于作为结果的谱。在这些实施例中,如果在一个类别内的关键词计数除以跨越所有类别的该关键词出现的总页计数的幅值大于预定阈值,则可以通过公式或算法将该幅值重置为新值。该新值可以被设置为零,以便消除跨越所有类别而非常常用的公共词。分类模块210然后将过滤后的关键词的出现频率标准化(810),以便产生该类别的类别谱。在一些实施例中,标准化该类别谱,使得每个类别谱下的面积相同。这样做降低了各类别之间的比较性偏向(comparative bias)。
诜择f档文档102和/或文档106可以包括包含很少值或不包含值的文档。例如,文档102和/或文档106可以包括由机器生成以提高搜索引擎排名的文档。由机器生成的文档典型地不包括情绪的表达。经常希望过滤掉这些类型的文档。因此,在一些实施例中,在接收来自所述多个文档中的文档之前,过滤模块208从文档集中选择所述多个文档。图9是根据一些实施例的从文档集中选择所述多个文档的方法900的流程图。对于文档集中的每个文档,过滤模块208执行以下操作。过滤模块208从该文档中提取(902) η-gram (η图)。接下来,过滤模块208基于所提取的n-gram确定该文档的n-gram谱,其中n-gram谱作为n-gram大小的函数来指示n-gram的出现频率。过滤模块208然后确定该文档的n-gram谱是否在预定阈值内符合参考n-gram谱,其中通过预定方程式定义该参考n-gram谱。在一些实施例中,预定方程式为ex] · e+x,其中X是n-gram的大小,并且其中a、b和c是将所述预定方程式的峰值置于大小为2的n-gram和大小为3的n-gram之间的预定值。在一些实施例中,b的值介于I和2之间,c的值介于I和2之间。当该文档的n-gram谱在预定阈值内符合参考n-gram谱时,过滤模块208将该文档添加(908)到所述多个文档。当该文档的n-gram谱没有在预定阈值内符合参考n-gram谱时,过滤模块208丢弃(910)该文档。示例的计算机系统图10以计算机系统1000的示例形式描绘了机器的框图,在计算机系统1000中可以运行指令集,该指令集用于使该机器执行这里讨论的任何一种或多种方法。在替代实施例中,该机器操作为单机设备,或者可以连接(例如联网)到其它机器。在联网部署下,该机器可以在服务器-客户端网络环境下的服务器或客户端机器的能力下操作,或者可以作为在对等(或分布式)网络环境下的对等机器操作。该机器能够运行指令集(依序或以其它方式),所述指令集指定了要由该机器采取的动作。此外,尽管仅仅示出了单个机器,但是术语“机器”还应当被认为是包括单独地或者联合地运行一个指令集(或多个指令集)以执行这里讨论的任何一个或多个方法的机器的任何组合。计算机系统1000的示例包括处理器1002(例如,中央处理单元(CPU)、图形处理单元(GPU)或两者)以及存储器1004,处理器1002和存储器1004经由总线1008而彼此通信。存储器1004包括易失性存储设备(例如,DRAM、SRAM、DDR RAM或其它易失性固态存储设备)、非易失性存储设备(例如,磁盘存储设备、光盘存储设备、闪存设备、磁带驱动器、或者其它非易失性固态存储设备)、或者其组合。存储器1004可以可选地包括一个或多个相对于计算机系统1000远程定位的存储设备。计算机系统1000还可以包括视频显示单元1006(例如,等离子显示器、液晶显示器(IXD)或阴极射线管(CRT))。计算机系统1000还包括输入设备1010 (例如,键盘、鼠标、轨迹球、触摸屏显示器等等)、输出设备1012 (例如,扬声器)、以及网络接口设备1016。计算机系统1000的前述组件可以位于单个容器或箱体内(例如,如图10中的虚线所描绘的)。替代地,所述组件的子集可以位于该容器外部。例如,视频显示单元1006、输入设备1010、和输出设备1012可以存在于该容器外部,但是可以经由在该容器外部可访问的外部端口或连接器耦接到总线1008。存储器1004包括机器可读介质1020,在该介质上存储一个或多个数据结构和指令集1022 (例如,软件),所述一个或多个数据结构和指令集1022体现这里描述的任何一个或多个方法或功能、或者被这里描述的任何一个或多个方法或功能利用。一个或多个数据 结构集可以存储数据。注意,机器可读介质指代机器可读的存储介质(例如,计算机可读存储介质)。在计算机系统1000运行数据结构和指令1022期间,数据结构和指令1022还可以全部或至少部分地驻留于存储器1004和/或处理器1002内,其中存储器1004和处理器1002也构成机器可读的有形介质。利用多种公知传输协议中的任何一种(例如,超文本传输协议(HTTP)),还可以经由网络接口设备1016在网络120上传送或接收数据结构和指令1022。网络120通常可以包括能够将计算节点(例如计算机系统1000)耦接到一起的任何类型的有线或无线通信信道。这包括但不限于局域网、广域网、或网络组合。在一些实施例中,网络120包括因特网。这里将某些实施例描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如,在机器可读介质上或者在传输信号中体现的代码和/或指令)或者硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以被以某种方式配置或布置。在示例实施例中,可以通过软件(例如,应用程序或应用程序部分)将一个或多个计算机系统(例如,计算机系统1000)或者计算机系统的一个或多个硬件模块(例如,处理器1002或处理器组)配置为操作以执行如这里描述的某些操作的硬件模块。在各种实施例中,硬件模块可以机械地或电子地实现。例如,硬件模块可以包括被永久地配置(例如,作为专用处理器,诸如现场可编程门阵列(FPGA)或特定应用集成电路(ASIC))来执行某些操作的专用电路或逻辑。硬件模块还可以包括通过软件临时配置来执行某些操作的可编程逻辑或电路(例如,如包含在通用处理器1002或其它可编程处理器内)。将理解,可以根据成本和时间考虑来驱动对于机械地实现硬件模块、以专用和永久地配置的电路来实现硬件模块、或者以临时配置的电路(例如,通过软件配置)来实现硬件模块的决策。相应地,术语“硬件模块”应被理解为包含有形的实体,即被物理地构造、永久配置(例如,硬连线)或临时配置(例如,被编程)以便某种方式操作和/或执行这里描述的某些操作的实体。考虑其中硬件模块是临时配置的(例如,编程的)的实施例,在任何一个时刻不需要配置或实例化所述硬件模块中的每一个。例如,在硬件模块包括使用软件配置的通用处理器1002的情况下,通用处理器1002在不同时间可以被配置为相应的不同硬件模块。例如,软件可以相应地配置处理器1002,以在一个时刻构成特定硬件模块,而在不同的时刻构成不同的硬件模块。模块可以向其它模块提供信息并从其它模块接收信息。例如,可以将所描述的模块看作通信耦接的。在同时存在多个这样的硬件模块的情况下,可以通过将模块连接起来的(例如,经由适当的电路和总线的)信号传输来实现通信。在其中在不同时间配置或实例化多个模块的实施例中,可以例如通过信息在所述多个模块能够访问的存储器结构中的存储和取出来实现这样的模块之间的通信。例如,一个模块可以执行操作并且将该操作的输出存储在其通信耦接的存储设备中。然后,另一模块可以在稍晚的时间访问该存储设备以便取出并处理所存储的输出。模块还可以发起与输入或输出设备的通信,并且可以对资源(例如,信息集合)进行操作。可以通过被临时配置(例如,通过在机器可读介质中存储的软件、代码和/或指令)或永久配置以执行相关操作的一个或多个处理器1002,至少部分地执行这里描述的示例方 法的各种操作。无论被临时配置还是被永久配置,这样的处理器1002可以构成操作以执行一个或多个操作或功能的、处理器实现的(或计算机实现的)模块。这里所提及的模块在一些示例实施例中可以包括处理器实现的(或计算机实现的)模块。此外,这里描述的方法可以至少部分是处理器实现的(或计算机实现的)和/或处理器可运行的(或计算机可运行的)。例如,可以由一个或多个处理器1002或处理器实现的(或计算机实现的)模块执行方法的至少一些操作。类似地,可以由在计算机可读存储介质中存储并由一个或多个处理器1002或处理器实现的(或计算机实现的)模块运行的指令来管理方法的至少一些操作。某些操作的执行可以分布在一个或多个处理器1002中,不是仅仅驻留于单个机器中,而是部署在多个机器上。在一些示例实施例中,处理器1002可以位于单个位置(例如,在家庭环境下、在办公室环境中、或者作为服务器场(farm)),而在其它实施例中,处理器1002可以分布在多个位置上。尽管参考各种实现方式和利用方式描述了所述一个或多个实施例,然而将理解这些实施例是示例性的,并且所述一个或多个实施例的范围不限于此。总地而言,这里描述的实施例可以利用与这里定义的任何一个硬件系统或任何多个硬件系统一致的设施来实现。可以存在许多变型、修改、添加和改进。可以为在这里作为单个实例描述的组件、操作或结构提供多种实例。最后,各种组件、操作和数据存储之间的界限在某种程度上是任意的,并且在具体的示例配置的背景下说明具体操作。预见到其它功能分配,并且所述其它功能分配可以落入所述一个或多个实施例的范围之内。总地而言,在示例性配置中被呈现为分离组件的结构和功能可以被实现为组合结构或组件。类似地,被呈现为单个组件的结构和功能可以被实现为分离组件。这些和其它变型、修改、添加和改进落入所述一个或多个实施例的范围之内。示例件实施例下面的讨论包括用于确定在文档中所表达的情绪的非限制性示例实施例A.形成初始的种子词列表(SeedWordList),以帮助识别相关的集文本(corpustext)。用于特定主题的种子关键词列表是从包括但不限于主题词汇表(glossary)的源以及从主题专家获得的。
B.获得来自该集中的文档的源文本。例如,该集可以包括来自网站(例如,博客、评论网站等等)的文档。将每个文档中的词与SeedWordList进行比较。如果文档中与SeedffordList的成员匹配的词的数量和/或比例满足或超过预定阈值,则将该文档添加到PassedDocumentList (通过文档列表)。否则,丢弃该文档。C.通过将来自SeedWordList的词与(例如,使用标准关键词提取和N-gram提取工具)从PassedDocumentList中的文档提取关键词和N-gram而产生的词的列表进行组合,来扩展初始的SeedWordList。在将SeedWordList的结果与下面描述的计算所选择的文档的节点结构的过程组合之前,进一步细化(refine)关键词和N-gram。D.创建文档的节点结构以改进初始的关键词和N-gram集。该过程涉及从词中提取信息(例如,以文本格式)以创建多重分形(multi-fractal)数据结构。多重分形数据结构是一种展示尺度(scale)内的尺度的数据结构。一种尺度下的样式可能稍稍不同于在另一尺度下看到的样式。一旦提取了数据并且确定了其多重分形结构,则可以将数据结构存储在存储器中,使得计算机可以访问该数据结构并利用该数据结构来执行计算。该数据结 成I.制作k个种子类别名称词的列表(SeedWordList)。2.将k个类别名称词中的每一个放置到爬行器中,以依据k个类别名称词中的每一个取回N(k)个网页。3.取N(k)个页面中的每一个,并且制作唯一词的列表,并对它们在每个页面上出现的次数(词频率)进行计数。注意,在该步骤中去除停止词(stop word)(例如,“该”、“他”、“和”等)。此外,词的数量可以被缩减为名词和相邻的形容词。4.从N(k)个页面中的每一个取M (例如10)个最频繁的词,并且向第一页面的最频繁的词分配索引(例如,1、2、3、4、5、6、7、8、9和10),向第二页面的最频繁的词分配索引(例如,11、13、…、21),依此类推,直至穷尽了来自第一类别的N(I)个页面为止。允许通过单个索引来识别词的序列(被称为主题组)。对于第二类别名称的N(2)个页面进行重复,并且一直继续到穷尽了所有k个类别为止。5.计算对于所有k的N(k)个页面的每一个的M之和,并且将该值命名为NWords。6.制作具有水平X轴和垂直y轴的图。7.创建被称作W的、填充了零的NWords乘NWords的矩阵。8.从第一网页取词数据,并且使用以下方法计算词链接系数a.对于所列出的最频繁的词中的每一个,创建被称为词链接的唯一的对(X,y),其中X与y是不同的词。b.将词链接与页面链接系数组合,使得较高的词链接和页面链接系数对应于比较低的词链接和页面链接系数的选择评分更高的选择评分。页面链接系数得自于对进入网页的页面链接的链接结构和内容进行分析。选择评分是用来从数据中挑选标签的值。如果页面链接系数不可用,则应将其设置为默认值,诸如I. O。9.为了计算目的,进行以下操作a.存储用于矩阵W的第X列和第y行中的(x,y) = (l,3),(1,4),. . . (1,M+1)中的词链接系数的词系数。X和y是来自上面定义的列表的词索引。
b.对于(x, y) = (2, 3), ... (2,M+l),并且最终对于第(M)和第(M+1)的词(x,y) = (M,M+l)重复该过程。对于第二类别的页面,第一系数条目为(x,y) = (M+2,M+3)。每个系数条目表示从文档中发现或彼此相关联的两个词的连接性(connectivity)。c.除了以下情况之外,对于所有主题的所有页面重复步骤9b :i.无论什么时候可以在在先的X词索引中发现当前词,都以如下方式将所有系数与在在先的索引中发现的系数组合较大系数的组合趋向于大于较小系数的组合。例如,如果词“狗”对应于词索引4,并且其具有Wl的(4,8)词系数,并且词“狗”再次在另一页面上以索引25出现,并且具有W2的(25,8)词系数,则对于每个对应的y,将用于索引25的所有连接性系数组合到用于索引4的X值。在此情况下,将是W(4,8)和W(25,8)组合,并且结果将被分配给新的W(4,8)。在完成了系数的传递和组合之后,W(25,8)被设置为小值,诸如O. O。该规则应用于在第一实例之后出现的“狗”的所有其他实例。 ii.可以按照与对于X词索引所进行的操作相同或相似的方式,将在y词索引上发现的副本(duplicated)词组合到原始的y词索引中。如果它们未被组合,贝Ij可以看到作为主题的函数的每个词的影响,这是因为每个主题存在于y索引的某个范围内。10.通过以如下方式依据词各自的词链接系数计算词排序评分来对词进行排序具有最多和最高词链接系数的词排序高于具有最少的低词链接系数的词。a.令R(i)为给定词节点的排序。b.令W(i,j)为词之间的连接性系数。c.对于每个i,计算以下R(i) =R(W(i,j)),相对于每个j的作为词链接权重(其已经包括页面排序权重)的函数的排序。d.选择标签或组的具有较大权重的词。11.为了用图形可视地分析数据,进行以下操作a.在(x,y) = (l,3),(1,4),...,(1,M+1)坐标上基于词和页面链接系数放置与评分成比例的点。对于(x,y) = (2,3),...,(2,M+1)并且最后对于第(M)和第(M+1)的词(x,y) = (M,M+l)进行相同操作。对于第二类别的页面,第一个点将是(x,y) = (M+2,M+3)。每个点表示从文档中发现或彼此相关联的两个词的连接性。X和y轴是来自上面定义的列表的词索引。b.除了以下情况之外,对于所有主题的所有文档重复部分Ila:i.无论什么时候可以在在先的索引中发现当前词,都在在先的索引中记录所有点。例如,如果词“狗”碰巧为词索引4,并且再次以索引25出现,则索引25的所有连接性点都被转换为索引4的X值。在转换了点之后,在图上将该点从其原始位置移除。该规则应用于在第一实例之后出现的“狗”的所有其他实例。ii.可以按照与对于X词索引所进行的操作相同或相似的方式,将在y词索引上发现的副本词组合到原始的I词索引中。如果它们未被组合,则可以看到作为主题的函数的每个词的影响,这是因为每个主题存在于y索引的某个范围中。c.寻找图上的垂直条带,最显著的条带对应于作为标签词或主题组而被选择的词的Wi索引。具有最多链接或点的Wi词应被选择用于标签词或主题组。可以对这些词应用附加过滤以便进一步缩小该列表。E.将“标签词”或“主题组”与SeedWordList组合,以创建WorkingWordList。
F.通过获得其它文档(例如,经由爬行,从聚集器获得文档,等等)以及上面的步骤C和D以获得预定数量(NumberOfAdditionalListExpansion)的更多附加文档,来扩大WorkingffordLi st。G.重复步骤F直至所收获的N-gram的增长率降低到令人满意的速率为止。H.对于情绪分析引擎,创建与主题相关的话题(topic)、形容词和适当的名词的列表。例如,如果主题为“宾馆”,则话题/关键词可以包括门警、浴室、床、卧室、前台、电视、房间服务、服务员服务、清洁度、电梯、餐厅、预约和结帐。形容词可以包括及时的、友好的、缓慢的、粗鲁的、干净的、脏的、有帮助的、极好的、糟糕的、惊人的、令人困惑的、杂乱无章的、污移1的、无帮助的。适当的名词可以包括Marriott、Hyatt、Four Seasons、Motel 6、Intercontinental> Quality Inn、Howard Johnson 等等。I.识别包括关键词和形容词两者的句子以供将来分析。
J.通过查找关键词和形容词组之前和之后的适当的名词,将关键词和形容词组与感兴趣的主题(例如,连锁宾馆的名称)相关联。保存适当的名词和关键词/形容词组以供将来分析和呈现。K.对于评论站点,获得日期并且周期性地重新访问该站点。该周期可以通过识别博客和/或评论条目的日期、计算博客条目之间的时间段、以及基于博客条目之间的时间段来确定多么频繁地重新访问该评论站点来确定。可以选择恒定时间段(例如,最小时间段、平均时间段的三分之一,等等)。替代地,可以选择取决于预定因素(例如,季节等)的可变时间段。例如,在宾馆的情况下,在我们的假期(诸如7月4日)左右,可能张贴更多的条目,因此围绕该时间可以减小爬行之间的周期。还可以基于本地事件(例如印第安纳波利斯500)选择可变时间段。例如,在宾馆的情况下,围绕该事件的时间,可以减小对于为印第安纳波利斯500服务的宾馆的爬行之间的周期。一旦确定了采样时间段,就爬行该站点以得到新文本。L.可以按照来自每个网站的类别来作出时间相关性。M.对于主题获得类别列表。通过查看主题网站上的标题来获得种子类别列表。识别词在其它主题网站上的频率。N.如下确定评论站点的重要性a.分析评论站点的进入链接和出去链接。i.检查所链接的站点的合法性,以确保它们不是垃圾邮件(SPAM)链接。ii.分析词在所链接的站点上的词汇分布。iii.如果用于所链接的站点的词汇谱不在参考词汇谱的预定阈值内,则丢弃该链接。b.识别对于给定主题,站点上的博客条目或评论/评级相对于竞争站点上的时间戳增量的更新频率。i.如果时间戳增量短,则意味着特定网站有许多人在社区中活跃地在定期的基础上阅读和更新该站点。具有最快的真实评论的站点被认为是社区中最重要的站点。0.如下识别来自社区成员的建议a.创建识别推荐的样式列表。例如,该样式可以包括“我推荐”、“它们可以改进…”、“我告诉我所有朋友关于…”等等。
b.识别这些句子中的主题关键词或N-gram。c. 一旦发现了关键词样式,就将这些句子存储为对于每个主题的建议以供呈现。P.移动设备的用户界面a.用于观看各种产品和服务(例如宾馆服务)的消费者情绪的评级的用户界面的设计必须被格式化以用于易用的浏览、数据输入和评分的取回。采用X-Y图形式的各种参数相对于时间的曲线图、或者采用Pareto图形式的经过排序的问题需要被适配在智能电话的屏幕内。应当通过手指在屏幕、迷你轨迹球、拇指操控杆上扫过或者通过触发用户按键来驱动用于浏览各种数据的水平或垂直滚动。数据可以是列表片段,其包含来自显示情绪的博客的源叙述、时间相关的曲线图和/或Pareto图。出于解释目的而参考特定实施例描述了上面的描述。然而,上面的示例性讨论意图不是穷尽的或者将实施例限制于所公开的精确形式。考虑到以上教导,可以有许多修改 和变型。选择并描述所述实施例以便更好地解释原理及其实际应用,以由此使得本领域其他技术人员能够最佳地利用所述实施例以及带有适合于所构想的特定用途的各种修改的各种实施例。
权利要求
1.一种确定在文档中所表达的情绪的计算机实现的方法,包括 接收来自多个文档的文档; 使用至少一个处理器,识别文档中的、包括在来自关键词列表的至少一个关键词的预定距离内的至少一个情绪签名的句子,其中,关键词列表是从所述多个文档中提取的,并且使用相转变公式对关键词列表进行过滤,并且其中,所述至少一个情绪签名对应于该句子中的至少一个情绪的表达; 确定与该句子的所述至少一个关键词对应的至少一个类别,其中,所述至少一个类别被包括在类别列表中,该类别列表是使用关键词列表而生成的;以及 基于所述至少一个情绪签名来确定与所述至少一个类别对应的至少一个情绪。
2.如权利要求I所述的计算机实现的方法,其中,在识别文档中的、包括在所述至少一个关键词的预定距离内的至少一个情绪签名的句子之前,该方法还包括通过以下操作来提取关键词列表 从所述多个文档中的每个文档中提取关键词; 对于每个关键词, 计算该关键词在所述多个文档中的频率f以及包括该关键词的文档的数量N ; 使用相转变公式,基于该关键词在所述多个文档中的频率以及包括该关键词的文档的数量来计算关键词的相关性;以及 当该关键词的相关性超过预定阈值时,将该关键词添加到关键词列表。
3.如权利要求2所述的计算机实现的方法,其中,相转变公式为f/Nx,其中X> I。
4.如权利要求3所述的计算机实现的方法,其中,X为3。
5.如权利要求I所述的计算机实现的方法,其中,在确定与句子的至少一个关键词对应的至少一个类别之前,该方法还包括通过以下操作来生成类别列表 识别所述多个文档中包括来自关键词列表的至少一个关键词的文档的第一集合; 识别在文档的第一集合中至少预定数量的文档中包括的关键词的集合;以及 将该关键词的集合添加到类别列表,其中,相应的类别包括相应的关键词的集合。
6.如权利要求I所述的计算机实现的方法,其中,在确定与句子的至少一个关键词对应的至少一个类别之前,该方法还包括通过以下操作来生成类别列表 确定关键词列表中彼此相关的关键词对,其中所述关键词对是独一无~■的关键词对;识别关键词对的集合,其中,每个集合包括对于该集合中的所有关键词对公共的至少一个关键词;以及 迭代地组合关键词对的集合,直至达到预定的终止条件为止,其中,每个组合的集合包括对于该组合的集合中的所有关键词对公共的至少一个关键词。
7.如权利要求I所述的计算机实现的方法,其中,确定与句子的至少一个关键词对应的至少一个类别包括使用支持向量机来确定与该句子的至少一个关键词对应的至少一个类别。
8.如权利要求I所述的计算机实现的方法,其中,确定与句子的至少一个关键词对应的至少一个类别包括使用神经网络来确定与该句子的至少一个关键词对应的至少一个类别
9.如权利要求I所述的计算机实现的方法,其中,确定与句子的至少一个关键词对应的至少一个类别包括 获得多个类别谱,相应的类别谱包括关键词在与相应类别对应的关键词列表中出现的频率; 基于所述至少一个关键词确定该句子的类别谱; 计算该句子的类别谱与所述多个类别谱中的每个类别谱的标量积;以及 将所述至少一个类别确定为与超过预定阈值的至少一个标量积对应的类别。
10.如权利要求9所述的计算机实现的方法,其中,在获得多个类别谱之前,该方法还包括对于每个类别,通过以下操作确定该类别的类别谱 获得与该类别对应的文档集; 从该文档集中的每个文档提取关键词; 使用相转变公式过滤关键词,以产生过滤后的关键词; 确定过滤后的关键词在该文档集中出现的频率;以及 将过滤后的关键词的出现频率标准化,以便产生该类别的类别谱。
11.如权利要求I所述的计算机实现的方法,其中,在接收来自所述多个文档的文档之前,该方法还包括通过以下操作从文档集中选择所述多个文档 对于文档集中的每个文档, 从该文档中提取n-gram ; 基于所提取的n-gram确定该文档的n-gram谱,其中n-gram谱指示作为n-gram大小的函数的n-gram的出现频率; 确定该文档的n-gram谱是否在预定阈值内符合参考n-gram谱,其中通过预定方程式定义该参考n-gram谱; 当该文档的n-gram谱在预定阈值内符合参考n-gram谱时,将该文档添加到所述多个文档;以及 当该文档的n-gram谱没有在预定阈值内符合参考n-gram谱时,丢弃该文档。
12.如权利要求11所述的计算机实现的方法,其中,所述预定方程式为cX_a其中X是n-gram的大小,并且其中a、b和c是将所述预定方程式的峰值置于大小为2的n-gram和大小为3的n-gram之间的预定值。
13.如权利要求I所述的计算机实现的方法,其中,所述至少一个情绪签名包括至少一个词,所述至少一个词指示在该句子中存在至少一个情绪的表达。
14.如权利要求I所述的计算机实现的方法,其中,所述至少一个情绪是与至少一个类别相关的观点的表达。
15.如权利要求I所述的计算机实现的方法,其中,所述至少一个类别与产品相关联。
16.如权利要求I所述的计算机实现的方法,其中,所述至少一个类别与服务相关联。
17.一种确定在文档中所表达的情绪的系统,包括 至少一个处理器; 存储器;以及 在存储器中存储的至少一个程序,所述至少一个程序包括用于以下操作的指令 接收来自多个文档的文档; 识别文档中的、包括在来自关键词列表中的至少一个关键词的预定距离内的至少一个情绪签名的句子,其中,关键词列表是从所述多个文档中提取的,并且使用相转变公式对关键词列表进行过滤,并且其中,所述至少一个情绪签名对应于该句子中至少一个情绪的表达; 确定与该句子的至少一个关键词对应的至少一个类别,其中,所述至少一个类别被包括在类别列表中,该类别列表是使用关键词列表而生成的;以及 基于所述至少一个情绪签名来确定与所述至少一个类别对应的至少一个情绪。
18.如权利要求17所述的系统,其中,还包括用于提取关键词列表的指令,其中,用于从文档中提取关键词列表的指令包括用于以下操作的指令 从所述多个文档的每个文档中提取关键词; 对于每个关键词, 计算该关键词在所述多个文档中的频率f以及包括该关键词的文档的数量N ; 使用相转变公式,基于该关键词在所述多个文档中的频率以及包括该关键词的文档的数量来计算关键词的相关性;以及 当该关键词的相关性超过预定阈值时,将该关键词添加到关键词列表。
19.如权利要求18所述的系统,其中,相转变公式为其中X> I。
N
20.一种存储有被配置为由计算机运行的至少一个程序的计算机可读存储介质,所述至少一个程序包括用于以下操作的指令 接收来自多个文档的文档; 识别文档中的、包括在来自关键词列表中的至少一个关键词的预定距离内的至少一个情绪签名的句子,其中,关键词列表是从所述多个文档中提取的,并且使用相转变公式对关键词列表进行过滤,并且其中,所述至少一个情绪签名对应于该句子中至少一个情绪的表达; 确定与该句子的至少一个关键词对应的至少一个类别,其中,所述至少一个类别被包括在类别列表中,该类别列表是使用关键词列表而生成的;以及 基于所述至少一个情绪签名来确定与所述至少一个类别对应的至少一个情绪。
全文摘要
公开了一种确定在文档中所表达的情绪的系统、存储指令的计算机可读存储介质以及计算机实现的方法。从多个文档接收文档。识别该文档中的、包括在来自关键词列表的至少一个关键词的预定距离内的至少一个情绪签名的句子,其中关键词列表是从多个文档中提取的,并且使用相转变公式对关键词列表进行过滤,并且其中所述至少一个情绪签名对应于该句子中至少一个情绪的表达。确定与该句子的至少一个关键词对应的至少一个类别,其中,至少一个类别被包括在类别列表中,该类别列表是使用关键词列表生成的。基于至少一个情绪签名来确定与至少一个类别对应的至少一个情绪。
文档编号G06K9/72GK102812475SQ201080064703
公开日2012年12月5日 申请日期2010年12月23日 优先权日2009年12月24日
发明者M.杜昂-范 申请人:梅塔瓦纳股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1