CN106233375A - 基于众包的用户文本输入从头开始学习语言模型 - Google Patents

基于众包的用户文本输入从头开始学习语言模型 Download PDF

Info

Publication number
CN106233375A
CN106233375A CN201580021809.5A CN201580021809A CN106233375A CN 106233375 A CN106233375 A CN 106233375A CN 201580021809 A CN201580021809 A CN 201580021809A CN 106233375 A CN106233375 A CN 106233375A
Authority
CN
China
Prior art keywords
language
word
user
language model
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201580021809.5A
Other languages
English (en)
Inventor
伊森·R·巴福德
西蒙·克斯顿
唐尼·马凯瑞
莱恩·N·克罗斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nuance Communications Inc
Original Assignee
Nuance Communications Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nuance Communications Inc filed Critical Nuance Communications Inc
Publication of CN106233375A publication Critical patent/CN106233375A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/53Processing of non-Latin text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

基于集聚和分析来自语言的多个用户的文本输入,从头开始开发用于语言识别系统的语言模型的技术被描述。该技术允许用户选择语言,并且如果没有现有的语言模型可用于所选择的语言,则为所选择的语言提供新的语言模型,监控和收集关于所选择的语言中的单词的使用的信息,组合从所选择语言的多个用户处收集的信息,以及基于来自所选择的语言的多个用户处的组合的信息来更新用户的语言模型。

Description

