语言数据日志的压缩的制作方法

文档序号:6539378阅读:133来源:国知局
专利名称:语言数据日志的压缩的制作方法
技术领域
本发明涉及计算机化的自然语言数据日志,尤其涉及用于浓缩计算机化的自然语言数据日志的方法和系统。
背景技术
如此处所使用的,语言数据日志包括由人们生成的两个或多个语言串。这些日志可以在各种环境中生成。例如,这类日志可以在一个或多个用户试图与大规模数据集合交互的环境中生成。这一环境的一个具体示例是用户生成帮助查询以找出关于计算机系统的帮助主题。例如,一个这样的查询可包括“我如何安装打印机”。另一示例可以是“我如何配置我的计算机上的防火墙”。
存在上百万个实际用户查询的日志,并可由系统制造商用作关于用户帮助需求/目标和其表达或语言倾向之间的关系的信息的有价值的来源。当查询以定义的系统任务指示符与用户兴趣相关联时,这些日志可用于训练统计查询分类器,用于下一代帮助服务。另外,可以在这类日志寻找关于应当被添加的帮助任务的思想的详细资料。最后,给定日志的实际语义/大小或增值的“真实”或有用的实际大小,或原理测量较佳地可以通过对归一化形式计数而非原始查询串的计数来确定。
当计算机系统变得越来越大且特征越来越丰富时,提供一种有效且直观的帮助系统变得越来越重要。然而,可陈述给定查询的多种不同方法的显著的复杂性,加上当今的计算机系统中提供的大量附加特征和功能,意味着自然语言查询日志可包括上百万个这样的查询。当然,基于这些大日志手动读完并训练查询搜索引擎将是极其耗时的。然而,日志中的每一查询表示对增强搜索准确度有用的重要数据。简单地丢弃日志中的各别查询来生成更可管理的大小是不合需要的。
提供一种便于操纵大规模自然语言数据日志,如查询日志的系统和方法在本领域中是有用的。此外,如果这样操纵可以用维持这些查询的语言意义,而仍缩小了这些自然语言数据日志的巨大尺寸的方式来完成,则将是十分有益的。

发明内容
提供了一种用于压缩查询日志的方法和装置。多层用户可指定压缩包括基于字符的压缩、基于语言符号(token)的压缩和归类。也提供了一种用于执行归类的有效方法。压缩的查询日志然后用于训练一统计过程,如用于计算机操作系统的帮助功能。


