CN105814556A - 语境敏感的输入工具 - Google Patents

语境敏感的输入工具 Download PDF

Info

Publication number
CN105814556A
CN105814556A CN201380079899.4A CN201380079899A CN105814556A CN 105814556 A CN105814556 A CN 105814556A CN 201380079899 A CN201380079899 A CN 201380079899A CN 105814556 A CN105814556 A CN 105814556A
Authority
CN
China
Prior art keywords
candidate
input
described input
computing equipment
text
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.)
Granted
Application number
CN201380079899.4A
Other languages
English (en)
Other versions
CN105814556B (zh
Inventor
张弛
孙海成
张元博
杨帆
苏哲
诺亚·巴特·科卡罗
肖湘晔
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN105814556A publication Critical patent/CN105814556A/zh
Application granted granted Critical
Publication of CN105814556B publication Critical patent/CN105814556B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • 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/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

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

Abstract

一种计算机实现的方法能包括从用户接收输入。该输入能包括以第一文字的一个或多个字符,该第一文字代表特定语言的文本。能与文档相关联地接收该输入。该方法能包括基于与输入相关联的文档的一个或多个语义主题,确定输入的语境。基于(i)输入、(ii)输入的语境,以及(iii)语言模型来确定用于输入的一个或多个候选。候选能包括以第二文字的一个或多个字符,该第二文字代表该特定语言的文本。语言模型能表示一个或多个候选在特定语言中出现的概率。该方法能进一步包括输出一个或多个候选的清单以显示给用户。

Description

语境敏感的输入工具
技术领域
本公开涉及计算设备的文本输入,更具体地说,本公开涉及利用输入的语境来帮助用户将文本输入到计算设备的技术。
背景技术
在此提供的背景描述是为了大体介绍本公开的上下文的目的。就本背景技术部分所描述的程度而言,当前所称发明人的工作以及递交时说明书中无法被另外证明是现有技术的各方面,既不明确也不隐含地被承认是相对于本公开的现有技术。
用户可以通过与诸如键盘、小键盘或触摸显示器的一个或多个外设交互来向计算设备提供文本输入。在一些实例中,用户可以利用接收第一文字(script)的文本和第二文字的文本的表示的输入法编辑器(“IME”)。仅为示例,用户可能希望通过使用拉丁或罗马键盘,例如通过输入文本的拼音表示,输入汉字字符的中文文本。替代地或另外,计算设备可以通过建议候选词或与文本输入相同文字的候选,有时称为“自动更正”和/或“自动完成”功能性,便于用户的文本输入。在这些例子的每个中,计算设备尝试确定用户正意图输入什么文本。将期望增加该确定的准确性和速度。
发明内容
在一些实施例中,公开了一种计算机实现的方法。该方法能包括在具有一个或多个处理器的计算设备处从用户接收输入。该输入包括代表特定语言的文本的以第一文字的一个或多个字符。此外,能与文档相关联地接收该输入。该方法还能包括在计算设备处,基于与输入相关联的文档的一个或多个语义主题来确定输入的语境。此外,该方法能包括在计算设备处,基于(i)输入、(ii)输入的语境、以及(iii)语言模型来确定用于输入的一个或多个候选。这些候选能包括代表特定语言的文本的以第二文字的一个或多个字符。语言模型表示一个或多个候选在特定语言中出现的概率。该方法能进一步包括从计算设备输出一个或多个候选的清单以显示给用户。
在一些实施例中,能由文档的文本确定输入的语境。此外,该方法能进一步包括在计算设备处,基于输入的语境和语言模型来确定一个或多个候选的每个候选的概率。每个特定候选的概率基于该特定候选代表以第二文字的所述输入的似然性。能基于所确定的概率来确定一个或多个候选的排名顺序,以及能按排名顺序输出清单。
在各个实施例中,确定用于输入的一个或多个候选能包括:在计算设备处,基于输入的语境来检索特定于主题的词典;以及在计算设备处,将该输入与该特定于主题的词典的条目进行比较。另外或替代地,确定用于该输入的一个或多个候选能包括在计算设备处,利用该输入和语言模型来生成(i)用于该输入的一个或多个候选、以及(ii)用于一个或多个候选的每个候选的概率,用于每个特定候选的概率基于该特定候选代表以第二文字的该输入;以及在计算设备处,利用该输入的语境来调整用于一个或多个候选的每个候选的概率。每个特定候选的概率能基于该特定候选代表以第二文字的所述输入的似然性。
文档能是电子邮件,并且从电子邮件中先前录入的文本来确定输入的语境。此外,文档能是网页,并且从网页的文本来确定输入的语境。在一些实施例中,第一文字和第二文字是相同文字。此外,该方法还能包括在计算设备处,接收从一个或多个候选的列表对特定候选的选择;以及在计算设备处,基于所选择的特定候选来更新输入的语境。
在本公开的一些实施例中,描述了一种计算机***。该计算机***能包括一个或多个处理器和存储指令的非瞬时计算机可读介质,所述指令当由一个或多个处理器执行时使计算机***执行操作。能由计算机***执行的操作能包括有关公开的计算机实现方法的上述操作的任何一个或多个。
从下文提供的详细描述,本公开的另外的适用领域将变得显而易见。应理解到,详细描述和具体例子仅旨在示例目的而不旨在限制本公开的范围。
附图说明
从详细描述和附图,将更全面地理解本公开,其中:
图1图示了根据本公开的一些实现的用户与示例计算设备的交互;
图2是根据本公开的一些实现的图1的计算设备的功能框图;
图3是根据本公开的一些实现的用户与另一示例计算设备的交互的功能框图;以及
图4是根据本公开的一些实现的帮助用户对计算设备提供文本输入的示例技术的流程图。
具体实施方式
用户可以向计算设备输入文本,例如,以便起草电子邮件或其他电子消息、与网页交互(输入搜索查询、提供“用户注释”)、或排版报纸文章、书籍或研究论文。在一些情况下,计算设备能向用户提供输入文本的帮助。
如上所述,输入法编辑器(“IME”)能向希望以与提供给用户以供选择的文字不同的第一文字输入文本的用户提供帮助。例如,用户可能利用拼音IME,利用拉丁键盘来输入汉字字符的中文文本。此外,计算设备能包括基于不正确和/或部分输入向用户提供候选(词/音节/短语等)的自动更正和/或自动完成功能性。
本公开涉及利用输入的语境来帮助用户输入文本的技术。输入的语境、以及语言模型能增加计算设备的辅助工具的精度和速度以便基于该输入来确定用户想要的文本。
现在参考图1,示出了示例计算设备100。计算设备100示为移动设备(诸如移动电话、平板电脑或“平板手机”计算机),尽管应当意识到术语“计算设备”能包括包含用于执行指令的一个或多个处理器的任何形式的计算机或计算机***。仅为示例,计算设备能采用台式计算机、手提电脑、移动设备(诸如移动电话、平板电脑、平板手机和可戴式计算机)以及服务器或其他分布式计算机***,以及一起工作来执行操作的两个或以上这些示例性计算设备。
所示的计算设备100包括显示器104,诸如所示的触摸显示器。计算设备100可以另外或替代地包括物理键盘(未示出)。触摸显示器104可以向用户108显示信息以及从用户108接收输入。可以在显示器104上提供“软”键盘114,用户108能通过软键盘114提供文本输入。所示的键盘是提供拉丁字母字符,以及其他输入选项(数字、空格键、符号等)的拉丁键盘。用户108可以使用一个或多个手指112,经由触摸显示器104和/或键盘114向计算设备100输入文本。
现在参考图2,示出了示例计算设备100的功能框图。计算设备100能包括处理器200和通信设备204。在此使用的术语“处理器”是指单个处理器以及一起操作例如并行或分布式体系结构的两个或以上处理器来执行计算设备100的操作。计算设备100能进一步包括语言模型208和语境模型212。尽管在此示为和描述为计算设备100的单独的组件,但语言模型208和语境模型212中的一个或两者能由处理器200实现。应意识到,计算设备100能包括在图2中未示出的另外的计算组件,诸如存储器、扬声器、一个或多个按钮等。
处理器200控制计算设备100的大部分操作。例如,处理器200能执行任务,诸如但不限于加载/控制计算设备100的操作***、加载/配置用于通信设备204的通信参数、控制IME参数、以及控制存储器存储/检索操作,例如用于加载各种参数。此外,处理器200能经由计算设备100的触摸显示器104来控制与用户108的通信。
处理器200可以经由触摸显示器104,为用户108提供各种不同字符输入结构。例如,处理器200可以为用户108提供如所示的标准拉丁“QWERTY”键盘的形式。替代地,处理器200可以为用户108提供标准12键结构,也称为基于T9输入的字符结构,或其他键盘结构。
处理器200可以例如,经由提供的字符输入结构从用户108接收输入。然而,处理器200也可以提供各种IME,例如拼音IME,允许用户108以第一文字将文本输入到计算设备100以便获得以不同文字的文本。因此,处理器200还可以通过转换以不同文字,例如以拼音输入的用户文本,将从用户108接收的输入转换成一个或多个所需文字,例如,中文汉字。例如,当解释用户文本输入(在下文中详细描述)时,处理器200可以协同语境模型212一起使用语言模型208。
通信设备204控制计算设备100和其他设备/网络之间的通信。仅为示例,通信设备204可以提供计算设备100和相关联的其他计算设备和/或互联网之间的通信。计算设备100通常可以经由三种通信媒介:例如互联网(在下文中,“网络250”)的计算网络250、移动电话网254和卫星网络258中的一个或多个通信。也可以实现其他通信媒介。例如,可以将通信设备204配置成有线和无线网络连接,例如射频(RF)通信。
现在参考图3,示出了用于向用户108提供语境敏感输入工具的另一示例计算设备160。计算设备160经由网络250(诸如互联网)与用户108的计算设备180通信。计算设备180被图示为台式计算机,但应当意识到计算设备180能是任何计算机或计算机***,诸如图1-2中所示的计算设备100。此外,在操作的上下文中,将计算设备160描述为服务器,但计算设备160也能是任何其他类型的计算机或计算机***。
与上述计算设备100类似,计算设备160能包括能分别以与上述的处理器200和通信设备204类似的方式操作的处理器300和通信设备304。计算设备160能进一步包括能分别以与上述语言模型308和语境模型312类似的方式操作的语言模型308和语境模型312。此外,应意识到,尽管图示和描述为计算设备160的单独的组件,但语言模型308和语境模型312中的一个或两者能由处理器300实现。计算设备160能经由网络250与用户108的计算设备180通信。
能通过单独或相互协作工作的计算设备100、160、180的任何一个执行在此所述的技术。然而,为了简化起见,下文的描述将主要是指计算设备100的各种操作。应意识到能由计算设备100的一个或多个专用组件(诸如处理器200或通信设备204)、160或180和/或其专用组件,或这些元件的组合来执行操作。
如上所述,用户108能经由诸如显示器104、软键盘114、物理键盘(未示出)或麦克风(未示出)的一个或多个输入设备向计算设备100提供输入。输入能是键盘输入、手写笔划或笔迹(用于手写到文本功能性)或语音输入(用户语音文本功能性),尽管也能利用其他形式的输入。输入能包括以代表特定语言的文本的第一文字的一个或多个字符(或字符的一部分)。仅为示例,在拼音IME的情况下,用户108能提供表示中文的文本、以拉丁文字输入的文本。
计算设备100能直接(例如从与计算设备100交互的用户108),或间接(例如,计算设备160能经由另一计算设备100、180接收输入)地从用户108接收输入。能与文档相关联地接收输入。文档能是将添加输入的任何文本记录,包括但不限于电子邮件或其他电子消息、网页和能由用户108创建/编辑的文档。其他类型的文档包括例如用户108答复的电子邮件串,以及已经发送到由用户108创建的电子消息的预期接收者或从其接收的一个或多个以前的电子消息。
为了提供文本输入辅助,计算设备100能例如基于与输入相关联的文档的一个或多个语言主题来确定输入的语境。能预期输入到文档的文本至少与文档的语义或主题有点关系。由此,将输入的语境有选择地用作帮助确定用于输入的一个或多个候选(字符、词、短语等)的信号。仅为示例,如果文档描述军队的战争或战斗,并且用户108提供输入文本“piece”,则将词“peace”作为候选选项提供给用户108是有利的。在该例子中,候选“peace”是自动更正功能性的示例,因为是用户108的“piece”输入的拼写更正。
在此所述的输入的语境的使用不同于语言模型208、308的利用。语言模型208、308能以特定语言来表示一个或多个令牌(例如词)出现的概率。例如,语言模型208、308能描述给定一系列在前输入令牌后出现的特定信息的概率。通常与n元语法有关描述语言模型,n元语法是指基于前一(n-1)令牌,特定令牌的概率(n=1为一元语法模型,n=2为二元语法模型等)。与语言模型208、308相比,能利用语境模型212、312来描述令牌之间的较长距离关系。仅为示例,参考上述“war”和“piece/peace”的例子,如果文档中的前n个令牌中,没有令牌“war”,则n元语法语言模型208,308将不捕捉所述的“war”和“piece/peace”之间的任何关系。然而,如果这些令牌与相同语义主题有关,则被利用来确定输入的语境(例如,与输入相关联的文档的一个或多个语义主题)的语境模型212,312能够捕捉“war”和“piece/peace”之间的这种关系。
如上所述,能基于与输入相关联的文档的一个或多个语义主题来确定输入的语境。语义主题是与文档的文本(词、短语等)有关的主题或概念的集合。能执行文档的文本的语义分析来提取语义主题。
在本公开的一些实施例中,能通过执行隐含语义分析、隐含狄利克雷分布、重复软最大化模型、深玻耳兹曼机、或这些(或其他)技术的组合,从文档提取语义主题。此外或替代地,对作为网页的文档,能基于与网页相关联的关键字来提取语义主题。对其他类型的文档,语义主题能基于已经在当前输入之前由用户录入的文本。应意识到,除上述技术外或作为替代,可以利用确定输入的语境的其他技术。
能由计算设备100创建和利用语境模型212来确定输入的语境。仅为示例,能通过利用标记的训练数据来推断文档和语义主题之间的关系的监督机器学习算法生成语境模型212。替代地,能由无监督机器学习算法、半监督机器学习算法或所有这三种算法的组合,生成语境模型212。
在每个情形下,语境模型212能包括用于每个已知文本元素(词、短语等)的语境标识符。语境模型212进一步包括多个语义主题,以及与每个语义主题有关的每个已知文本元素的得分。每个得分表示文本元素与其相关的语义主题之间的相关性,例如,特定文本元素与特定语义主题相关的概率。语境模型212能用来基于特定文档的语境标识符来识别语义主题以及得分,如下文更全面所述。
能通过识别与接收的输入相关联的文档的文本元素(词、短语等)来确定输入的语境。能从语境模型212确定用于这些文本元素的每个的语境标识符。基于确定的语境标识符,能确定用于文档的识别的文本元素的每个的语义主题和得分。能结合得分来确定哪一语义主题或哪些语义主题可能用于该文档。语境模型212能基于文本元素和确定的语义主题之间的相关性,确定另外的文本元素(诸如输入)出现的概率。能结合语言模型208利用出现概率来识别用于用户的输入的可能候选。
此外,计算设备100能确定用于一个或多个识别的候选的每个候选的概率。用于特定候选的概率能基于该特定候选代表输入的似然性。概率能基于来自语境模型212和语言模型208的输入的语境。
如上所述,语境模型212和语言模型208均能提供用于特定候选的概率。在一些实施例中,来自语言模型208和语境模型212的每个的各个概率能被组合来确定用于一个或多个候选的每个的组合概率。能基于下述等式,对特定候选确定来自语言模型208和语境模型212的概率的组合:
P(w|history)=Plangmod(w|history)α*Pcntxtmod(w|history)(1-α),(1)
其中,w是特定候选,history是候选基于的信息(例如,对语言模型208,history能是已知n元语法,以及对语境模型212,history能是输入的语境),P(w|history)是组合概率,Plangmod(w|history)是来自语言模型的概率,Pcntxtmod(w|history)是来自语境模型的概率,以及α是确定以提供训练数据的最佳匹配的参数。在一些实施例中,α被选择为等于0.3,但能利用其他值。能利用组合概率来例如确定一个或多个候选的排名顺序。
在一些实施例中,计算设备100能利用输入和语言模型208来生成用于该输入的一个或多个候选以及用于每个候选的概率。然后,计算设备100能利用(来自语境模型212)输入的语境来调整用于每个候选的概率,例如,通过确定用于每个候选的组合概率。以这种方式,利用输入的语境来帮助确定最可能候选,而不是帮助确定可能候选。
在一些实施例中,能利用输入的语境来检索特定主题的词典。特定主题的词典是与特定语义主题相关联的文本元素(词、短语等)的清单。特定主题的词典能包括在标准语言模型208中不存在的独特词。一旦确定输入的语境,能检索与文档的识别的语义主题相对应的特定主题的词典。然后,能将输入与特定主题的词典的条目比较来确定用于该输入的一个或多个候选。
一旦确定一个或多个候选,计算设备100就能输入一个或多个候选的清单(或一个或多个候选的子集)以便显示给用户108。对包括显示器104的计算设备100,输出候选的清单能包括显示候选。对计算设备160,输出候选的清单能包括将候选的清单提供给另一计算设备100、180以便由另一计算设备100、180显示。在一些实施例中,能按例如基于上述组合概率确定的排名顺序输出候选清单。
一旦将候选清单输出到用户108,用户108能选择特定候选,用于用户108预期的输入的表示。计算设备100能接收特定候选的选择以便包括在文档中。此外,计算设备100能基于选择的特定候选,更新输入语境。即,一旦用户108已经选择用于包括在文档中的特定候选,那一特定候选就变为文档的一部分。然后,确定现在包括选择的候选的更新的文档的语境并且用于确定用于用户108的另一输入的一个或多个候选。
现在参考图4,图示了用于帮助用户108向计算设备100提供文本输入的示例技术400。尽管描述为由计算设备100执行,但应意识到,能由计算设备100的一个或多个特定组件(诸如处理器200或通信设备204)、计算设备160或180和/或其特定部分或这些元件的组合执行操作。此外,能通过包括(i)一个或多个处理器;以及(ii)存储指令的非瞬时计算机可读介质的计算机***实现技术400,所述指令当由一个或多个处理器执行时使该计算机***执行技术400的操作。
在404,计算设备100从用户108接收输入。输入能包括以代表特定语言的文本的第一文字的一个或多个字符。此外,能与正由用户108创建/编辑的文档相关联接收输入。在408,计算设备100能基于与输入相关联的文档的一个或多个语义主题来确定输入的语境。能以上述任一方式,利用语境模型212来由文档(例如,文档的文本)确定输入的语境。
在412,能确定用于该输入的一个或多个候选。能基于(i)输入、(ii)输入的语境、以及(iii)语言模型208确定一个或多个候选。如上所述,语言模型208能代表特定语言中一个或多个候选的出现概率。候选能包括以代表特定语言的文本的第二文字的一个或多个字符。在计算设备100提供自动更正和/或自动完成功能性的情况下,第一文字和第二文字能相同。在计算设备100提供IME功能性(仅IME或结合自动更正和/或自动完成),第一文字和第二文字能不同。仅为示例,用户108能提供拉丁字母的输入来利用拼音IME输入以汉字字符中文文本。
在416,能基于(来自语境模型212)输入的语境和语言模型208,确定一个或多个候选的每个候选的概率。在420,能确定候选的排名顺序。排名顺序能基于用于每个候选的概率。在424,能输出一个或多个候选的清单以便显示给用户108。在一些实施例中,能按在420确定的排名顺序输出该清单。在428,能接收从一个或多个候选的清单对特定候选的选择。基于选择的特定候选,在432,能更新输入的语境。然后,技术400能结束或返回到404,用于一个或多个另外的循环。
提供示例实施例,使得本公开将更透彻并且向本领域技术人员全面表达本公开的范围。为了透彻地理解本公开的实施例,阐述了许多具体细节,例如具体组件、装置和方法的示例。对于本领普通域技术人员将明显的是:不必采用这些具体细节,并且可以以许多不同的形式实施示例实施例,并且其不应该解释为对本公开范围的限制。在一些示例实施例中,不再详细描述公知的方法、公知的装置结构以及公知的技术。
本文所使用的术语仅出于描述具体的示例实施例的目的,而并非意在限定。如在本文中使用的单数形式的“一”、“一个”和“所述”,除非上下文清楚地指出以外,可理解为也包括复数形式。术语“和/或”包括一个或更多相关列举项的任何或其所有组合。术语“包括”、“包含”、“含有”和“具有”是包括性的,并且由此表明存在所述的特征、整体、步骤、操作、要素、组件和/或其组合,但不排除存在或附加一个或更多其它特征、整体、步骤、操作、要素、组件和/或其组合。除非特别标明执行顺序,否则本文所描述的方法步骤、过程和操作不应解释为必需要求它们以所讨论或示出的具体顺序执行。还应该理解的是:可以采用附加的或替代性的步骤。
尽管可以在本发明中使用术语第一、第二、第三等来描述各种要素、组件、区域、层和/或分段,但是这些要素、组件、区域、层和/或分段不应该被这些术语所限制。这些术语可以仅用于对一个要素、组件、区域、层或分段与另一个区域、层或分段进行区分。除非在上下文中清楚地指出,否则在本文中使用时,如“第一”、“第二”以及其它数字术语的术语不暗示顺序或次序。因此,在不背离示例性实施例的教导的情况下,下面讨论的第一要素、组件、区域、层或分段可以被称作第二要素、组件、区域、层或分段。
如本文所使用的那样,术语模块或设备可以指代下述各项中的一部分或者包括下述各项:专用集成电路(ASIC)、电子电路、组合逻辑电路、现场可编程门阵列(FPGA);执行代码的处理器(共享的、专用的或者组);或由联网的集群或数据中心中的处理器和存储器的分布式网络执行的过程、提供所述功能的其它合适的组件;或者例如在片上***中的上述中的一些或者全部的组合。术语模块或设备可以包括存储器(共享的、专用的或者群组),该存储器存储由一个或更多处理器所执行的代码。
如上述使用的术语代码可以包括软件、固件、字节码和/或微代码,并且可以指代程序、例程、函数、类和/或对象。如上使用的术语共享是指来自多个模块的一些代码或者全部代码可以使用单个(共享的)处理器来执行。此外,来自多个模块的一些代码或者所有代码可以由单个(共享的)存储器来存储。如上使用的术语群组是指来自单个模块的一些代码或者全部代码可以使用一组处理器来执行。此外,来自单个模块的一些代码或者全部代码可以使用一组存储器来进行存储。
本文中所描述的技术可以通过由一个或更多处理器所执行的一个或更多计算机程序来实现。计算机程序包括存储在非暂态有形计算机可读介质上的处理器可执行的指令。计算机程序还可以包括存储的数据。非暂态有形计算机可读介质的非限制性示例包括非易失性存储器、磁存储器以及光存储器。
以上描述的一些部分在对信息的操作的算法和符号表示方面呈现了本文中所描述的技术。这些算法描述和表示是数据处理领域的普通技术人员用来将其工作的本质有效地传达给本领域其它普通技术人员的方式。这些从功能上和逻辑上被描述的操作应被理解为通过计算机程序实现。此外,已经证明在不失一般性的情况下,用模块名称或者功能名称来指代这些操作的布置时是方便的。
除非特别说明,否则从上面的论述中可以明显到看出,应该理解的是,在整个说明书中,使用术语如“处理”或“运算”或“计算”或“确定”或“显示”等的论述指代操纵和变换数据的计算机***或类似的电子计算装置的动作和处理,所述数据被表示成在计算机***存储器或寄存器或其它这种信息存储器中的物理(电子)量。
所描述的技术的某些方面包括以算法形式在本文中描述的处理步骤和指令。应该注意的是,可以以软件、固件或硬件的方式来实施所描述的处理步骤和指令,并且当以软件的方式来实施时,所描述的处理步骤和指令可以被下载以驻留在由实时网络操作***使用的不同平台上,并从所述平台进行操作。
本公开还涉及执行本文中的操作的装置。该装置可以针对所需要的目的而专门构造,或者它可以包括由存储在可由计算机访问的计算机可读介质中的计算机程序选择性地启动或重新配置的通用计算机。这种计算机程序可以存储在有形计算机可读存储介质中,例如但不限于包括软盘、光盘、CD-ROM、磁光盘的任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光学卡、专用集成电路(ASICs)、闪存或者适于存储电子指令的任何其他类型的介质,每种介质耦接到计算机***总线。此外,本说明书中提及的计算机可以包括单个处理器或可以是为了提高计算能力而采用的多个处理器设计的架构。
本文中呈现的算法和操作在本质上不与任何特定计算机或其它设备相关。各种通用***可以与根据本文的教导的程序一起使用,或者可以证明构造更专用的设备来进行所需方法步骤是便利的。多种这些***所需的结构以及等同变型对本领域的技术人员来说是显然的。另外,未参照任何具体的编程语言来描述本公开。应该理解的是,可以使用各种编程语言来实现如本文描述的本公开的教导,并且对特定语言的参考是为了公开本公开的可实施性和本公开的最佳模式而提供。
本公开非常适合于众多拓扑结构上的种类繁多的计算机网络***。在本领域内,大型网络的配置和管理包括通过诸如互联网的网络通信上耦接到相异的计算机和存储装置的存储装置和计算机。
为了说明和描述的目的提供了对实施例的前文的描述。但其并非意在穷举或限制本公开。即使未具体示出或描述,但具体实施例的要素或特征通常并不限于该具体的实施例,而是在适用时是可替换的并且可以被用于选定的实施例中。相同的方式也会以许多方式进行变化。这些变型并不认为是背离本发明的,并且所有这些改变都应包含在本公开的范围内。

Claims (20)

1.一种计算机实现的方法,包括:
在具有一个或多个处理器的计算设备处,从用户接收输入,所述输入包括代表特定语言的文本的以第一文字的一个或多个字符,所述输入是与文档相关联地被接收的;
在所述计算设备处,基于与所述输入相关联的所述文档的一个或多个语义主题,确定所述输入的语境;
在所述计算设备处,基于(i)所述输入、(ii)所述输入的语境、以及(iii)语言模型来确定用于所述输入的一个或多个候选,所述候选包括代表所述特定语言的所述文本的以第二文字的一个或多个字符,所述语言模型表示所述一个或多个候选在所述特定语言中出现的概率;以及
从所述计算设备输出所述一个或多个候选的清单以显示给所述用户。
2.如权利要求1所述的计算机实现方法,其中,所述输入的语境是从所述文档的文本确定的。
3.如权利要求1所述的计算机实现方法,进一步包括:在所述计算设备处,基于所述输入的语境和所述语言模型来确定所述一个或多个候选的每个候选的概率,每个特定候选的概率基于该特定候选代表以所述第二文字的所述输入的似然性。
4.如权利要求3所述的计算机实现方法,进一步包括:在所述计算设备处,基于所确定的概率来确定所述一个或多个候选的排名顺序,其中,所述清单是按所述排名顺序输出的。
5.如权利要求1所述的计算机实现方法,其中,确定用于所述输入的所述一个或多个候选包括:
在所述计算设备处,基于所述输入的语境来检索特定于主题的词典;以及
在所述计算设备处,将所述输入与所述特定于主题的词典中的条目进行比较。
6.如权利要求1所述的计算机实现方法,其中,确定用于所述输入的所述一个或多个候选包括:
在所述计算设备处,利用所述输入和所述语言模型来生成(i)用于所述输入的所述一个或多个候选,以及(ii)用于所述一个或多个候选的每个候选的概率,用于每个特定候选的概率基于所述特定候选代表以所述第二文字的所述输入的似然性;以及
在所述计算设备处,利用所述输入的语境来调整用于所述一个或多个候选的每个候选的概率。
7.如权利要求1所述的计算机实现方法,其中,所述文档是电子邮件,并且所述输入的语境是从所述电子邮件中先前录入的文本来确定的。
8.如权利要求1所述的计算机实现方法,其中,所述文档是网页,并且所述输入的语境是从所述网页的文本来确定的。
9.如权利要求1所述的计算机实现方法,其中,所述第一文字和第二文字是相同文字。
10.如权利要求1所述的计算机实现方法,进一步包括:
在所述计算设备处,接收从一个或多个候选的列表对特定候选的选择;以及
在所述计算设备处,基于所选择的特定候选来更新所述输入的语境。
11.一种计算机***,包括:
一个或多个处理器;以及
存储指令的非瞬时计算机可读介质,所述指令当由所述一个或多个处理器执行时使所述计算机***执行包括下述各项的操作:
从用户接收输入,所述输入包括以第一文字的一个或多个字符,所述第一文字代表特定语言的文本,所述输入是与文档相关联地被接收的;
基于与所述输入相关联的所述文档的一个或多个语义主题,确定所述输入的语境;
基于(i)所述输入、(ii)所述输入的语境、以及(iii)语言模型来确定用于所述输入的一个或多个候选,所述候选包括代表所述特定语言的文本的以第二文字的一个或多个字符,所述语言模型表示所述一个或多个候选在所述特定语言中出现的概率;以及
输出所述一个或多个候选的清单以显示给用户。
12.如权利要求11所述的计算机***,其中,所述输入的语境是从所述文档的文本确定的。
13.如权利要求11所述的计算机***,其中,所述操作进一步包括:基于所述输入的语境和所述语言模型来确定所述一个或多个候选的每个候选的概率,每个特定候选的概率基于该特定候选代表以所述第二文字的所述输入的似然性。
14.如权利要求13所述的计算机***,其中,所述操作进一步包括:基于所确定的概率来确定所述一个或多个候选的排名顺序,其中,所述清单是按所述排名顺序输出的。
15.如权利要求11所述的计算机***,其中,确定用于所述输入的所述一个或多个候选包括:
基于所述输入的语境来检索特定于主题的词典;以及
将所述输入与所述特定于主题的词典中的条目进行比较。
16.如权利要求11所述的计算机***,其中,确定用于所述输入的所述一个或多个候选包括:
利用所述输入和所述语言模型来生成(i)用于所述输入的所述一个或多个候选,以及(ii)用于所述一个或多个候选的每个候选的概率,用于每个特定候选的概率基于该特定候选代表以第二文字的所述输入的似然性;以及
利用所述输入的语境来调整用于所述一个或多个候选的每个候选的概率。
17.如权利要求11所述的计算机***,其中,所述文档是电子邮件,并且所述输入的语境是从所述电子邮件中先前录入的文本来确定的。
18.如权利要求11所述的计算机***,其中,所述文档是网页,并且所述输入的语境是从所述网页的文本来确定的。
19.如权利要求11所述的计算机***,其中,所述第一文字和第二文字是相同文字。
20.如权利要求11所述的计算机***,其中,所述操作进一步包括:
接收从一个或多个候选的列表对特定候选的选择;以及
基于所选择的特定候选来更新所述输入的语境。
CN201380079899.4A 2013-09-26 2013-09-26 语境敏感的输入工具 Active CN105814556B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/084289 WO2015042819A1 (en) 2013-09-26 2013-09-26 Context sensitive input tools

Publications (2)

Publication Number Publication Date
CN105814556A true CN105814556A (zh) 2016-07-27
CN105814556B CN105814556B (zh) 2019-09-13

Family

ID=52741775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380079899.4A Active CN105814556B (zh) 2013-09-26 2013-09-26 语境敏感的输入工具

Country Status (3)

Country Link
US (1) US20160239470A1 (zh)
CN (1) CN105814556B (zh)
WO (1) WO2015042819A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383590A (zh) * 2016-09-06 2017-02-08 珠海格力电器股份有限公司 一种智能输入的方法及装置
CN109933785A (zh) * 2019-02-03 2019-06-25 北京百度网讯科技有限公司 用于实体关联的方法、装置、设备和介质
CN111125509A (zh) * 2018-10-31 2020-05-08 微软技术许可有限责任公司 语言分类***
CN111989741A (zh) * 2018-03-26 2020-11-24 美的集团股份有限公司 具有动态可切换端点的基于语音的用户接口
CN113534973A (zh) * 2020-04-16 2021-10-22 北京搜狗科技发展有限公司 输入方法、装置和用于输入的装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536859A (zh) * 2018-04-18 2018-09-14 北京小度信息科技有限公司 内容校验方法、装置、电子设备及计算机可读存储介质
US12008321B2 (en) * 2020-11-23 2024-06-11 Optum Technology, Inc. Natural language processing techniques for sequential topic modeling
US11481547B2 (en) * 2021-01-06 2022-10-25 Tencent America LLC Framework for chinese text error identification and correction
CN112818663A (zh) * 2021-01-15 2021-05-18 北京有竹居网络技术有限公司 用于语言模型的处理方法、文本生成方法、装置及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1387650A (zh) * 1999-11-05 2002-12-25 微软公司 对拼写、打字和转换错误具有容错能力的将一种文本形式转换为另一种文本形式的语言输入体系结构
CN101334704A (zh) * 2008-06-27 2008-12-31 中国科学院软件研究所 一种面向移动设备的多通道中文输入法
CN101639830A (zh) * 2009-09-08 2010-02-03 西安交通大学 一种输入过程中的中文术语自动纠错方法
CN101681229A (zh) * 2007-04-26 2010-03-24 株式会社爱可信 输入候选提供装置、输入候选提供***、输入候选提供方法以及输入候选提供程序
CN102439542A (zh) * 2009-03-30 2012-05-02 触摸式有限公司 电子设备的文本输入***及文本输入方法
JP2013045413A (ja) * 2011-08-26 2013-03-04 Fujitsu Frontech Ltd 入力候補表示方法およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165019B1 (en) * 1999-11-05 2007-01-16 Microsoft Corporation Language input architecture for converting one text form to another text form with modeless entry
US9424246B2 (en) * 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
US10191654B2 (en) * 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
US9189472B2 (en) * 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
GB201003628D0 (en) * 2010-03-04 2010-04-21 Touchtype Ltd System and method for inputting text into electronic devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1387650A (zh) * 1999-11-05 2002-12-25 微软公司 对拼写、打字和转换错误具有容错能力的将一种文本形式转换为另一种文本形式的语言输入体系结构
CN101681229A (zh) * 2007-04-26 2010-03-24 株式会社爱可信 输入候选提供装置、输入候选提供***、输入候选提供方法以及输入候选提供程序
CN101334704A (zh) * 2008-06-27 2008-12-31 中国科学院软件研究所 一种面向移动设备的多通道中文输入法
CN102439542A (zh) * 2009-03-30 2012-05-02 触摸式有限公司 电子设备的文本输入***及文本输入方法
CN101639830A (zh) * 2009-09-08 2010-02-03 西安交通大学 一种输入过程中的中文术语自动纠错方法
JP2013045413A (ja) * 2011-08-26 2013-03-04 Fujitsu Frontech Ltd 入力候補表示方法およびプログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383590A (zh) * 2016-09-06 2017-02-08 珠海格力电器股份有限公司 一种智能输入的方法及装置
CN111989741A (zh) * 2018-03-26 2020-11-24 美的集团股份有限公司 具有动态可切换端点的基于语音的用户接口
CN111989741B (zh) * 2018-03-26 2023-11-21 美的集团股份有限公司 具有动态可切换端点的基于语音的用户接口
CN111125509A (zh) * 2018-10-31 2020-05-08 微软技术许可有限责任公司 语言分类***
CN111125509B (zh) * 2018-10-31 2024-04-26 微软技术许可有限责任公司 语言分类***
CN109933785A (zh) * 2019-02-03 2019-06-25 北京百度网讯科技有限公司 用于实体关联的方法、装置、设备和介质
CN109933785B (zh) * 2019-02-03 2023-06-20 北京百度网讯科技有限公司 用于实体关联的方法、装置、设备和介质
CN113534973A (zh) * 2020-04-16 2021-10-22 北京搜狗科技发展有限公司 输入方法、装置和用于输入的装置

Also Published As

Publication number Publication date
WO2015042819A1 (en) 2015-04-02
US20160239470A1 (en) 2016-08-18
CN105814556B (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
CN105814556A (zh) 语境敏感的输入工具
KR102596446B1 (ko) 모바일 디바이스들에서의 모달리티 학습
US9508028B2 (en) Converting text strings into number strings, such as via a touchscreen input
CN106202059B (zh) 机器翻译方法以及机器翻译装置
JP5362095B2 (ja) インプットメソッドエディタ
US9824085B2 (en) Personal language model for input method editor
US8812302B2 (en) Techniques for inserting diacritical marks to text input via a user device
CN101785000B (zh) 词概率确定方法和***
US20170046330A1 (en) Context specific language model for input method editor
US20100169770A1 (en) Input method editor having a secondary language mode
KR20100015958A (ko) 멀티모드 다국어 입력기
US10325018B2 (en) Techniques for scheduling language models and character recognition models for handwriting inputs
CN101815996A (zh) 检测名称实体和新词
CN103558908A (zh) 帮助用户以多种不同语言将实体的名称文本输入到用户设备的技术
US8806384B2 (en) Keyboard gestures for character string replacement
Haque et al. Automated word prediction in bangla language using stochastic language models
KR101509727B1 (ko) 자율학습 정렬 기반의 정렬 코퍼스 생성 장치 및 그 방법과, 정렬 코퍼스를 사용한 파괴 표현 형태소 분석 장치 및 그 형태소 분석 방법
US10152473B2 (en) English input method and input device
CN110837730B (zh) 一种未知实体词汇的确定方法及装置
WO2020178856A1 (en) A chatbot system using asynchronous dialog state machine
US8972241B2 (en) Electronic device and method for a bidirectional context-based text disambiguation
CN111176456B (zh) 用于输入地理位置名称的输入法编辑器
CN115035890B (zh) 语音识别模型的训练方法、装置、电子设备及存储介质
US10789410B1 (en) Identification of source languages for terms
US9176948B2 (en) Client/server-based statistical phrase distribution display and associated text entry technique

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant