从查询日志中挖掘新词用于输入方法编辑器的制作方法

文档序号:6595177阅读:190来源:国知局
专利名称:从查询日志中挖掘新词用于输入方法编辑器的制作方法
从查询日志中挖掘新词用于输入方法编辑器
背景技术
输入方法编辑器(IME)是许多计算机中提供的工具,它帮助用户将数据输入到计算机系统中。然而,在IME内部的各种词和语言模型是固定的,且不能用来帮助用户输入新词(包括诸如姓名的术语),这是经常出现的。尽管直接采用IME来使用新词,定期(例如,每天)自动找出这样的新的且有效的词是个难题。这样的任务需要找出相关新词,而与此同时被自动化。

发明内容
提供本发明内容以便以简化形式介绍将在以下的详细描述中进一步描述的一些代表性概念。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。简言之,此处讨论的主题的各方面针对从查询日志中挖掘新词(包括汉字短语或集)的技术。新词可被添加(或另外补充)到IME辞典中。在一方面,查询日志可以通过市场(例如,中国市场)和/或语言来分隔。从该查询集,仅仅保留频繁查询用于将来处理。将来处理可包括基于长度(例如少于两个或多于八个汉字)过滤掉查询,和/或基于查询中的过多无用词来过滤掉查询。处理也可包括过滤掉作为更大查询的子串的查询,例如,除非子串更好地表达了查询的意思(例如由进程判断)。也描述了基于拼音的聚集和过滤,以及过滤掉辞典中已经处理了的查询。结合附图阅读以下具体实施方式
,本发明的其他优点会变得显而易见。附图简述作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中

