CN107111607B - 用于语言检测的系统和方法 - Google Patents
用于语言检测的系统和方法 Download PDFInfo
- Publication number
- CN107111607B CN107111607B CN201480084163.0A CN201480084163A CN107111607B CN 107111607 B CN107111607 B CN 107111607B CN 201480084163 A CN201480084163 A CN 201480084163A CN 107111607 B CN107111607 B CN 107111607B
- Authority
- CN
- China
- Prior art keywords
- language
- message
- methods
- different
- scores
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 186
- 238000001514 detection method Methods 0.000 title claims abstract description 128
- 238000012360 testing method Methods 0.000 claims abstract description 41
- 238000004590 computer program Methods 0.000 claims abstract description 25
- 238000013515 script Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 22
- 230000036541 health Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 6
- 238000012706 support-vector machine Methods 0.000 description 22
- 238000013459 approach Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000012549 training Methods 0.000 description 16
- 239000013598 vector Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 230000014616 translation Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/263—Language identification
Abstract
本公开的实现方式涉及用于检测文本消息中的语言的方法、系统和计算机程序存储设备。对与用户相关联的消息执行多个不同的语言检测测试。每个语言检测测试确定表示该消息是多种不同语言之一的可能性的分数集合。将该分数集合的一个或多个组合作为输入提供给一个或多个不同的分类器。每个分类器的输出包括该消息是不同语言之一的相应指示。可以基于置信度分数和/或识别的语言领域,将该消息中的语言识别为其中的一个分类器所指示的语言。
Description
技术领域
本公开涉及语言检测,并且特别涉及一种用于检测短文本消息中的语言的系统和方法。
背景技术
一般来说,语言检测或识别是基于文本内容自动检测存在于文本主体中的语言的过程。语言检测在自动语言翻译的情况下是有用的,其中,在能够将消息准确地翻译成不同语言之前,通常必须知道文本消息的语言。
虽然一般是对许多单词和句子的集合(即,在文档层面上)执行传统语言检测,但是特别具有挑战性的领域是聊天文本领域,其中消息通常仅包括几个单词(例如,四个或更少),一些或全部消息可能是非正式和/或拼写错误的。在聊天文本领域中,由于缺乏信息以及这些消息中存在的非正式性,现有的语言检测方法已被证明是不准确和/或缓慢的。
发明内容
本文描述的系统和方法的实施例用于基于例如消息的内容、关于用于生成消息的键盘的信息和/或关于生成消息的用户的语言偏好的信息来检测文本消息中的语言。与以前的语言检测技术相比,本文描述的系统和方法通常更快更准确,特别是对于短文本消息(例如,四个字或更少)来说。
在各种示例中,本系统和方法使用多个语言检测测试和分类器来确定与文本消息中的可能语言相关联的概率。每个语言检测测试可以输出与可能语言相关联的概率集合或向量。分类器可以组合语言检测测试的输出来确定消息的最可能的语言。为消息选择的(多个)特定语言检测测试和(多个)分类器可以取决于消息的预测精度、置信度分数和/或语言领域。
在一个方面,本发明涉及一种用于识别消息中的语言的计算机实现的方法。所述方法包括:对与用户相关联的消息执行多个不同的语言检测测试,每个语言检测测试确定相应的分数集合,所述分数集合中的每个分数表示所述消息是多种不同语言中的一种的可能性;将所述分数集合的一个或多个组合作为输入提供给一个或多个不同的分类器;获得作为所述一个或多个分类器中的每一个的输出的相应指示,所述相应指示表明所述消息是所述多种不同语言中的一种,所述指示包括置信度分数;以及基于所述置信度分数和识别的语言领域中的至少一个,将所述消息中的所述语言识别为所述一个或多个分类器中的一个分类器所指示的语言。
在某些例子中,特定分类器是监督学习模型、部分监督学习模型、无监督学习模型或插值。识别所述消息中的语言可以包括基于所述置信度分数来选择所指示的语言。识别所述消息中的所述语言可以包括基于所识别的语言领域选择所述分类器。在一些情况下,所述语言领域是或者包括视频游戏、体育、新闻、议会议事、政治、健康和/或旅行。
在一些例子中,所述消息包括以下中的两个或多个:字母、数字、符号和表情符号。所述多个不同的语言检测测试可以包括从由以下方法组成的组中选择的至少两种方法:字节n-gram方法、基于词典的方法、基于字母表的方法、基于脚本的方法和用户语言配置文件方法。可以同时执行(例如,利用并行处理)所述多个不同的语言检测测试。所述一个或多个组合可以包括来自字节n-gram方法和基于词典的方法的分数集合。所述一个或多个组合还可以包括来自所述用户语言配置文件方法和/或基于字母表的方法的分数集合。
在另一方面,本发明涉及一种用于识别消息中的语言的系统。所述系统包括:具有存储在其上的指令的计算机存储设备。所述系统还包括被配置为执行所述指令以执行操作的数据处理装置,所述操作包括:对与用户相关联的消息执行多个不同的语言检测测试,每个语言检测测试确定相应的分数集合,所述分数集合中的每个分数表示所述消息是多种不同语言中的一种的可能性;将所述分数集合的一个或多个组合作为输入提供给一个或多个不同的分类器;获得作为所述一个或多个分类器中的每一个的输出的相应指示,所述相应指示表明所述消息是所述多种不同语言中的一种,所述指示包括置信度分数;以及基于所述置信度分数和识别的语言领域中的至少一个,将所述消息中的所述语言识别为所述一个或多个分类器中的一个分类器所指示的语言。
在某些例子中,特定分类器是监督学习模型、部分监督学习模型、无监督学习模型或插值。识别所述消息中的语言可以包括基于所述置信度分数来选择所指示的语言。识别所述消息中的所述语言可以包括基于所识别的语言领域选择所述分类器。在一些情况下,所述语言领域是或者包括视频游戏、体育、新闻、议会议事、政治、健康和/或旅行。
在一些例子中,所述消息包括以下中的两个或多个:字母、数字、符号和表情符号。所述多个不同的语言检测测试可以包括从由以下方法组成的组中选择的至少两种方法:字节n-gram方法、基于词典的方法、基于字母表的方法、基于脚本的方法和用户语言配置文件方法。可以同时执行(例如,利用并行处理)所述多个不同的语言检测测试。所述一个或多个组合可以包括来自字节n-gram方法和基于词典的方法的分数集合。所述一个或多个组合还可以包括来自所述用户语言配置文件方法和/或基于字母表的方法的分数集合。
在另一方面,本发明涉及一种存储在一个或多个存储设备中的用于控制数据处理装置的处理模式的计算机程序产品。所述计算机程序产品可由所述数据处理装置执行以使所述数据处理装置执行操作,所述操作包括:对与用户相关联的消息执行多个不同的语言检测测试,每个语言检测测试确定相应的分数集合,所述分数集合中的每个分数表示所述消息为多种不同语言中的一种的可能性;将所述分数集合的一个或多个组合作为输入提供给一个或多个不同的分类器;获得作为所述一个或多个分类器中的每一个的输出的相应指示,所述相应指示表明所述消息是所述多种不同语言中的一种,所述指示包括置信度分数;以及基于所述置信度分数和识别的语言领域中的至少一个,将所述消息中的所述语言识别为所述一个或多个分类器中的一个分类器所指示的语言。
在某些例子中,特定分类器是监督学习模型、部分监督学习模型、无监督学习模型或插值。识别所述消息中的语言可以包括基于所述置信度分数来选择所指示的语言。识别所述消息中的所述语言可以包括基于所识别的语言领域选择所述分类器。在一些情况下,所述语言领域是或者包括视频游戏、体育、新闻、议会议事、政治、健康和/或旅行。
在一些例子中,所述消息包括以下中的两个或多个:字母、数字、符号和表情符号。所述多个不同的语言检测测试可以包括从由以下方法组成的组中选择的至少两种方法:字节n-gram方法、基于词典的方法、基于字母表的方法、基于脚本的方法和用户语言配置文件方法。可以同时执行(例如,利用并行处理)所述多个不同的语言检测测试。所述一个或多个组合可以包括来自字节n-gram方法和基于词典的方法的分数集合。所述一个或多个组合还可以包括来自所述用户语言配置文件方法和/或基于字母表的方法的分数集合。
对于本发明的给定方面描述的实施例的元件可以用在本发明的另一方面的各种实施例中。例如,可以预期,依赖于一个独立权利要求的从属权利要求的特征可以用于任何其他独立权利要求的装置和/或方法。
附图说明
图1A是用于执行语言检测的示例系统的框图。
图1B是检测文本消息中的语言的示例方法的流程图。
图2是检测文本消息中的语言的示例n元模型(n-gram)方法的流程图。
图3是检测文本消息中的语言的示例的基于词典的方法的流程图。
图4是检测文本消息中的语言的示例的基于字母表的方法的流程图。
图5是检测文本消息中的语言的示例的基于脚本的方法的流程图。
图6是检测文本消息中的语言的示例用户语言配置文件方法的流程图。
图7是示例语言检测方法模块的示意图。
图8是示例分类器模块的示意图。
图9是使用图7的语言检测方法模块和图8的分类器模块检测文本消息中的语言的示例方法的流程图。
图10是检测文本消息中的语言的示例方法的流程图。
图11是检测文本消息中的语言的示例方法的流程图。
图12是检测文本消息中的语言的示例方法的流程图。
具体实施方式
通常,当消息的语言信息(例如,来自客户端设备的键盘信息)不存在、格式不正确或不可靠时,本文所述的语言检测系统和方法可用于识别文本消息中的语言。该系统和方法提高了用于将文本消息从一种语言翻译成另一种语言的语言翻译方法的准确性。语言翻译通常需要准确地识别源语言,否则产生的翻译可能不准确。
图1A示出了用于检测消息(例如,文本消息或音频消息)中的语言的示例系统10。服务器系统12提供消息分析和语言检测功能。服务器系统12包括例如可以部署在一个或多个地理位置的一个或多个数据中心14处的软件组件和数据库。服务器系统12的软件组件包括检测方法模块16、分类器模块18和管理器模块20。软件组件可以包括可以在相同或不同的单个数据处理装置上执行的子组件。服务器系统12的数据库包括训练数据22、词典24、字母表26、脚本28和用户配置文件信息30。数据库可驻留在一个或多个物理存储系统中。在下面将进一步描述软件组件和数据。
可将应用(例如,基于web的应用)用作允许用户向服务器系统12提供消息的终端用户应用。客户端设备(例如,个人计算机34、智能电话36、平板计算机38和膝上型计算机40)的用户可以通过网络32访问终端用户应用。其他客户端设备也可以。用户消息可以伴随有关用于创建消息的设备的信息,例如,关于用于创建消息的键盘、客户端设备和/或操作系统的信息。
尽管图1A描绘了分类器模块18和管理器模块20连接到数据库(即,训练数据22,词典24,字母表26,脚本28和用户配置文件信息30),但是分类器模块18和/或管理器模块20不一定连接到一些或全部数据库。通常,分类器模块18接收来自检测方法模块16的输入,并且管理器模块20接收来自分类器模块18的输入。分类器模块18和/或管理器模块20不需要接收其他输入。
图1B示出了使用系统10检测消息中的语言的示例方法100。方法100开始于接收或获得(步骤102)用户生成的文本消息。使用一个或多个语言检测方法(例如,来自检测方法模块16)分析文本消息(步骤104),每个语言检测方法提供消息中存在的一种或多种语言的指示。然后使用提供消息中存在的语言的进一步指示的一个或多个分类器(例如,来自分类器模块18)对语言检测方法的输出进行组合(步骤106)。例如,一个或多个分类器可以包括监督学习模型、部分监督学习模型、无监督学习模型、和/或插值。然后使用来自一个或多个分类器的输出来确定(步骤108)消息中的语言(例如,使用管理器模块20来确定)。
在一些实现中,由管理器模块20根据计算的置信度分数和/或语言领域选择来自一个或多个分类器的语言指示。例如,分类器可以计算指示与语言预测相关联的置信度的置信度分数。附加地或替代地,可以根据与用户或消息相关联的语言领域来选择特定分类器输出。例如,如果消息源于计算机游戏环境,则可以选择特定的分类器输出来提供最准确的语言预测。类似地,如果消息源于运动的情况(例如,有关体育赛事),则可以选择不同的分类器输出以更适合于运动语言领域。其他可能的语言领域包括例如新闻、议会议事、政治、健康、旅游、网页、报纸文章和微博信息。一般来说,当与其他语言领域相比时,某些语言检测方法或语言检测方法的组合(例如,来自分类器)可能对某些语言领域更准确。在一些实现中,可以基于消息中的领域词汇表中的单词的存在来确定语言领域。例如,针对计算机游戏的领域词汇表可以包括玩家使用的常用俚语。
例如,检测方法模块16使用的语言检测方法可以包括n元模型(n-gram)方法(例如,字节n-gram方法)、基于词典的方法、基于字母表的方法、基于脚本的方法和用户语言配置文件方法。其他语言检测方法是可能的。这些语言检测方法中的每一种可以用于检测消息中存在的语言。例如,每个方法的输出可以是与消息中的每种可能的语言相关联的概率的集合或向量。在一些情况下,可以使用并行计算同时执行两种或更多种语言检测方法,这可以显著地减少计算时间。
在一种实现中,字节n-gram方法使用字节n-gram而不是字或字符n-gram来检测语言。优选的,使用具有多项式事件模型的朴素贝叶斯分类器对混合的字节n-gram(例如,1≤n≤4)训练字节n-gram方法。该模型优选地对来自不同语言领域的数据进行归纳,以使得模型的默认配置在包括报纸文章、在线游戏、网页和微博消息不同的领域集合中是准确的。可以从各个领域集成与语言识别任务有关的信息。
在传统的文本分类设置中,实现高精度的任务相对于语言识别来说可能相对容易,对于该传统的文本分类设置来说,域内训练数据是可用的。当尝试使用用于一个语言领域的学习模型参数来对个别语言领域的数据进行分类或归类时,这个任务可能会更加困难。这个问题可以通过关注与语言识别任务相关的重要特征来解决。例如,这可能基于被称为信息增益的概念,最初引入信息增益的概念是用于作为分裂标准的决策树,后来发现其对于在文本分类中选择特征是有用的。在某些实现中,计算表示信息增益相对于领域和语言的差异的检测分数。检测分数高的特征可以提供关于语言的信息,而不提供关于领域的信息。为了简单起见,可以在计算信息增益之前,通过基于术语频率的特征选择来删减候选特征集合。
参考图2,示例性的字节n-gram方法200开始于通过使用训练数据22来训练该方法。例如,可以使用具有多项式事件模型的朴素贝叶斯分类器对混合的字节n-gram训练该方法。优选的,收集(步骤202)大量的且多种语言的训练数据22并对其进行调整,以使每种语言可用的数据量是均匀的。留出一小部分训练数据22(步骤204)作为测试集。一旦选择了训练数据22,就使用合适的平滑和回退技术对数据22进行字节n-gram模型训练(步骤206)。该模型的输入特征是来自每个输入句子的字节流,并且由于源语言标签对于这些句子来说是已知的,所以该模型调整其参数以学习对于给定语言的典型的字节序列。最初分离的测试集合随后用于基于已经训练的模型来预测(步骤208)语言标签。预测的准确性表明该字节n-gram语言识别系统的性能。在某些情况下,难以通过收集所述领域的多种语言的数据来为每个语言领域训练该字节n-gram系统。困难在于每个领域缺乏足够的数据。因此,通常将这些字节n-gram系统训练为迎合通用领域而不是任何特定领域。可以将训练的模型与中间机器参数一起编译(步骤210)到程序中。该程序可以用作通用语言识别系统。
通常,基于词典的语言检测方法通过查找与该语言相关联的词典或其他单词列表中的单词来计算属于每种语言的标记或单词的数量。将消息中具有最多单词的语言选为最佳语言。在具有多种最佳语言的情况下,可以选择更频繁或常用的最佳语言。语言词典可以存储在词典数据库24中。
图3是示例的基于词典的语言检测方法300的流程图。提供文本消息(步骤302),并且识别文本消息的可能语言的集合(步骤304)。然后从该集合中选择第一可能语言(步骤306)。对存在于可能语言的词典中的文本消息中的单词进行计数(步骤308)。如果尚未考虑集合的额外的可能语言(步骤310),则选择新的可能语言(步骤312),并且重复步骤308。一旦考虑了集合的所有可能语言,则可以将文本消息中具有最多单词的语言识别(步骤314)为消息中的语言。可替换的或另外的,该方法可以用于针对集合中的每种语言计算语言在消息中的可能性。例如,基于词典的方法的输出可以是集合中的每种语言的概率向量。
为了确保基于词典的语言检测(特别是对于短句)方法的准确性,优选地使用除了正式单词之外还包括非正式单词或聊天单词(例如,缩写、首字母缩略词、俚语和亵渎语言)的词典。非正式单词通常用于短文本通信和聊天室中。由于开发和使用了新的非正式单词,所以优选地持续地对词典进行增加以包括非正式单词。
基于字母表的方法通常基于每种语言的字母表的字符计数,并且依赖于对具有唯一的字母表或不同的字符集的许多语言的观察。例如,俄语、英语、韩语和日语的每一种都使用不同的字母表。虽然基于字母表的方法可能无法精确地区分某些语言(例如,使用类似字母表的语言,例如拉丁语言),但基于字母表的方法通常可以快速地检测某些语言。在一些情况下,优选使用基于字母表的方法与如本文所讨论的一种或多种其他语言检测方法(例如,使用分类器)结合使用。语言字母表可以存储在字母表数据库26中。
图4是示例的基于字母表的语言检测方法400的流程图。提供文本消息(步骤402),并且识别文本消息的可能语言的集合(步骤404)。然后从该集合中选择第一可能语言(步骤406)。对存在于可能语言的字母表中的文本消息中的字符进行计数(步骤408)。如果尚未考虑集合的额外的可能语言(步骤410),则选择新的可能语言(步骤412),并且重复步骤408。一旦考虑了集合的所有可能语言,则可以将文本消息中具有最多字符的语言识别(步骤414)为消息中的语言。可替换的或另外的,基于字母表的方法可以用于针对集合中的每种语言计算语言在消息中的可能性。例如,基于字母表的方法的输出可以是集合中的每种语言的概率向量。
通常,基于脚本的语言检测方法确定存在于消息中的每个可能脚本(例如,拉丁语脚本,CJK脚本等)的字符数。基于脚本的方法依赖于对不同的语言可以使用不同的脚本(例如中文和英文)的观察。该方法优选地使用将脚本映射到使用该脚本的语言列表的映射。例如,映射可以考虑存在于消息中的字符或符号的统一码(UNICODE)值,并且可以将这些UNICODE值映射到消息的相应语言或可能语言的集合。语言脚本和UNICODE值或范围可以存储在脚本数据库28中。
参考图5,在示例的基于脚本的方法500中,提供文本消息(步骤502),并且识别存在于消息中的脚本(504)。然后对落入每个脚本中的字符进行计数(步骤506)。具有最多字符数的脚本被认为是最佳脚本(步骤508),并且识别出对应于最佳脚本的语言(步骤510)。当最佳脚本仅对应于一种语言时,可以认为该语言是最佳语言。否则,当最佳脚本对应于多于一种语言时,可以使用额外的语言检测方法进行进一步的检测。在一些实现中,基于脚本的方法的输出是消息中的每种可能语言的概率集合(例如,以向量形式)。
基于用户语言配置文件的方法使用存储了各个用户发送的历史消息的用户配置文件数据库30。使用例如本文所述的一种或多种其他语言检测方法(例如,字节n-gram方法)检测这些存储的消息的语言,以识别每个用户使用的语言。例如,如果用户的所有先前消息都是西班牙语,则该用户的语言配置文件可以指示用户的首选语言是西班牙语。类似地,如果用户先前的消息是不同语言的混合,则该用户的语言配置文件可以指示与不同语言相关联的概率(例如,80%的英语、15%的法语和5%的西班牙语)。一般来说,基于用户语言配置文件的方法解决了与非常短的消息相关联的语言检测问题,其通常没有足够的信息来做出准确的语言确定。在这种情况下,通过假设用户将继续使用他或她之前使用的语言,用户的语言偏好可用于预测用户消息中的语言。
参考图6,示例的用户语言配置文件检测方法600开始于存储(步骤602)用户的先前消息并检测(步骤604)存在于存储的消息中的语言。确定不同语言出现在用户消息中的频率(步骤606)并输出(步骤608)。
参考图7,各种语言检测方法可以并入到检测方法模块16中。可以将文本消息输入到检测方法模块16中,并且一种或多种语言检测方法可以识别消息中的语言。例如,每种语言检测方法可以提供概率向量,其中向量中的每个概率与消息中的可能语言相关联,并且表示消息在给定语言中的可能性。由于采用的方法不同并且消息中可用的信息不同,所以每种语言检测方法的概率可能不一致。例如,检测方法模块16可以包括或使用用于执行n-gram检测方法(例如,字节n-gram检测方法200)的n-gram模块702、用于执行基于词典的方法300的基于词典的模块704、用于执行基于字母表的方法400的基于字母表的模块706、用于执行基于脚本的方法500的基于脚本的模块708以及用于执行用户语言配置文件方法600的用户语言配置文件模块710。可以根据需要将额外的语言检测方法并入到检测方法模块16中。一些已知的方法包括使用单词级n-gram、马尔可夫模型和预测建模技术。
可以使用分类器模块18将检测方法模块16中的各种语言检测方法的输出进行组合。如图8所示,分类器模块18可以包括插值模块802,支持向量机(SVM)模块804和线性SVM模块806。
插值模块802用于对两种或更多种语言检测方法的结果执行线性插值。例如,可以通过在字节n-gram方法和基于词典的方法的结果之间进行插值来确定文本消息的语言。对于聊天消息“lol gtg”,字节n-gram方法可以确定英语的可能性为0.3,法语的可能性为0.4,并且波兰语的可能性为0.3(例如,字节n-gram方法的输出可以是{en:0.3,fr:0.4,pl:0.3})。基于词典的方法可以确定英语的可能性为0.1,法语的可能性为0.2,并且波兰语的可能性为0.7(例如,输出可以是{en:0.1,fr:0.2,pl:0.7})。为了在这两种方法的结果之间进行插值,将字节n-gram的输出乘以第一权重,并且将基于词典的方法的输出乘以第二权重,使得第一和第二权重相加等于一。然后将两种方法的加权输出相加。例如,如果字节n-gram结果的权重为0.6,则基于词典的结果的权重为0.4,两种方法之间的插值为:{en:0.3,fr:0.4,pl:0.3}*0.6+{en:0.1,fr:0.2,pl:0.7}*0.4={en:0.22,fr:0.32,pl:0.46}。
通常,用于在两个或多个值之间进行插值的最佳权重可以通过试错法来确定其数值。可以尝试不同的权重来识别给定的消息集合的最佳权重集合。在某些情况下,权重可以是消息中的单词或字符的数量的函数。可替换的或另外的,权重可以取决于消息的语言领域。例如,游戏环境的最优权重可能与体育环境的最优权重不同。对于字节n-gram方法和基于词典的方法的组合来说,可以通过对字节n-gram方法加权0.1并对基于字典的方法加权0.9来获得良好的结果。
SVM模块804可以是或可以包括分析语言数据并识别语言模式的监督学习模型。例如,SVM模块804可以是多类SVM分类器。对于英语SVM分类器来说,特征向量可以是上述两个分布(即{en:0.3,fr:0.4,pl语:0.3,en:0.1,fr:0.2,pl:0.7})的拼接,SVM分类器优选地对标记的训练数据进行训练。训练模型用作输入的预测器。例如,在语言检测的情况下选择的特征可以是字节、单词或短语的序列。可以将输入训练矢量映射到多维空间中。SVM算法然后可以使用内核来识别这些维度之间的最优分离超平面,这将使算法具有预测语言的区别能力(在这种情况下)。例如,内核可以是线性内核、多项式内核或径向基函数(RBF)内核。用于SVM分类器的优选内核是RBF内核。在使用训练数据训练SVM分类器之后,分类器可以用于输出所有可能的语言中的最佳语言。
例如,训练数据可以是或可以包括针对具有例如不同消息长度、语言领域和/或语言的大量消息的不同语言检测方法的输出向量和对正确语言的指示。训练数据可以包括大量的消息,对于所述消息,每个消息中的语言是已知的。
线性SVM模块806可以是或可以包括大规模线性分类器。具有线性内核的SVM分类器可以比其他线性分类器(例如,线性回归)表现更好。线性SVM模块806在内核级与SVM模块804不同。有些情况下,多项式模型比线性模型的效果更好,反之亦然。最优内核可能取决于消息数据的语言领域和/或数据的性质。
例如,本文描述的系统和方法使用的其他可能的分类器包括决策树学习、关联规则学习、人造神经网络、归纳逻辑编程、随机森林、聚类、贝叶斯网络、强化学习、表示学习、相似性和度量学习、稀疏词典学习。这些分类器或其他分类器中的一个或多个可以并入到分类器模块18中和/或形成为分类器模块18的一部分。
参考图9,示例方法900使用检测方法模块16、分类器模块18和管理器模块20来检测消息中的语言。将消息提供或传送(步骤902)到检测方法模块16。消息可以附有有关消息和/或生成该消息的用户的信息。例如,该信息可以包括用户的标识号、关于用户生成消息所使用的键盘的信息、和/或关于控制用户生成消息所使用的软件的操作系统的信息。例如,消息可以附有指示用户使用法语键盘生成消息并且该用户的操作系统是英文的数据。
在检测方法模块16中,使用一种或多种语言检测方法(步骤904)检测消息中的语言。检测方法模块16使用的每种方法都可以输出关于消息中存在的语言的预测。预测可以是向量的形式,其包括可能在消息中的每种可能语言的概率。
然后,将检测方法模块16的输出传送到分类器模块18,在该分类器模块18中可以对两个或更多个语言检测方法的结果进行组合(步骤906)。可以获得语言检测方法的结果的各种组合。在一个示例中,在分类器模块18中通过插值将字节n-gram方法和基于词典的方法的结果进行组合。在另一示例中,对字节n-gram方法、基于词典的方法、字母表方法和用户配置文件方法的结果执行SVM组合或分类。可替换的或另外的,组合可以包括或考虑基于脚本的方法的结果。另一示例包括字节n-gram方法、语言配置文件方法和词典方法的大的线性组合。然而,一般来说,可以在分类器模块18中对任何两种或更多种语言检测方法的结果进行组合。
方法900使用管理器模块20从特定分类器选择输出(步骤908)。例如,可以基于分类器计算的置信分数、期望的语言检测精度、和/或消息的语言领域来选择输出。然后从选择的分类器输出中选择最佳语言(步骤910)。
在某些情况下,本文所述的系统和方法根据消息的长度选择语言检测方法。例如,参照图10,方法1000包括接收或提供可以包括关于用于生成消息的键盘语言的信息的消息(步骤1002)。如果消息大于阈值长度(例如,25个字节或25个字符)(步骤1004),则可以使用字节n-gram方法(或其他方法或方法的组合)来检测语言(步骤1006)。然后可以基于字节n-gram方法的结果来选择消息的语言(步骤1008)。否则,如果消息小于或等于阈值长度,则系统可以确定键盘语言是否可用(步骤1010)。如果键盘语言可用,则可以选择(步骤1012)消息的语言与键盘语言相同。或者,如果键盘语言不可用,则方法1000可以再次考虑消息的长度。例如,如果消息的长度小于第二阈值(例如,4个字节或4个字符)(步骤1014),则可以使用基于词典的方法检测语言(步骤1016)并进行选择。否则,如果消息长度大于第二阈值,则可以使用字节n-gram方法(或其他方法或方法的组合)(步骤1018)检测消息中的语言。可以对字节n-gram方法和基于词典的方法的结果进行组合(例如,使用插值器或其他分类器),并且可以基于该组合确定消息的语言(步骤1020)。
图11是识别文本消息中的语言的示例方法1100。接收或提供在用户的客户端设备上生成的文本消息(步骤1102)。使用基于字母表的方法和/或基于脚本的方法确定(步骤1104)与文本消息相关联的字母表和/或脚本。识别与字母表和/或脚本相关联的候选语言。如果候选语言是具有唯一字母表和/或脚本(例如俄语、阿拉伯语、希伯来语、希腊语、中文、台湾语、日语或韩语)的语言(步骤1106),则确定该候选语言(步骤1108)为文本消息的语言。
否则,如果候选语言不是具有唯一字母表和/或脚本的语言,则估计文本消息的长度。如果消息长度小于阈值长度(例如,4个字节或4个字符),并且文本消息包括或附有客户端设备使用的键盘语言(步骤1110),则将该消息的语言(步骤1112)选择为键盘语言。
或者,如果消息长度大于阈值长度或键盘语言不可用,则使用n-gram方法(例如,字节n-gram方法)处理该消息以识别(步骤1114)文本消息的第一组可能语言。然后还使用基于词典的方法来处理消息以识别文本消息的第二组可能语言(步骤1116)。如果存在用户的用户语言配置文件(步骤1118),则对第一组可能语言、第二组可能语言和用户语言配置文件1120进行组合(例如,使用SVM分类器或大型线性分类器)以获得可能语言的第一组合(步骤1122)。然后基于可能语言的第一组合来选择文本消息的语言(步骤1124)。否则,如果用户语言配置文件不可用,则将第一组可能语言和第二组可能语言进行组合(例如,使用线性插值器或其他分类器)以获得可能语言的第二组合(步骤1126)。最后,基于可能语言的第二组合来选择文本消息的语言(步骤1128)。
在一些情况下,通过在两个或多个步骤中组合多种语言检测方法的输出来执行语言检测。例如,第一步骤可以使用基于字母表-脚本的方法来检测使用它们自己的独特字母表或脚本的特殊语言,例如,中文(cn)、日语(ja)、韩语(ko)、俄语(ru)、希伯来语(he)、希腊语(el)和阿拉伯语(ar)。如果需要,第二步骤可以使用多种检测方法(例如,字节n-gram方法、基于用户语言配置文件的方法和基于词典的方法)的组合(例如,来自分类器)来检测消息中的其他语言(例如,拉丁语)。
在某些示例中,为语言检测而提供或接收的消息包括特定数字、字符或图像(例如,表情符号或绘文字),其不是特定于任何特定语言、和/或不管语言偏好而可由任何用户识别。当进行语言检测时,本文描述的系统和方法可以忽略这样的字符或图像,并且可以忽略仅包括这样的字符或图像的消息。
图12是用于检测消息中的语言的示例方法1200的流程图。该方法使用检测方法模块16、分类器模块18和管理器模块20来识别给定输入消息1204的最可能或最佳语言1202。输入消息1204可以附有关于用户或用于生成消息的系统的信息。例如,输入消息1204可以附有用户标识号(或其他用户标识符)、关于用于生成消息的键盘的信息(例如,键盘语言)、和/或关于用于生成消息的操作系统的信息(例如,操作系统语言)。
在描述的示例方法1200中,检测方法模块16包括十种不同的语言检测方法。检测方法模块16中的语言检测方法中的三种是字节n-gram A 1206、字节n-gram B 1208和字节n-gram C 1210,它们都是字节n-gram方法,并且可以被配置为检测不同组或不同数量的语言。例如,字节n-gram A 1206可被配置为检测97种语言,字节n-gram B 1208可被配置为检测27种语言,而字节n-gram C 1210可被配置为检测20种语言。检测方法模块16中的语言检测方法中的两种是词典A 1212和词典B 1214,它们都是基于词典的方法并且可以被配置为检测不同组或不同数量的语言。例如,词典A1212可以被配置为检测9种语言,而词典B 1214可以被配置为检测10种语言。检测方法模块16中的语言检测方法中的两种是语言配置文件A 1216和语言配置文件B 1218,它们都是用户语言配置文件方法并且可以被配置为检测不同组或不同数量的语言。例如,语言配置文件A 1216可以被配置为检测20种语言,而语言配置文件B 1218可以被配置为检测27种语言。检测方法模块16中的语言检测方法中的两种是字母表A 1220和字母表B 1222,它们是基于字母表的方法并且可以被配置为检测不同组或不同数量的语言。例如,字母表A 1220可以被配置为检测20种语言,而字母表B 1222可以被配置为检测27种语言。检测方法模块16还包括基于脚本的语言检测方法1224。
分类器模块18对检测方法模块16中的不同语言检测方法的输出进行组合和处理。例如,插值分类器1226对字节n-gram B 1208和词典B 1214的输出进行组合。例如,插值的权重可以是对字节n-gram B 1208为0.1,而对词典B 1214为0.9。分类器模块18还可以使用对字节n-gram C 1210、词典B 1214、语言配置文件B 1218和字母表B 1222的输出进行组合的SVM分类器1228。分类器模块18还可以使用基于脚本的方法1224和字节n-gram C 1210、词典A 1212、语言配置文件A 1216和字母表A 1220的SVM分类器组合的第一组合1230。另外,分类器模块18可以使用基于脚本的方法1224和字节n-gram C 1210、词典A 1212和语言配置文件A 1216的线性SVM分类器组合的第二组合1232。尽管图12示出了在分类器模块18中使用的特定语言检测测试、分类器和检测测试输出的组合,但是也可以使用其他语言检测测试、分类器和/或组合。
对于第一组合1230和第二组合1232来说,基于脚本的方法1224和分类器可以以分级方法使用。例如,基于脚本的方法1224可以用于快速识别具有唯一脚本的语言。当在消息1204中识别出这样的语言时,可能不需要使用第一组合1230中的SVM分类器或第二组合中的线性SVM分类器。
通常,管理器模块20可以选择特定语言检测方法、分类器和/或检测方法输出的组合以识别消息1204中的语言。管理器模块20可以根据语言领域或者根据消息的预期语言进行选择。管理器模块20可以根据分类器确定的置信度分数来选择特定的分类器。例如,管理器模块20可以选择在其预测中最确信的分类器的输出。
在某些实现中,本文描述的系统和方法适于使语言检测作为可用于多个用户的服务。基于不同客户端的服务请求,通过该系统和方法识别语言的速度以及通过该系统和方法在运行时处理多个识别技术的能力,使该服务成为可能和/或得到增强。
本说明书中描述的主题和操作的实施例可以在数字电子电路中或在计算机软件、固件或硬件中(包括在本说明书中公开的结构及其结构等同物、或它们中的一个或多个的组合)实现。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,将其编码在计算机存储介质上以由数据处理装置执行或控制数据处理设备的操作。可替换的或另外的,可以将程序指令编码到人工生成的传播信号(例如,机器产生的电、光或电磁信号)上,生成该信号以对传输到合适的接收机设备以由数据处理设备执行的信息进行编码。计算机存储介质可以是或者可以包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合中。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是编码到人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或可以包括在一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)中。
本说明书中描述的操作可以实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如,包括可编程处理器、计算机、片上系统或上述中的多个或其组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统、跨平台运行环境、虚拟机或其中的一个或多个的组合。设备和执行环境可以实现各种不同的计算模型设备,例如Web服务、分布式计算和网格计算设备。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明性或程序性语言、并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序、对象或适用于计算环境的其他单元。计算机程序可以但不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,专用于所讨论的程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个计算机上执行,或在位于一个站点上或者分布在多个站点上并由通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并产生输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且设备也可以实现为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
例如,适合于执行计算机程序的处理器包括通用和专用微处理器以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或上述两者接收指令和数据。计算机的基本要素是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘),以从该大容量存储设备接收数据或者将数据传送到该大容量存储设备或上述两者。但是,计算机不需要这样的设备。此外,计算机可以嵌入在另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)、仅举几例。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备(例如,EPROM、EEPROM和闪存设备);磁盘(例如,内部硬盘或可移动盘;磁光盘;和CD-ROM和DVD-ROM磁盘)。处理器和存储器可由专用逻辑电路补充或可将其并入到专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)、以及用户可以通过其向计算机输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实现。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档并从其接收文档来与用户交互;例如,通过响应于从用户的客户端设备上的网络浏览器接收到的请求,将网页发送到该网络浏览器。
本说明书中描述的主题的实施例可以在包括后端组件(例如,作为数据服务器)、或包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或Web浏览器与本说明书中描述的主题的实现进行交互)、或者一个或多个这样的后端、中间件或前端组件的任何组合的计算系统中实现。系统的组件可以通过任何形式的数字数据通信(例如,通信网络)或数字数据通信的介质互连。通信网络的例子包括局域网(“LAN”)和广域网(“WAN”)、网际网络(例如,因特网)和对等网络(例如,点对点对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并通常通过通信网络进行交互。客户端和服务器之间的关系是由于在相应的计算机上运行的计算机程序并且彼此之间具有客户端-服务器关系而产生的。在一些实施例中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,为了向与客户端设备交互的用户显示数据并从用户接收用户输入的目的)。可以在服务器处从客户端设备接收在客户端设备生成的数据(例如,用户交互的结果)。
虽然本说明书包含许多具体的实现细节,但是不应将这些解释为对任何发明的范围或所要求保护的范围的限制,而是作为对特定发明的特定实施例特有的特征的描述。在本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个实施例中实现。此外,虽然上述可能将特征描述为以某些组合的方式起作用,并且甚至最初要求保护,但是在某些情况下可以将要求保护的组合的一个或多个特征从该组合中去除,并且所要求保护的组合可以针对子组合或子组合变形。
类似地,虽然在附图中以特定顺序描述了操作,但是不应将此理解为要求以所示的特定顺序或按顺序执行这种操作,或者执行所有所示的操作以实现所需的操作结果。在某些情况下,多任务和并行处理可能是有利的。例如,并行处理可用于同时执行多种语言检测方法。此外,上述实施例中的各种系统组件的分离在所有实施例中不应被理解为需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
因此,已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。在一些情况下,权利要求中所述的动作可以以不同的顺序执行并且仍然实现期望的结果。此外,附图中描述的过程不一定需要按所示的特定顺序或次序来获得期望的结果。在某些实现中,多任务和并行处理可能是有利的。
Claims (30)
1.一种用于识别消息中的语言的计算机实现的方法,所述方法包括:
对与用户相关联的消息执行多个不同的语言检测测试,每个语言检测测试确定相应的分数集合,所述分数集合中的每个分数表示所述消息是多种不同语言中的一种的可能性,其中,根据所述消息的长度从所述多个不同的语言检测测试中选择至少一个语言检测测试;
将所述分数集合的一个或多个组合作为输入提供给一个或多个不同的分类器;
获得作为所述一个或多个分类器中的每一个的输出的相应指示,所述相应指示表明所述消息是所述多种不同语言中的一种,所述指示包括置信度分数;以及
基于所述置信度分数和识别的语言领域中的至少一个,将所述消息中的所述语言识别为所述一个或多个分类器中的一个分类器所指示的语言。
2.根据权利要求1所述的方法,其中,特定分类器是监督学习模型、部分监督学习模型、无监督学习模型或插值。
3.根据权利要求1所述的方法,其中,识别所述消息中的所述语言包括基于所述置信度分数来选择所指示的语言。
4.根据权利要求1所述的方法,其中,识别所述消息中的所述语言包括基于所识别的语言领域选择所述分类器。
5.根据权利要求1所述的方法,其中,所述语言领域从由视频游戏、体育、新闻、议会议事、政治、健康和旅行组成的组中选择。
6.根据权利要求1所述的方法,其中,所述消息包括以下中的两个或多个:字母、数字、符号和表情符号。
7.根据权利要求1所述的方法,其中,所述多个不同的语言检测测试包括从由以下方法组成的组中选择的至少两种方法:字节n-gram方法、基于词典的方法、基于字母表的方法、基于脚本的方法和用户语言配置文件方法。
8.根据权利要求1所述的方法,其中,同时执行所述多个不同的语言检测测试。
9.根据权利要求1所述的方法,其中,所述一个或多个组合包括来自字节n-gram方法和基于词典的方法的分数集合。
10.根据权利要求8所述的方法,其中,所述一个或多个组合还包括来自用户语言配置文件方法和基于字母表的方法中的至少一个的分数集合。
11.一种用于识别消息中的语言的系统,所述系统包括:
具有存储在其上的指令的计算机存储设备;和
被配置为执行所述指令以执行操作的数据处理装置,所述操作包括:
对与用户相关联的消息执行多个不同的语言检测测试,每个语言检测测试确定相应的分数集合,所述分数集合中的每个分数表示所述消息是多种不同语言中的一种的可能性,其中,根据所述消息的长度从所述多个不同的语言检测测试中选择至少一个语言检测测试;
将所述分数集合的一个或多个组合作为输入提供给一个或多个不同的分类器;
获得作为所述一个或多个分类器中的每一个的输出的相应指示,所述相应指示表明所述消息是所述多种不同语言中的一种,所述指示包括置信度分数;以及
基于所述置信度分数和识别的语言领域中的至少一个,将所述消息中的所述语言识别为所述一个或多个分类器中的一个分类器所指示的语言。
12.根据权利要求11所述的系统,其中,特定分类器是监督学习模型、部分监督学习模型、无监督学习模型或插值。
13.根据权利要求11所述的系统,其中,识别所述消息中的所述语言包括基于所述置信度分数来选择所指示的语言。
14.根据权利要求11所述的系统,其中,识别所述消息中的所述语言包括基于所识别的语言领域选择所述分类器。
15.根据权利要求11所述的系统,其中,所述语言领域从由视频游戏、体育、新闻、议会议事、政治、健康和旅行组成的组中选择。
16.根据权利要求11所述的系统,其中,所述消息包括以下中的两个或多个:字母、数字、符号和表情符号。
17.根据权利要求11所述的系统,其中,所述多个不同的语言检测测试包括从由以下方法组成的组中选择的至少两种方法:字节n-gram方法、基于词典的方法、基于字母表的方法、基于脚本的方法和用户语言配置文件方法。
18.根据权利要求11所述的系统,其中,同时执行所述多个不同的语言检测测试。
19.根据权利要求11所述的系统,其中,所述一个或多个组合包括来自字节n-gram方法和基于词典的方法的分数集合。
20.根据权利要求18所述的系统,其中,所述一个或多个组合还包括来自用户语言配置文件方法和基于字母表的方法中的至少一个的分数集合。
21.一种存储在一个或多个存储装置中用于控制数据处理装置的处理模式的计算机程序产品,所述计算机程序产品可由所述数据处理装置执行以使所述数据处理装置执行操作,所述操作包括:
对与用户相关联的消息执行多个不同的语言检测测试,每个语言检测测试确定相应的分数集合,所述分数集合中的每个分数表示所述消息是多种不同语言中的一种的可能性,其中,根据所述消息的长度从所述多个不同的语言检测测试中选择至少一个语言检测测试;
将所述分数集合的一个或多个组合作为输入提供给一个或多个不同的分类器;
获得作为所述一个或多个分类器中的每一个的输出的相应指示,所述相应指示表明所述消息是所述多种不同语言中的一种,所述指示包括置信度分数;以及
基于所述置信度分数和识别的语言领域中的至少一个,将所述消息中的所述语言识别为所述一个或多个分类器中的一个分类器所指示的语言。
22.根据权利要求21所述的计算机程序产品,其中,特定分类器是监督学习模型、部分监督学习模型、无监督学习模型或插值。
23.根据权利要求21所述的计算机程序产品,其中,识别所述消息中的所述语言包括基于所述置信度分数来选择所指示的语言。
24.根据权利要求21所述的计算机程序产品,其中,识别所述消息中的所述语言包括基于所识别的语言领域选择所述分类器。
25.根据权利要求21所述的计算机程序产品,其中,所述语言领域从由视频游戏、体育、新闻、议会议事、政治、健康和旅行组成的组中选择。
26.根据权利要求21所述的计算机程序产品,其中,所述消息包括以下中的两个或多个:字母、数字、符号和表情符号。
27.根据权利要求21所述的计算机程序产品,其中,所述多个不同的语言检测测试包括从由以下方法组成的组中选择的至少两种方法:字节n-gram方法、基于词典的方法、基于字母表的方法、基于脚本的方法和用户语言配置文件方法。
28.根据权利要求21所述的计算机程序产品,其中,同时执行所述多个不同的语言检测测试。
29.根据权利要求21所述的计算机程序产品,其中,所述一个或多个组合包括来自字节n-gram方法和基于词典的方法的分数集合。
30.根据权利要求28所述的计算机程序产品,其中,所述一个或多个组合还包括来自用户语言配置文件方法和基于字母表的方法中的至少一个的分数集合。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2014/061141 WO2016060687A1 (en) | 2014-10-17 | 2014-10-17 | System and method for language detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107111607A CN107111607A (zh) | 2017-08-29 |
CN107111607B true CN107111607B (zh) | 2020-10-09 |
Family
ID=51842910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480084163.0A Expired - Fee Related CN107111607B (zh) | 2014-10-17 | 2014-10-17 | 用于语言检测的系统和方法 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP3207465A1 (zh) |
JP (1) | JP6553180B2 (zh) |
CN (1) | CN107111607B (zh) |
AU (1) | AU2014409115A1 (zh) |
CA (1) | CA2964331A1 (zh) |
WO (1) | WO2016060687A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3519984A1 (en) * | 2016-10-03 | 2019-08-07 | Mz Ip Holdings, Llc | Systems and methods for language detection |
CN107205089A (zh) * | 2017-05-26 | 2017-09-26 | 广东欧珀移动通信有限公司 | 消息发送方法及相关产品 |
CN108009156B (zh) * | 2017-12-27 | 2020-05-19 | 成都信息工程大学 | 一种基于部分监督学习的中文概括性文本切分方法 |
CN109934251B (zh) * | 2018-12-27 | 2021-08-06 | 国家计算机网络与信息安全管理中心广东分中心 | 一种用于小语种文本识别的方法、识别系统及存储介质 |
US11392768B2 (en) * | 2020-05-07 | 2022-07-19 | Servicenow, Inc. | Hybrid language detection model |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102549654A (zh) * | 2009-10-21 | 2012-07-04 | 独立行政法人情报通信研究机构 | 语音翻译系统、控制装置以及控制方法 |
CN103314369A (zh) * | 2010-12-17 | 2013-09-18 | 北京交通大学 | 机器翻译装置和方法 |
US8849648B1 (en) * | 2002-12-24 | 2014-09-30 | At&T Intellectual Property Ii, L.P. | System and method of extracting clauses for spoken language understanding |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167369A (en) * | 1998-12-23 | 2000-12-26 | Xerox Company | Automatic language identification using both N-gram and word information |
US8027832B2 (en) * | 2005-02-11 | 2011-09-27 | Microsoft Corporation | Efficient language identification |
JP2006302091A (ja) * | 2005-04-22 | 2006-11-02 | Konica Minolta Photo Imaging Inc | 翻訳装置及びそのプログラム |
US20060287848A1 (en) * | 2005-06-20 | 2006-12-21 | Microsoft Corporation | Language classification with random feature clustering |
US8185376B2 (en) * | 2006-03-20 | 2012-05-22 | Microsoft Corporation | Identifying language origin of words |
US8442965B2 (en) * | 2006-04-19 | 2013-05-14 | Google Inc. | Query language identification |
US7552045B2 (en) * | 2006-12-18 | 2009-06-23 | Nokia Corporation | Method, apparatus and computer program product for providing flexible text based language identification |
US8548797B2 (en) * | 2008-10-30 | 2013-10-01 | Yahoo! Inc. | Short text language detection using geographic information |
CN101645269A (zh) * | 2008-12-30 | 2010-02-10 | 中国科学院声学研究所 | 一种语种识别系统及方法 |
US20110071817A1 (en) * | 2009-09-24 | 2011-03-24 | Vesa Siivola | System and Method for Language Identification |
JP5672487B2 (ja) * | 2010-11-11 | 2015-02-18 | 株式会社国際電気通信基礎技術研究所 | 音声言語識別装置の学習装置、音声言語の識別装置、及びそれらのためのプログラム |
US8538742B2 (en) * | 2011-05-20 | 2013-09-17 | Google Inc. | Feed translation for a social network |
US8838437B1 (en) * | 2011-06-30 | 2014-09-16 | Google Inc. | Language classifiers for language detection |
US8832092B2 (en) * | 2012-02-17 | 2014-09-09 | Bottlenose, Inc. | Natural language processing optimized for micro content |
CN103077709B (zh) * | 2012-12-28 | 2015-09-09 | 中国科学院声学研究所 | 一种基于共有鉴别性子空间映射的语种识别方法及装置 |
US9600473B2 (en) * | 2013-02-08 | 2017-03-21 | Machine Zone, Inc. | Systems and methods for multi-user multi-lingual communications |
-
2014
- 2014-10-17 EP EP14790972.5A patent/EP3207465A1/en not_active Withdrawn
- 2014-10-17 JP JP2017520499A patent/JP6553180B2/ja not_active Expired - Fee Related
- 2014-10-17 CA CA2964331A patent/CA2964331A1/en not_active Abandoned
- 2014-10-17 CN CN201480084163.0A patent/CN107111607B/zh not_active Expired - Fee Related
- 2014-10-17 AU AU2014409115A patent/AU2014409115A1/en not_active Abandoned
- 2014-10-17 WO PCT/US2014/061141 patent/WO2016060687A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849648B1 (en) * | 2002-12-24 | 2014-09-30 | At&T Intellectual Property Ii, L.P. | System and method of extracting clauses for spoken language understanding |
CN102549654A (zh) * | 2009-10-21 | 2012-07-04 | 独立行政法人情报通信研究机构 | 语音翻译系统、控制装置以及控制方法 |
CN103314369A (zh) * | 2010-12-17 | 2013-09-18 | 北京交通大学 | 机器翻译装置和方法 |
Non-Patent Citations (3)
Title |
---|
Word Level Language Identification in Online Multilingual Communication;Dong Nguyen;《Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing》;20131018;857–862 * |
基于WEKA平台和多分类器的少数民族语种识别研究;张杰;《中国优秀硕士学位论文全文数据库信息科技辑》;20140515(第5期);I136-93 * |
基于多分类器的少数民族语种识别研究;程杨;《中国优秀硕士学位论文全文数据库信息科技辑》;20121015(第10期);I136-571 * |
Also Published As
Publication number | Publication date |
---|---|
CA2964331A1 (en) | 2016-04-21 |
JP2017532684A (ja) | 2017-11-02 |
WO2016060687A1 (en) | 2016-04-21 |
AU2014409115A1 (en) | 2017-04-27 |
CN107111607A (zh) | 2017-08-29 |
EP3207465A1 (en) | 2017-08-23 |
JP6553180B2 (ja) | 2019-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9535896B2 (en) | Systems and methods for language detection | |
US10699073B2 (en) | Systems and methods for language detection | |
US10311146B2 (en) | Machine translation method for performing translation between languages | |
US9971763B2 (en) | Named entity recognition | |
US10769387B2 (en) | System and method for translating chat messages | |
US8380488B1 (en) | Identifying a property of a document | |
JP5475795B2 (ja) | カスタム言語モデル | |
US9881010B1 (en) | Suggestions based on document topics | |
US20170185581A1 (en) | Systems and methods for suggesting emoji | |
JP5379138B2 (ja) | 領域辞書の作成 | |
CN107111607B (zh) | 用于语言检测的系统和方法 | |
CN108475264B (zh) | 机器翻译方法和装置 | |
CA3089001A1 (en) | System and method for language translation | |
US10282413B2 (en) | Device for generating aligned corpus based on unsupervised-learning alignment, method thereof, device for analyzing destructive expression morpheme using aligned corpus, and method for analyzing morpheme thereof | |
KR20210034679A (ko) | 엔티티-속성 관계 식별 | |
CN111859940A (zh) | 一种关键词提取方法、装置、电子设备及存储介质 | |
Habib et al. | An exploratory approach to find a novel metric based optimum language model for automatic bangla word prediction | |
CN111143564B (zh) | 无监督的多目标篇章级情感分类模型训练方法和装置 | |
JP2011008784A (ja) | ローマ字変換を用いる日本語自動推薦システムおよび方法 | |
AU2017339433A1 (en) | Systems and methods for language detection | |
JP2019215876A (ja) | 言語検出を行うためのシステムおよび方法 | |
Hemmer et al. | Estimating Post-OCR Denoising Complexity on Numerical Texts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180712 Address after: California, USA Applicant after: MZ IP HOLDINGS, LLC Address before: California, USA Applicant before: MACHINE ZONE, INC. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201009 |
|
CF01 | Termination of patent right due to non-payment of annual fee |