1.本发明总体上涉及通信领域。本发明的一个方面涉及一种用于处理文本数据以对文本单元进行去缩写的通信服务器装置。本发明的另一方面涉及一种用于处理文本数据以对文本单元进行去缩写的通信设备和系统。本发明的其他方面涉及一种用于处理文本数据以对文本单元进行去缩写的方法、以及包括用于实施该方法的指令的计算机程序和计算机程序产品。
背景技术:2.通信系统中的数据处理是本领域公知的。通信系统中使用的数据处理的一个示例是对有助于基于文本的通信而不是基于音频的通信的数据和信息进行处理。以前考虑的技术已经解决了处理文本数据的问题,以便使通信系统尽可能高效地工作,并减少带宽使用和计算处理。
3.一些这样的技术通过处理文本数据的数据元素来解决基于文本的通信中的文本单元(比如单词)的问题。例如,某些以前考虑的文本数据处理技术已经尝试确定出现在基于文本的通信中的文本单元是否符合文本语料库、数据库或词典的规范。其他技术已经解决了确定非规范文本单元是否可以转换为规范形式的问题。
4.然而,这些以前考虑的方法通常使用粗浅的技术来比较非规范文本单元和规范文本单元的数据,或者提供了高度复杂但是容易发生误报和漏报的技术。这种方法在处理缩写文本单元时尤其困难,比如在基于文本的通信中出现的常用单词的缩写。
技术实现要素:5.本发明的各方面如独立权利要求中所阐述的。一些可选的特征在从属权利要求中进行了限定。
6.本文中披露的技术的实施方式可以提供重要的技术优点。例如,在对来自基于文本的通信的文本数据中的缩写文本单元进行解码或确定其正确或规范文本单元或单词时,可以实现高得多的准确度。
7.在至少一些实施方式中,本文披露的技术允许对文本单元进行解码或去缩写而不会出现不可接受的误报/漏报水平,否则这些文本单元将是不可破译的、或者至少对于以前考虑的技术来说太难以解决。此外,这些技术使任何后续数据处理具有更高的准确性和效率,比如用于促进用户界面的特征或通信设备的其他特征的文本分析、通信的压缩或分组化、文本的翻译等。
8.在示例性实施方式中,本文所披露技术的功能可以在运行在手持通信设备(比如移动电话)上的软件中实施。实施本文所披露技术的功能的软件可以包含在用户已经从在线商店下载的“app”——计算机程序或计算机程序产品——中。当在例如用户的移动电话上运行时,移动电话的硬件特征可以用于实施下述功能,比如使用移动电话的收发器组件来建立用于接收基于文本的通信的安全通信通道,以及使用移动电话的(多个)处理器来确
定针对文本数据中的缩写文本单元的候选文本。
附图说明
9.现在参考附图,仅仅通过示例的方式对本发明加以描述,在附图中:
10.图1是展示了用于处理文本数据以对文本单元进行去缩写的第一示例性通信系统的示意性框图;
11.图2是展示了用于处理文本数据的示例性方法的步骤的流程图;
12.图3是展示了对文本数据元素及其相关联文本单元的处理的示意图;
13.图4是展示了文本数据记录和对这些记录的处理的示例的示意图;以及
14.图5是展示了用于处理文本数据的示例性方法的步骤的流程图。
具体实施方式
15.首先参考图1,展示了通信系统100。通信系统100包括通信服务器装置102、服务提供者通信设备104和用户通信设备106。这些设备通过实施例如互联网通信协议的相应通信链路110、112、114而连接在通信网络108(例如,互联网)中。通信设备104、106能够通过其他通信网络(比如公共交换电话网络(pstn网络),包括移动蜂窝通信网络)来通信,但是为了清楚起见,从图1中省略这些通信网络。
16.通信服务器装置102可以是如图1中示意性展示出的单个服务器,或者可以具有由服务器装置102执行并且跨多个服务器组件分布的功能。在图1的示例中,通信服务器装置102可以包括多个单独的组件,包括但不限于:一个或多个微处理器116、用于加载可执行指令120的存储器118(例如,易失性存储器,比如ram),这些可执行指令定义了服务器装置102在处理器116的控制下执行的功能。通信服务器装置102还包括允许服务器通过通信网络108进行通信的输入/输出模块122。用户接口124被提供用于用户控制,并且可以包括例如常规外围计算设备,比如显示监视器、计算机键盘等。服务器装置102还包括数据库126,该数据库的目的将通过以下讨论变得更显而易见。
17.服务提供者通信设备104可以包括多个单独的组件,包括但不限于:一个或多个微处理器128、用于加载可执行指令132的存储器130(例如,易失性存储器,比如ram),这些可执行指令定义了服务提供者通信设备104在处理器128的控制下执行的功能。服务提供者通信设备104还包括允许服务提供者通信设备104通过通信网络108进行通信的输入/输出模块134。用户接口136被提供用于用户控制。如果服务提供者通信设备104是例如智能电话或平板设备,则用户接口136将具有在许多智能电话和其他手持设备中普遍存在的触摸面板显示器。可替代地,如果服务提供者通信设备是例如常规台式计算机或膝上型计算机,则用户接口可以具有例如常规外围计算设备,比如显示监视器、计算机键盘等。服务提供者通信设备可以是例如由文本数据处理服务提供者管理的设备。
18.用户通信设备106可以是例如具有与服务提供者通信设备104的硬件架构相同或相似的硬件架构的智能电话或平板设备。
19.图2是展示了用于处理文本数据以对文本单元进行去缩写的方法的流程图。图1和图2以及前面的描述展示和描述了用于处理文本数据以对文本单元进行去缩写的通信服务器装置102,该通信服务器装置包括处理器116和存储器120,通信服务器装置102被配置为
在处理器116的控制下执行存储在存储器118中的指令120,以便:接收(202)包括至少一个与缩写文本单元相关联的文本数据元素的文本数据;将该至少一个文本数据元素与来自给定文本数据库的表示的多个候选文本数据元素进行比较(204),每个候选文本数据元素与该数据库中的相应候选文本单元相关联;确定(206)该至少一个文本数据元素与这些候选文本数据元素之间的相似性度量的值;处理(208)候选文本数据元素,以选择关于与该缩写文本单元具有有序关系的相关联候选文本单元的候选文本数据元素;并且使用(210)这些相似性度量值和这些候选文本数据元素选择来指定相关联候选文本单元作为该缩写文本单元的去缩写文本单元。
20.进一步地,还提供了一种在用于处理文本数据以对文本单元进行去缩写的通信服务器装置102中执行的方法,该方法包括在该服务器装置的处理器116的控制下进行以下操作:接收(202)包括至少一个与缩写文本单元相关联的文本数据元素的文本数据;将该至少一个文本数据元素与来自给定文本数据库的表示的多个候选文本数据元素进行比较(204),每个候选文本数据元素与该数据库中的相应候选文本单元相关联;确定(206)该至少一个文本数据元素与这些候选文本数据元素之间的相似性度量的值;处理(208)候选文本数据元素,以选择关于与该缩写文本单元具有有序关系的相关联候选文本单元的候选文本数据元素;并且使用(210)这些相似性度量值和这些候选文本数据元素选择来指定相关联候选文本单元作为该缩写文本单元的去缩写文本单元。
21.仍进一步地,还提供了一种处理文本数据以对文本单元进行去缩写的通信系统,该通信系统包括通信服务器装置(102)、至少一个用户通信设备(106)以及通信网络设备(104,108),该通信网络设备可操作以使该通信服务器装置和该至少一个用户通信设备通过其与彼此建立通信,其中,该至少一个用户通信设备(104,106)包括第一处理器和第一存储器,该至少一个用户通信设备被配置为在该第一处理器的控制下执行存储在该第一存储器中的第一指令,以便:接收包括至少一个与缩写文本单元相关联的文本数据元素的文本数据,并且其中,该通信服务器装置(102)包括第二处理器和第二存储器,该通信服务器装置被配置为在该第二处理器的控制下执行存储在该第二存储器中的第二指令,以便:将该至少一个文本数据元素与来自给定文本数据库的表示的多个候选文本数据元素进行比较(204),每个候选文本数据元素与该数据库中的相应候选文本单元相关联;确定(206)该至少一个文本数据元素与这些候选文本数据元素之间的相似性度量的值;处理(208)候选文本数据元素,以选择关于与该缩写文本单元具有有序关系的相关联候选文本单元的候选文本数据元素;并且使用(210)这些相似性度量值和这些候选文本数据元素选择来指定相关联候选文本单元作为该缩写文本单元的去缩写文本单元。
22.如上所述,本文描述的技术涉及处理文本数据以对在基于文本的通信或消息中出现的已被缩写的文本单元(比如,单词)进行解码或去缩写。去缩写使得例如单元或单词可通过进一步处理步骤(比如文本分析或翻译)来解释,或者可例如经由通信设备的显示设备以解释后的、非缩写形式显示给接收通信或消息的通信设备的用户。
23.通信消息中的单词或文本单元的缩写实例在各种环境和媒体中都有出现,但特别被用于计算机和电子设备的用户之间的基于文本的通信中,比如电子邮件、文本或sms消息、经由社交媒体平台的消息等。例如,当在手持电子设备上键入要传输给接收方的短消息时,用户通常会键入单词或短语的简化版本,因为他们认为该单词/短语的简化形式的含义
对于接收方来说将是很清楚的。例如:
24.·
官方认可的首字母缩略词(例如,un=united nations(联合国),usa=united states of america(美利坚合众国))。
25.·
未被官方认可但非常惯用的俚语(例如,
‘
lol’的意思是
‘
laugh out loud’(大声笑);
‘
how r u’的意思是
‘
how are you?’(你好吗?))。
26.·
临时缩写,其中,撰写者可能不认为读者已经看到了这种确切的缩约形式,而是认为读者无论如何都会正确地重建原始含义(
‘
thks’、
‘
thx’、
‘
thnks’都是
‘
thanks’(谢谢)的可识别版本)。
27.临时缩写在某些语言中尤其普遍。典型的模式包括省略一些字符,比如元音:例如,如上所述的其他形式的
‘
thanks’;在印度尼西亚语中,
‘
sy sdh smp’的意思是
‘
saya sudah sampai’(我已经到了)。其他模式可能包括,在使用它们的语言中,省略变音符号:在越南语中,
‘
5phut’的意思是
‘
five ph
ú
t’(五分钟)。
28.本文描述的技术涉及对文本数据和/或表示这种消息中的文本单元(单词、音节、词素等)或构成其基础的数据进行处理,以便例如将单词的缩写形式转换为它们的未缩写形式,从而将缩写的或非规范的输入文本映射到正确的规范形式。
29.如上所述,本文描述的技术在数据处理和通信领域提供了技术优势,比如提高效率并为后续文本数据处理应用提供更高的准确性。当然,它们还允许用户更容易地解释消息。这些技术的其他潜在应用是:
30.·
支持对各方说不同语言的文本对话的自动翻译。例如,这可以用于在使用不同语言的乘客与驾驶员之间的打车应用程序中预处理输入文本,然后将输入文本的正确规范形式传递给比如谷歌翻译等翻译服务,以便将翻译结果传输/发送给接收方。
31.·
在手持电子设备中自动更正,以显示输入文本的正确规范形式。输入文本不一定用于向前传输到接收方。例如,它可以用于个人笔记。
32.一种广泛形式的示例技术旨在使用以下两项或更多项的组合:
33.a.将缩写单词或文本单元与相似单词进行比较,比如可能在相似语境中出现的单词和/或在词汇或正字方面相似的单词;
34.b.通过缩写单词的相似或匹配排序来找到正确规范单词的潜在候选项;以及
35.c.将缩写单元与从大量参考作品(reference work)中得出的参考数据进行比较,找到参考资料中常用的单词作为候选项
36.例如,以其最简单的形式,步骤c.可以在选择在大量参考作品中出现频率最高的候选单词/短语的基础上完成:例如,在维基百科中实例数量最多的单词/短语。
37.对于步骤a.,一种选择是在文本数据库上训练启发式模型,并通过将缩写输入文本单元与建模数据进行比较来将缩写输入文本单元与文本数据库进行比较。例如,在文本数据库的向量空间模型(如下文更详细描述)中,可以将为输入文本单元找到的向量与建模数据库中的规范单词的相邻向量进行比较,并得出每个候选单词/短语的分数。输入文本最可能的规范形式可能是分数最高的单词/短语。
38.步骤a.的相似性度量的一个示例如下。
39.假设文本单元(在本例中为单词)w的字符替代给出了候选目标{w1,w2,
…
wn}。也就是说,所有的wi都可以通过删除字符(例如我们可以规定删除的字符是元音)或变音符来
转换为w。将wi与w比较可以返回直接匹配。然后可以使用相似性分数sim(a,b)来选择哪个wi与源单词w最相似。也就是说,对于每个wi,我们计算sim(w,wi)并选择相似性分数最大的wi。
40.在一种技术中,可以选择多个相似的候选项,以用于进一步处理(比如步骤b.和/或c.)。例如,候选项可以通过相似性分数进行分类或排名,并按照排名顺序进行处理,或者仅处理那些高于给定相似性分数阈值的候选项。
41.应当注意,本领域已知有许多这样的文本相似性度量。有些通过比较给定文本语料库或数据库中单词分布的相似程度来工作。
42.这样做的一种方法是构建文本语料库的向量空间模型。本领域众所周知的是,这可以通过在多维空间中表示文本语料库、并且对语料库中每个单词的频率进行计数以给出向量值来完成,其中每个单词或文本单元具有单独的维度。对于任何输入文本单元,都可以在向量空间中找到对应的向量,然后可以计算该向量与相邻向量的相似性度量。例如,可以计算余弦相似性——向量空间中两个向量之间的角度的表示。
43.因此,在给定语料库中经常与另一个单词一起出现的单词(该另一个单词比如是该单词删除字母或变音符号的缩写)在具有这两个单词的对应向量的向量空间模型中将具有较高的余弦相似性值。
44.另一种相似性度量可以计算文本单元之间简单的正字或词汇相似性;例如,文本单元的长度是否相似,它们的元音、辅音数量是否相同,等等。
45.图3是展示了文本数据元素及其相关联文本单元的示意图。基于文本的消息302包含文本字符串“pls pickup
…”
(请接取
……
)。为了在这个基于文本的消息中找到文本单元或单词的去缩写,可以将(例如,如显示在用户的设备gui上的)消息文本转换为文本数据元素ei(304)。例如,这可以是将每个文本单元转换为向量空间模型中的代表性向量。数据元素也可以是文本单元作为词汇基础的表示,用于正字比较。将文本单元编码成分组数据以供传输也可以提供合适的文本数据元素用于比较。与给定文本单元相关联的数据元素当然可以包括以上中的不止一种;例如,为给定文本单元处理的(多个)基础文本数据元素可以包括代表性向量和以压缩、编码、传输或其他软件元素格式表示文本单元的数据。
46.在数据元素ei中,存在与来自消息(“2ppl,2luggage
…”
(2人,2行李))的文本单元“ppl”(308)相关联的(一个或多个)文本数据元素ex(306)。因此,可以在文本数据处理中使用(多个)数据元素ei,以便找到文本单元“ppl”的去缩写。在一个示例中,处理步骤将涉及在向量空间模型(该向量空间模型在语料库文本上训练)中找到与“ppl”相关联的向量,并通过余弦相似性找到该向量的邻居。
47.对于上面步骤c.的示例中的技术,确定候选文本单元在文本数据库中的出现频率并将该出现频率用于指定相关联的候选文本单元。例如,可以使用维基百科语料库,并且可以使用输入文本单元在该语料库中的频率来帮助确定多个候选项(例如,由与输入文本单元相关联的向量的相邻向量的余弦相似性推荐的那些候选项)中的哪一个是最佳选择。
48.对于向量空间模型,从与可能需要去缩写的文本输入相关的语料库中训练或生成模型可能是有利的。例如,维基百科语料库将包含很少的缩写,比如“thx”;然而,如果语料库是特定于应用程序(其中,将解释基于文本的消息)的,例如使用基于文本的消息的语料库作为训练数据,则可能会有类似的缩写群体。此外,如果语料库是相关的——例如,如果
使用一组驾驶员消息来训练向量空间模型以供稍后分析驾驶员消息——则结果应该会更进一步地改善。
49.然而,对于出现频率技术,优选的语料库可能是标准集,使得规范单词更有可能出现在相关语境中。因此,在一种技术中,用于确定相关联候选文本单元的出现频率的文本数据库是与用于向量空间模型的文本数据库不同的文本数据库。这具有另一个优点,即这种标准化的语料库可能是公开可用的。
50.在上面步骤b.的技术中,如果针对去缩写的候选文本单元与缩写文本单元具有有序关系,则可以选择该候选文本单元;例如,如果缩写文本单元的字符是候选文本单元字符的(或针对这些字符的)部分有序集合,或者缩写文本单元的字符与候选文本单元的字符具有相似的顺序,或者缩写文本单元的辅音与候选文本单元的辅音相同或相似,或者具有相同或相似的顺序。
51.这些技术与以前的技术之间的一个区别是大多数相似性度量是对称的,即,sim(a,b)=sim(b,a)。这个属性对于文本规范化来说通常是不期望的,因为(例如)我们总是想将“dmn”映射到“dimana”,但我们从不想将“dimana”映射到“dmn”。所以我们希望sim(“dmn”,“dimana”)为高,但sim(“dimana”,“dmn”)为低。这可以通过仅考虑那些把元音添加回去就能将源映射到目标的对来实施。这可以实施为过滤器。所以,例如,“dimana”通过删除字母(在本例中为元音)就可以转换为“dmn”,因此“dimana”被视为“dmn”的潜在替代。反之则不成立,因此“dmn”不能被视为“dimana”的潜在替代。
52.即使在输入单词的简化形式与目标单词相差许多字符的情况下,相似性度量、通过排序关系进行过滤以及可选地通过(不同)语料库中的频率进行辨别的这种组合也能提供准确的结果。以前考虑的技术发现这些情况很困难;对于那些只使用向量邻居的技术,有些单词会比正确的形式高;辅音过滤和语料库频率加权可以证实正确的单词。对于某些实际上是正确去缩写的候选项来说,仅仅正字距离可能会很高。本文描述的技术可以允许将不相似的单词选为候选项,前提是它们也通过了排序和频率比较阶段。
53.图4是展示了文本数据记录400和对这些记录的处理的示例的示意图。一个文本数据记录或分组具有报头402和辅助消息组成部分406。该记录包含多个文本数据组成部分,这些组成部分可以包括文本数据、文本数据元素、压缩文本数据等。此处,图3的文本消息中缩写文本单元“ppl”的(多个)文本数据组成部分存在。该记录或分组可以由用户通信设备、通信装置或服务提供者通信设备接收。
54.数据记录的有效载荷数据组成部分可以以本文描述的方式进行处理以便找到“ppl”的去缩写,并且编辑有效载荷或形成新数据记录(422,426)以便现在包括(424)去缩写文本单元“people”(人)的数据组成部分。
55.图5是展示了用于处理文本数据的示例性方法的步骤的流程图。在示例性技术中,要找到的去缩写单词是“berapa”,在印度尼西亚语中表示
‘
how much/many’(多少),并且输入缩写是“brp”——基于文本的消息中常用的缩写。本示例中分析的基于文本的消息是旅游环境中驾驶员与旅客之间的消息。
56.接收(502)输入单词
‘
brp’。第一阶段是向量空间模型或单词嵌入相似性步骤。此处,要用于训练或生成向量空间模型的语料库是名为“grab”的旅游公司的一组评论。评论很可能以与接收到的用于去缩写的消息相似的方言写成。
57.grab评论504中的单词(用户评论他们的旅程、驾驶员等的单词语料库)被预先映射到n维向量506。这是作为预处理阶段完成的(就像516、518中用于维基百科比较的单词计数一样——见下文)。
58.在替代方案中,向量模型可以在grab评论和维基百科语料库的组合上进行训练——这给出了消息中预期的方言以及维基百科语料库的范围的组合,以防任何一个语料库中的某些单词被遗漏。
59.从向量模型中识别(508)最近的邻居。评分是通过余弦相似性计算完成的。列出候选项的下一阶段(510)然后可以设置截止阈值,以给出例如10个最接近的命中。这给出了最接近的邻居及其各自的相似性分数(与输入文本的相似性)的列表。
60.在这个阶段,可选地还可以计算正字相似性分数,并且并行使用,或者使用与余弦相似性的组合分数。使用正字相似性可以将单词的缩写与维基百科和grab评论中的对应单词进行比较,即使这些缩写没有出现在grab评论中。在该阶段使用正字相似性可以通过降低后续过滤阶段512的复杂性(例如通过减少用于过滤的候选项的数量)来提高整体处理技术的有效性。
61.然后通过排序关系来过滤这些来自(多个)相似性分数的结果,例如,此处只选择那些可以通过添加一些东西(例如字符——辅音、元音)或变音符号(变音符)从输入文本中得出的结果。在本示例(512)中,过滤器针对的是具有按相同顺序的相同辅音并添加有一个或多个元音的目标。因此,结果(514)再次减少。
62.接下来,使用印度尼西亚语维基百科语料库(516)来查找单词频率计数(518),将相似性分数乘以来自维基百科的计数的某个函数。在本示例(520)中,将每个单词对(输入单词,每个最接近的邻居)的相似性分数乘以这个单词在维基百科语料库中出现的次数的对数。log(2+计数)的使用有多种原因:出现次数是另一个单词的10倍的单词显然是重要的,但不一定是10倍的重要;添加δ常数允许零实例的无用结果——log(0)被认为是没有定义的,并且log曲线的陡度对于低输入数字很有用:log(1)为零,一切都将从至少2开始。grab评论中的单词在维基百科语料库中可能有零个实例,因此在取log之前向其添加2。在替代方案中,也可以进行其他类型的加权,例如使用平方根或者具有正y截距的另一个单调递增函数。
63.来自该最终阶段的最高评分结果(522)被视为最可能的规范形式,并且因此被视为指定的候选文本。
64.应当理解,仅通过示例的方式描述了本发明。在不脱离所附权利要求的精神和范围的情况下,可以对本文描述的技术进行各种修改。所披露的技术包括可以以独立方式或彼此组合的形式提供的技术。因此,关于一种技术描述的特征也可以以与另一种技术组合来呈现。