基于众包的用户文本输入从头开始学习语言模型
背景技术
随着电子装置变得日益广泛和复杂,在世界各地的这种装置的用户以各种语言输入文本。各种各样的语言识别系统被设计成使用户能够使用输入的一个或多个模式(例如,文本、语音,和/或手写)以在这样的装置上输入文本。对于支持的语言,语言识别系统通常提供预测的特征,其建议单词补全、修正,和/或可能的接下来的单词。
语言识别系统通常依赖于特定语言的一个或多个语言模型,其包含各种信息,以帮助语言识别系统识别或产生那些语言。这样的信息典型地是基于特定语言的文本的广泛的语料库的统计语言分析。它可以包括,例如,单个的单词(一个单词)的列表,和它们在语言中使用的相对频率,以及单词对(两个单词)的频率,三个单词(triplet,三个单词)的频率,以及语言中的高阶的n个单词(n-gram)。例如,包括两个单词的英语的语言模型会指示单词“度”之后将会跟随“华氏”的很高的可能性,以及在其之后跟随“外国人”的很小的可能性。在一般情况下,语言识别系统依赖这样的语言模型-一个或多个用于每个支持的语言-以提供基于由用户执行的输入行动可由系统生成的文本对象的词典,以及将用户执行的输入行动映射到在词典中的一个或多个文本对象。因此,语言模型能够使得语言识别系统执行用于用户的文本条目的下一个单词的预测。
一旦用于一种语言的语言模型已经被开发并被提供给用户,语言识别系统通常允许用户构建或训练他们的本地语言模型,以根据他们个人的词汇使用,能够在那种语言中识别更多的单词。因此,该语言识别系统可以改善其针对特定用户的基准预测能力。
附图说明
图1示出了一些部件的框图,其典型地被包括在至少一些能够在其上实现技术的计算机系统和其它装置中。
图2是说明该技术可以被利用的计算环境的示例的系统图。
图3是示出了用于识别语言并向用户提供新的语言模型的一组操作的流程图。
图4是示出了基于众包多个用户的语言模型事件的用于建立语言模型的一组操作的流程图。
图5是示出了基于由多个用户输入的文本的语言模型更新的示例的示意图。
图6是示出了用户装置和语言表的样本内容的表格图。
具体实施例
本文提供的的标题仅为方便起见,并不必然影响所要求保护的发明的范围或含义。
概述
语言模型已经开发了几十种世界主要语言,其中包括,例如,英语、法语和中文。在理想的世界中,对于世界中的每一种语言,语言模型在用户的电子装置上将是可获得的。但是,语言学家估计,超过七千种语言在世界各地被使用。对于绝大多数的语言,语言模型还没有被开发;这些语言因此尚未被传统的语言识别系统所支持。
在语言识别系统的领域,支持更多的语言是潜在的有价值的市场区分。除了向使用该语言的群体提供支持特定的语言的直接的效用,所支持的语言的总数是简单的,易于比较的指标。通过支持以前可能不被支持的语言,公司(例如,语音识别软件供应商、计算机制造商,或移动电话运营商)可以声称能提供最广泛的语言支持,可以为地方人口服务,可以为终端用户创造产品兴趣,可以打开新的市场,能够吸引特定人群的媒体关注。
存在多种常规的方法用于创建新的语言模型。第一个是,对于某种语言,其大量代表性的写作通过因特网是可以获得的,则收集和分析写作的语料库。这种分析可能包括,例如,计算常用的单词和n-grams;对单词分类;以及检测和消除不敬的言语和/或其它不希望的词汇。
另一种创建新的语言模型的广泛使用的常规方法是找到具有语言天赋的本地人,来确定普遍使用的和有用的单词,找到或生成代表性的文本语料库,并且对可能常用的单词的列表进行细化。
而另一种获得新的语言的语言模型的常规的方法是从某人处购买字典,该人已经做出必要的努力来创建该语言模型;额外的验证和细化也可能是需要的。
发明人已经认识到,为语言识别系统提供新的语言模型支持的传统的方法具有显著的缺点,特别是在少数民族语言的上下文中。例如,在网络上存在的大多数语言的语言模型已经被开发出来。对于其他语言,可能很难在网络上找到文本的语料库,更不用说具有相当规模的语料库用于生成语言模型。例如,通过使用非拉丁字母语言的拉丁字母音译的非正式的消息是一个普遍的现象。但是,因为这样的消息是非正式的,很难找到它们的大量的语料库进行分析。甚至可能是更困难的是要排除高技术含量的、粗俗的,和拼错的单词(除其它不希望的数据以外),以及限制数据分析(例如,单词的和n-grams频率)为文本,该文本很可能代表具有语言识别系统的电子装置的用户所期望的输入。因此,网络写作分析法对于特定的语言可能是无法获得的、不可行的或不可靠的。
通过当地人的帮助手动生成某一语言的单词列表的做法具有劳动密集并需要具有语言天赋的当地人以定位或生成和分析包括单词列表和计数的当地的文本语料库的缺点。为了少数民族语言雇佣语言专家也是很困难的。即使这种资源是可用的,雇佣专家来开发用于先前不支持的语言的字典和相关的语言模型数据可以是非常昂贵和费时的。对于具有少数人说的语言,该费用可能会超过潜在的投资的回报。同样地,从已经做出努力的某人处买字典可能不是经济上可行的。
在语言识别系统的语言模型的领域外的更广泛的情况中,志愿者已经投入了时间和资源来发展通用的开源字典项目,如维基和OpenOffice拼写检查字典。但是,参与这样的字典编纂项目需要较高水平的动机、空闲时间和技术技能(例如,编辑拼写检查检查词汇文件)。这些因素创造了这些项目中的志愿者参与的较高障碍;其结果是,只有少数执着的人投身到这项工作中。因此,如同通过当地人的帮助手动生成某一语言的单词列表的做法一样,开源的志愿者驱动的方法是劳动密集和费时的。此外,可能无法依靠合格的志愿者的存在、参与和奉献以系统地编辑用于特定语言的字典文件。
鉴于为语言识别系统提供新的语言模型支持的常规方法的缺点,特别是在少数民族语言具有数量有限的当地人的情况下,本发明人已经认识到一个新的方法来开发语言模型,其是更普遍适用的、更便宜的,并且更方便的,将具有显著效用。
现在将描述基于捕获由多个用户使用将被支持的语言在电子装置上输入的文本,从头开始为语言识别系统建立语言模型的技术。该技术基于众包的语言使用的分析建立了词汇资源。其允许对那些词汇资源进行整合,并提供给大量的说世界上的语言的人,在那些国家,这些资源可能是无法获得的。
通过为新的目标语言收集单词和频率计数,基于与所期望的语言模型的发展和应用直接相关的现实世界的语言使用,该技术极大地提高了为任何活跃使用的语言生成新的语言模型的能力。
允许用户识别没有语言模型的语言
技术允许用户用某一语言输入文本,该语言没有预先存在的语言模型或单词列表使得语言识别系统可以从中为用户预测单词。在一些实现方式中,该技术需要用户识别被使用的语言。在一些实现方式中,技术提示用户在语言模型已经被开发的已识别的语言中选择,并且也允许用户指定新的语言,通过从一组目标语言中进行选择,或通过自己定义语言名称。例如,该技术可以允许用户通过下拉列表从语言的菜单中选择语言。
该技术可以允许用户选择一种(还)没有存在在这样的选择列表中的语言,通过键入或以其他方式在形式自由的文本区域中输入语言名称。在一些实现方式中,该技术提醒用户,语言选择是新的,其预测特征(例如,拼写纠错)在所选择的语言中还没有完全被支持,和/或该用户的文字输入将有助于为选择的语言开发语言模型。在一些实现方式中,该技术允许用户选择一种语言,但选择退出众包(共享有关用户的语言使用的信息和/或基于其它用户的语言使用接收更新),例如,使得用户可以单独在用户的装置上保持自定义单词添加。
自动语言检测
在一些实现方式中,该技术识别或帮助用户来识别选择的语言。例如,该技术可以使用用户或电子装置的定位信息以及关于在那个位置或周围所说的语言的信息,以建议可能与在那个位置的用户相关联的语言。在一些实现方式中,该技术分析文本输入以识别特性,其可能指示用户正在用特定的语言打字,尽管那个语言的完整的语言模型尚未被开发。当这样的特性被识别时,该技术可能建议用户选择识别他们的输入作为采用特定的语言的输入。在某些实现方式中,该技术识别语言,而不需要用户识别其输入作为采用特定语言的输入,从而最大限度地减少给用户的负担。这样的识别可以是基于,例如,所使用的单词的和n-grams的普通群集、单词的频率、键盘的选择,和/或用户的输入的其他特性。该技术可以集中使用相同或相似的语言的用户,即使用户没有特别选择的所使用的语言,或者如果用户已经错误地识别了所使用的语言。例如,他加禄语(菲律宾语)是菲律宾的国家语言,而宿务语是是在菲律宾大约二千万人使用的另一种语言。该技术可识别键盘被设置为他加禄语,但实际上键入宿务语的人(用户是否,例如,不肯定地选择了一种语言,选择他加禄语,或选择英语),并且提供适当的语言模型。
鼓励相同语言的选择
一些用户可能输入不同的名称或术语,以识别特定的语言。在一些实现方式中,该技术引导或鼓励用户为每种语言选择相同的名称,以便尽可能多的用户能够对相同的语言模型的开发做出贡献。例如,该技术可以引导用户以优先级的顺序选择具有现有的语言模型的语言的名称、具有开发的语言模型的语言的名称(例如,一个单词列表发展作为用户利用该技术的结果),或没有可用的语言模型的一种语言的标准化名称。例如,民族语言,由SIL国际出版,提供了世界的语言的标准化列表。
在一些实现方式中,该技术引导用户使用语言的英语名称。例如,芬兰的语言可以被列为“芬兰语”,而不是“苏奥米”。在一些实现方式中,该技术显示语言的本地名称以便于该语言的用户识别(在许多语言中,语言的名称仅仅是单词“语言”,例如,说毛利语的人称毛利语为“Te Reo”(“这种语言”))。在一些实现方式中,该技术列出在电子装置的本地语言中的语言,例如,对于在美国提供的装置使用英语,或对于在日本提供的装置使用日语。
在一些实现方式中,该技术可识别或利用语言的替代名称。例如,宿务语也可称为Binisaya或Visayan。该技术可识别宿务语的所有三个名称。在一些实现方式中,该技术向用户显示用于一种语言的替代名称,以验证所选择的语言是用户想要的语言,或者允许用户从列表中选择语言名称。在一些实现方式中,该技术识别语言的至少英语和本地名称。在一些实现方式中,该技术修正拼写错误或以其他方式调整由用户提供的语言的非标准名称,或询问用户类似的标准的名称是否是实际上想要的。在一些实现方式中,该技术提示选择新的语言的用户提供替代的语言名称和/或语言的描述或其通常被使用的地区。该技术可以建立语言和从已知的语言名称变体的方言名称的表格,例如来自民族语和当选择新的语言时来自提供替代名称的用户。
连接相关的语言和语言名称
由于各种原因,用户可能希望使用语言的不同的名称。例如,加泰罗尼亚语和瓦伦西亚语共享共同的词汇。相互理解的方言可以同样地使用全部的,或几乎全部的语言的共同的单词。该技术可以对不同的语言名称进行交叉结合以共享相同的名称列表。通过允许用户共享一个语言模型(或语言模型的一部分),该技术可更有效地开发语言模型。该技术还可以通过分析单词列表和识别在其单词频率分布中显著重叠的语言和方言来增加这种关于相关的语言的共享。在一些实现方式中,该技术允许相关的语言使用共享单词的词典以及分离出具有语言特异性的术语的单独的列表。例如,通常互相理解的不同的挪威语方言对于代词“我们”使用不同的单词。该技术可识别并共享所有方言都使用的单词,并确定已经选择不同的方言的用户选择不同的代词。
因此,通过减少重复,该技术允许用户以不同的语言和方言输入文本,同时最小化在相关的语言之间的冲突并且最小化在用户的电子装置上所需要的存储空间。在一些实现方式中,该技术允许选择为新的语言初始化语言模型的用户选择开始的基本语言。在这种情况下,该技术可以使用户从单词的数据库开始或从来自基本语言的完整的语言模型开始,而不是空白状态。在一些实现方式中,该技术识别基本语言模型是与用户的语言相关的并提供基本语言的至少一部分作为用户的语言的语言模型的一部分或作为其补充。
通过支持少数民族语言的语言模型的发展,该技术与那些语言的说话者和倡导者是相关;例如,移民社区、支持即将消失的语言的保存的组织,以及政府和私营部门语言标准化和推广部门和宣传组。该技术还允许用户为了其它目的和不那么正式的语言应用生成语言模型。例如,口语方言,如瑞士德语(阿勒曼尼方言)可能与书面形式(如瑞士标准德语)不同。该技术允许使用这样的方言的用户开发语言模型以反映他们实际的使用,而不是使他们的使用符合书面语言的标准。其中,输入可以是非正式的文本输入和语音转录的结合,该技术允许用户潜在地开发模型,以反映非标准的但在现实世界有用的词汇和拼写的混合。
同样地,该技术允许用户创建新的语言命名。例如,用户可以选择为一种或多种聊天(chatspeak)(亦称短讯、网络语言、SMSish,等)的形式建立语言模型以反映和预测通信的极端浓缩和特别缩略的形式。虽然聊天可能往往在特定人口群体中的用户之间是十分受欢迎的,其可能不被认为是作为用于语言模型的开发的单独的语言候选的典型的目标。因此,该技术给与用户潜在的可能以大众化语言模型开发。因此,该技术可能从其它用户群体处获得额外的好感,该群体是希望能有更好的语言识别系统来支持他们的特定用途。其它潜在的应用包括合成的语言(例如,克林贡语)、重行业词汇(如法律术语),混合或转换语言(例如,“西班牙式英语”混合西班牙语和英语),和方言,无论是否被识别。此外,该技术允许一些书面语言形式的众包的标准。例如,虽然有在阿拉伯语中用于聊天的一些标准的音译,但是其不是开发的语言模型的部分,并且许多人即兴创作他们自己的音译。通过记录和分享来自大批用户的实际使用情况和修正,该技术可以使得一些基本的被接受的形式从混乱的个人使用中显现。
字符集和键盘
在一些实施方式中,该技术允许或要求用户,与语言名称一起,选择相关联的字符集和/或键盘用于输入所选择的语言的字符。大量的语言可以支持英语标准的传统键盘(QWERTY)用于拉丁文或罗马文字字符。例如,拉丁字符的键盘允许本身并非为拉丁字母的语言的用户通过使用拉丁文字输入音译的文本。
在一些实施方式中,该技术提供或提出作为替代的拉丁通用键盘,通过这个,用户可以容易地获得许多字母的变体(例如,各种重读的“e”字符),或Unicode通用键盘,其另外提供对非拉丁字符的访问。该技术映射,或允许用户映射,各种Unicode字符到键盘的不同的键,特别是用于触摸屏显示的虚拟键盘。其它键盘和字符集在用户的电子装置上是可用的。在一些实现方式中,该技术提供了对话或其它选择界面用于选择字符集和合适的键盘。该技术可以提供给用户相关的语言的键盘和字符集的潜在的选择。如果选择的键盘或字符集在用户的电子装置上是不可用的,则该技术可以将其下载到电子装置。
在一些实现方式中,每种语言正好与一个键盘相关联。相关联的键盘可以被分配给该语言,可以由用户从两个或多个键盘中选择(例如,包含适合于该语言的字符布局的键盘),或可以是用户设计的。在一些实现方式中,每种语言是与至少一个键盘相关联的。在一些实现方式中,该技术确定怎样的键盘是语言的大多数用户所选择的,并且提供或建议那种键盘作为默认的选择。因此,该技术在特定语言的用户之间采用众包以确定用于那种语言的一个或多个优选的或理想的键盘布局。在一些实现方式中,该技术包括协同工具(例如,维基)为用户共同创建、编辑(例如,通过分配特定的Unicode字符给特定的键),并共享一种语言的一个或多个键盘布局。在一些实现方式中,技术允许用户在用于相同的语言的不同的键盘布局之间快速地切换,或在包含不同语言的相同或不同的字符的键盘之间快速地切换。在一些实现方式中,该技术允许用户从单个键盘上的不同语言处获得字符。例如,基于独特的用户手势,例如在键上的压和保持,该技术可以显示和允许用户输入来自其它语言或字符集的字符(例如,来自拉丁文键盘的西里尔或日语字符)。
本地和音译的文本
在一些实现方式中,该技术可适应希望开发使用不同的字符集的语言的语言模型的用户。例如,两个用户可能希望输入切诺基文本:一个用拉丁字符音译,一个用切诺基字母文字。在该技术的一些实现方式中,语言模型在一个词典中存储用于特定的语言的本地和音译的单词的版本。该技术可分别识别由正在使用不同的文字的用户输入的单词,使得用本地文字键入的用户将不会惊讶于建议的音译的单词(特别是本地文字用户通常不输入的拉丁文字单词)。在一些实现方式中,该技术将使用拉丁字符输入的音译的单词转换为本地文字单词,或向用户提供这样做的建议。在一些实现方式中,该技术分离利用不同的文字的语言模型,并且提供两个或多个不同的语言选择(例如,一个本地的文字语言模型和一个音译的或“拉丁语的”版本的语言模型)。在一些实现方式中,该技术涉及用不同的文字输入的通用单词,并且更新该语言模型或多个模型,例如,以包括更多的全面的单词频率信息。在一些实现方式中,该技术允许本地的或音译文本的用户排除他们当前没有使用的文字中的单词的存储,以保存在电子装置上的存储空间。
该技术适应使用来自多于一种语言或文字的字符输入的单词。例如,用户可以在单词(Yandex搜索引擎)或(“IBM”的形容词形式)中结合俄语(西里尔语言文字)和英语(拉丁文字)字符。在一些实现方式中,该技术对待这样的具有来自其它文字的字母的单词就像在用户的活跃的语言模型中输入的其它单词一样。
一般地,该技术允许用户指定他们输入文字所使用的语言,相较于以前可能具有更大的灵活性,以及允许用户在语言和键盘之间切换。当用户用他们所选择的语言表达自己时,该技术保存关于他们使用的单词的频率的信息以及关于他们在该语言中采用的新的单词的信息,该语言是那些单词所关联的。
报告和共享语言使用信息
在一些实现方式中,该技术仅需要足够的内存来存储语言模型数据(例如,文字和频率计数)和至少偶尔的连接以共享有关用户的语言使用的信息并接收来自相同的语言的其它用户的信息以更新用户的语言模型。在一些实现方式中,该技术利用了更高水平的可用的存储器和连接(例如,在具有高速数据连接的智能电话上)来提供,例如,扩展的语言模型容量、多个同时可用的语言模型、不同语言的自动检测,和/或更频繁的语言模型的更新。
该技术通过监控和分析用户的词汇使用来建立语言模型,该用户已经在具有该技术的电子装置上选择了特定的语言。在一些实现方式中,该技术识别用户的行动,关于新的或开发的本地的语言模型,包括单词添加、单词删除、变更使用的单词或n-grams的频率、对单词建议的响应、在单词优先级中的改变,以及在本地语言模型中跟踪的其它事件。在一些实现方式中,该技术仅观察和记录用户使用的单词和每个单词的使用的频率。在一些实现方式中,除了观察用户的词汇使用模式以外,通过明确地将单词添加到用户字典,该技术允许用户用额外的单词扩充语言模型。
当用户使用或保存未在选择的语言模型中提供的新的单词时,该技术传送(或提示用户传送)更新的语言模型或对那个模型的增加的更新。该技术可以在中央存储库中收集更新或在其他用户之间的分布式或对等基础上收集更新。该技术分析语言的多个用户的语言模型,识别和计算用户正在使用的单词,并添加一些用户添加的单词至用户的语言模型并返回更新的语言模型至用户。在一些实现方式中,该技术允许用户基于聚集的使用信息接收语言模型更新,而不需要用户上传或以其他方式共享用户自己的语言模型或数据。在一些实现方式中,当用户在用户的本地语言模型中有较少的单词时,该技术在添加其他用户使用的单词方面是更慷慨的。通过借助许多用户的词汇使用,该技术可以有组织地从头开始发展空的新的语言模型,例如,从单个用户的数以百计的最初的单词,变成包含成千上万个单词的语言模型。
阈值
在一些实现方式中,在添加单词到语言模型用于发送到其它用户之前,该技术需要最小数量的不同用户采用该相同单词。通过要求使用的阈值幅度(例如,三个或十个单独的用户),该技术提高了单词是通常有用的可能性。该技术还减小可共享隐私信息的可能性,因为不同的用户可能不会使用相同的字,如果它是一个用户的私人数据。在一些实现方式中,该技术识别不太可能是隐私的单词,像非常简短的单词(例如,单和双字母单词),并接受这样的单词用于在用户之间分享以在较低的用户阈值处建立语言模型。在一些实现方式中,该技术提高了接受用于共享的简短单词的阈值,或将使用单词的用户的最小比例,以替代或除了最小数量之外,使用作为阈值,以确保通用的简短单词会被包括在语言模型中,但不正确的短字符串不会。在一些实现方式中,该技术为用户设置较低的阈值,该用户是早期的采用者,这些早期的采用者开发具有很少或没有单词的语言模型或具有很少的其它用户用那种语言输入文本,并且当语言模型在规模或人气上增长时收紧标准。在一些实现方式中,该技术为具有复杂词法的语言设置较低的阈值,其中其单词形式是特殊的或仅偶尔被使用。
隐字学习
在一些实现方式中,该技术收集由用户使用的所有单词,使得用户不需要手动添加单词至本地字典。在该技术的一些实现方式中,新使用的单词被暂时地添加到语言模型,提供了留验期以防止拼写错误的单词或其它意外的文本输入立即成为最佳匹配。该技术可以限制其关于留验的单词的行为,例如,通过正常地收集使用统计数据,但是对是否显示在建议的单词的选择列表中保持谨慎。在一些实现方式中,该技术包括用户可调整的留验设置。一旦新的单词被使用得足够多,使得其充分地不太可能是无意发生的错误,该技术移除留验指定,允许该单词被呈现作为用户建议和被上传到用于该语言的其它用户的语言模型。在一些实现方式中,如果参与了同一个语言模型的开发的其他人也正在使用相同的单词,在上传和下载过程之后,该技术将会添加单词(或根据一般的用法的其正确的或完整的形式)到用户的语言模型,而没有留验。
在一些实施方式中,该技术允许用户关闭由用户使用的对通用的或指定语言的单词的隐学习。若隐学习被关闭,该技术可以明确要求,对于每个未识别的单词,该单词是否应该被添加到新的语言模型的字典中。
在一些实施方式中,该技术利用了由用户或多个用户在语言模型中输入的一组单词,通过使用那些单词(或n-grams)作为种子(根据)以在网络上搜索相关的单词。以这种方式,该技术可以定位正在考虑中的该语言的相关文本的以前未知的语料库。该技术可以将那些单词(可能指定它们作为临时的或留验的)和/或关于它们的使用的信息(例如,以n-grams或单词频率)添加到用户的语言模型。
允许用户提交补充的文本
在一些实施方式中,该技术允许用户选择或以其他方式提供扫描的文本块以将其全部添加到用于特定语言的用户的语言模型。因此,该技术允许热情的用户(如语言传播者)以众包的方式为可能不一定通常可用的他们自己的语料库作出贡献。例如,用户可以提供在平板上用那种语言书写的文档,或者在具有语音识别软件的电话上以那种语言播放语言的录音,添加这一切使其被扫描用于新的单词和单词频率计数。
过滤
在一些实施方式中,当某一语言的共享的词汇增长时,该技术在该语言模型中执行一些修正,而没有语言学家的干预。因此,该技术可以帮助用户避免许多印刷错误。在列表中的拼写修正可以纠正任何具有错误类型模型的错误类型。例如,该技术可以通过检查语言的用户采用每个单词的频率来替换颠倒次序的错误(如校正hte为the)。例如,“hte”是罕见的,而“the”是最常用的英文单词。如果该比率指示某个单词很有可能是常用单词的错误的颠倒顺序的版本,则该技术可以纠正该错误或留验显然不正确的单词。
该技术也可以修正,例如,重读的单词的非重读的版本(例如修正cafe为café)。例如,许多用户更喜欢无特殊字符的输入(例如,facade而不是),依赖于语言识别系统通过从语言模型中选择正确的形式来自动地修正输入的文本。如果当建立新的语言模型时,多个用户键入单词而没有特殊字符,则模型可以学习那些单词的不正确的形式。在一些实现方式中,该技术识别这个用户的行为并且将包含特殊字符的单词形式作为比没有特殊字符的类似的形式更为权威,特别是如果语言识别系统建议没有特殊字符的版本,且一些用户手动修正其为具有特殊字符的版本。
在一些实现方式中,该技术观察用户经常删除或变更的是哪些单词,并识别它们为拼错的或语言模型的其他的不需要的(例如,未正确加标点的或大写的,有关色情描写的,或亵渎的单词)。在一些实现方式中,该技术申请单词或图案(例如,引起反感的网站的URL、数字和符号)的列表从语言模型中移除,该语言模型包括用于新的语言的被开发的模型。例如,该技术可通过图案识别并从语言模型中删除各种敏感信息,包括邮件地址和号码串(或具有标点符号的数字),例如电话号码和信用卡号码。在一些实现方式中,该技术从建立语言模型被使用的信息中排除任何用户在密码字段中的输入。
完善
通过收集关于用户的语言的实际使用的数据和通过众包积累关于那种使用的统计数据,该技术可以识别基本被接受的单词和形式,生成最常见的单词的可能性以及对每个单词的最常见的使用的拼写。当具有足够数量的用户和文本输入的量时,该技术可以从用户生成的语料库中提取更复杂的语言信息。在一些实现方式中,该技术可以使用户能够为没有传统的书面形式的纯粹的口语语言创建书面等效形式。
在一些实施方式中,该技术为语言的一个或多个用户提供了管理员或超级用户权限。例如,该技术可以识别具有以某语言输入最多数量的修正或单词的用户,并允许或邀请这样的用户解决在语言模型中的不一致或歧义。例如,该技术可以识别基本上类似的一组单词或单词形式(并且,例如,以类似的方式或环境使用),并询问该超级用户以在竞争选择之间进行裁定或指定一个或多个为正确或不正确的。该技术可以请求超级用户审查不敬的词汇、非标准正确拼字、来自其他语言的沾染,以及其它不需要的内容。在将修正应用到语言模型之前,通过要求在用户之间的同意的阈值水平,该技术可以从多个用户征求这种修正并且众包这样的可能的专家的修正。该技术可以暂时地应用这样的修正至语言模型并且如果大量的用户并不这样实施该暂时的修正,则将其改回来。该技术可允许用户自行识别语言经验、专业知识,或授权,或要求被视为在该语言中的专家。该技术可对由质量控制修正不受欢迎的用户做出的编辑或由质量控制修正不受欢迎的用户对超级用户地位的撤销给予更小的权重。
一旦根据该技术的实施方式开发的众包的语言模型达到规模、稳定性和实用性的阈值水平以用于语言中的精确的下一个单词的预测,该语言模型可以被视为基本上完整的或等同于根据传统的方式开发的语言模型。
附图说明
下面的描述提供了图示的示例的某些具体细节。然而本领域技术人员将理解的是,该技术可以在没有许多这些细节的情况下实施。同样地,本领域技术人员也将理解,该技术可以包括在本文中没有详细描述的其它许多明显的特征。此外,一些众所周知的结构或功能可能不被示出或下面详细描述,为了避免不必要地模糊各种示例的相关描述。
图1示出了一些部件的框图,其典型地被包括在至少一些能够在其上实现技术的计算机系统和其它装置中。系统100包括一个或多个输入装置120,其提供输入到处理器110,通知它由用户执行的行动,通常通过硬件控制器起中介作用以翻译从输入装置处接收的原始信号并通过使用已知的通信协议将信息与处理器110通信。该处理器可以是单个CPU或在装置中的或跨多个装置分布的多个处理单元。输入装置120的示例包括键盘、指点装置(诸如鼠标、操纵杆,或眼睛跟踪装置),和触摸屏125,当触摸屏被用户触摸时,其提供输入至处理器110以通知它接触事件。类似地,处理器110与硬件控制器通信用于显示器130,文本和图形被显示在显示器130上。显示器130的示例包括LCD或LED显示屏幕(诸如台式计算机屏幕或电视屏)、电子墨水显示器、投影显示器(诸如抬头显示器装置),和触摸屏125显示器,其提供图形和文本的视觉反馈给用户。可选地,扬声器140也被耦接到处理器,使得任何适当的听觉信号可以被传递给用户作为引导,和麦克风141也被耦接到处理器,使得任何口头输入可以从用户处被接收,例如,用于实现语音识别作为用户输入的方法的系统(使麦克风141作为附加的输入装置120)。在一些实现方式中,扬声器140和麦克风141是由组合的音频输入-输出装置实现的。系统100还可以包括各种装置部件180,诸如传感器(例如,GPS或其它位置确定传感器、运动传感器,和光传感器),照相机和其它视频捕获装置、通信装置(例如,有线或无线数据端口、近场通信模块、无线电、天线)等等。
处理器110可以访问存储器150,其可包括临时和/或永久存储的组合,以及只读存储器(ROM)和可写存储器(例如,随机存取存储器或RAM),可写非易失性存储器诸如闪存、硬盘驱动器、可移动介质、磁性或光学可读的光盘、纳米技术存储器、生物存储器,等等。如本文所用,存储器不包括传播信号本身。存储器150包括包含所有的程序和软件的程序存储器160,如操作系统161、语言识别系统162,和任何其他应用程序163。程序存储器160还可以包含根据所公开的技术用于管理用户输入的输入法编辑器软件164,以及通信软件165,其用于通过各种信道和协议发射和接收数据。存储器150还包括数据存储器170,其包括任何配置数据、设置、用户选择和偏好,其可能是被程序存储器160或系统100的任何元件所需要的。
语言识别系统162包括部件,诸如语言模型处理系统162a,用于收集、更新和修改关于本文所描述的语言使用的信息。在某些实现方式中,语言识别系统162被并入到输入法编辑器164中,其在输入区域(用于文本、语音、手写,等)活动的任何时候运行。输入法编辑器的示例包括,例如,在移动计算装置中的文本输入界面。该语言识别系统162也可以生成图形用户界面屏幕(例如,显示器130上),其允许用于与语言识别系统162和语言模型处理系统162a的用户交互。在一些实现方式中,界面屏幕允许计算装置的用户设置偏好、提供语言信息、做出关于众包的语言模型开发和数据分享的选择,和/或以其他方式在用户和在装置上的系统之间接收或传递信息。
数据存储器170还包括一个或多个语言模型171,其根据各个实现方式可包括静态部分171a和动态部分171b。静态部分171a是用于由,例如,语言模型的系统操作者基于一般的语言使用生成的初始单词列表(包括n-grams)的数据结构(例如,列表、阵列、表格,或散列映射)。相反,动态部分171b是基于来自一个或多个与终端用户相关联的装置的在语言中的事件(例如,词汇使用、明确的单词添加、单词删除、单词修正、n-grams的使用,和字计数或频率测量)。根据各种实施方式,对于新的语言,可能没有语言模型171的静态部分171a。该语言识别系统的语言模型处理部分162a修改语言模型171的动态部分171b,尽管语言模型171的静态部分171a是缺失的。
该语言识别系统162可以使用一个或多个输入设备120(例如,键盘、触摸屏、麦克风、照相机,或GPS传感器)来检测与在计算系统100上的本地语言模型171相关联的一个或多个事件。这样的事件涉及与在装置上的语言模型处理系统162a的用户的交互。事件可以被用来修改语言模型171(例如,动态部分171b)。某些事件可能对语言模型具有较大影响(例如,添加新的单词或n-grams至空的模型),而其他事件可能有很少的影响或没有影响(例如,使用已经具有高频率计数的单词)。事件可以包括数据点,其可以被系统用于处理修改语言模型的变更。可以被检测的事件的示例包括新的单词、单词删除、使用或不使用标记、质量等级的调整、使用频率的变更、新的单词对和其他n-grams,以及可以被用于开发语言模型的所有或一部分的许多其它事件。除了事件,额外的数据可被收集并与事件一起传送。这些额外的数据可能包括位置信息(例如,通过GPS或手机信号塔数据得到的信息、用户设置的位置、时区,和/或货币格式),有关使用的场所中的语言信息(例如,用于确定语言使用的方言),以及描述与语言处理系统一起由用户使用的应用的上下文信息(例如,文本是否在单词处理应用或即时消息应用中被输入)。额外的数据可以从与系统100的用户的互动中获得。
图1和本文的讨论提供了技术可实现的合适的计算环境的简要的、概括的描述。虽然不是必需的,系统的各方面以计算机可执行指令的一般上下文被描述,诸如由通用计算机执行的例程,例如,移动装置、服务器计算机,或个人计算机。那些相关领域技术人员将理解,该技术可以通过使用其他通信、数据处理,或计算机系统配置,例如手持式装置(包括平板计算机、个人数字助理(PDA)和移动电话)、可穿戴计算机、车载计算机、多处理器系统、基于微处理器的消费电子装置、机顶盒、网络家电、小型计算机、大型计算机,等等来实现。术语“计算机”、“主机”和“装置”在本文中通常可互换使用,并且是指任何这样的数据处理装置和系统。
该技术的各个方面可以在专用计算装置或数据处理器中体现,其被专门编程、配置或构造成执行一个或多个在本文中详细说明的计算机可执行指令。该系统的各方面也可以在分布式计算环境中实践,其中任务或模块由远程处理设备执行,其通过通信网络链接,诸如局域网(LAN)、广域网(WAN),或者互联网。在分布式计算环境中,模块可以位于本地和远程存储器存储设备中。
图2是说明该技术可以被利用的计算环境200的示例的系统图。如图2中所示,用于基于众包的用户文本输入的从头开始学习语言模型的系统可以在多个计算装置上操作,例如计算机210、移动装置220(例如,移动电话、平板电脑、移动媒体装置、移动游戏装置,可穿戴计算机,等),以及其他能够接收用户输入的装置(例如,机顶盒或车载计算机)。这些装置的每一个可以包括各种输入机制(例如,麦克风、键盘、照相机,和/或触摸屏)以接收用户的交互(例如,语音、文本、手势,和/或手写输入)。这些计算装置可以通过一个或多个有线或无线,公共或私人的网络230(包括,例如,不同的网络、信道,和协议)进行彼此之间的通信,以及与系统240进行通信,该系统实施协调语言模型信息和聚集关于用各种语言进行用户输入的信息。系统240可以被保持在基于云的环境中或在其他分布式服务器-客户端系统中。如本文所述,用户事件(例如,语言的选择或在特定语言中的新的单词的使用)可在装置210和220之间被通信,并被传送到系统240。另外,关于用户或用户的装置210和220的信息(例如,该装置(多个)的当前的和/或过去的位置、在每个装置上使用的语言、装置的特性,以及用户偏好和兴趣)可被传送到系统240。在一些实施方式中,一些或所有的系统240在用户计算装置中被实施,如装置210和220。在这些装置上的每个语言识别系统可以利用本地的语言模型。每个装置可以具有不同的终端用户。
图3是示出了用于识别语言并向用户提供新的语言模型的一组操作的流程图。在图3中所示的操作可以由一个或多个部件(例如,处理器110和/或语言模型处理系统162a)执行。在步骤301,系统接收语言名称的用户的选择。如上所述,该系统可以提供不同的界面,以提示用户的选择,包括,例如,可用的语言的菜单(和/或对于基本上完整的语言模型不可用的语言)或用于用户输入任何语言名称的区域。在步骤302,该系统将从用户处接收到的语言名称与一组识别的语言名称相比较。如果从用户处接收到的该语言名称是被识别的,过程继续到步骤305。否则,该过程继续到步骤303。
在步骤303,如果该语言名称不被识别,该系统将从用户处接收到的语言名称选择与识别的语言名称(包括替代的名称)进行比较。例如,用户可能会错误地输入同音单词“finish”,而不是语言名称“芬兰语”,系统识别密切相关的识别的语言名称并建议正确的拼写。也可能建议替代的想要的语言选择,例如,法语,或引导用户选择具有现有用户基础的语言,如上所述。在步骤304中,系统接收更新的语言名称选择,其中可能包括未识别的语言名称的用户的输入的确认。
在步骤305,系统确定现有的语言模型(例如,包括静态部分171a的策划的语言模型)是否可用于所选择的语言。如果这种完整的语言模型是可用的,则过程继续到步骤313。否则,该过程继续到步骤306。可替代地,即使完整的语言模型是可用的,该系统可以允许用户参与众包的语言模型开发。在步骤306,该系统获得用户的同意以参加语言模型众包。如上所述,获得用户的知情同意可以包括,例如,获得承认预测的功能(例如拼写修正)不完全支持语言模型未完整开发的语言,并确保该用户愿意分享他或她的文本输入,以帮助开发用于所选择的语言的语言模型。如果用户不提供这样的同意,则过程可以返回到步骤301,用户选择不同的语言。如果用户同意,则过程继续到步骤307。
在步骤307,系统确定所选择的语言是否是新的,也就是,是否任何其它的用户已经选择了这种语言,提供了基本的信息,和/或开始输入该种语言的文本以开始开发众包的语言模型。如果所选择的语言是新的,则过程继续到步骤308,其中该系统收集关于新的语言的信息。如上所述,这样的信息可以包括,例如,该语言的可替代的名称,和语言被使用的位置(例如,地理围栏GPS坐标)。该系统可以收集有关用户的装置的位置的信息并且将那个位置与所选择的语言关联。该系统还收集有关用户对所选择的语言想要使用的字符集的信息,并允许用户选择键盘,用于以那个字符集输入文本。如上所述,该系统可以提供用于用户编辑新的或现存的键盘的机制。在步骤309,该系统将所选择的字符集和键盘与所选择语言相关联。如上所述,对于不主要使用拉丁文字书写的语言,一些用户可能会选择用非本地的字符集输入音译的文本(例如,拉丁字符),而其他用户可能会选择使用使用本地的字符。该系统可以将多于一个的字符集和键盘与所选择的语言相关联,或可以将使用不同的字符集的类似的或相同命名的语言视为单独的,不论他们是否单独被呈现或对于用户使用一个名称。
在步骤310中,基于在步骤308-309中收集的信息,系统初始化新的语言模型。通常情况下,系统初始化具有空的静态部分171a的新的语言模型171。然而,如上所述,在某些情况下,该技术允许用户指定类似的已知的语言,该用户指示其具有至少一些相关的词汇,或者该技术识别并提供相关的语言模型或相关的基础语言的语言模型的一部分(例如,选择的词汇)。在该技术的一些实现方式中,该系统初始化具有至少一些单词和单词频率数据的新的语言模型。在这种情况下,该系统可以将所有的初始词汇和用法信息放置到动态部分171b用于基于众包的语言使用数据的潜在的修改。
返回到步骤307,如果所选择的语言不是新的,则过程继续到步骤311。在步骤311,该系统确定与所选择的语言相关联的一个或多个字符集和键盘。在技术的一些实现方式中,该系统关联恰好一个字符集和语言模型,使得,例如,用户可以使用拉丁音译选择俄罗斯语言模型,或使用西里尔字符选择不同的俄罗斯语言模型。可选地,在步骤312中,其中该系统将多于一个替代的键盘和/或字符集与语言模型相关联,该系统允许用户选择使用怎样的字符集和键盘。
在步骤313,该系统向用户提供了语言模型,从而允许用户使用所选择的语言,与用户的装置的语言识别系统一起,并且对所选择的语言的众包开发潜在地做出贡献。在一些实现方式中,该技术向用户选择的多个装置提供语言模型,使得用户能够跨装置使用所选择的语言。
图4是示出了基于众包多个用户的语言模型事件的用于建立语言模型的一组操作的流程图。在步骤401,根据该技术,系统识别用户装置,用户已经选择用正在被开发的语言在其上输入文本。在网络中的服务器可以从注册服务的装置和通过区分指示符识别的装置(例如,全球唯一标识符(GUID)、电话号码或移动识别号码(MIN)、媒体访问控制(MAC)地址,或因特网协议(IP)地址)收集语言数据。该系统可以识别用户分享特定语言的选择。该系统也可以识别具有类似特性的用户,例如位置和/或类似的语言模型内容或事件。
在步骤402,系统从至少一个识别的用户装置处为选择的语言收集语言模型事件,用户在该装置上已经使用了该语言。在一些实现方式中,用户可以选择退出来自那个用户或来自特定的用户装置的语言模型事件的系统的收集。该系统记录基于事件的对语言模型的变更,例如新单词或n-grams,移除单词或n-grams,和单词/n-gram权重或使用信息的频率,其是从识别的用户装置处接收的。在一些实现方式中,系统定期地调查与特定的语言模型相关联的已知的装置。在一些实现方式中,系统偶尔接收关于用户的装置的语言模型信息的更新,当这样的信息是可获得的并且到系统的连接是现存的时候,而不是定义的或固定的安排。在该技术的一些实现中,系统提示每个装置周期性地或连续地传送更新。在一些实现方式中,语言模型信息作为同步动态部分171b的内容和远程托管的数据(例如,基于云的存储)过程的一部分被传送以用于备份并且传输到其它的数据库。语言模型处理系统162a和通信软件165可以单独发送语言模型事件,或作为整体,发送到系统240。在一些实现方式中,通信软件165监控当前的连接类型(例如,蜂窝式或Wi-Fi),并可以确定是否事件和更新应该被传送到装置,和/或从装置被传送,可能基于其他信息确定,例如事件重要性和/或用户偏好。在一些实现方式中,语言模型事件以它们发生的顺序被处理,从而允许动态部分171b实时地或接近实时地被更新。在一些实现方式中,该系统可以不按照顺序处理事件以更新动态部分。举例来说,更重要的事件可能比不那么重要的事件被优先处理。
语言模型处理系统162a可以选择性地将识别的语言模型变更提供至其他用户计算装置。该语言模型变更可以被提供,例如,至落入到已经选择了语言并且事件是从其处被接收的用户的组内的其它用户,或至选择该语言的新用户。在某些实现方式中,该语言模型处理系统162a聚集或分类事件和其它信息到单个分组,以允许通信软件165传送事件和信息至外部系统(例如,图2的系统240)。在一些实现方式中,语言模型事件被分组为一个类别(例如,基于事件发生的上下文)。
在步骤403,系统获得与所收集的语言模型事件相关联的信息,包括,例如,装置位置信息以及用户信息。位置数据可以是唯一的仅仅是一般足以指明该装置所处的位置(例如,来区分在日本的用户和在美国的用户)或者可以是足够明确地指示特定的事件处的用户的存在(例如,在运动场内,在运动事件的时间段内或接近运动事件的时间,在说不同语言的两个不同的国家或地区的队伍之间)。位置数据还可以包括关于位置的变化的信息(例如,到达不同的城市或国家)。位置数据可以从用户的装置处获得-GPS位置固定,例如-或来自由用户设置的场所信息。获得的信息还可以包括关于单词被使用的上下文的信息,例如,是否在语言中的特定单词在移动装置的文本消息中是普遍的,但在个人电脑上的单词处理应用中很少被使用。
在步骤404,该系统从多个用户处聚集语言的语言模型事件或语言模型信息。在一些实现方式中,该技术从个人用户处聚集整个语言模型。在一些实现方式中,该技术通过使用关于在个人用户的语言模型中增加的变更或事件日志的信息来更新综合的语言模型。聚集的结果是该语言模型是基于描述多个终端用户与使用该语言的终端用户的相应的装置之间的交互的数据。通过结合个人用户的词汇和单词使用模式,该技术构建了一个更广泛的众包的语言模型,其更多地反映了参与者之间的一般用法,而不是反映了语言使用的个人独特性。在一些实现方式中,该技术采用聚集的语言模型数据以改进语言的语音识别模型。例如,该技术可以使用聚集的语言模型信息来训练,或补充数据用于训练,自动的语言识别(ASR)系统中的统计学的语言模型。
如上所述,在一些实现方式中,该技术需要单词具有阈值用户计数(例如,至少有一定数量或百分比的用户使用给定的单词或n-gram)和/或使用的阈值频率(例如,该单词或n-gram被使用它的每个人使用的至少一定的次数,或按照使用的单词或n-gram的整体普及率的阈值)。通过要求使用的阈值幅度(例如,三个或十个单独的用户),该技术提高单词通常是有用的可能性,避免传播特异的单词、错误的拼写,和隐私信息。
在步骤405,该系统将单个用户的语言模型内容与事件连同从其他装置和其他用户处收集的装置和用户信息进行比较。在一些实施方式中,该比较考虑各个当地语言模型事件的上下文,例如,用户输入文本的装置的类型,文本被输入的模式(例如,语音识别、键盘打字,或手写翻译),或者在不同的应用或使用中的用户的不同的词汇,例如网络搜索框、电子邮件散文,和地图应用搜索;以及标记,例如由用户使用的词汇的规模以及用户的各自的对不敬的言语的倾向。该比较可以显示一些用户在特定环境下共享词汇选择。该系统可确定用户共享场所的特定方言,建议用户选择更合适的语言模型,其具有与用户的实际语言使用有较大的相似性,或关联单独选择的语言(例如,“聊天说话”和“TXT谈话”)到单独的语言模型。在一些实现方式中,该技术基于上下文适用不同的规则,或以其他方式不同地对待在不同的上下文中输入的文本。例如,该技术可对在即时消息应用(如SMS文本、多媒体信息服务或其他非正式的聊天)中输入的单词应用不同的处理,其中空间是有限的,并且用户通常使用非标准的缩写词(例如,用于“you”的“u”)。这种不同的处理可以包括在添加词汇时更加谨慎,需要更高的阈值来接受单词,或更少的谨慎(例如,允许“b4”用于“before”)。也可以包括基于上下文创建单独的词典,或包括在语言模型中设定标志或规则以允许替换拼写或字符的使用,当特定的上下文活跃时或当类似的术语在上下文中被使用时或在特定的装置上时(例如,当在发短信时)。因此,该系统可以允许在一个上下文中的某些非正式(错误的)拼写,而不是在用户趋向于在其拼写和词汇选择中更为正式、准确、严谨或统一的另一上下文中。
在步骤406,该系统过滤或留验不期望的单词或其它语言模型数据。如上所述,该技术隔离不常用的单词选择,支持更广泛的接受的词汇。某些词被暂时留验直到使用阈值(由用户或在多个用户之间)被满足。例如,该技术识别用户修正和其它语言模型事件的模式,连同与不期望的拼写相比的正确拼写的单词的增加的频率,以识别印刷错误(例如,字母颠倒顺序或非标准的大小写)、其他拼写更正,和通常不是用户想要的单词。在一些实现方式中,技术可以识别用户作为修正或单词更正的结果输入的单词,并将这种明确的修正视作指示所得的单词是正确的单词的强有力的指示符。该技术还可以识别为可靠的建议单词,其是由用户从建议的单词的列表中选择的。在一些实现方式中,大多数用户没有使用的以及由显著比例的从他们的语言模型中移除任何单词或n-grams的用户明确移除的单词或n-grams从语言模型中被删除。在一些实现方式中,过滤步骤406包括如拼写错误(包括大小写和变音标记错误)和不敬的言语的黑名单,以及不会被删除的基本词汇的白名单(例如,常用单词的前百分之五)。该技术可众包单词的黑名单永不会被包括在语言的模型的词汇中或从语言模型的词汇中被建议。该技术允许用户识别单词为不期望的,通过将它们从其个人语言模型中删除,并且可以允许用户标记单词,例如,作为不敬的言语、脱离语言(out-of-language)的单词,或常见的拼写错误。该技术还可以基于不应成为任何语言的语言模型的一部分的单词的黑名单进行过滤,包括,例如,恶意的网站网址。过滤步骤406还可以确保核心词汇单词不会不适当地从语言模型中删除,或这样的更改没有向其它用户公布。在一些实现方式中,该技术允许用户调整或定制过滤,例如,将其打开或完全关闭,改变过滤的各种类型是否或如何执行,修改其灵敏度,添加或移除过滤的模式,或者限制或扩展过滤被应用的上下文。
在一些实现方式中,过滤步骤406限制了可被发送到用户的装置的更新的整体规模。过滤标准可以包括,例如,单词或n-grams的固定数量、数据的最大量、在装置上的本地语言模型数据的可得的或整体的容量的百分比、所需的单词或n-grams的数量以获得比目标未命中率(例如,输入单词的小于1.5%需要修正)更好的准确率,或任何单词或n-grams被使用至少阈值数量的次数。在一些实现方式中,用户可以选择以不同的标准修改被添加到用户的本地语言模型的单词的过滤,例如,多少可用的空间用于分配到众包的语言模型。
在步骤407,系统用增加的和过滤的众包的信息来更新个人用户的语言模块,包括添加的、移除的,或/或变更的单词列表和频率数据。该系统可能改变更新的定时和程度,其可以包括整个的更新的语言模型或对用户的语言模型的增加的更新。该技术可以连续为计算装置提供更新,可以分批发送更新,可以当被用户要求时发送更新,或者在用户需要时发送更新(例如,当用户变更为具有众包的语言模型的特定语言)。在某些情况下(例如,由于不良连接或重使用),始终下载语言模型变更到装置可能是不切实际的。在一些实现方式中,系统选择性地递送一些事件和其它信息至系统240,并实时地(或接近实时地)接收一些语言模型更新以提高即时的预测。被识别作为与用户的输入相关的众包的词汇提高了用户将从语言识别系统162处接收更好的单词预测的可能性。
图5是示出了基于由多个用户输入的文本的语言模型更新的示例的示意图。用户510,520,530和540用与众包的语言模型相关联的语言输入文本。用户510,520,530和540的每一个在其装置上具有事件,其是关于café(或若干个不同的café)的文本。那些语言模型事件是如以上描述的结合图4被收集和被聚集的。如所示的,若干个通常被使用的单词被添加到众包的词汇550,其成为在语言用户之间共享的语言模型的一部分。特别是,由至少三个用户使用的单词(“the”,“café”),在少于三个用户之间使用至少三次的单词(“to”),以及两个字母的单词(“go”,“to”,“is”,“at”)在这个示例中已经被添加到众包的词汇550中。由少于三个用户使用的多于两个字符的单词(“Let’s”,“I’d”,“love”,“that”,“lovely”)和单个字母的单词或单词缩写(“c”,“u”)被留验以待那些单词被通常使用的更广泛的证据。一个单词(“cafe”)已被过滤,因为它是所有的其它用户使用的通用单词的非重读版本,并且因此,其可能是不正确的形式。此外,包含数字或符号的单词(“2”,“@”,“18r”)已经被过滤。在这个示例中,在每个用户的群体模型已经被更新以反映语言的聚合的和过滤的语言模型后,当那些用户在他们的装置上用该语言输入文本时,众包的词汇单词作为候选单词对于每个用户510,520,530和540的语言识别系统是可获得的。如果被留验的词汇单词更多的被使用,则他们将被提供作为候选,并且除非用户明确地添加过滤的词汇单词至他们或她们的语言模型,则该过滤的词汇单词将不会被提供作为候选。
图6是示出了用户装置和语言表的样本内容的表格图。该用户装置和语言表600是由行601-606组成的,每一个表示一个装置,用户在其上已经选择了一种语言用于文本输入。每一行被分成以下列:装置ID列621,其包含用于电子装置的标识符;用户ID栏622,其包含用于与装置相关联的用户的识别符;语言名称列623,其包含由用户选择的语言的名称;语言模型ID列624,其包含了与在用户的装置上选择的语言相关联的语言模型的识别符;以及众包标志列31,其指示了语言模型是否根据本技术的实现方式通过众包被开发。
例如,行601指示装置A允许用户1000用宿务语(Cebuano)输入文本,其使用了众包语言模型1234。行602指示在装置B上,用户2000用可以输入文字的宿务语(Binisaya)语言,其使用了相同的众包语言模型1234。从而该表显示了将两个不同的语言或两个不同的语言名称与一个语言模型关联。类似地,行603和604指示在装置C和D中,用户3000和4000分别用名称为“聊天”和“发短信”的语言输入文本,其共享语言模型4567。因此,该表显示了语言模型的技术众包开发,其无需该模型对应于正式语言。行605,606,和607显示了两种装置E和F,其与用户5000关联,该用户可以用阿拉伯语在装置E上输入文本,以及在装置F上用美式英语输入文本,或在装置F上使用拉丁字符用音译的聊天的阿拉伯语来输入文本。因此,表格示出了允许用户在一台装置上选择不同的语言的技术,包括基本上完整的语言模型以及开发的众包的语言模型。
虽然用户装置和语言表600的内容被包括以呈现可理解的示例,本领域技术人员将理解,该技术可以使用具有对应于不同的和/或更大数量的分类,以及更多行的用户装置和语言表。例如,单独的表可以被提供用于每种语言。可以被使用分类包括,例如,用户数据的各种类型、语言信息、语言模型数据(包括,例如单词和单词频率,以及留验信息)、语言模型元数据(例如,语言普及统计数据和用于众包的阈值),以及位置数据。虽然图6示出了一个表格,其内容和组织被设计为使它们更便于读者理解,本领域的技术人员将理解,由该技术使用的用于存储信息的实际数据结构可以不同于所显示的表格。例如,它们可以以不同的方式来组织(例如,以多个不同的数据结构);可以含有比显示的更多或更少的信息;可以被压缩和/加密,等等。
在一些实现方式中,该技术包括确定语言模型不能用于所选择的语言,使得使用语言模型的语言识别系统来预测在语言中的单词对于预测在区分的语言中想要的单词是无效的;初始化语言模型用于所选择的语言,其中语言模型是基于由选择语言的多个用户提供的来自多个计算装置的文本输入,并且其中该语言模型不是基于从一组在所选择语言的现存的和存储的文档中收集的数据;监控由计算装置的用户对在所选择的语言中的单词的使用;在所述语言模型中收集关于计算装置的用户对所选择的语言中的单词的所监控的使用的信息;将计算装置的用户对所选择的语言中的单词的所监控的使用所收集的信息提供到服务器计算机;以及,从服务器计算机处接收更新至语言模型,部分基于计算装置的用户对所选择的语言中的单词的所监控的使用的所收集的信息,使得计算装置上的语言识别系统以及使用包括生成的更新的语言模型对于预测在语言中的想要的单词更加有效。
结论
本申请涉及于2013年12月13日提交的,名称为“Using Statistical LanguageModels to Improve Text Input”(使用统计语言模型提高文本输入)的美国申请号14/106,635;于2013年4月24日提交的,名称为“Updating Population Language ModelsBased on Changes Made by User Clusters”(基于用户集群的变更来更新群体语言模型)的美国申请号13/869,919;于2013年3月15日提交的,名称为“Subscription Updates inMultiple Device Language Models”(在多个装置语言模型中的订阅更新)的美国申请号13/834,887;于2011年7月26日提交的,名称为“Systems and Methods for Improving theAccuracy of a Transcription Using Auxiliary Data Such as Personal Data”(用于通过使用例如个人数据的辅助数据来提高音译的准确性的系统和方法)的美国申请号13/190,749;名称为“Accuracy Improvement Of Spoken Queries Transcription Using Co-Occurrence Information”(使用共现信息的口语查询音译的准确度提高)的美国专利号8,650,031;名称为“Input Recognition Using Multiple Lexicons”(使用多个词汇的输入识别)的美国专利号8,543,384;以及名称为“Automatic Grammar Tuning UsingStatistical Language Model Generation”(使用统计的语言模型生成的自动语法调整)的美国专利号8,346,555;它们各自在此出于所有目的以其整体作为参考被并入本文。
除非上下文清楚地要求,否则在整个说明书和权利要求书中,“包含”,“包括”等等可被解释为包含的意义,而不是排他或穷尽的意义;也就是说,“包括,但不限于”的意思。如本文所用,术语“连接”,“耦接”或其任何变形,是指任何连接或耦接,无论是直接或间接,在两个或多个元件之间;在元件之间的连接的耦接可以是物理的、逻辑的,或它们的组合。此外,在本申请中使用的“在此”、“以上”、“以下”和类似含义的词语,是指本申请作为整体而不是本申请的任何特定部分。如果内容许可,在上面详细说明使用的单数或复数的词可分别包括复数或单数。在两个或多个项目的列表中,“或者”涵盖词的所有以下解释:列表中的任何项目,列表中的所有项目,列表中项目的任意组合。单词“预测”、“可预测的”、“预测”以及类似输入的其它变体和单词,旨在被广义地解释,并且包括建议单词完成、修正和/或可能的下一个单词,基于没有超出上下文引导至该单词的输入(例如,“a stitch in”之后的“time”、“the ditch”、“her wound”或者“my side”),并从几个可能的输入中消除歧义。
公开的示例的以上详细描述并非意在穷举或限制公开为上述公开的精确形式。相关领域的技术人员将认识到如上所述的公开的具体的示例旨在说明目的,各种在本公开的范围内的等同修改是可能的。例如,尽管过程或块以给定的顺序呈现,替代实现可以以不同的顺序执行具有步骤的例程或采用具有块的系统,并且一些过程或块可以被删除、移动、添加、分割、组合,和/或修改以提供选择或子组合。这些过程或块的每一个可以被以多种不同的方式实现。此外,尽管过程或块有时以串联方式执行,这些过程或块可能以并行方式执行或实现,或者可以在不同的时间被执行。进一步地,在此所注明的任何具体的数字仅是示例:选择或实现可以采用不同的值或范围。
在此提供的公开的教导可以被应用到其它系统,未必是上述的系统。上述各种示例的元素和行为可以被结合以提供进一步的本公开的实现。本公开的一些替代性实现不仅可以包括附加的元素至以上述的那些实现中,但也可以包括更少的元素。
这些和其它的变化可根据上述详细说明为本公开作出。虽然上述描述介绍了本公开的某些示例,并描述了设想的最佳模式,但不管在文本中如何详细显示,公开可以以多种方式实现。系统的细节在其具体的实现中可能有很大的不同,同时仍被在此公开的公开所包含。如上文所述,当描述公开的某些特征或方面时,被使用的特定术语不应被视为暗示术语正在被在此重新定义以被限制于任何特定的特性、特征或术语相关联的公开的方面。一般情况下,在以下的权利要求书中所使用的术语不应该被解释为将公开限制为本说明书中公开的具体示例,除非上述详细说明部分明确定义这样的术语。因此,公开的实际范围不仅包括所公开的示例,还包括根据权利要求实施或实现公开的所有等同方式。
为了减少权利要求的数量,公开的某些方面以某些权利要求的形式被呈现如下,但是申请人以任意数量的权利要求的形式设想公开的多个方面。例如,虽然本公开仅一个方面是记载为计算机可读存储介质权利要求,其它方面同样可被呈现为计算机可读存储介质权利要求,或以其他形式,例如被呈现方法加功能权利要求。(任何打算被视为基于35U.S.C§112(f)的都将以单词“用于……的装置”起始,但术语“用于”在其它上下文中并不视图引起35 U.S.C§112(f)的处理)。因此,申请人保留在提交申请后增加附加的权利要求的权利,以在本申请或在继续申请中寻求这种附加权利要求形式。