图1是示出了从查询日志中挖掘新词以供输入方法编辑器(IME)使用的的示例组件的框图。图2是表示确定要从查询日志中挖掘哪些短语的示例步骤的流程图。图3示出可以将本发明的各方面并入其中的计算环境的说明性示例。
具体实施例方式此处描述的技术的各方面一般指从查询日志数据源获得新短语(或词)以在输入方法编辑器(IME)中使用的机制/方法。尽管此处描述的一些示例针对中文短语/符号(词和字),但应当理解这些只是有用的示例。此处描述的挖掘技术可以用于其他语言,以及为了其他目的。如此,本发明不限于此处所描述的任何特定实施例、方面、概念、结构、功能或示例。相反,此处所描述的实施例、方面、概念、结构、功能或示例中的任一个都是非限制性的,并且本发明一般能够以在计算和数据挖掘方面提供好处和优点的各种方式来使用。转到图1,示出了新词挖掘机制102,其从查询日志数据源104获取新词(包括包含两个或更多汉字的短语)。在一实施例中,已选择的新词被放到IME辞典106中供IME108使用。注意,让IME辞典固定而将新词加入补充辞典是可行的,然而可以理解,图1只是一个可能的实现。如下所述,新词挖掘机制102利用各种过滤算法来移除任何显示在查询中的“噪声”,并且将不添加已经被辞典106适当处理了的词语等。一般而言,一个示例实现通过图2所表示的七个一般步骤来为中文IME自动生成新词。一个合适的数据源104是从诸如Windows Live Search Log的实况搜索生成的查询日志数据。实况搜索日志的范围是每天的数亿事务的数量级。一个实现使用十二个月的查询日志,并通过将十个月的聚集的数据用作训练数据来生成新词并将另两个月的聚集数据作为评估数据集来测试性能,来每天更新新词。对于中文IME实现,将原始查询日志作为输入,在步骤202,根据不同市场(例如, 在中国搜索市场中提交的查询)分隔查询集,仅保留相关市场。使用基于字符集的算法将非中文查询过滤,仅保留中文查询。这些查询由图2余下的示例步骤进行处理,基于训练集提取新词。在下一步骤204,根据频率将查询分类,使得仅考虑足够频繁的查询,即,具有比阈值高的频率的那些查询。也获得了当前IME辞典中的总的短语集,示例算法过滤掉已经在当前IME辞典中的任何查询。步骤206指通过长度过滤和分隔查询。更具体地,在中文查询实现中,查询根据长度分类,以过滤掉长度大于八个汉字或小于两个汉字的查询。注意到使用八这个上限是因为一个当前的中文IME不支持长于八的短语(然而,这个长度可以基于在用的IME适当修改)。使用该下限是因为仅具有一个汉字的查询,一般来说,是含糊的。这个步骤也是步骤 210前的步骤。在步骤208中,考虑在查询集中常有一个或多个无用词(例如英语中的冠词 “the”、代词和介词,中文中的“的、什么、P自、我、你、他”等)的事实来进行无用词过滤。为这样的词或字建立无用词列表。无用词的百分比可以通过以下来计算
V杳询)-#(无用词字) 、#(总字)*log(#总字)可使用阈值百分比来过滤掉任何小于这个阈值的查询,阈值百分比可通过调整来确定。步骤210指子串过滤,其处理移除作为另一较长查询的子串的短查询。在中文中, 例子包括“百度歌”和“百度歌曲”,“音乐排行” “音乐排行榜”。有时候,短查询是由用户不愿向查询中输入整个词所导致,其他时候,这是打字错误,或用户意图的不同表达所导致。可以容易地理解,将串和这些较长串的子串两者添加到新词集中可能导致IME辞典中的重复条目。如此处所述,基于子串的过滤算法检测这样的重复。一个这样的算法通过提取查询对(ql,q2)来运行,其中ql是q2的子串,且q2的长度等于ql的长度加1。那么比例被定义为
R1 二频率M) 一频率(W)
可以使用两个阈值α和β,它们可通过调整来使用。对于Rl < α,因为ql被看作是q2的子串,大部分用户对q2感兴趣,所以算法过滤ql。对于Rl > β,算法把ql看作比q2更受欢迎的查询,从而被看作覆盖q2的主要含义。如步骤212所表示的,基于相同的拼音执行进一步过滤(其中拼音是将中文符号转换为罗马字母的已知机制所导致)。更具体地,日志中有一些查询具有相同的拼音,例子包括“百度”和“摆渡”。中文IME试图对相同拼音中提取新词。为此,使用查询到拼音模型的示例算法首先将查询转换成拼音,并将具有相同拼音的查询群集在一起。在每一个群集中,算法按频率来将查询分类,并保留具有足够高频率的那些查询。在一个当前的实现中, 仅保留在每个群集中的前两个查询,在第二高的频率相对较小的情况下,仅保留这个聚集中的最高一个查询。执行步骤214来检测已经正确的情况。更具体地,一些查询可能通过键入其拼音而在当前的IME引擎中被正确转换了。在步骤214,一个算法实现使用词到拼音模型来首先将查询转换为拼音,并且然后使用拼音到词模型将拼音转换成词。如果查询与已转换的词是相同的(例如,完全相同),不为新词分析来考虑这个查询,因为当前IME引擎已经正确处理了它。以此方式,新词(在中文中对应于两个或更多个字)从用户提交的查询中被挖掘。 通过各种过滤,仅仅挖掘被频繁查询的新词,从而用还不在辞典中的相关词自动更新IME 辞典。示例性操作环境图3示出图1和2的示例可在其上实现的合适计算和联网环境300的示例。计算系统环境300只是合适计算环境的一个示例,而非意在暗示对本发明使用范围或功能有任何限制。也不应该将计算环境300解释为对示例性操作环境300中示出的任一组件或其组合有任何依赖性或要求。本发明可用各种其他通用或专用计算系统环境或配置来操作。适用于本发明的公知计算系统、环境、和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、 组件、数据结构等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。参考图3,用于实现本发明的各方面的示例性系统可包括计算机310形式的通用计算设备。计算机310的组件可以包括但不限于处理单元320、系统存储器330和将包括系统存储器在内的各种系统组件耦合至处理单元321的系统总线320。系统总线321可以是若干类型的总线结构中的任何一种,包括使用各种总线体系结构中的任何一种的存储器总线或存储器控制器、外围总线,以及局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线,以及也称为附加板(Mezzanine)总线的外围组件互连(PCI)
5总线。计算机310通常包括各种计算机可读介质。计算机可读介质可以是能由计算机 310访问的任何可用介质,并包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读的指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不仅限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算机310访问的任何其他介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语 “已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及诸如声学、RF、红外及其它无线介质之类的无线介质。上面各项中的任何项的组合也包括在计算机可读介质的范围内。系统存储器330包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM) 331和随机存取存储器(RAM) 332。基本输入/输出系统333 ¢10 包括如在启动时帮助在计算机310内的元件之间传输信息的基本例程,它通常储存在ROM 331中。 RAM 332通常包含处理单元320可以立即访问和/或目前正在操作的数据和/或程序模块。 作为示例而非限制,图3示出了操作系统334、应用程序335、其他程序模块336和程序数据 337。计算机310还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图3示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器 341,从可移动、非易失性磁盘352中读取或向其写入的磁盘驱动器351,以及从诸如⑶ROM 或其他光学介质等可移动、非易失性光盘356中读取或向其写入的光盘驱动器355。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器341通常由不可移动存储器接口,诸如接口 340连接至系统总线321,磁盘驱动器351和光盘驱动器355通常由可移动存储器接口,诸如接口 350连接至系统总线321。以上描述并在图3中示出的驱动器及其相关联的计算机存储介质为计算机310提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图3中,硬盘驱动器341被示为存储操作系统344、应用程序345、其他程序模块346和程序数据347。注意, 这些组件可以与操作系统334、应用程序335、其他程序模块336和程序数据337相同,也可以与它们不同。操作系统344、应用程序345、其他程序模块346和程序数据347在这里被标注了不同的附图标记是为了说明至少它们是不同的副本。用户可通过诸如平板或电子数字化仪364、话筒363、键盘362和定点设备361 (通常指的是鼠标、跟踪球或触摸垫)等输入设备向计算机310输入命令和信息。图3中未示出的其他输入设备可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常由耦合至系统总线的用户输入接口 360连接至处理单元320,但也可以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB),来连接。监视器391或其他类型的显示设备也经由接口,诸如视频接口 390,连接至系统总线321。监视器391也可以与触摸屏面板等集成。注意,监视器和/ 或触摸屏面板可以在物理上耦合至其中包括计算设备310的外壳,诸如在平板型个人计算机中。此外,诸如计算设备310等计算机还可以包括其他外围输出设备,诸如扬声器395和打印机396,它们可以通过输出外围接口 394等连接。计算机310可使用至一个或多个远程计算机,诸如远程计算机380的逻辑连接在网络化环境中操作。远程计算机380可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括许多或所有以上关于计算机310所描述的元件,尽管在图3中仅示出了存储器存储设备381。图3中所示的逻辑连接包括一个或多个局域网 (LAN) 371和一个或多个广域网(WAN) 373,但也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。当在LAN联网环境中使用时,计算机310通过网络接口或适配器370连接至LAN 371。当在WAN联网环境中使用时,计算机310通常包括调制解调器372或用于通过诸如因特网等WAN 373建立通信的其他装置。可为内置或可为外置的调制解调器372可以经由用户输入接口 360或其他合适的机制连接至系统总线321。诸如包括接口和天线的无线联网组件374可以通过诸如接入点或对等计算机等合适的设备耦合到WAN或LAN。在网络化环境中,相对于计算机310所描述的程序模块或其部分可被存储在远程存储器存储设备中。 作为示例而非限制,图3示出远程应用程序385驻留在存储器设备381上。可以理解,所示的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其他手段。辅助子系统399(例如,用于内容的辅助显示)可经由用户接口 360连接,从而即使计算机系统的主要部分处于低功率状态中,也允许诸如程序内容、系统状态和事件通知等数据被提供给用户。辅助子系统399可连接至调制解调器372和/或网络接口 370,从而在主处理单元320处于低功率状态中时,也允许在这些系统之间进行通信。结论尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。
权利要求
1.在计算环境中,一种方法包括,处理查询的日志(104)以获取新词,包括在从所述日志获取的查询集中过滤掉(204,212)不频繁的查询,并除去(204,214)对应于不是新的词的任何查询。
2.如权利要求1所述的方法,其特征在于,还包括,通过基于市场,或基于语言,或基于市场和语言两者,将日志分隔成查询集来获取所述集。
3.如权利要求1所述的方法,其特征在于,还包括,基于每个查询的长度过滤掉查询。
4.如权利要求3所述的方法,其特征在于,所述查询包括汉字,且其中基于长度过滤掉查询包括过滤掉对应于少于两个汉字的查询,或过滤掉对应于多于八个汉字的查询,或既过滤掉对应于少于两个汉字的查询又过滤掉对应于多于八个汉字的查询。
5.如权利要求1所述的方法,其特征在于,还包括,过滤掉作为较大查询的子串的至少一个查询。
6.如权利要求1所述的方法,其特征在于,还包括,当串的子串代表了所述串时,过滤掉包括所述串的至少一个查询。
7.如权利要求1所述的方法,其特征在于,还包括,基于在至少一个查询中的无用词的计算过滤掉所述至少一个查询。
8.如权利要求1所述的方法,其特征在于,还包括,将查询群集为对应于相同拼音的群集,并基于所述群集中的低频率过滤掉查询。
9.在具有查询日志(104)计算环境中,一种系统包括,输入方法编辑器(108),以及新词挖掘机制(102),所述新词挖掘机制向所述输入方法编辑器的辞典提供新词,包括通过处理来自所述查询日志的查询并丢弃已经被所述输入方法编辑器通过所述辞典处理了的词。
10.如权利要求9所述的系统,其特征在于,所述查询对应于汉字,且其中所述新词挖掘机制过滤掉少于两个汉字的查询,和多于所述输入方法编辑器的限制的汉字的查询。
11.如权利要求9所述的系统,其特征在于,所述新词挖掘机制评估作为较大串的子串的词,以确定是将所述子串作为代替所述串的新词包括在所述辞典中,还是将所述串代替子串包含在所述辞典中。
12.如权利要求9所述的系统,其特征在于,所述新词挖掘机制基于查询中的无用词执行过滤,或基于具有相同拼音的词执行过滤,或既基于查询中的无用词执行过滤又基于具有相同拼音的词执行过滤。
13.—个或多个具有计算机可执行指令的计算机可读介质,被执行时,进行以下步骤, 包括处理一组(104)中文语言查询以获取新词,包括过滤掉(204)从所述日志中获取的查询集中不频繁的查询,并过滤掉(206)少于两个汉字的查询。
14.如权利要求13所述的一个或多个计算机可读介质,还具有计算机可执行指令,包括过滤掉作为不是新词的较大查询的子串的至少一个查询。
15.权利要求13所述的一个或多个计算机可读介质,还具有计算机可执行指令,包括 过滤掉在基于拼音群集进行群集的群集中具有低频率的查询。
全文摘要
本文描述从查询日志中挖掘新词(包括汉字短语或集合)的技术。新词可被添加(或另外补充)到IME辞典中。基于市场(例如,中国市场)和/或通过语言来从日志中选择候选查询集。从这个集中,执行各过滤步骤以仅定位频繁使用的新词。例如,仅保留频繁查询用于将来处理,将来处理可包括基于长度(例如少于两个或多于八个汉字)过滤掉查询,和/或基于查询中的过多无用词来过滤掉查询。处理也可包括过滤掉作为较大查询的子串的查询,反之亦然。也描述了基于拼音的聚集和过滤,以及过滤掉辞典中已经处理了的查询。
文档编号G06F17/00GK102171683SQ200980139988
公开日2011年8月31日 申请日期2009年10月4日 优先权日2008年10月3日
发明者D·李, L·局, Q·X·李, W·陈, Z·范, Z·陈 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1