图1是用于实施本发明的实施例的合适的计算环境的图示。
图2是依照本发明的一个实施例用于压缩查询日志的系统的图示。
图3是依照本发明的一个实施例自动训练统计过程的方法的流程图。
图4是依照本发明的一个实施例执行归类的方法的流程图。
具体实施例方式
图1示出了适合在其中实现本发明的计算系统环境100的一个示例。计算系统环境100仅为合适的计算环境的一个示例,并非暗示对本发明的使用范围或功能的局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有依赖或需求。
本发明可以使用众多其它通用或专用计算系统环境或配置来操作。适合使用本发明的众所周知的计算系统、环境和/或配置包括但不限于个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
本发明可在诸如由计算机执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中,包括存储器存储设备。
参考图1,用于实现本发明的示例系统包括常规计算机110形式的通用计算装置。计算机110的组件可包括但不限于,中央处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。
系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任一可用介质,包括易失和非易失介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失和非易失,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介质通常在诸如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器130包括以易失和/或非易失存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失/非易失计算机存储介质。仅作示例,图1示出了对不可移动、非易失磁介质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151以及对可移动、非易失光盘156,如CD ROM或其它光介质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失/非易失计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
图1讨论并示出的驱动器及其关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。
用户可以通过输入设备,如键盘162、麦克风163和定位设备161(如鼠标、跟踪球或触摸板)向计算机110输入命令和信息。其它输入设备(未示出)可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除监视器之外,计算机也可包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口190连接。
计算机110可以在使用到一个或多个远程计算机,如远程计算机180的逻辑连接的网络化环境中操作。远程计算机180可以是个人计算机、手持式设备、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有上述与计算机110相关的元件。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它装置,用于通过WAN 173,如因特网建立通信。调制解调器172可以是内置或外置的,通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,描述的与计算机110相关的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出应用程序185驻留在远程计算机180上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
依照本发明的实施例的一个主要方面,提供了一原始查询日志300作为压缩模块302的输入。压缩模块较佳地在上述计算系统上实施,但是也可以用任一合适的方式来实施,包括硬件、软件或两者的组合。压缩模块302适用于在原始查询日志300上执行一个或多个查询日志压缩操作,以生成压缩的查询日志304。查询日志压缩操作在下文中更详细地描述。为便于说明,依照它们所提供的压缩程度对查询日志压缩操作进行分类。较佳地,有三种操作员可指定的压缩级别低、中和高。
压缩模块302可以用能够执行下文描述的一个或多个查询日志压缩操作的任何系统来实施。因此,压缩模块302可以是如上所述的计算机硬件、用任一合适的编程语言实施的计算机软件、或两者的组合。图2也示出了虚线306以说明压缩的查询日志304可以被反馈到压缩模块302,以多次压缩日志。
图3是依照本发明的一个实施例训练统计过程的方法的流程图。该方法在块350开始,获取原始查询日志,如查询日志300。在块352,一次或多次压缩原始查询日志,以生成经压缩的查询日志,如经压缩的查询日志304。经压缩的查询日志然后在块354中用于训练统计过程。用于训练统计过程的实际方法和计数可以是本领域中所示的任一合适的方法和计数。
如上所述,各个查询日志操作依照压缩的程度较佳地被分类成三个级别。以下清单是示例性的,并非意味着限制本发明的实施例。
低压缩操作通常是基于字符的。这类操作包括大小写归一化(casenormalization)、移除稀少的符号、将变化的空白间隔归一化成空格、检查完全不使用的输入等等。在日志中的每一查询上执行一个操作。一旦在至少相当多的(较佳地为所有)查询上执行了操作,执行一匹配操作以确定是否有任何归一化的查询彼此匹配,由此允许这些匹配查询之一从日志中移除。
归一化大小写是将给定查询的所有字符变成特定大小写的操作,如“InstallPrinter”转换成“install printer”。移除稀少符号的一个示例是,诸如“§204”等输入文本转换成“section 204””。将变化空白间隔归一化为空格是诸如“Windows98”等查询变换成“Windows 98”的操作。最后,检查无用输入仅仅是诸如“acxpt;24”等无用信息被简单地舍弃。
中压缩操作用于移除非常频繁的语法功能单词、检测和归一化频繁概念的不同拼写或措词、将同义词合并成单个规范语义词语、尝试拼写纠正、将屈折的单词缩减成其语言基本形式、以及对每一查询中的词语语言符号进行排序。这些操作通常不是基于字符的,而是相反基于单词的。这些操作较佳地使用已知的拼写、辞典和自然语言处理技术来识别和标准化各别查询中的单词。例如,“How do I get ridof firewalls in Win 98?”的输入查询将被归一化成“<firewall><remove><WIN_98>”。如可以见到的,单词“How do I get”、“of”和“in”作为语法功能单词被舍弃。单词“rid”被合并成单个规范语义词语<REMOVE>,“Win 98”被标准化为<WIN_98>。再一次,一旦向至少某些(较佳地为所有)查询应用了中压缩操作,执行一匹配操作以确定是否有任何中压缩查询相互匹配,由此允许从日志中移除这些匹配查询之一。
最高程度的查询日志压缩在此被称为归类。这是以下过程扫描或处理各个查询,以在以下意义上识别相似度可以估计一对查询之间的单个单词差异,以确定单个单词改变查询意义的程度。在附加单词的意义仅对查询添加了相对较少的意义的情况下,附加单词可被舍弃,并且该查询对可以通过省略附加被折叠成单个查询。这不是一个平凡的过程。本质上,归类过程检查整个日志中作为某些其它查询的超串(super string)的查询。如果额外的资料被认为是统计上不相关的,给定子串的归一化形式将作为该超串的归一化形式。例如,以下两个查询将以下述方式来归类。
“Change mouse speed”“Change mouse click speed”如可以见到的,后者是前者的超串,并且如果通过对整个日志词汇表的全局检查可以确定单词“click”在统计上不可能区分两个单独的意向,则后者可被合并成单个查询束。换言之,通过首先找出有微小差别(可能只有一个单词的差别)的两个查询,然后判断一个单词差别可能基于诸如自然语言处理等的“重要性”,来对单词进行归类。
尽管前两个级别的查询日志压缩一般在个别、隔离的查询上操作,然而归类可包括整个查询日志上(可能有上百万个查询)的两遍或多遍。在应用了隔离每一查询的归一化操作之后,有时候可能使用归类来将较长、有较完善单词的查询与较简单、但是功能上等效的配对物相合并。例如,四单词查询“change mouse pointericon”和三单词查询“change mouse pointer”有效地等效,并且较长的那一个可以被归一化成较短的那一个(并随后与其“捆扎”在一起),而不会有操作上的损失或意义上的重大改变。这一归类过程与简单地保持一个将诸如“icon”等总是可以在没有可观损失的情况下被删除的单词列表相同,因为“icon”是冗余,一般不是真实的。归类的比较特性意味着有一证明,它通常基于语言处理,以有效地忽略可在日志中别处找到的较短形式的实际(已压缩)查询形式的单词。在这样的情况下该额外单词(“icon”)将被称为额外形式。
对于帮助和支持中心查询日志,在执行了相对于低和中压缩操作提到的每一查询被隔离的压缩步骤之后,在可能时将给定长度(如,长度5)的所有查询的已压缩形式与长度4的查询进行比较并在其中归类。然后,在可能时将长度4查询的集合与长度3查询进行比较(在其中归类)。该过程对特定域的日志文件停止,但是原理上可以从大于5的长度的查询开始,并止于小于3的长度的查询。
强健形式的归类本质上是绝对的。由此,只要在N单词查询和(N-1)单词查询之间存在一个单词的区别,则假定一归类关系,并较长查询总是完成与其较短配对物的捆扎。依照一个实施例,一种有更多细微差别形式的归类由词汇特征来引导。例如,当查询有一个单词的区别,但是该单词由字典查找显示为是动词,并且该动词不是任何预先存在的词语的同义词(不像例如“change(改变)”和“modify(修改)”),则阻止归类,因为“erase hard disk(删除硬盘)”和“recover hard disk(恢复硬盘)”实际上是不同的。同样地,如果在任何控制词汇中存在额外词语(例如,Windows系统组件的清单),则阻止归类。如果不能应用任何绝对的阻止条件,则可统计上引导一最终判断。非常频繁的单词不可能是区分符,因此应用归类一般遵循额外词语频率的阈值规则。
不论应用阻止过滤器的方法如何,当将例如每一长度为5的查询与所有长度为4的查询进行比较时,应当有效地完成识别“额外”词语的过程。无论是在字符级(如在拼写纠正时将两个单词逐字母地比较)还是在语言符号级(如将两个短语逐单词地比较),两个串之间的简单比较被称为“编辑距离”。当两个查询串的语言符号比较的编辑距离恰巧为1时,这意味着仅识别了一个语言符号距离,并因此归类是可能的。较佳地,在归类过程前按照单词语言符号来对查询串进行排序,作为普通归一化过程的一部分,这样排序较佳地是对编辑距离计算的预调节。由于当应用于可能包含上百万个查询的日志时编辑距离计算会需要非常大的计算强度,因此归类较佳地采用一快捷操作。具体地,对于归类,仅当对要比较的两个串在原则上会出现一个距离时才尝试全编辑距离计算。因此,使用在所有的“短”串上按其第一和第二个语言符号单词上的索引来生成对可能一个距离比较的重新检查。
图4是在N+1单词串和N单词串之间有效地、选择性地执行全编辑距离比较的方法的图示。该方法始于块400,依照其第一和第二个语言符号索引所有N个单词查询。单词是语言符号的示例,然而,如此处所使用的,语言符号可以被认为是对人们具有语言意义的字符的任何分组。然而,为描述的清晰性,一般使用“单词”来说明本发明的实施例,尽管本领域的技术人员将认识到,本发明的实施例可以用任何语言中的任何形式的语言符号来实施。索引N个语言符号查询的步骤是可任选的,因为该方法可以在每次尝试匹配时,通过对照“较长”候选者顺序地检查每一比较列表条目(每一“较短”串)的前两个语言符号来执行。然而,索引节省了大量的时间,并由此是较佳的。一旦索引了所有N个单词查询,块402通过试图将N+1单词串预索引的列表进行比较来执行。
一旦定位了N单词索引中的匹配串,或者确定了这样匹配N单词查询的位置,则块404确定是否存在不可能条件(IC)。如果较短的查询的第一个语言符号不同于较长查询的第一个语言符号,并且较短查询的第二个语言符号不同于较长查询的第二个语言符号,则存在不可能条件,并且控制沿线406传递到块408。在块408,选择下一N+1单词查询,并且该过程通过经由线410返回到块402重复。然而,如果不存在不可能条件,则控制沿线412传递到块414,计算N+1单词查询和N单词查询之间的全编辑距离。实现不可能条件检查基于测试将无用的全编辑距离比较操作消减了大约50%。一旦在块414完成了编辑距离计算,在块416识别额外单词,并在块418采用合适的处理,如统计处理和/或语言处理来确定该额外单词是可被舍弃还是应当被保留。
不可能条件将阻止全编辑距离计算的情况的一个示例在以下示例中说明。首先,语言符号预排序的示例如下“Help setup new personal secure user account.”“Setup new personal secure user computer work station.”这些语言符号在归类过程之前被排序,比较如下“Account help new personal secure setup user.”“Computer new personal secure user work station.”如上所示,在归类前的排序语言符号的过程本质上按字母顺序重新排序每一单词。如上所示,两个查询串的前两个单词都是不同的,因此不可能条件将阻止编辑距离算法的全测试。
本发明的实施例可用于将大查询日志压缩成不同级别的压缩。这允许通过缩减本质上重复和/或无关的查询数量与每一查询的意义更有效地交互。
尽管参考具体实施例描述了本发明,然而本领域的技术人员将认识到,可以在不脱离本发明的精神和范围的情况下在形式和细节上作出改变。
权利要求
1.一种压缩语言数据日志的方法,所述日志具有多个语言串,每一串包括至少两个语言符号,其特征在于,所述方法包括向每一串应用一压缩操作;在所述压缩操作之后确定任意两个串是否相互匹配;以及从所述日志中移除所述两个匹配串中的一个。
2.如权利要求1所述的方法,其特征在于,所述日志是查询日志。
3.如权利要求2所述的方法,其特征在于,所述查询是与帮助功能有关的查询。
4.如权利要求3所述的方法,其特征在于,所述与帮助有关的查询是与计算机系统有关的。
5.如权利要求1所述的方法,其特征在于,所述压缩操作是基于字符的。
6.如权利要求1所述的方法,其特征在于,所述压缩操作是基于语言符号的。
7.如权利要求1所述的方法,其特征在于,所述压缩操作是归类。
8.如权利要求7所述的方法,其特征在于,所述归类包括应用一不可能条件来选择性地计算编辑距离。
9.如权利要求1所述的方法,其特征在于,它还包括向每一串应用第二压缩操作;在所述第二压缩操作之后确定任意两个串是否相互匹配;以及从所述日志中移除所述两个匹配串中的一个。
10.如权利要求9所述的方法,其特征在于,所述第一压缩操作是基于字符的,而所述第二压缩操作是基于语言符号的。
11.如权利要求10所述的方法,其特征在于,它还包括在所述第二压缩操作完成之后应用归类。
12.如权利要求11所述的方法,其特征在于,对所述日志重复所述归类操作。
13.如权利要求1所述的方法,其特征在于,它还包括用所压缩的日志训练一统计过程。
14.一种用于压缩具有多个语言串的查询日志的系统,每一串具有多个语言符号,其特征在于,所述系统包括用于接收原始查询日志的输入;用于储存所述原始查询日志的存储器;处理器,用于向每一串应用至少一个压缩操作,并用于扫描所修改的串以确定是否有任何串相互匹配,使得匹配的串中的一个可以被移除;以及用于一旦移除完成就提供经压缩的查询日志的输出。
15.如权利要求14所述的系统,其特征在于,所述查询是与帮助功能有关的查询。
16.如权利要求15所述的系统,其特征在于,与帮助有关的查询是与计算机系统有关的。
17.如权利要求14所述的系统,其特征在于,至少一个压缩操作是基于字符的。
18.如权利要求14所述的系统,其特征在于,至少一个压缩操作是基于语言符号的。
19.如权利要求14所述的系统,其特征在于,至少一个压缩操作包括归类。
20.如权利要求19所述的系统,其特征在于,归类包括应用一不可能条件来选择性地计算编辑距离。
21.如权利要求14所述的系统,其特征在于,它还包括向每一串应用至少一个第二压缩操作;在所述第二压缩操作之后确定任意两个串是否相互匹配;以及从所述日志中移除所述两个匹配串中的一个。
22.如权利要求21所述的系统,其特征在于,所述第一压缩操作是基于字符的,而所述第二压缩操作是基于语言符号的。
23.如权利要求22所述的系统,其特征在于,它还包括在所述第二压缩操作完成之后应用归类。
24.如权利要求23所述的系统,其特征在于,对所述日志重复所述归类操作。
25.如权利要求14所述的系统,其特征在于,它还包括用所压缩的日志训练一统计过程。
全文摘要
提供了一种用于压缩查询日志的方法和装置。多级用户可指定的压缩包括基于字符的压缩、基于语言符号的压缩和归类。也提供了一种用于执行的有效方法。经压缩的查询日志然后用于训练一统计过程,如用于计算机操作系统的帮助功能。
文档编号G06F12/00GK1667614SQ20051005453
公开日2005年9月14日 申请日期2005年3月9日 优先权日2004年3月9日
发明者H·-W·洪, P·F·伦纳德, S·E·梅利迪斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1