Claims (23)

1.一种有形的计算机可读存储器,其具有内容被配置为使得至少一个具有处理器的计算机执行用于辅助建立由语言识别系统使用的新的语言模型的方法,所述方法包括:
为所选择的语言初始化语言模型,
其中使用语言模型来预测在语言中的单词的语言识别系统对于预测在所选择的语言中的想要的单词是无效的;
监控由所选择的语言的多个用户在各种计算装置上在所选择的语言中对单词的使用;
基本上实时地收集关于由所选择的语言的所述多个用户对所选择的语言中的所述单词的所监控的使用的信息;
基于关于在所选择的语言中的所述单词的所监控的使用所收集的信息,生成对所述语言模型的更新;以及
提供所生成的对所述语言模块的更新至所述各种计算装置,使得使用包括所生成的更新的所述语言模块的语言使用识别系统对预测在所选择的语言中的想要的单词更加有效。
2.根据权利要求1所述的计算机可读存储器,其中基于关于在所选择的语言中的所述单词的所监控的使用所收集的信息,生成对所述语言模型的更新,包括添加单词或n个单词至所述语言模型或从所述语言模型移除单词或n个单词,修改在所述语言模型中的单词或n个单词的加权或使用频率数据。
3.根据权利要求1所述的计算机可读存储器,其中基于关于在所选择的语言中的所述单词的所监控的使用所收集的信息,生成对所述语言模型的更新,包括添加通过使用来自多于一种语言或文字的字符而被输入的单词至所述语言模型,或添加由第一用户使用拉丁字符输入的单词以及添加由第二用户使用非拉丁字符输入的单词至所述语言模型。
4.根据权利要求1所述的计算机可读存储器,其中基于关于在所选择的语言中的所述单词的所监控的使用所收集的信息,生成对所述语言模型的更新,包括在所述语言的不同的语言模型中的不同字符集中存储单词,使得对所述语言模型的所述更新是基于所选择的语言的使用,其是通过用户使用在基本上类似的字符集中的单词。
5.根据权利要求4所述的计算机可读存储器,其中在所述语言的不同的语言模型中的不同字符集中存储单词包括将非拉丁文字输入的单词存储在所述语言的第一语言模型中,以及将拉丁文字输入的单词存储在所述语言的第二语言模型中。
6.根据权利要求1所述的计算机可读存储器,其中基于关于在所选择的语言中的所述单词的所监控的使用所收集的信息,生成对所述语言模型的更新,包括在添加单词至所述语言模型之前,要求阈值数量或百分比的用户采用该单词。
7.根据权利要求6所述的计算机可读存储器,其中要求阈值数量或百分比的用户包括基于所述语言模型的规模或所选择的语言的所述多个用户的数量设定较低的阈值。
8.根据权利要求1所述的计算机可读存储器,其中基于关于在所选择的语言中的所述单词的所监控的使用所收集的信息,生成对所述语言模型的更新,包括过滤所收集的信息以识别可能包含错误的单词、隐私信息,或令人反感的单词。
9.根据权利要求8所述的计算机可读存储器,其中过滤所收集的信息以识别可能包含错误的单词包括确定所选择的语言的用户采用正确的单词的频率超过所选择的语言的用户采用包含所述错误的所述单词的频率,或者将包含特殊字符的单词形式视为比没有特殊字符的类似形式更为权威。
10.根据权利要求1所述的计算机可读存储器,进一步包括:
识别两种语言模型,其具有在其单词列表和单词频率分布中具有显著的重叠;以及
聚集重叠的语言模型。
11.根据权利要求1所述的计算机可读存储器,其中提供所生成的对所述语言模块的更新至所述各种计算装置包括提供包括至少一些所生成的更新的所述语言模块至所述语言的新用户的计算装置。
12.根据权利要求1的所述的计算机可读存储器,其中:
为所选择的语言初始化语言模型包括提供没有包含所述语言中的单词的空的语言模型;
基本上实时地收集关于由所选择的语言的所述多个用户对所选择的语言中的所述单词的所监控的使用的信息包括获得语言模型,其包含来自用户的在所述语言中的大约几百个单词;以及
提供所生成的对所述语言模块的更新至所述各种计算装置包括提供语言模型,其包含在所述语言中的大约几千个单词。
13.一种用于辅助建立由语言识别系统使用的新的语言模型的计算系统,以预测在语言中的单词的方法,所述方法包括:
区分语言;
确定基本完整的语言模型对于所区分的语言是否是可用的;
当基本完整的语言模型对于所区分的语言不可用时,
在所述计算系统上基本上实时地监控由所述计算系统的用户在所区分的语言中的单词的使用;
在所述计算系统上的语言模型中收集关于在所区分的语言中的所述单词的所监控的使用的信息;
基于额外的信息,在所述计算系统上接收对所述语言模型的更新,所述额外的信息是基本上实时监控的关于由所区分的语言的其它用户在所区分的语言中的单词的使用;以及
通过所述语言识别系统,预测由用户想要的所区分的语言中的单词以响应于所述用户的输入,
其中所述预测是基于在所述语言模型中的所述信息,包括有关在所区分的语言中的单词的所监控的使用的信息以及从所区分的语言的其它用户处收集的额外的信息。
14.根据权利要求13所述的方法,其中区分语言包括:
获取有关所述用户或计算系统的位置的信息;
识别在位置中使用的至少一种语言,所述位置包括所获得的位置或接近所获得位置;以及
基于将所述用户文本输入的特性和识别的语言的特性进行比较,自动地确定用户文本输入的语言;或
基于所获得的位置信息和语言识别,为用户选择提供至少一个所识别的语言的名称并接收语言名称的用户选择。
15.根据权利要求13所述的方法,其中区分语言包括:
接收用户输入语言名称;
将所接收到的用户输入语言名称和包含识别的语言名称的数据结构的内容进行比较,包括用于英语和本地文字的语言的名称;
基于所述比较,确定所接收的用户输入语言名称不对应于识别的语言名称;以及
提示用户选择类似于或关于所接收的用户输入语言名称的语言的名称,使得至少一个其他用户选择了所述语言;或提供所述用户输入语言的替代的名称并且选择所述用户输入语言的键盘或字符集,以及将所接收的用户输入语言名称添加到所述数据结构的所述内容中。
16.根据权利要求15所述的方法,还包括将语言模型的至少一部分与多种语言或多个语言名称相关联。
17.根据权利要求13所述的方法,其中确定基本完整的语言模型对于所选择的语言是不可用的包括确定没有语言模型对于所选择的语言是可用的,所选择的语言的语言模型尚未被完整地开发,或所选择的语言的语言模型包含少于约几百个单词。
18.根据权利要求13所述的方法,进一步包括:
初始化基本上空的语言模型,基于来自其他用户的单词使用信息下载没有完全被开发的语言模型,下载包含少于约几百个单词的语言模型,或下载包含来自不同的语言的单词的语言模型;以及
为所述语言提供或指定键盘或字符集。
19.根据权利要求18所述的方法,其中为所述语言提供或指定键盘或字符集包括:
确定由所述语言的大多数用户选择的键盘或由所述语言的用户编辑的键盘;以及
呈现所确定的键盘作为所述语言的默认选择。
20.根据权利要求13所述的方法,其中在所述计算系统上基本上实时地监控由所述计算系统的用户在所区分的语言中的单词的使用包括:
监控被明确添加到用户字典或语言模型中的单词;或;
接收文本块的用户选择和指示所述文本采用所述语言;以及
扫描所选择的文本,使得在所选择的文本中的单词或关于在所选择的文本中的单词的信息被收集在所述计算系统上的所述语言的所述语言模型中。
21.根据权利要求13所述的方法,其中有关在所选择的语言中的单词的所监控的使用的信息包括单词和单个单词、单词对(两个单词)、三个单词(三个单词),或更高阶的n个单词的频率,以及关于对单词建议的响应和从所述语言模型中删除单词的信息。
22.一种用于辅助建立由语言识别系统使用的语言模型以预测在语言中的单词的系统,所述系统包括:
存储以下装置的计算机可执行指令的至少一个存储器:
被配置为将众包的语言模型与所述语言相关联的部件;
对于多个计算装置中的一个:
被配置为识别在所述计算装置上单词的用户输入作为在所述语言中的单词的使用的部件;
被配置为基本上实时地监控在所述计算装置上在所述语言中的单词的使用的部件;
被配置为在所述众包的语言模型中收集关于在所述多个计算装置上的所区分的语言中的所述单词的所监控的使用的信息的部件;
被配置为基于关于在所述语言中的所述单词的所监控的使用所收集的信息,生成对所述众包的语言模型的更新的部件;以及
被配置为向所述多个装置的每一个提供所生成的对所述语言模型的更新的部件;以及
至少一个处理器,其用于执行存储在至少一个存储器中的所述计算机可执行指令。
23.根据权利要求22所述的系统,其中被配置为在所述众包的语言模型中收集关于在所述多个计算装置上的所区分的语言中的所述单词的所监控的使用的信息的部件被配置为接收语言模型或接收关于来自所述多个计算装置中的每一个的语言模型的改变的信息。
CN201580021809.5A 2014-04-25 2015-04-13 基于众包的用户文本输入从头开始学习语言模型 Pending CN106233375A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/262,304 US20150309984A1 (en) 2014-04-25 2014-04-25 Learning language models from scratch based on crowd-sourced user text input
US14/262,304 2014-04-25
PCT/US2015/025607 WO2015164116A1 (en) 2014-04-25 2015-04-13 Learning language models from scratch based on crowd-sourced user text input

Publications (1)

Publication Number Publication Date
CN106233375A true CN106233375A (zh) 2016-12-14

Family

ID=54333009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580021809.5A Pending CN106233375A (zh) 2014-04-25 2015-04-13 基于众包的用户文本输入从头开始学习语言模型

Country Status (4)

Country Link
US (1) US20150309984A1 (zh)
EP (1) EP3134895A1 (zh)
CN (1) CN106233375A (zh)
WO (1) WO2015164116A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108352167A (zh) * 2015-10-28 2018-07-31 福特全球技术公司 包括可佩戴设备的车辆语音识别
CN109712618A (zh) * 2018-12-06 2019-05-03 珠海格力电器股份有限公司 一种语音服务的控制方法、装置、存储介质及空调
CN110750971A (zh) * 2018-07-06 2020-02-04 国际商业机器公司 基于上下文的自动完成建议
CN111160015A (zh) * 2019-12-24 2020-05-15 北京明略软件系统有限公司 一种实现文本分析的方法、装置、计算机存储介质及终端
CN112204655A (zh) * 2018-05-22 2021-01-08 三星电子株式会社 用于通过使用应用输出对语音输入的响应的电子装置及其操作方法
CN113032559A (zh) * 2021-03-15 2021-06-25 新疆大学 一种用于低资源黏着性语言文本分类的语言模型微调方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672818B2 (en) * 2013-04-18 2017-06-06 Nuance Communications, Inc. Updating population language models based on changes made by user clusters
RU2670029C2 (ru) * 2014-06-03 2018-10-17 Общество С Ограниченной Ответственностью "Яндекс" Система и способ автоматической модерации сообщений
US20150363392A1 (en) * 2014-06-11 2015-12-17 Lenovo (Singapore) Pte. Ltd. Real-time modification of input method based on language context
US10073828B2 (en) * 2015-02-27 2018-09-11 Nuance Communications, Inc. Updating language databases using crowd-sourced input
US9760560B2 (en) * 2015-03-19 2017-09-12 Nuance Communications, Inc. Correction of previous words and other user text input errors
US10186255B2 (en) * 2016-01-16 2019-01-22 Genesys Telecommunications Laboratories, Inc. Language model customization in speech recognition for speech analytics
US10013974B1 (en) * 2016-02-29 2018-07-03 Amazon Technologies, Inc. Compact HCLG FST
US9978367B2 (en) * 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
US10628522B2 (en) * 2016-06-27 2020-04-21 International Business Machines Corporation Creating rules and dictionaries in a cyclical pattern matching process
US10418026B2 (en) 2016-07-15 2019-09-17 Comcast Cable Communications, Llc Dynamic language and command recognition
US10747427B2 (en) * 2017-02-01 2020-08-18 Google Llc Keyboard automatic language identification and reconfiguration
KR102068182B1 (ko) * 2017-04-21 2020-01-20 엘지전자 주식회사 음성 인식 장치, 및 음성 인식 시스템
US20180329877A1 (en) 2017-05-09 2018-11-15 International Business Machines Corporation Multilingual content management
CN107193807B (zh) * 2017-05-12 2021-05-28 北京百度网讯科技有限公司 基于人工智能的语言转换处理方法、装置及终端
US11188158B2 (en) * 2017-06-02 2021-11-30 Samsung Electronics Co., Ltd. System and method of determining input characters based on swipe input
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
CN107632977A (zh) * 2017-09-20 2018-01-26 广东工业大学 一种语言学习方法、系统及设备
KR20190126734A (ko) 2018-05-02 2019-11-12 삼성전자주식회사 문맥적 추천
US11544300B2 (en) * 2018-10-23 2023-01-03 EMC IP Holding Company LLC Reducing storage required for an indexing structure through index merging
US11003697B2 (en) * 2018-11-08 2021-05-11 Ho Chi Minh City University Of Technology (Hutech) Cluster computing system and method for automatically generating extraction patterns from operational logs
US10936812B2 (en) * 2019-01-10 2021-03-02 International Business Machines Corporation Responsive spell checking for web forms
WO2020146784A1 (en) * 2019-01-10 2020-07-16 Chevron U.S.A. Inc. Converting unstructured technical reports to structured technical reports using machine learning
US10852155B2 (en) * 2019-02-04 2020-12-01 Here Global B.V. Language density locator
US10930284B2 (en) * 2019-04-11 2021-02-23 Advanced New Technologies Co., Ltd. Information processing system, method, device and equipment
US11556709B2 (en) 2020-05-19 2023-01-17 International Business Machines Corporation Text autocomplete using punctuation marks
EP3977323A4 (en) * 2020-08-10 2023-12-27 Walkme Ltd. PRIVACY-PRESERVING DATA COLLECTION
US11373005B2 (en) * 2020-08-10 2022-06-28 Walkme Ltd. Privacy-preserving data collection
US20220129621A1 (en) * 2020-10-26 2022-04-28 Adobe Inc. Bert-based machine-learning tool for predicting emotional response to text
US11537952B2 (en) * 2021-04-28 2022-12-27 Avicenna.Ai Methods and systems for monitoring distributed data-driven models

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012075A (en) * 1996-11-14 2000-01-04 Microsoft Corporation Method and system for background grammar checking an electronic document
US6205418B1 (en) * 1997-06-25 2001-03-20 Lucent Technologies Inc. System and method for providing multiple language capability in computer-based applications
US20020123891A1 (en) * 2001-03-01 2002-09-05 International Business Machines Corporation Hierarchical language models
JP2005031150A (ja) * 2003-07-07 2005-02-03 Canon Inc 音声処理装置および方法
US20050209844A1 (en) * 2004-03-16 2005-09-22 Google Inc., A Delaware Corporation Systems and methods for translating chinese pinyin to chinese characters
CN101309327A (zh) * 2007-04-16 2008-11-19 索尼株式会社 语音聊天系统、信息处理装置、话语识别和关键字检测
US20100312555A1 (en) * 2009-06-09 2010-12-09 Microsoft Corporation Local and remote aggregation of feedback data for speech recognition
KR20110117449A (ko) * 2010-04-21 2011-10-27 이진욱 데이터수집 단말을 이용한 음성인식 시스템
US20120271617A1 (en) * 2011-04-25 2012-10-25 Google Inc. Cross-lingual initialization of language models
WO2013171481A2 (en) * 2012-05-14 2013-11-21 Touchtype Limited Mechanism for synchronising devices, system and method
US20140108018A1 (en) * 2012-10-17 2014-04-17 Nuance Communications, Inc. Subscription updates in multiple device language models

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311157B1 (en) * 1992-12-31 2001-10-30 Apple Computer, Inc. Assigning meanings to utterances in a speech recognition system
US5523754A (en) * 1993-09-20 1996-06-04 International Business Machines Corporation Method and apparatus for automatic keyboard configuration by layout
US7027987B1 (en) * 2001-02-07 2006-04-11 Google Inc. Voice interface for a search engine
US7117144B2 (en) * 2001-03-31 2006-10-03 Microsoft Corporation Spell checking for text input via reduced keypad keys
US7194684B1 (en) * 2002-04-09 2007-03-20 Google Inc. Method of spell-checking search queries
JP4466665B2 (ja) * 2007-03-13 2010-05-26 日本電気株式会社 議事録作成方法、その装置及びそのプログラム
US20090058823A1 (en) * 2007-09-04 2009-03-05 Apple Inc. Virtual Keyboards in Multi-Language Environment
JP5598331B2 (ja) * 2008-11-28 2014-10-01 日本電気株式会社 言語モデル作成装置
US20100145677A1 (en) * 2008-12-04 2010-06-10 Adacel Systems, Inc. System and Method for Making a User Dependent Language Model
US8589163B2 (en) * 2009-12-04 2013-11-19 At&T Intellectual Property I, L.P. Adapting language models with a bit mask for a subset of related words
WO2012042578A1 (ja) * 2010-10-01 2012-04-05 三菱電機株式会社 音声認識装置
US8832589B2 (en) * 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
US20140278349A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Language Model Dictionaries for Text Predictions
US9672818B2 (en) * 2013-04-18 2017-06-06 Nuance Communications, Inc. Updating population language models based on changes made by user clusters

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012075A (en) * 1996-11-14 2000-01-04 Microsoft Corporation Method and system for background grammar checking an electronic document
US6205418B1 (en) * 1997-06-25 2001-03-20 Lucent Technologies Inc. System and method for providing multiple language capability in computer-based applications
CN1256714C (zh) * 2001-03-01 2006-05-17 国际商业机器公司 语音识别方法及语境模型分级结构生成方法
US20020123891A1 (en) * 2001-03-01 2002-09-05 International Business Machines Corporation Hierarchical language models
JP2005031150A (ja) * 2003-07-07 2005-02-03 Canon Inc 音声処理装置および方法
CN1954315A (zh) * 2004-03-16 2007-04-25 Google公司 用于将汉语拼音翻译成汉字的系统和方法
US20050209844A1 (en) * 2004-03-16 2005-09-22 Google Inc., A Delaware Corporation Systems and methods for translating chinese pinyin to chinese characters
CN101309327A (zh) * 2007-04-16 2008-11-19 索尼株式会社 语音聊天系统、信息处理装置、话语识别和关键字检测
US20100312555A1 (en) * 2009-06-09 2010-12-09 Microsoft Corporation Local and remote aggregation of feedback data for speech recognition
KR20110117449A (ko) * 2010-04-21 2011-10-27 이진욱 데이터수집 단말을 이용한 음성인식 시스템
US20120271617A1 (en) * 2011-04-25 2012-10-25 Google Inc. Cross-lingual initialization of language models
CN103635963A (zh) * 2011-04-25 2014-03-12 谷歌公司 语言模型的跨语种初始化
WO2013171481A2 (en) * 2012-05-14 2013-11-21 Touchtype Limited Mechanism for synchronising devices, system and method
US20140108018A1 (en) * 2012-10-17 2014-04-17 Nuance Communications, Inc. Subscription updates in multiple device language models

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108352167A (zh) * 2015-10-28 2018-07-31 福特全球技术公司 包括可佩戴设备的车辆语音识别
CN112204655A (zh) * 2018-05-22 2021-01-08 三星电子株式会社 用于通过使用应用输出对语音输入的响应的电子装置及其操作方法
CN110750971A (zh) * 2018-07-06 2020-02-04 国际商业机器公司 基于上下文的自动完成建议
CN110750971B (zh) * 2018-07-06 2023-08-11 国际商业机器公司 基于上下文的自动完成建议
CN109712618A (zh) * 2018-12-06 2019-05-03 珠海格力电器股份有限公司 一种语音服务的控制方法、装置、存储介质及空调
CN111160015A (zh) * 2019-12-24 2020-05-15 北京明略软件系统有限公司 一种实现文本分析的方法、装置、计算机存储介质及终端
CN111160015B (zh) * 2019-12-24 2024-03-05 北京明略软件系统有限公司 一种实现文本分析的方法、装置、计算机存储介质及终端
CN113032559A (zh) * 2021-03-15 2021-06-25 新疆大学 一种用于低资源黏着性语言文本分类的语言模型微调方法
CN113032559B (zh) * 2021-03-15 2023-04-28 新疆大学 一种用于低资源黏着性语言文本分类的语言模型微调方法

Also Published As

Publication number Publication date
US20150309984A1 (en) 2015-10-29
EP3134895A1 (en) 2017-03-01
WO2015164116A1 (en) 2015-10-29

Similar Documents

Publication Publication Date Title
CN106233375A (zh) 基于众包的用户文本输入从头开始学习语言模型
Fabbri et al. Summeval: Re-evaluating summarization evaluation
US11100144B2 (en) Data loss prevention system for cloud security based on document discourse analysis
US20200184155A1 (en) Generating desired discourse structure from an arbitrary text
US20200034413A1 (en) Unknown word predictor and content-integrated translator
US9892103B2 (en) Social media guided authoring
CN106202059A (zh) 机器翻译方法以及机器翻译装置
CN102349087A (zh) 自动提供与捕获的信息例如实时捕获的信息关联的内容
JP2019067433A (ja) 話題提供システム
US20160253313A1 (en) Updating language databases using crowd-sourced input
Hu Usability evaluation of E-Dunhuang cultural heritage digital library
Ban et al. Robust clustering of languages across Wikipedia growth
Megyesi et al. Keys with nomenclatures in the early modern Europe
KR100707725B1 (ko) 자동완성 질의어 제공 시스템, 방법 및 상기 방법을실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한기록 매체
De Paiva et al. Exploratory information extraction from a historical dictionary
Balog et al. The first international workshop on entity-oriented search (eos)
Samanta et al. An approach to design virtual keyboards for text composition in Indian languages
Caulfield A social network analysis of Irish language use in social media
Büyük et al. Learning from mistakes: Improving spelling correction performance with automatic generation of realistic misspellings
Gobin-Rahimbux et al. KreolStem: A hybrid language-dependent stemmer for Kreol Morisien
KR20060104544A (ko) 자동완성 질의어 제공 시스템, 방법 및 상기 방법을실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한기록 매체
JP6885217B2 (ja) ユーザ対話支援システム、ユーザ対話支援方法及びプログラム
Wan-Chik A user study on the experience of information seeking for Islamic and Quranic information on the Web
Hrkút et al. Data Collection for Natural Language Processing Systems
Benjamin et al. Looking forward by looking back: Applying lessons from 20 years of African language technology

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20161214