CN104428734A - 输入法编辑器应用平台 - Google Patents
输入法编辑器应用平台 Download PDFInfo
- Publication number
- CN104428734A CN104428734A CN201280074281.4A CN201280074281A CN104428734A CN 104428734 A CN104428734 A CN 104428734A CN 201280074281 A CN201280074281 A CN 201280074281A CN 104428734 A CN104428734 A CN 104428734A
- Authority
- CN
- China
- Prior art keywords
- application
- ime
- user
- candidate
- input
- 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
Links
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/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/10—Multimedia information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
Abstract
一种输入法编辑器(IME)提供一种分布式平台架构,所述架构实现将多个应用与IME相关联以提供扩展的功能。诸如皮肤之类的应用的呈现可以彼此不同或不同于IME的呈现。应用可以以人类可读和可编辑的清单文件来表示。IME收集与到主应用中的用户输入相关的包括用户输入的查询和主应用的场景在内的多个参数并且基于所述应用依照所收集的多个参数的分数和排名来选择一个或多个应用以提供候选。可以使用机器学习来改进分数或排名。所述候选可以包括文本候选、富候选和信息性候选。
Description
背景
常规的输入法编辑器(IME)是在计算设备处辅助用户输入文本的计算机应用。IME可以基于从用户接收的输入提供若干输入候选。所述输入和所提供的文本候选可以是相同或不同的语言。
例如,用户可以输入一个或多个单词或短语的初始英语字符,并且IME基于所述初始字符提供一个或多个完整单词或短语以供用户选择一个合适单词或短语。对于另一示例,IME还可以辅助用户输入非拉丁字符,比如中文。用户可以通过键盘输入拉丁字符。拉丁字符可以是中文字符的拼音。IME基于所述拼音返回一个或多个中文字符以供用户选择合适的一个字符。由于当前键盘常常仅支持输入拉丁字符,因此IME有助于用户输入非拉丁字符。
由用户选择的输入候选可以被插入到各个其他计算机应用中,比如聊天应用、文档编辑应用、游戏应用等等。
通常,常规IME仅仅提供文本形式的输入字符,并且通常使用单个源来标识输入候选,而不管使用IME的应用的类型。
概述
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特性或必要特性,也不旨在用于帮助确定所要求保护的主题的范围。例如,术语“技术”可以指上述上下文和本公开通篇所准许的设备、系统、方法、和/或计算机可读指令。
在此所述的输入法编辑器(IME)至少部分基于一个或多个参数来提供候选,其中用户可从所述候选中选择一个或多个以输入到主应用中。所述一个或多个参数例如可以包括:由用户输入到IME中的查询;主应用的场景;用户输入的上下文;和/或语言模式。所提供的候选不仅可以包括文本候选、而且可以包括富候选和信息性候选。用户可以选择文本候选和富候选中的一个或多个以作为用户输入。所述一个或多个信息性候选对用户可用,以说明或提供与另一候选相关联的信息。
另外,一个或多个应用可以与IME相关联以向IME提供扩展的功能,比如提供附加的候选。所述一个或多个应用可以被认为是对IME的扩展。一些应用可以具有驻留在本地设备和远程服务器处的组件,并且能够调用服务器处的组件或其他web服务来提供候选。用户可以从应用存储中选择一个或多个应用。可替代地,一个或多个应用可被预装或嵌入到IME内。IME可以至少部分基于所述一个或多个参数从相关联的多个应用中选择一个或多个应用以提供候选。另外,用户可以从IME中直接选择和启动一个或多个应用以提供候选。
例如,IME可以基于所述参数计算出应用的分数或排名,并且选择具有高于阈值的排名或分数的一个或多个应用。可以使用机器学习技术来调整一些属性,包括特定应用的分数或排名。用户还可以基于他/她的偏好来修改特定应用的属性。
多个应用可以并发和独立地运行以提供候选。应用的用户界面和功能去耦合。例如,诸如用户界面的皮肤之类的应用的外观样式可以彼此不同和/或不同于IME的外观样式。
附图简述
参考附图来描述具体实施方式。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在各附图中,使用相同的标号来指示相同的特征和组件。
图1示出了在示例性聊天场景中通过示例性输入法编辑器(IME)来向用户提供候选的示例性概况。
图2示出了用于向用户提供一个或多个候选的示例性方法的流程图。
图3示出了用户可以从中选择要与IME相关联的一个或多个应用的示例性应用存储。
图4示出了描述与IME相关联的应用的特性的示例性清单方案。
图5示出了要被安装在IME的计算系统的客户端设备和/或服务器处的特定应用的示例性应用包格式。
图6示出了管理与IME相关联的应用的示例性应用配置界面。
图7示出了用于从与IME相关联的多个应用中选择应用的示例性方法的流程图。
图8示出了向用户提供信息性候选的示例性场景。
图9示出了用于在独立界面中启动应用以提供候选的示例性方法的流程图。
图10示出了在独立界面中启动地图应用的场景。
图11示出了用于在示例性电子邮件场景中插入候选的用户界面。
图12示出了用于在示例性文档场景中插入候选的用户界面。
图13示出了用于IME的示例性计算系统的所选组件。
具体实施方式
概览
所公开的技术描述了一种输入法编辑器(IME),所述输入法编辑器(IME)向用户提供供输入到另一计算机应用、即主应用中的候选。该IME至少部分地基于一个或多个参数来提供候选。该IME可以收集所述一个或多个参数,所述参数例如可以包括:由用户输入到IME中的查询;主应用的场景(例如聊天或发电子邮件);用户输入的上下文(例如计算应用的在先使用历史,比如聊天历史或在计算应用的用户界面处显示的内容,比如用户的在先输入);和/或语言模式(例如针对所期望的候选的英语或中文)。还可以基于当前用户输入的参数的组合来生成或标识出候选及其在多个候选中的显示位置的排名。例如,由用户在不同场景下输入到IME中的相同查询可能具有不同的候选和/或候选排名。
IME可以具有或调用一个或多个引擎来基于所述一个或多个参数搜索候选。所述引擎基于不同设定和配置搜索本地数据库和/或网络以提供候选。另外,一个或多个应用可以与IME相关联以向IME提供扩展的功能。每个应用都可以具有或调用其一个或多个引擎以提供附加的候选。应用存储的图形用户界面可以供用户用于选择用户感兴趣的应用并将其与IME相关联。例如,所选应用可以安装在IME内。可替代地,一个或多个应用可以预装或嵌入到IME中。在IME处存在应用的各个安装配置。在一个示例中,一些应用以可执行文件格式安装在IME处。在另一示例中,可以使用以声明性标记语言为格式的文件来描述与IME相关联的一个或多个应用的一个或多个特性、以及启用相关联的应用的行为。在此可称为清单文件的文件是人类可读和可编辑的。与IME相关联并以清单文件表示的一个或多个应用的特性例如可以包括特定应用何时取得资格以运行或被IME选中的条件以及依照与用户输入相关的一个或多个参数的特定组合来预设特定应用的分数或排名。
基于所收集的一个或多个参数,IME可以计算一些或所有相关联的应用和/或IME的引擎的分数和/或排名。IME可以选择分数或排名高于预设阈值的其自己的引擎或一个或多个应用来提供候选。应用配置界面可供用户用于管理相关联的应用,包括编辑它们的以清单文件描述的特性。
另外,用户可以基于所述一个或多个参数直接从IME选择和启动一个或多个应用以请求这样的应用提供附加的候选。这样的所启动的应用可以具有其自己的与IME的界面不同的独立用户界面,使得用户可以从所启动的应用输入查询和接收候选。
多个所选和/或所启动的应用可以并发和独立地运行以提供候选。在一个示例中,提供候选的功能同用户界面的外观样式(比如用户界面的皮肤)的功能去耦合。例如,用户界面的皮肤可以定义用户界面的显示窗口的外观,比如颜色和大小。换言之,多个应用的外观样式可以彼此不同和/或不同于IME的外观样式。
IME和/或所选应用可以基于所述一个或多个参数提供候选。所述候选可以包括一个或多个文本候选、富候选和/或信息性候选。文本候选是由文本格式的查询来表示或与其相关联的表达,并且可以包括诸如中文之类的非拉丁字符、以及诸如英语之类的拉丁字符。富候选是由文本以外形式的查询来表示或与其相关联的表达,并且可以包括图像或多媒体来向用户提供补充信息以增强用户体验。用户可以选择一个或多个文本候选和富候选作为到主应用的用户界面中的输入。信息性候选向用户提供另一候选的信息,比如背景或详细图示。例如,用户可能打算获悉特定文本或富候选的信息。在用户指示其兴趣以后,将相应的信息性候选提供给用户以供参考。
在IME从其自己的引擎和/或所选应用接收所生成或标识出的候选以后,IME可以通过IME的用户界面显示它们。IME可以具有一个或多个显示窗口来显示候选。例如,IME可以具有用于显示文本候选的文本候选窗口、用于显示富候选的富候选窗口、以及用于显示信息性候选的信息性候选窗口。除非与此处的描述相抵触,文本候选和富候选的细节在Scott等人的美国专利申请No.13/331,023“Scenario-adaptive input method editor(场景自适应输入法编辑器)”中予以了描述,该申请并入本申请。
所述一个或多个显示窗口与IME并发地呈现,或者在IME确定存在要显示的相应类型的候选时可用。在一些示例中,信息性候选窗口可以仅当用户指示他/她有兴趣获悉与一个特定候选相关联的更多信息并且IME确定存在这样的信息性候选时出现并显示该信息性候选。
在IME从用户接收到针对一个或多个所显示候选(比如文本或富候选)的选择时,IME将所选候选插入到主应用的用户界面中以作为用户输入。IME可以将所选候选以主应用所支持的最优格式插入到主应用中。
存在各种配置以供部署IME、应用存储和/或应用。在一个实施例中,IME、应用和/或应用存储的所有组件都位于客户端设备处。在另一实施例中,IME、应用和/或应用存储中的每个都可以以客户端-服务器架构来实现,其中一些组件位于客户端设备处而一些组件位于相对于客户端设备的远程服务器处。
使用IME的用户输入的示例性场景
图1示出了在示例性聊天场景中通过示例性输入法编辑器(IME)来向用户提供候选的示例性概况100。用户102通过IME 106的用户界面104将一个或多个对象108输入到主应用110的用户界面中。IME106的用户界面104和主应用110的用户界面二者同时呈现在客户端设备112的用户界面处。用户102可以使用鼠标、触摸屏、语音或任何其他输入技术来作出用户输入。
在图1的示例中,主应用110是诸如微软之类的聊天应用。主应用110的用户界面包括两个窗口,即聊天窗口114和输入窗口116。聊天窗口114显示已经被输入到主应用110的用户界面中的对象108。对象108可包括文本和/或富对象。在图1的示例中,对象108是文本对象“Jack:Where are you?(Jack:你在哪?)”,“Me:I’m home now.(我:我现在在家。)”,“Jack:Where to go tonight?(Jack:今晚去哪儿?)”。Jack是与用户102聊天的另一方的用户名。“我”是用户102的表示。
输入窗口116包括要作为对象108被输入到聊天窗口114中的一个或多个输入对象118。在图1的示例中,输入对象118是文本对象“Meet me at”(在…见我)。由“|”表示的输入指示120表示对插入下一输入对象118的位置的指示。输入指示120例如可以是诸如鼠标之类的输入技术输入下一输入对象116的焦点。输入指示120还指示:尤其是包含运行中的计算机应用中的输入应用120的主应用110是从IME 106接收输入对象118的应用。
用户102可以使用IME 106来提供输入对象118。例如,用户102将查询122输入到IME 106的用户界面104中。IME 106在用户界面104处呈现一个或多个候选以供用户102选为到主应用110的输入窗口116中的输入对象118。另外,一个或多个应用124可以与IME 106相关联以向IME 106提供扩展的功能,比如附加的候选。所述一个或多个相关联的应用124可以由用户102选自包括多个应用的应用存储(图1中未示出)。可替代地,所述一个或多个应用124可以与IME 106一起预装在客户端设备112处。
在图1的示例中,相关联的应用124包括计算器应用126、地图应用128以及天气应用130。IME 106和应用124中的每个都可以以客户端-服务器架构来实现,其中一些组件位于客户端设备112处,并且一些组件位于服务器132处,所述服务器132通过网络134与客户端设备112通信。网络134可以是内联网或因特网。在图1的示例中,计算器应用126驻留在客户端设备112处,而IME 106、地图应用128以及天气应用130具有驻留在客户端设备112和服务器132二者处的组件。
用户102通过使用任何输入技术将查询122输入到IME 106的用户界面104中。查询122可以是任何类型的输入,比如文本、多媒体或用户102的音频输入。例如,查询122可表示文本候选136的一系列首字母、缩写、拼写、和/或翻译。在图1的示例中,查询122是英语字符串“sanlitun”,其表示中文字符“三里屯”的拼音或发音。
IME 106收集与来自用户102的输入相关的一个或多个参数,并且基于所述一个或多个参数选择相关联的应用124至少之一来向用户102提供一个或多个候选。
例如,所述一个或多个参数可以包括查询122和用户输入的场景。用户输入的场景可以包括主应用110的场景、即图1中的聊天。所述一个或多个参数还可以包括用户102的输入的上下文,比如由用户102和另一方“Jack”在主应用110的用户界面处作出的先前的输入。在图1的示例中,IME 106可以捕捉已经被输入到主应用110的聊天窗口114中的对象108、主应用110的输入窗口116处的输入对象118、或者二者来获得输入的上下文。
所述一个或多个参数还可以包括语言模式(例如英语或中文)以指示用户输入的语言。例如,如果语言模式是简体中文,则选择和排名优先级具有对简体中文字符的偏好、在简体中文下的表达样式的偏好、或者对来自具有简体中文字符的网页的数据源的偏好。相反,如果语言模式是繁体中文,则选择和排名优先级具有对繁体中文字符的偏好、在繁体中文下的表达样式的偏好、或者对来自具有繁体中文字符的网页的数据源的偏好。
所述一个或多个参数还可以包括主应用的之前使用历史,比如在主应用110为聊天应用时的聊天历史。
IME 106可以基于所述一个或多个参数至少之一为一些或所有应用124计算分数并对它们进行排名。IME 106可以从应用124中选择具有高于分数阈值的分数和/或高于排名阈值的排名的一个或多个应用以向用户102提供一个或多个候选。
所选应用还可以向用户102标识出或生成一个或多个候选。换言之,候选可以由IME 106所调用的一个或多个引擎、来自应用124的一个或多个所选应用、或者二者来提供。IME 106和/或所选应用对候选的选择和排名还可以基于候选与一个或多个所收集参数的相关度。例如,与主应用110的场景具有较高相关度的文本候选或富候选可以被排名为具有比要呈现给用户102的文本候选136和/或富候选138中的其他候选更高的优先级。
在IME 106的用户界面104处呈现的候选可以包括一个或多个文本候选136、一个或多个富候选138、和/或一个或多个信息性候选140。用户102可以从文本候选136和/或富候选138中选择一个或多个候选以作为要输入到主应用110的输入窗口116中的输入对象118。
文本候选136可以是任何种类的文本,比如拉丁字符(例如英语)、非拉丁字符(例如中文)、符号、数字或不同种类的文本的混合。查询122和文本候选136可以是相同或不同的语言。
附加于文本,富候选138还可包括附加于文本候选136向用户102提供补充信息的图片、地图、视频和/或其他形式的表示。
信息性候选140用于说明或提供查询122、文本候选136或富候选138的信息。例如,用户102可以使用诸如鼠标之类的输入技术来定点到相应的文本候选136或富候选138以示出:用户102想要知道与这样的候选相关联的更多信息。然后,IME 106和/或所选应用可以向用户呈现信息性候选140。在一些示例中,如果用户102有兴趣获悉与诸如信息性候选140内的单词或多媒体的一些内容相关联的信息,则用户102可以继续定点到这样的内容以获得说明信息性候选140的另一信息性候选(图1中未示出)。
由于信息性候选140是出于说明目的,因为它们常常不能被用户102直接选为输入对象118。然而,在一些示例中,102仍然可以选择它们并将它们作为输入对象插入。例如,用户102可以复制信息性候选140的内容,并且将其粘贴到主应用110的用户界面中以作为输入对象118。
在图1的示例中,基于诸如包括输入对象118“Meet me at(在…见我)”的用户输入的上下文之类的所收集参数,IME 106可以确定查询122“sanlitun”涉及一位置并且地图应用128在应用124中具有最高相关度分数。IME 106从相关联的应用128中选择地图应用128以提供包括附加候选的扩展功能。地图应用128可以调用其客户端组件或服务器组件或者调用web服务以基于查询122“sanlitun”和一个或多个其他参数提供候选。例如,地图应用128可以调用web服务,所述web服务具有被调谐到搜索“sanlitun”的地图功能的引擎。该web服务可以是被调谐到地图搜索的搜索引擎。在另一示例中,地图应用128还可以将诸如“三里屯”之类的一个或多个文本候选136用作查询或者甚至将一个或多个富候选138(未示出)用作搜索项。
在图1的示例中,文本候选136包括第一文本候选“三里屯”、第二文本候选“三里屯village”、以及第三文本候选“三里屯酒吧”,第三文本候选在英语中是指“sanlitun bar”。文本候选136例如可以由IME 106的引擎基于查询122和IME针对查询122的语言模式和/或一些其他参数来提供。可替代地,文本候选136可以由文本候选应用(图1中未示出)来提供,所述文本候选应用覆盖IME 106的提供文本候选136的功能。文本候选136中的三个文本候选的排名基于它们与所收集的一个或多个参数的相关度。因为图1的示例中的语言模式是简体中文,因此所提供的文本候选126主要是中文字符,但是仍然可能存在一些英语字符,比如第二文本候选中的“village”。
在图1的示例中,所选应用、即地图应用128提供富候选138、即地图“三里屯”。地图应用128基于查询122和/或其他参数生成或标识出“三里屯”的地图。基于诸如用户输入的上下文之类的其他一些参数,地图应用128还可以生成示出从用户102和/或“Jack”、即正在通过主应用110与用户102通信的另一个人、的当前位置到“三里屯”的路线的另一地图(图1中未示出)。
在候选被IME 106和/或所选应用生成、标识和排名以后,IME 106通过用户界面104将它们以适用于候选的类型的格式显示给用户102。
在图1的示例中,IME 106的用户界面104可以包括:用于接收和呈现查询122的撰写窗口142;用于显示文本候选136的文本候选窗口144;以及用于显示富候选138的富候选窗口146。文本候选窗口144和/或富候选窗口146可以与撰写窗口120并发地出现。可替代地,文本候选窗口144和/或富候选窗口146可以仅当存在相应文本候选136或富候选138可用时呈现。
IME 106的用户界面104还可以包括信息性候选窗口148以显示信息性候选140。在图1的示例中,当用户102在富候选138、即“三里屯”的地图上标识出诸如餐馆之类的感兴趣点150时,IME 106可以在信息性候选窗口148中显示与感兴趣点150相关联的信息性候选140,比如该餐馆的地址和营业时间、即“工体路1号…营业时间:10:00am–10:00pm”,这在英语中是指“No.1,Gongti Road…Business hours:10:00am–10:00pm”。
附加于IME 106从应用124中自动选择一个或多个应用的方法,用户102可以从应用124中直接选择和启动一个或多个应用。例如,IME 106可以向用户102提供界面(图1中未示出)以从应用124中直接选择和启动一个或多个应用。在图1的示例中,用户102从IME提供的界面中直接选择天气应用130,因为用户102可能想要知道天气信息。所启动的天气应用130可以在同IME 106的用户界面104分开和独立的独立界面中呈现在客户端设备112的用户界面处。
在图1的示例中,所启动的天气应用130可以包括查询窗口152和显示窗口154。查询窗口152接收查询156,所述查询156可以与查询122相同或不同。例如,IME 106可以自动将查询122的副本作为查询156发送给查询窗口152。可替代地,如图1所示,用户102可以直接输入查询156或者使用IME 106将查询156输入到查询窗口152中。在所示的示例中,在查询窗口152中,查询156“三里屯”表示“sanlitun”的中文字符。显示窗口154显示由天气应用130基于查询156和/或其他一些所收集的参数(比如主应用110的场景、用户输入的上下文等等)所提供的一个或多个候选158。
在图1的示例中,由天气应用130提供的候选158可以包括由“三里屯”表示的位置的当前天气和天气预报、例如“现在气温23C…今晚多云”,这在英语中是指“current temperature 23Celsius…tonight cloudy”。天气应用130考虑到了例如简体中文之类的语言模式的参数,并且不仅以简体中文字符、而且以简体中文中优选的表达样式来呈现候选158。例如,在简体中文下,温度的优选表达是摄氏、而不是华氏。天气应用130例如基于输入对象“meet me at(在…见我)”还考虑到用户输入的上下文的参数,天气应用130预测用户102想要知道天气预报,并且在候选158中提供“今晚多云”信息。用户102可以查看作为附加信息源的候选158,并且可以选择一个或多个候选158以作为要输入到主应用110的用户界面中的输入对象118。
当用户102定点到查询152或候选158时,另一信息性候选(图1中未示出)如果可用则也可以在另一信息性候选窗口(未示出)中呈现给用户102。
用于执行在此所述的技术的示例性方法和计算系统将在下面予以详细讨论。图1的IME 106可以使用、但不限于下面所述的技术来实现其功能。在此所述的参考每个附图的技术可以同依照其他附图所讨论的技术独立或相组合。这些示例方法可在计算机可执行指令的一般上下文中描述。一般而言,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、过程、模块、功能等等。这些方法还能在其中功能由通过通信网络或通信云链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,计算机可执行指令可位于本地和远程存储器两者中。
这些示例方法有时被示出为逻辑流程图中框的集合,这表示可用硬件、软件、固件、或其组合来实现的一系列操作。描述方法的次序并不旨在被解释为限制,并且任意数量的所描述的框可以按任何次序组合以实现这些方法或替换方法。另外,可从方法中省去各个操作,而不背离此处所述的主题的精神和范围。在软件的上下文中,各个框表示当由一个或多个处理器执行时完成既定操作的计算机可执行指令。
用于提供候选的示例性技术
图2示出了用于向用户提供一个或多个候选的示例性方法200的流程图。在202,IME收集与用户输入相关的一个或多个参数。在示例性实施方式中,IME具有多个运行时状态。202的操作对应于IME的查询状态,在此期间,IME的计算系统监听用户的输入,捕捉输入,准备包括所述一个或多个所收集参数的输入的增强型查询,并且发送增强型查询以供进一步处理。所述一个或多个参数例如可以包括:由用户输入的查询;用户输入的场景,比如主应用的场景;用户输入的上下文;和/或语言模式。存在各种替代方案来准备增强型查询以供进一步处理。在一个示例中,IME可以在经排序的列表中预选一个或多个有资格被启用以在查询状态下处理增强型查询的合格应用,并且还在服务状态下从合格应用中选择一个或多个应用,这在下面予以详细描述。该经排序的列表可以称为竞争者的矢量,因为每个合格应用都充当竞争者。
在另一示例中,在查询状态下,IME在不预选应用的情况下收集多个参数,并且在服务状态下从多个应用中选择所述一个或多个应用。
在图1的示例中,IME106可以在客户端设备110的界面处打开的多个计算机应用中标识出接收输入对象118的主应用110。IME 106例如可以检查输入指示120以标识出主应用110。在标识出接收输入对象118的主应用110之后,IME可以收集与主应用110的场景相关的数据,比如主应用110的名称和版本。在图1的示例中,例如主应用110的名称是微软而主应用110的版本是用于Windows的MSN Messenger 7.5。IME 106可以将主应用110的名称与本地或远程数据库相比较以确定主应用110、即微软是聊天应用。例如,计算机应用的名称可与场景列表相比较。该场景列表存储了计算机应用与情景之间的对应关系。例如,该列表可指示:计算机应用微软对应于聊天场景,而计算机应用微软对应于文档编辑场景。这样的场景列表可被周期地更新以包括与新的计算机应用的对应关系,以及更新对应关系。
IME 106还可捕捉显示在主应用110的用户界面处的当前内容,比如聊天窗口114中的对象108以及输入窗口116处的输入对象118。例如,IME 106可基于诸如OCR之类的视觉理解技术使用屏幕像素信息来标识出所显示的内容。在图1的示例中,IME 106可捕捉显示在主应用108的界面处的聊天,比如输入对象108“Jack:Where are you?Me:I am home now.Jack:Where to gotonight?”。
IME 106还可收集使用主应用110的先前用户历史。这样的用户历史可被本地存储或远程存储,并可有助于分析最近输入的上下文。例如,当主应用110是微软的时,用户历史可以是用户的聊天历史。
显示在主应用110的用户界面处的内容以及先前的用户历史也可用于标识出主应用110的场景。例如,基于主应用110的用户界面处显示的内容的上下文,IME可基于从聊天窗口114中的对象108中标识出的聊天模式来确定它是聊天场景。
在204,IME基于所收集的参数从多个应用中选择一个或多个应用以提供候选。204的操作可以对应于IME的服务状态,在此期间,IME的计算系统接收包括与用户输入相关的多个参数的增强型查询,处理增强型查询,从应用和/或IME的引擎中选择一个或多个引擎以提供候选,处理来自所选一个或多个引擎的候选响应,将来自所选引擎的候选响应打包,以及使响应返回到合适形式以供在显示状态下进行处理,这在下面予以详细描述。
在图1的示例中,IME 106可以基于所述一个或多个参数中的至少之一为一些或所有应用124计算分数并对它们进行排名。IME 106可以从应用124中选择具有高于阈值的分数或高于阈值的排名的一个或多个应用以向用户102提供一个或多个候选。所选应用可以通过使用查询122和/或其他一些参数来标识出或生成所述一个或多个候选。在一个示例中,IME可以被限于选择具有最高分数或排名的一个应用来提供候选。在多个特定应用具有相同最高分数或排名的情况下,IME的服务器组件可以基于多个应用的控制以外的因素来作出判定。例如,IME可以分析其他用户在相同或类似场景下的选择以作出选择。
所选应用中的一些可能已经与IME相关联,比如图1中的相关联的应用124。在其他一些示例中,所选应用中的一些可能还未与IME相关联。IME可以在IME的用户界面处提示消息以请求用户安装特定应用或者可以自动安装这样的应用。IME还可以检查应用的版本号以确定其是否在IME的特定客户端组件处得到支持。如果其不被支持,则IME可以在IME的用户界面处提示另一消息以请求用户更新客户端组件或者可以自动更新IME的客户端组件。
在206,IME使用IME的用户界面显示所述一个或多个候选。206的操作对应于IME的显示状态,在此期间,IME的计算系统接收从服务状态得到的响应,对所得到的响应进行预处理和显示,并且在IME的用户界面处监听和响应用户交互。存在各种技术来显示候选。
例如,IME可以具有用于显示文本候选的文本候选窗口、用于显示富候选的富候选窗口、以及用于显示信息性候选的信息性候选窗口。IME可以在存在相应的文本候选和/或富候选时呈现文本候选窗口和/或富候选窗口。在另一示例中,IME可以即使在不存在相应的文本候选和/或富候选时仍然呈现文本候选窗口和富候选窗口。
IME可以在接收到表示用户有兴趣更多地获悉相应候选的指示时呈现信息性候选窗口以显示与相应候选相关联的信息性候选。可替代地,这样的信息性候选窗口可以在存在与相应候选相关联的相应信息性候选时与相应候选一起自动呈现,而不管用户是否定点到该相应候选。例如,信息性候选窗口和/或相应候选可以是半透明的,并且信息性候选窗口可以显示为紧密接近相应候选。
在一个示例中,IME的用户界面提供一个文本候选窗口、一个富候选窗口和/或一个信息性候选窗口。IME从不同的所选应用和/或其自己的引擎接收文本候选,基于所述一个或多个所收集的参数对它们进行排名,并且将它们显示在一个文本候选窗口中。类似地,IME从不同的所选应用和/或其自己的引擎接收富候选,基于所述一个或多个所收集的参数对它们进行排名,并且将它们显示在一个富候选窗口中。在另一示例中,每个应用都可以具有其自己的文本候选窗口、富候选窗口和/或信息性候选窗口。由特定应用提供的候选还由特定应用来排名并且显示在相应候选窗口中。
存在适用于在此所述的候选显示的各种呈现样式,比如皮肤。在一个示例中,IME可以向应用提供统一呈现样式。在另一示例中,所选应用和/或IME中的每个都可以具有诸如皮肤之类的单独且独立的呈现样式以分别在显示窗口中显示它们的所生成或标识出的候选。例如,IME和应用可以具有诸如文本候选窗口、富候选窗口或信息性候选窗口之类的单独的显示窗口来显示它们的相应候选。例如,富候选窗口146显示由地图应用128提供的富候选138。富候选窗口146的诸如皮肤之类的呈现样式可以不同于显示由另一应用或IME106提供的文本候选136的文本候选窗口144。对于另一实例,由用户102在独立窗口中启动的天气应用130的候选窗口154的呈现样式可以不同于IME106的用户界面104处的文本候选窗口144和富候选窗口146的呈现样式。IME还可以向用户提供界面以为不同应用选择不同呈现样式,比如不同皮肤。用户可以分别为IME和应用选择不同的可用皮肤。
在208,IME接收表示用户已经从所显示的候选中选择一个或多个候选的指示,并且将所选候选插入到主应用的用户界面中。208的操作对应于IME的插入状态,在此期间,IME的计算系统在显示状态下接收到用户交互以后作出到主应用中的插入请求。例如,IME可以检查主应用所支持的形式或格式,以及将所选候选格式化为主应用支持的最优格式。
示例性应用存储
图3示出了用户可以从中选择要与IME相关联的一个或多个应用的示例性应用存储。应用存储302的图形用户界面(GUI)呈现在客户端设备304的用户界面处。图1的应用124可以选自在此所呈现的应用存储302的GUI。
在图3的示例中,应用存储302可以是输入法编辑器(IME)306的一部分,并且可以从IME 306的用户界面启动。可替代地,应用存储可以是独立于IME 306的应用。
应用存储302的GUI包括一个或多个图标,并且每个图标都表示可供用户选择的相应应用。应用中的一些可以已经在客户端设备304处可用。例如,一个或多个应用可以已经预装在IME 306处并且不要求用户选择。对于另一示例,一些应用可以驻留在远程服务器处。用户选择表示他/她期望的应用的图标以从服务器下载该应用或其客户端组件。在图3的示例中,IME 306可以从通过网络310与客户端设备304连接的服务器308下载所选应用。服务器308可以主存IME 306的服务器组件和通过应用存储可用的多个应用二者。在另一示例中,每个相应应用都可以由不同服务器来主存,并且由此IME 306可以从相应应用所驻留在的不同服务器下载应用。
在图3的示例中,应用存储302的GUI列出多个应用,包括地图应用图标312、天气应用图标314、计算器应用图标316、地址簿应用图标318、占星术应用图标320、以及游戏应用图标322。
在用户在应用存储302的GUI处逐一地或批量地选择他/她所期望的应用图标(比如图3中的地图应用图标312、天气应用图标314和计算器应用图标316)以后,由这样的所选图标表示的应用、即地图应用324、天气应用326和计算器应用328被安装在客户端设备304处。如果所选应用利用客户端-服务器结构,则从服务器308下载应用的客户端组件,而服务器组件(图3中未示出)仍然保留在服务器308处。
在图3的示例中,IME 306可以具有安装器330来管理所选应用的下载和安装。例如,安装器330可以从服务器308下载相应特定应用的经zip压缩的文件,并且在客户端设备304处的指定类别的存储器中对经zip压缩的文件进行解zip压缩。
在一个示例中,如图1所示,应用的客户端组件可以与IME 306的客户端组件一起或作为其一部分安装在客户端设备304处。可替代地,应用的客户端组件和IME的客户端组件可以作为独立实体安装在客户端设备处。类似地,应用的服务器组件可以与IME的服务器组件一起或作为其一部分安装。可替代地,应用的服务器组件和IME的服务器组件可以是服务器处的独立实体或者驻留在不同服务器处。
应用中的一些可以是不要求用户注册来使用的国内或在线服务,比如地图。应用中的一些可以是要求用户注册来使用的国内或在线服务、或者要求用户注册以基于所保存的在先用户偏好、历史数据等提供更多功能的服务。IME 306或应用可以预先存储用户的认证凭证以登录并使用这样的服务。
描述应用特性的示例性清单文件
各个应用配置可被安装在IME处。在一个示例中,一些应用以可执行文件格式安装在IME处。在另一示例中,IME可以使用具有诸如可扩展标记语言(XML)之类的声明性标记语言形式的文件来描述与IME相关联的一个或多个应用的一个或多个特性。该标记语言文件是人类可读和可编辑的,并且在此称为清单或清单文件。清单文件是自描述的文档。起始点是,加载相应的应用并且在客户端设备和/或服务器处由IME的计算系统以说明性方式来解释以启用应用行为。其还用于自动展示关于相应应用的配置信息。清单文件可以驻留在IME的计算系统的客户端和服务器组件二者处。
清单文件可以包括清单方案和清单。具有声明性标记语言形式的清单方案描述IME的计算系统所支持的清单特征。清单描述特定应用。清单中的针对特定应用的特征应符合清单方案中的规范。特定应用的清单可以是同清单方案独立的文件。可替代地,不同应用的清单和清单方案可被组合在一个清单文件中。清单方案可以展示对于所支持的场景的枚举。应用的应用开发者可以参考清单方案以作为对IME的计算系统的当前能力的基线参考。
图4示出了示例性清单方案400。清单方案400包括诸如版本号之类的版本402以及各个元素404,所述元素充当模板以规定特定应用的清单应符合的规范。清单文件中的针对特定应用的各个属性在IME处在该特定应用的运行时状态期间启用该特定应用的特性。元素404包括与IME相关联的每个应用的清单应具有的各个所需元素406、以及与IME相关联的每个应用的清单可以任选地具有的任选元素408。
在图4的示例中,所需元素406包括身份元素410、运行资格确定元素412、选择概率元素414、引擎元素416、显示元素418、以及插入元素420。任选元素408包括高级查询元素422、信息性候选元素424以及IME访问控制元素426。不同清单方案、所需元素和任选元素的数目和类型可以不同,并且一些元素可以在一个示例中是所需元素并且在另一示例中是任选元素。
版本402描述清单方案400的当前版本。例如,清单方案400可以驻留在IME的计算系统的服务器处。IME的计算系统的客户端设备可以具有之前从服务器下载的本地清单方案。
由于清单方案定义了IME的计算系统所支持的应用的规范,因此IME的计算系统检查本地清单的版本是否与存储在服务器处的清单方案400的版本相匹配。如果客户端设备和服务器处的清单方案的两个版本不匹配,则IME的计算系统将本地清单方案更新到最新版本和/或检查两个版本是否兼容。如果客户端设备和服务器处的清单方案的版本不匹配并且不兼容,则IME的计算系统可以禁用IME或者请求用户安装具有清单方案的最新版本的IME。
例如,如果客户端设备和服务器处的清单方案的版本不匹配,则IME的计算系统检查IME的客户端组件是否已经更新、但本地清单方案未被更新。如果确定IME的客户端组件已经更新、但本地清单方案未被更新,则IME的计算系统将本地清单方案更新到清单方案400的最新版本。例如,IME的客户端组件在本地清单方案中检查更新元素。如果存在更新,则IME可以提示用户下载清单方案400的最新版本,或者清单方案400可以根据更新元素中的属性自动从服务器下载到客户端。任选地,清单方案400可以在后台下载或安装。
如果IME的客户端组件所支持的清单方案的最新版本被下载和安装并且其仍然与清单方案400的服务器版本不匹配,则可能的是,存在IME的客户端组件的经更新版本并且IME的计算系统将检查IME的客户端组件的最新版本,并且如果存在这样的版本,则将提示用户更新IME的客户端组件以支持清单方案400。
图4中所示的各个元素404是清单方案400的根级元素。每个元素都具有一个或多个子元素,这些元素在下面不予详细描述。在图4的示例中,身份元素410是所需元素,其描述相应应用的身份。运行资格确定元素412是所需元素,其声明相应应用何时有资格运行或应考虑激活的一个或多个条件。
选择概率元素414是所需元素,其提供:在诸如输入和上下文条件之类的参数的什么组合下,相应应用应当被认为是服务竞争者的概率。具体而言,其可以为不同类型的输入和上下文声明或计算“分数”。简言之,其具有用于充分利用语义标签以及还有常规表达的语言。
引擎元素416是所需元素,其声明:应用的引擎是位于客户端设备处、服务器处、还是二者处。如果引擎处于本地设备处,则引擎元素416可以进一步声明所需要的“挂钩”和所需的能力例如以用于存储和网络访问。相应应用的引擎基于由IME和/或相应应用所收集的一个或多个参数来提供候选。
显示元素418是所需元素,其声明:IME的计算系统将如何显示该特定应用。其考虑到不同主应用的场景并且描述如何根据场景来变换呈现。通过这种方式,主应用可以对如何显示候选产生影响。
插入元素420是所需元素,其声明:如何将来自所选候选的数据变换成主应用可以接收的形式,并且根据场景声明:候选是否可以“最优地”变换到主应用中。例如,可以将电子邮件候选变换成电子邮件程序中的特殊电子邮件链接或者简单笔记程序中的纯文本。
高级查询元素422是任选元素,其声明为了增强在特定应用为服务的竞争者的情况下将形成的查询所需的某些种类的添加。例如,由IME生成的本地文本候选、以及上下文中的一些(例如IME或主应用的查询中的文本的剩余n元或之前编写的M个字符)可被发送以用于服务。n元是来自给定文本序列的n项的连续序列,其中n和M可以是任何整数,并且可以在高级查询元素42中规定。
信息性候选元素424是与信息性候选相关的任选显示元素,其在此亦称工具提示(tooltip)。其声明:如何为特定应用所生成的候选呈递特殊工具提示。例如,其为用户提供了在用户指示鼠标悬停或键盘快捷方式以后获得关于候选的信息的方式。
IME访问控制元素426是任选元素,其声明:应用是否需要较低级的脚本能力。例如,IME访问控制元素426可以指向应用包内的JScript文件和回调函数,使得其可以被激活。Jscript是对脚本语言的一种实施方式,其用在的Internet中。JScrpt在此仅仅是一个示例。还可以使用任何其他脚本语言,比如JavaScript ActionScript。
由于IME访问控制元素426可以允许修改IME的任何部分,因此在任何时间都仅能加载具有依照IME访问控制元素426被启用的特性的一个应用,并且IME基于IME访问控制元素426将向用户提醒:特定应用需要特殊许可。该元素的效用性通常在如下企业中得到体现:所述企业出于IT需求需要对IME进行附加的扩充,比如统一部署、重写或者出于安全原因禁止特定应用或IME的个人配置。
下面在表1示例性清单方案实施方式中示出了示例性的清单方案。在该表1中,身份元素410被命名为“Identity(身份)”,运行资格确定元素412被命名为“WhenRun(何时运行)”,选择概率元素414被命名为“LikelihoodQuickCheck(可能性快速检查)”,引擎元素416被命名为“Engine(引擎)”,显示元素418被命名为“Display(显示)”,插入元素420被命名为“Insertion(插入)”,高级查询元素422被命名为“QueryAugmentation(查询扩充)”,信息性候选元素424被命名为“Tooltip(工具提示)”,并且IME访问控制元素426被命名为“CustomScript(自定义脚本)”。表1示出了为不同元素及其相应的子元素、以及相应应用应具有或支持的属性提供模板的示例性清单方案。
表1示例性清单方案实施方式
基于该清单方案,下面在表2中示出了示例性地图应用的清单。该示例性地图应用能够提供和呈现地图作为富候选。表2示出了清单遵循清单方案中的模板和规范,并且提供了特定地图应用的不同元素的详细属性数据。
表2示例性地图应用的清单
IME还可以提供一种机制以供相关联的应用可以充分利用IME提供的功能并且甚至可以修改IME。如图4所示,IME访问控制元素426通常由诸如企业之类的需要对IME进行附加扩充的组的开发者来使用。例如,IT管理员可以修改IME以满足一组人的需求或企业的策略,并且在组内部署经修改的IME。
表1和表2中的CustomScript元素是IME访问控制元素426的特定实例。例如,清单中的CustomScript为相应应用声明较低级的脚本能力。例如,由于CustomScript元素可被调用以修改IME的任何部分,因此在任何时间仅能加载具有所启用的CustomScript功能的一个应用,因为二者都具有所启用的CustomScript功能的两个运行中的应用可能彼此冲突并且竞争资源。
CustomScript元素提供了用于充分利用IME的功能但还提高安全考量的强大技术。因此,当相应应用被安装时,计算系统还可以向用户警告和提醒:该应用需要特殊的许可。另外,用户可能必须被标识为具有特权来安装清单具有CustomScript元素的应用。例如,可以在微软操作系统下提示用户同意在管理员模式下、而不是作为访客进行该安装。
为了定义CustomScript,所需元素是清单中的Identity和CustomScript。例如,CustomScript可以指向应用包的CustomScript文件夹中的Jscript文件和回调串以指向该脚本的main函数。表3示出了包括CustomScript元素的IME访问控制的示例性清单。
表3IME访问控制的示例性清单
在示例性实施方式中,当用在微软操作系统中时,基于IME访问控制元素426的启用脚本的IME可被构建在对象链接和嵌入(OLE)自动化(“自动化”)技术上。自动化基于组件对象模型(“COM”)并且是一种进程间通信技术,其使得一个应用能够获得对另一应用的所展示功能的访问。在示例性实施方式的场景中,一个应用可以具有CustomScript并且另一应用是具有脚本需要访问的核心组件的IME。为了实现例如以C++和JScript语言编写的IME组件的之间的通信,IME组件应当实现IDispatch接口。考虑到C++与Jscript语言之间的互操作涉及变量检查、错误处理等等,计算系统可以实现独立的类来充当IME核心组件与脚本语言之间的代理。示例性的流程如下:(1)终端用户启动IME;(2)IME初始化脚本主机;(3)脚本主机加载和解析Jscript文件;以及(4)Jscript文件的编程逻辑不直接访问IME核心组件,而是访问代理层。用户使用IME并且IME核初始化脚本主机,所述脚本主机加载和解析JS文件,并且JS文件经由脚本主机通过充当代理的ImeRoot来操纵IME核。通过该代理,IME的所有主要函数都被展示。该脚本是经解释的语言,因此需要“脚本主机”来解析和运行脚本并且脚本通过脚本主机来操作IME。
图5示出了要安装在IME的计算系统的客户端设备和/或服务器处的特定应用的示例性应用包格式500。应用包502包括清单504和一个或多个部分506。如上所示,清单504可以为诸如XML之类的声明性标记语言的形式以充当自描述文件。部分506可以包括应用包502下的一个或多个子文件夹。每个子文件夹都可以对应于清单504中陈述的元素。在图5的示例中,部分506包括显示子文件夹508、插入子文件夹510、信息性候选子文件夹512、引擎子文件夹514以及IME访问控制子文件夹516。
应用包格式500可以基于开放标准并且因此可以在任何操作系统上并且在没有任何特定产品的特殊解释的情况下被检查。应用包格式500可以使用zip打包(zlib)和XML格式。附加的部分506在语义上映射到上述运行时状态,并且还可以包含开放格式文件,比如HTML、CSS、Jscript、Png、XSLT等等。
例如,部分506的子文件夹可以是任选的,因为仅在它们在清单504中被引用的情况下才需要它们。诸如.dll和词典二进制之类的二进制文件(不包括.png、.gif、.jpg)通常仅在引擎子文件夹514中被允许。在一个示例中,除了部分506以外,仅仅文件可以被添加到应用包502。限制什么可以被添加的意图在于使包格式500更加有效、可靠和安全。包格式500是有效的,因为该格式是尽可能扁平的,并且因此子路径不需要被枚举或搜索。该格式是可靠的,因为该格式努力尽可能避免不必要的复杂度,其中复杂度常常携带着错误(bug)。该格式是安全的,因为可能为恶意或以其他方式隐藏的有效载荷不能被埋藏在文件夹分层结构中。
相应应用的客户端组件和服务器组件二者可以具有相同或相似的打包格式。例如,示例性的命名约定是[publisher].[appname].v[version].app,比如用于相应应用的客户端组件的名称的Contoso.maps.v1.0.0.6.client.app和Contoso.maps.v1.0.0.6.server.app。Contoso是发布者的名称。Maps(地图)是应用的名称。1.0.0.6是版本号。
如上所示,具有声明性标记语言为形式来描述应用行为的清单文件提高了有效性、可维护性、可靠性、扩展能力和安全性。出于有效性目的,清单文件通过去串行化为使用本机代码对象的有效数据结构而被加载到存储器中。可替代地,使用脚本语言的脚本可被用于描述应用的行为。由于脚本需要高频率地、可能在每次键击以后运行并且可能在安装有N个应用的情况下存在N个脚本,其中N可以为任何整数。简言之,清单文件实现了对多个应用的缩放。
可维护性被实现是因为诸如XML之类的声明性语言是人类可读的并且该行为是通过自描述来暗示的。可靠性是通过充分利用格式的方案实施来实现的。扩展能力例如可以通过经由XML命名空间充分利用内置版本化功能来实现。安全性被部分地实现,因为标记本身未被执行,其是明文并且是容易扫描的。相反,二进制或脚本解决方案将执行代码本身。另外,由于清单文件是声明,因此用户可以获悉:什么系统能力或唯一行为被应用“请求”。例如,在用户选择安装应用时,需要本地存储能力的该应用将可在安装时被清楚地呈现给用户,由此向用户提供了在用户觉得该应用可能导致安全问题时拒绝该应用的机会。
图6示出了供用户管理与输入法编辑器(IME)相关联的应用的示例性应用配置界面600。应用配置界面600可以是基于相关联的应用的清单方案和/或清单自动生成的。在图6的示例中,应用配置界面600的左侧列出了已经与IME相关联的一个或多个相关联的应用602。相关联的应用602可以包括地图应用604、天气应用606、以及计算器应用608。当用户点击诸如地图应用604之类的特定应用按钮时,应用配置界面600的右侧出现并且列出用于管理特定应用的界面,例如图6中的地图应用管理界面610。
诸如地图应用界面610之类的每个应用管理界面都包括一个或多个基本功能按钮以帮助用户配置特定应用的功能。在图6的示例中,所述一个或多个按钮包括禁用按钮612、恢复缺省按钮614、以及卸载按钮616。如果用户选中禁用按钮612,则地图应用604将不被激活或选中来提供候选。如果用户选中恢复缺省按钮614,则地图应用604的缺省设定被应用,并且缺省设定重写由用户或通过机器学习过程作出的任何先前修改。如果用户选中卸载按钮616,则地图应用604将从IME卸载或与IME取消关联。
应用配置界面600还可以向用户提供调节特定应用的一个或多个特性的更多自由度。在一个示例中,一些特性或属性可以由计算系统或用户设置为不可改变的。在另一示例中,所有特性或属性可以是开放的,以通过机器学习或由用户进行编辑。在图6的示例中,地图应用管理界面610还基于地图应用604的清单方案和/或清单为用户提供高级选项来管理地图应用604的不同特性。对于高级选项,用户可以修改地图应用604的从地图应用何时运行到其如何显示的地图应用的大多数行为。如果任何缺省被用户改变,则地图应用604的清单文件的新副本被创建并且被用作当前清单文件。旧副本可以被存储,使得如果用户希望,则用户可以恢复缺省设定,所述缺省设定简单地用清单的旧副本来交换经修改的清单。通过这种方式,清单文件还充当配置存储介质。
在图6的示例中,地图应用管理界面610包括运行时窗口618,所述运行时窗口618在运行时状态下列出地图应用604的一个或多个特性或属性。例如,运行时窗口618在运行时状态下显示与地图应用604相关联的各个性质和相应值。例如,语言模式是简体中文,字符计数最小值为6,响应等待时间是1600毫秒,并且场景类型是聊天和发电子邮件。场景类型性质是指地图应用604在主应用的场景与场景类型性质的值、即聊天或发电子邮件、相匹配时有资格运行。例如,场景类型性质及其值可以基于地图应用的清单的运行资格确定元素来生成。更具体而言,场景类型性质及其值可以基于表2示例性地图应用的清单中的“WhenRun”元素来生成。
用户可以编辑这些性质和值,比如添加或删除在其中地图应用604有资格运行的一个或多个场景。例如,用户可以在场景类型性质的值中添加另一场景,比如“文档”。基于该改变,当主应用是诸如微软之类的文档应用时,地图应用604也有资格运行。
分数窗口620针对不同参数组合列出地图应用604的不同分数。在图6的示例中,如果输入与“地点”类型匹配,则相应的分数为90。如果输入与模式“公路”相匹配,则相应分数为80。如果上下文与模式“在那里(there at)”相匹配,则相应分数为66。用户可以在分数窗口620中编辑分数或添加更多自定义的参数组合和相应分数。所述性质和值也可以通过机器学习来自动修改。
显示窗口622可以在显示状态下列出地图应用604的各个性质和值,比如地图应用604所支持的候选类型、以及是否在同IME的界面分开的界面处呈现候选。
插入窗口624可以在插入状态下列出地图应用604的各个性质和值,比如要插入到主应用中的候选的格式。应用配置界面600可以是IME的一部分,并且可以从IME的IME栏窗口626启动。IME栏窗口626可以包括用于IME的不同功能的多个按钮,比如语言模式按钮628、管理应用按钮630、启动应用按钮632以及帮助按钮634。用户可以选中语言模式按钮628来为候选设置语言模式,比如英语或简体中文。用户可以选中管理应用按钮630来启动应用配置界面600。如果用户选中启动应用按钮632,则相关联的应用的列表将被呈现给用户以选中来启动,这在下面予以详细描述。帮助按钮634在被用户选中时向用户提供一些有帮助的信息,比如问题和回答。图6中的IME栏窗口626仅仅是一个示例。在不同示例中,IME可以具有拥有不同外观样式和功能按钮的不同IME栏窗口。
选择应用的示例性方法
图7示出了用于从与IME相关联的多个应用中选择应用的示例性方法700的流程图。
在702,IME基于一个或多个所收集的参数来筛选与IME相关联的多个应用以预选有资格运行的一个或多个应用。例如,IME收集:用户输入的查询;主应用的场景,比如应用名称;以及上下文,比如由主应用保留在存储器中的之前编写的可能被频繁清除的字符。
例如,IME可以将所有相关联的应用的清单加载到客户端设备的计算系统的存储器中,并且在它们的清单中检查它们的运行资格确定元素。如果主应用的场景作为特定应用的清单的资格确定元素中的值被列出,则这样的特定应用有资格运行并且被预选。
在704,IME基于所述一个或多个所收集的参数为每个预选的应用计算分数。所述一个或多个参数例如可以包括:由用户输入的查询;用户输入的场景,比如主应用的场景;用户输入的上下文;和/或语言模式。在一个示例中,IME106可以基于多个预设规则实时地计算分数。在图6所示的另一示例中,相应应用依照各个参数组合的分数可以被预先计算出并且存储在其清单中。IME可以选择与当前所收集的参数相匹配或最相关的相应应用的所存储的参数组合,并且使用预先计算的分数。例如,对于相应的所预选的应用,其清单中的选择概率元素被检查并且基于所存储的如下分数获得分数:所述分数的相应参数组合与当前收集的参数相同或最相似。
在706,IME 106基于所预选应用的分数对所述所预选的应用进行排名。在708,IME 106基于预选应用的排名和/或分数从所预选的应用中选择一个或多个所预选的应用。例如,IME 106可以选择分数高于预设分数阈值或排名高于预设排名阈值的一个或多个所预选的应用。可替代地,IME 106可以考虑到分数和排名二者。例如,IME可以在所预选的应用的分数低于预设分数阈值的情况下不选择该所预选的应用,即使该所预选的应用的排名高于预设排名阈值。
在710,IME基于对候选或由用户启动的应用的选择来调整一个或多个所预选的应用的分数或排名。例如,在IME选择一个或多个应用来向用户提供候选以后,用户可以选择由特定应用生成的候选。用户还可以直接启动应用,这如图1所示。IME将相应地调整所选应用的分数,比如增加用户选择的特定应用的依照当前所收集参数的分数或排名,或者降低其候选未被用户选择的另一应用的分数或排名。在一个示例中,这样的机器学习基于特定用户的偏好,所述特定用户基于一时间段内的不同的参数组合来选择或启动不同应用。在另一示例中,这样的机器学习还可以考虑到其他用户的偏好,比如由其他用户在相同或相似参数组合下选择或启动的应用。
IME可以使用机器学习技术来自动实现该调整。IME将使用经调整的值和性质来更新相应应用的清单并且用户可以查看这样的改变,或者通过图6所示的应用配置界面来进一步编辑所述改变。
在图1的示例中,用户102启动诸如天气应用130之类的另一应用以基于相同或类似的查询提供候选。IME 106可以增加天气应用130的分数并且在未来时间面临相同或相似所收集参数时选择该应用。另外,IME 106可以依照不同参数在不引用用户的个人数据的情况下匿名地收集不同用户的选择偏好以计算和改善应用依照不同场景的分数和排名。
示例性信息性候选场景
图1示出了:在用户102定点到富候选138时向用户102提供信息性候选140。图8示出了向用户提供信息性候选的另一示例性场景。
在图8的示例中,主应用802是诸如微软之类的聊天应用。主应用的聊天窗口804显示已经被输入到主应用802的用户界面中的对象806。对象806包括“Jack:What classes are you taking?(Jack:你在上什么课?)”
输入窗口808显示要作为对象806被输入到聊天窗口804中的一个或多个输入对象810。输入对象810包括文本对象“theoretical(理论)”。由“|”表示的输入指示812表示对插入下一输入对象810的位置的指示。
IME的用户界面814使得用户能够选择一个或多个候选并将其输入到主应用802的输入窗口808中。在图8的示例中,用户将查询816“Fiziks”输入到IME的用户界面814的撰写窗口818中。在收集和分析一个或多个参数(比如对象806所反映的上下文、输入对象810以及先前使用历史)以后,IME可以确定查询816“Fiziks”表示“physics(物理学)”的缩写,并且在文本候选窗口822中显示“physics”作为文本候选820中的第一文本候选。IME还可以在文本候选窗口822处显示第二文本候选,“physician(物理学家)”以及任何数目的其他文本候选(图8中未示出)以作为文本候选820。
如果用户想要获悉文本候选820“physics”的更多信息,则用户可以使用诸如鼠标之类的任何输入技术悬停在文本候选820之上或者按下键盘处的按键来激活IME提供信息性候选的功能。IME在从用户接收到指示以后检查是否存在文本候选“physics”的相应信息性候选824,并且如果有的话则在信息性候选窗口826处显示信息性候选824。在图8的示例中,信息性候选824包括以英语和中文二者对“physics”的定义。信息性候选824包括:“Physics is a naturalscience that involves the study of matter and its motion through spacetime”以及简体中文定义“物理是一种自然科学,主要研究的是物质在时空中的运动”。
在图8的示例中,信息性候选窗口826可以是基于HTML的信息窗口。信息性候选窗口826可以仅在IME确定存在相应信息性候选824时出现。
在一个示例中,提供相应候选、即用户表示感兴趣的文本候选820的应用将具有排名的优先级以便被选为要提供信息性候选的应用。因此,信息性候选与相应候选高度相关。在图8的示例中,文本候选820“physics”可以由IME的引擎来提供。IME可以搜索其自己的引擎并且然后选择一个或多个应用来提供信息性候选。
IME还可以设置缺省应用来依照不同参数组合提供信息性候选。例如,当用户选择的文本候选是术语时,可以使用诸如字典应用或百科全书应用之类的缺省应用来提供信息性候选。类似地,当用户选择的文本候选是股票名称时,可以使用股票应用来提供诸如股票的股票图之类的股票信息。
示例性独立应用
图9示出了用于在独立界面中启动应用以提供候选的示例性方法900的流程图。所启动的应用的独立界面可以同IME的界面独立和分开。
在902,将一个或多个应用与IME相关联。在904,IME为用户提供界面以直接选择相关联的应用中的一个或多个。在一个示例中,该界面可以是图1所显示的撰写窗口142。用户可以使用特殊的句法,比如在IME的用户界面(比如撰写窗口142)处输入他/她所期望的应用的名称或符号。在另一示例中,该界面可以处于图6所显示的IME栏窗口626处,比如通过点击启动应用按钮632被触发的界面。
用户可以启动他/她想要的那么多的应用。在一个示例中,用户界面可以同IME的功能去耦合。所启动的应用的用户界面的诸如皮肤之类的呈现样式可以彼此不同并且可以不同于IME的呈现样式。在另一示例中,IME的皮肤可以比如通过全局层叠样式表(CSS)规则来控制所启动的应用的用户界面。能够理解,应用的开发者不需要关心独立启动的应用的界面的创建。更确切而言,应用界面可以自动生成,而不需要应用开发者编写用户界面源代码。例如,应用的独立界面可以基于清单和/或CSS规则生成。对于另一示例,应用的独立界面可以由用户选自诸如呈现给用户的皮肤之类的多个可用界面。
在906,用户通过使用输入技术从用户界面中选择一个或多个应用,并且IME接收这样的选择的指示。基于对相应应用的选择,IME将绕过图4所显示的相关联的应用的分数和排名的计算,并且IME将直接查询所选应用的特定引擎。
在908,IME启动所选的一个或多个应用。在一个示例中,应用可以在后台运行,而不将其独立界面呈现在客户端设备处。应用提供的候选通过IME的用户界面被呈现给用户。在另一示例中,所启动的应用可以具有其同IME的界面独立和分开的独立的独立界面,比如其自己的用于接收查询的撰写窗口。例如,在客户端设备的用户界面处呈递应用的主页或用户界面。将调用所选应用的清单中的显示元素,比如独立用户界面属性的子元素。如果未提供,则将显示缺省独立用户界面或主页。
在910,IME收集与用户输入相关的多个参数。所述一个或多个参数包括:由用户输入的查询;用户输入的场景,比如主应用的场景;用户输入的上下文;和/或语言模式。
在912,IME请求所选的一个或多个应用至少部分基于所收集参数中的一个或多个向用户提供一个或多个候选。在示例性的实施方式中,所生成或标识出的富候选将通过嵌入式web浏览器加载,其中文本域自动地放置在其之上。所选候选可被复制到计算系统的剪贴板,并且然后作为用户输入粘贴在主应用的用户界面处。
图1示出了地图应用128被IME 106选择以通过IME 106的用户界面104提供候选。在另一示例中,图10示出了在同IME 106的用户界面104分开的独立界面中启动诸如地图应用128之类的示例性应用的场景。例如,用户102可以在图6中的IME栏窗口626处点击启动应用按钮632。在从用户102接收指示以后,IME 106呈现与应用1002相关联的界面列表以供用户102选择。相关联的应用1002的列表列出了与IME 106相关联的应用、即计算器应用126、地图应用128、以及天气应用130。用户102可以选择地图应用128。在接收到指示以后,IME 106在地图应用1004的独立用户界面中启动地图应用128。地图应用1004的用户界面可以包括用于接收一个或多个查询的撰写窗口1006、以及用于显示所生成或标识出的候选的候选窗口1008。用户102可以在撰写窗口1006中输入查询1010,比如“sanlitun”。地图应用128接收与用户输入有关的可由IME 106收集或由IME 106和地图应用128联合收集的一个或多个参数,并且生成或标识出富候选1012,该富候选1012是“sanlitun”的地图。候选1012显示在候选窗口1008中。
所选候选的示例性插入
在IME和/或所选或所启动的应用提供的候选被显示在IME的用户界面或应用的独立用户界面处以后,用户可以选择候选中的一个或多个以插入到主应用的用户界面中。IME或所选应用可以基于主应用所支持的格式形成以主应用所支持的最优格式的所选候选,并且将这样的经优化的所选候选插入到主应用中。
图11示出了在示例性电子邮件场景中插入候选。在图11的示例中,主应用1102是诸如微软之类的电子邮件应用。当用户输入查询1104“yiliu”时,返回的文本候选1106包括对应于“yiliu”的拼音的三个中文项。富候选1108包括名为“Yi Liu”的个人的详细联系人信息。富候选可以由IME 106为发电子邮件场景选择的电子邮件应用来提供。电子邮件应用可以使用地址簿服务,地址簿服务例如可通过诸如微软之类的本地邮件服务应用或诸如微软服务器之类的远程地址簿服务来获得。用户从富候选1108中选择富候选1110。富候选1110是电子邮件地址“yiliuemailaddress.com”。IME或电子邮件应用确定:作为电子邮件应用的主应用1102支持具有电子邮件格式的超链接,并且还确定:富候选1110的电子邮件格式在主应用1102的场景下是最优格式。例如,该电子邮件的用户或接收者(图1中未示出)可以直接点击富候选1110以启动yiliuemailaddress.com为接收方的另一电子邮件。因此,在指示插入所选候选的位置的输入指示1112以后,所选富候选1110将以电子邮件格式被插入。
图12示出了在示例性文档场景中插入候选。在图12的示例中,IME选择邮件应用并且基于与图1所示相同的查询1104“yiliu”提供相同的文本候选1106和富候选1108。仍然如图11所示,用户选择富候选1110yiliuemailaddress.com。然而,IME或邮件应用可以确定:图12的示例中的主应用是应用,其仅仅支持文本格式。因此,在指示插入所选候选的位置的输入指示1204以后,IME 106或邮件应用可以移除具有电子邮件格式的超链接,并且将富候选1110从电子邮件格式转换成简单文本格式。
IME的示例性计算系统
可能有IME的各种配置。图13示出了示例性计算系统1300,其实现了在此所述的示例性输入法编辑器(IME)的技术。计算系统1300包括一个或多个处理器1302以及存储器1304。
存储器1304可包括易失性存储器、非易失性存储器、可移动存储器、不可移动存储器、和/或上述存储器的任何组合。一般而言,存储器1304包含可由一个或多个处理器1302访问并执行的计算机可执行指令。存储器1304是计算机可读存储介质的示例。计算机可读介质包括至少两种类型的计算机可读介质,即计算机存储介质和通信介质。
计算机存储介质包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可用于存储由计算设备访问的信息的任何其他非传输介质。
相反,通信介质可在诸如载波之类的已调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。
任何数目的程序模块、应用或组件可被存储在存储器1304中,作为示例包括操作系统、如IME 1306、聊天应用、文档编辑应用、游戏应用、以及电子邮件应用之类的一个或多个计算机应用、其他程序模块、程序数据、计算机可执行指令或组件。为简洁起见,图13中未示出IME应用1306以外的应用。任何其他计算机应用都可以充当通过IME 1306从用户接收输入的主应用。
IME 1306可以包括三层组件、即界面组件1308、客户端逻辑组件310和服务组件1312。界面组件1308包括用于与用户对接的一个或多个用户界面。客户端逻辑组件1310管理界面组件1308的用户界面并且与服务组件1312通信。例如,客户端逻辑组件1310收集与用户输入相关的一个或多个参数,将这样的参数发送给服务组件1312以供进一步处理,从所选引擎接收所返回的候选,以及将候选呈现在界面组件1308的用户界面处。服务组件1312基于所收集的参数从IME和/或多个应用中选择一个或多个引擎以提供候选,并且将所生成或标识出的候选发送给客户端逻辑组件1310,所述客户端逻辑组件1310用于将它们显示在界面组件1308的一个或多个用户界面处。功能在三个组件之间的划分、尤其是在客户端逻辑组件1310和服务组件1312之间的划分可以在不同计算系统中不同。
界面组件1308可以驻留在客户端设备上,而客户端逻辑组件1310和/或服务组件1312可以要么驻留在客户端设备处、要么驻留在一个或多个服务器处。换言之,计算系统1300可以完全或不完全位于客户端设备处。可替代地,计算系统1300可以使用客户端-服务器结构或分布式系统,其中可以使用一个以上的服务器来实现所述功能。IME 1306可在通用或专用计算机系统的环境或配置中使用。示例包括个人计算机、服务器计算机、手持式设备或便携式设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子设备、网络PC、以及包括以上任何系统和设备的分布式计算环境。在分布式计算环境中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,各模块可位于本地或远程计算机的存储介质(其包括数据存储设备)中。
接口组件1308可以包括:撰写窗口1314,其接收用户输入的查询;文本候选窗口1316,其显示文本候选;富候选窗口1318,其显示富候选;以及信息性候选窗口1320,其显示信息性候选。接口组件1308还可以包括独立应用界面1322,该独立应用界面1322是直接由用户选择和启动的应用的用户界面。接口组件1308还可以包括应用配置界面1324,其使得用户能够管理相关联的应用的一个或多个特性。图6中的应用配置界面600是应用配置界面1324的一个示例。在一个示例中,界面组件1308可以向每个界面提供统一呈现样式,比如皮肤。在另一示例中,IME和应用可以具有其自己的呈现样式。例如,独立应用界面1322的皮肤可以因不同的应用而不同并且不同于IME的界面。
客户端逻辑组件1310可以包括应用加载器1326、应用池管理器1318、候选管理器1330、插入管理器1332、以及信息性候选管理器1334。应用加载器1326安装与相关联的应用相对应的应用包,并且基于应用包中的相关联的应用的清单生成应用配置界面1324。应用池管理器1328从界面组件1308接收参数并且从应用加载器1326接收应用的特性以提供增强型查询以供服务组件1312进一步处理。例如,应用池管理器1328从撰写窗口1314接收查询输入并且从界面组件1308接收其他参数,比如场景和上下文。应用管理器1328还可以从独立应用界面1322接收特定应用的身份和查询输入。例如来自应用加载器1326的特性可以为被去串行化的XML清单格式。
候选管理器1330接收从服务组件1312处的输入引擎选择器1336所提供的候选,并且管理所提供的候选的显示。例如,候选管理器1330在文本候选窗口1316处显示文本候选,并且在富候选窗口1318处显示富候选。候选管理器1330还可以接收表示用户有兴趣获悉与富候选窗口1318或文本候选窗口1316处的特定候选相关联的信息的指示,并且将这样的指示传递给信息性候选管理器1334以请求相应信息性候选(如果有的话)。当候选管理器1330从富候选窗口1318或文本候选窗口1316接收用户对特定候选的选择时,候选管理器1330可以将所选候选发送给插入管理器1332。例如,所选候选可以被处理成XML的形式。插入管理器1332将所选候选以主应用所支持的格式(诸如最优格式)插入到主应用中。
信息性候选管理器1334将表示用户有兴趣获悉与特定候选相关联的信息的指示传递给信息性候选引擎选择器1338,从信息性候选引擎选择器1338接收与该特定候选相对应的一个或多个信息性候选,以及将信息性候选发送给信息性候选窗口1320以供显示。
服务组件1312可以包括输入引擎选择器1336、信息性候选引擎选择器1338、以及引擎池1340。输入引擎选择器1336从应用池管理器1328接收增强型查询并且从引擎池1340选择IME和应用的一个或多个引擎。输入引擎选择器1336从引擎池1340接收由所选应用提供的候选,并且将所提供的候选返回给应用池管理器1328。信息性候选引擎选择器1338可以选择提供用户指示感兴趣的特定候选的相同引擎、和/或来自引擎池1340的其他引擎以提供信息性候选。引擎池1340包括可被用于提供候选的IME和应用的一个或多个引擎。引擎池1340中的一个或多个引擎可以位于客户端设备处、服务器处、或二者处。
例如,界面组件1308、客户端逻辑组件1310、以及服务组件1312之间的共同的数据语言可以是XML,其通过清单、引擎的响应以及候选在显示中的表示来表示应用。候选可被变换成HTML格式和文本格式二者任一,以供在界面组件1308处显示。
在示例性实施方式中,下面鉴于示例性运行状态来描述界面组件1308、客户端逻辑组件1310和服务组件1312之间的数据流,所述运行状态包括查询状态、服务状态、显示状态和插入状态。能够理解,数据流可以在不同示例中不同。
在查询状态下,用户在撰写窗口1314或者独立应用界面1322处输入查询。下面的信息在评分机制中被传送给应用池管理器1328以预选合格应用以供服务:
用户输入(例如原始拼音)
场景信息(例如应用名称、输入分数等等)
上下文(例如保留在特定应用中的存储器中的之前编写的字符)
输出是应用的经排序的列表(例如“Contenders Vector(竞争者矢量)”)以供输入引擎选择器1336进一步选择以及供引擎池1340来服务。池中的应用出于性能原因作为对象被从它们的原始XML清单表示中加载到存储器中,使得它们可以实时地被查询。例如,不是应用的所有组件、而是应用的清单需要被加载。参考图4,满足它们的相应清单的运行资格确定元素412中列出的标准的应用对象在评分时予以考虑。对于那些合格的应用,IME检查它们相应清单的选择概率元素414并且为每个合格的应用计算分数和/或排名。高于阈值M的分数或排名最高的N个应用在竞争者的矢量内被发送给服务器。
在服务状态下,例如处于客户端设备处的客户端逻辑组件1310标识出引擎池1340并且异步地发送可依赖于清单中的“引擎”元素的查询。例如处于服务器处的服务组件1312决定使用哪个引擎。换言之,客户端逻辑组件1310提交请求并且服务组件1312决定使用哪个引擎(如果有的话)。在服务组件1312处,存在每个引擎都实现的在此称为IAppEngine的界面。表4列出了IAppEngine界面的示例性函数。
表4服务器处的引擎界面的示例性函数
如果存在位于本地客户端设备处的引擎,则这样的引擎还可以具有与上面相同函数的main.js文件。
对引擎池1340的包括多个参数的增强型查询可以为如下:
APPID表示特定应用的ID。VER表示应用的版本。CLIENT_SCORE表示由IME 1306的客户端逻辑组件1310如上述那样从查询状态中计算出的特定应用的分数。
输入引擎选择器1336从引擎池1340选择服务器处的可能的云引擎。例如,输入引擎选择器1336考虑到与来自竞争者的矢量的APPID值相匹配的引擎,并且用VER信息来查验每个引擎(例如IAppEngine界面展示SupportsClient函数)。对于所支持的每个引擎,输入引擎选择器1336将其添加到ENGINE_CANDIDATES。ENGINE_CANDIDATES表示要被输入引擎选择器1336选择以提供候选的一个或多个引擎候选。
对于ENGINE_CANDIDATES中的每个引擎,输入引擎选择器1336计算E.SERVER_SCORE。E.SERVER_SCORE表示由IME 1306的服务器组件1312计算出的引擎候选的分数。
E.SERVER_SCORE=E.LikelyhoodQuickCheck(Q)//(由IAppEngine展示)
输入引擎选择器1336调用选择函数以决定调用哪个引擎。选择函数界面可以为如下:
o Input:ENGINE_CANDIDATES,N(返回多少)
o Output:EnginesN
o示例性实施方式-可以采用机器学习算法,比如支持矢量机(SVM):
FeatureN(E)(其中N可以为整数)指示:存在数目(N)个可用于对引擎进行排名的特征点或信号。在该示例性公式中,每个特征函数、比如Feature1(E)、Feature2(E)、FeatureN(E)都返回0至1的分数。同样,NormalProbability函数将服务器和客户端提供的概率归一化为0至1,使得可以进行一致的计算。
输入引擎选择器1336按如下方式查询引擎并且返回XML响应:
关于XML响应,示例性引擎查询函数(在IAppEngine中实现)返回包括引擎的ID的响应,例如<Response ID=APPID>…</Response>。由该XML返回的候选适合于主应用的场景的能力。例如,在MESSENGER_CHATBOX、即的用户界面的聊天窗口中,电影图像有效载荷可以是动画化的Gif,而在具有较少能力的另一聊天窗口中,该图像可以是JPG文件。IME1306可以针对至少一些场景具有预打包的XML。当请求进入时,插入管理器1332可以使用可扩展样式表语言变换(XSLT)来将候选转换成特定场景的需求。
关于引擎质量和相关度,可以应用机器学习技术。例如,在另一进程上,诊断监视器可以监控引擎的性能,并且如果特定引擎运行缓慢,则这样的引擎可以在排名方面(作为附加的特征点被添加)受到惩罚或者可以被禁用。附加地或可替代地,可以使用来自多个用户的全局学习。例如,输入引擎选择器1336可以考虑引擎在不同用户中的总体流行度(或精确度)并且将总体流行度用作排名中的另一特征。
如果一个或多个引擎位于客户端设备处,则IME的客户端组件将把查询定向到引擎池1340的本地引擎。当使用远程服务器实施时,架构/流是相同的。本地引擎可以以Jscript脚本语言来实现。另外,出于安全原因,本地引擎可以不被配置为使用ActiveX。更具体而言,可以展示特定对象模型以供使用。在表5中示出了示例性对象模型函数。
表5示例性对象模型函数
在显示状态下,在从服务(要么为本地、要么为远程的)接收到XML响应以后,候选管理器1330处理响应并且在必要时根据所选应用的目标以及候选是要在文本候选窗口1316处显示的文本候选、还是要在富候选窗口1318处显示的富候选来对所述响应进行变换。该变换通过XSLT进行,并且精确的XSLT是基于在XML清单中提供的场景和目标被确定的。
例如,富候选可以显示在嵌入式web浏览器中。存在特殊对象模型与IME通信以便最终将富候选插入到主应用中。示例性的函数是取得XML串的SendInput。该串将在插入状态下予以解释。表6列出了CanddidateOM.JS的示例性函数
表6.用于显示候选的示例性函数
在插入状态处,插入管理器1332将从在显示状态下所描述的候选管理器1330接收XML响应。插入管理器1332负责将该XML变换成应用主机的最优格式。其工作方式是根据当前场景在清单中查找合适XSLT以供使用。然后,其对候选进行变换并且最终将候选插入到主应用中。可能存在多个用于插入的实施方法。例如,插入管理器1332可以充分利用剪贴板以用作应用之间的通信通道。插入管理器1332首先临时地将剪贴板中存在的任何东西复制到临时位置,然后将针对富候选的HTML或针对文本候选的文本复制到剪贴板中,发送粘贴命令以将候选粘贴在主应用处,以及然后将临时位置处的数据恢复到剪贴板。其他实施方式例如可以充分利用COM自动化来得到对主应用的对象模型的保持。
结语
尽管已经用结构特征和/或方法动作专用的语言描述了本主题,但要理解,所附权利要求书中定义的主题不必限于所描述的具体特征或动作。相反地,这些具体特征和动作是作为实现该权利要求的示例性形式而公开的。
Claims (20)
1.一种方法,包括:
收集与到输入法编辑器(IME)中的用户输入相关的多个参数,所述多个参数包括通过所述IME接收的用户提交的查询、以及主应用的场景;以及
至少部分地基于所述多个参数从一个或多个应用中选择应用以提供候选以供用户从中选择来输入到所述主应用中。
2.如权利要求1所述的方法,其特征在于,还包括:
从所述用户接收表示所述用户有兴趣访问与所述一个或多个候选中的特定候选相关联的附加信息的指示;
选择应用以提供信息性候选,所述信息性候选说明与所述特定候选相关联的附加信息;以及
呈现所述信息性候选。
3.如权利要求1所述的方法,其特征在于,还包括:
通过所述IME向所述用户显示所述一个或多个候选,所述显示包括:
响应于确定特定候选是富候选,在所述IME的富候选窗口处显示所述特定候选;以及
响应于确定特定候选是文本候选,在所述IME的文本候选窗口处显示所述特定候选。
4.如权利要求3所述的方法,其特征在于,还包括:
接收所述用户对来自所述一个或多个候选的相应候选的选择;以及
将所述相应候选以所述主应用所支持的最优格式插入到所述主应用的用户界面中。
5.如权利要求1所述的方法,其特征在于,所述多个参数还包括所述用户输入的上下文、语言模式、以及先前用户历史。
6.如权利要求1所述的方法,其特征在于,还包括:调用所述应用的引擎以提供所述一个或多个候选,所述引擎具有驻留在服务器处的至少一些组件。
7.如权利要求1所述的方法,其特征在于,还包括:
呈现应用存储的图形用户界面(GUI),所述图形用户界面包括分别表示所述一个或多个应用的一个或多个图标;
通过所述GUI接收用户提交的选择表示相应应用的相应图标的指示;
从服务器将所述相应应用的至少一部分下载到客户端设备;以及
在所述客户端设备处安装所述相应应用的至少一部分。
8.如权利要求1所述的方法,其特征在于,还包括:在客户端设备处预装所述一个或多个应用中的至少一个的至少一部分。
9.如权利要求1所述的方法,其特征在于,所述选择包括:
从所述一个或多个应用中选择有资格在所述主应用的场景下运行的一个或多个合格应用;
基于与所述用户输入相关的多个参数为所述一个或多个合格应用中的每个计算分数;
基于所述一个或多个合格应用的相应分数对所述一个或多个合格应用进行排名;以及
基于分数的阈值、排名的阈值或二者从所述一个或多个合格应用中选择所述应用;
10.如权利要求9所述的方法,其特征在于,还包括通过机器学习技术来修改特定应用的排名或分数。
11.如权利要求1所述的方法,其特征在于,还包括:
接收对来自所述一个或多个应用的特定应用的用户选择的指示;
启动所述特定应用;以及
收集与到所述特定应用中的另一用户输入相关的另外的一个或多个参数,所述另外的一个或多个参数包括通过所述特定应用接收的用户提交的另一查询;以及
请求所述特定应用至少部分基于所述另外的一个或多个参数提供一个或多个候选。
12.如权利要求1所述的方法,其特征在于,还包括:使用以声明性标记语言为格式的清单文件来描述所述一个或多个应用的一个或多个特性,所述清单文件是人类可读和可编辑的。
13.如权利要求1所述的方法,其特征在于,还包括:提供应用管理界面以使得用户能够管理所述一个或多个应用,所述管理包括添加、删除或修改相应应用的一个或多个特性,所述一个或多个特性包括所述相应应用有资格在不同主应用的不同场景下运行的条件、以及所述相应应用的依照不同参数的相应分数。
14.如权利要求1所述的方法,其特征在于,还包括:允许相应应用访问和管理所述IME的功能。
15.如权利要求1所述的方法,其特征在于,所述一个或多个应用中的相应应用的呈现样式不与所述IME的呈现样式绑定,所述相应应用的呈现样式和所述IME的呈现样式分别包括皮肤。
16.如权利要求1所述的方法,其特征在于,还包括:至少部分基于所述多个参数从所述一个或多个应用中选择另一应用以提供另外的一个或多个候选以供用户从中选择来输入到所述主应用中,所述应用和所述另一应用并发和独立地运行。
17.一种方法,包括:
提供输入法编辑器(IME)用户界面,所述输入法编辑器(IME)用户界面指示与所述IME相关联的一个或多个应用;
接收用户提交的对来自所述一个或多个应用的特定应用的选择;
在同所述IME用户界面独立的独立用户界面中启动所述特定应用;
收集与到所述特定应用中的用户输入相关的多个参数,所述多个参数包括通过所述特定应用接收的用户提交的查询、以及所述特定应用的场景;以及
请求所述特定应用至少部分基于所述多个参数提供一个或多个输入候选。
18.如权利要求17所述的方法,其特征在于,还包括:使用以声明性标记语言为格式的清单文件来描述与所述IME相关联的一个或多个应用的一个或多个特性,所述清单文件是人类可读和可编辑的。
19.一种系统,包括:
一个或多个处理器;以及
上面存储有计算机可执行组件的计算机存储介质,所述计算机可执行组件可由所述处理器执行以执行动作,所述动作包括:
提供应用存储的用户界面,所述用户界面呈现一个或多个用户可选择的图标,每个图标都表示应用,所述应用在与输入法编辑器(IME)相关联时向所述IME提供扩展的功能;
在清单文件中表示与所述IME相关联的所述应用,所述清单文件描述所述相关联的应用的一个或多个特性,所述清单文件是人类可读的,所述清单文件包括:相应应用的标识元素;运行条件元素,其描述所述相应应用何时有资格运行;选择概率元素,其描述所述相应应用依照不同参数组合被选择以提供输入候选的概率;引擎元素,其描述所述相应应用的引擎,所述引擎生成或标识出所述相应候选;
收集与到主应用中的用户输入相关的多个参数,所述多个参数包括由所述用户输入的查询、以及所述主应用的场景;以及
基于所收集的多个参数和相关联的应用的在所述清单文件中的特性从所述相关联的应用中选择一个或多个应用。
20.如权利要求19所述的系统,其特征在于,所述动作还包括:提供应用配置用户界面以使得用户能够管理相应应用的特性,所述管理包括添加、删除或修改所述相应应用的包括运行条件元素在内的一个或多个特性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910813634.1A CN110488991A (zh) | 2012-06-25 | 2012-06-25 | 输入法编辑器应用平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/077436 WO2014000143A1 (en) | 2012-06-25 | 2012-06-25 | Input method editor application platform |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910813634.1A Division CN110488991A (zh) | 2012-06-25 | 2012-06-25 | 输入法编辑器应用平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104428734A true CN104428734A (zh) | 2015-03-18 |
Family
ID=49775519
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280074281.4A Pending CN104428734A (zh) | 2012-06-25 | 2012-06-25 | 输入法编辑器应用平台 |
CN201910813634.1A Pending CN110488991A (zh) | 2012-06-25 | 2012-06-25 | 输入法编辑器应用平台 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910813634.1A Pending CN110488991A (zh) | 2012-06-25 | 2012-06-25 | 输入法编辑器应用平台 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9921665B2 (zh) |
EP (1) | EP2864856A4 (zh) |
CN (2) | CN104428734A (zh) |
WO (1) | WO2014000143A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549756A (zh) * | 2015-10-30 | 2016-05-04 | 东莞酷派软件技术有限公司 | 一种基于位置信息的输入方法及用户终端 |
CN107430596A (zh) * | 2015-02-12 | 2017-12-01 | 微软技术许可有限责任公司 | 输入法编辑器的外部化执行 |
CN107479726A (zh) * | 2017-09-27 | 2017-12-15 | 联想(北京)有限公司 | 一种信息输入方法及电子设备 |
CN108268147A (zh) * | 2018-02-14 | 2018-07-10 | 广东欧珀移动通信有限公司 | 基于输入法的计算处理方法、装置及设备 |
CN108701121A (zh) * | 2016-05-04 | 2018-10-23 | 谷歌有限责任公司 | 将用户输入分派到用户界面中的多个输入域 |
CN110460654A (zh) * | 2019-02-26 | 2019-11-15 | 北京蓦然认知科技有限公司 | 一种智能交互平台中交互引擎的下载方法及装置 |
CN111124348A (zh) * | 2019-12-03 | 2020-05-08 | 北京蓦然认知科技有限公司 | 一种生成交互引擎簇的方法及装置 |
CN112199034A (zh) * | 2020-09-30 | 2021-01-08 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和电子设备 |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9132352B1 (en) | 2010-06-24 | 2015-09-15 | Gregory S. Rabin | Interactive system and method for rendering an object |
US9348479B2 (en) | 2011-12-08 | 2016-05-24 | Microsoft Technology Licensing, Llc | Sentiment aware user interface customization |
US9378290B2 (en) | 2011-12-20 | 2016-06-28 | Microsoft Technology Licensing, Llc | Scenario-adaptive input method editor |
US9239817B2 (en) * | 2012-04-19 | 2016-01-19 | Microsoft Technology Licensing, Llc | Managing web extension through manifest file |
CN104428734A (zh) | 2012-06-25 | 2015-03-18 | 微软公司 | 输入法编辑器应用平台 |
US8959109B2 (en) | 2012-08-06 | 2015-02-17 | Microsoft Corporation | Business intelligent in-document suggestions |
JP6122499B2 (ja) | 2012-08-30 | 2017-04-26 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 特徴に基づく候補選択 |
US20140122407A1 (en) * | 2012-10-26 | 2014-05-01 | Xiaojiang Duan | Chatbot system and method having auto-select input message with quality response |
US9396126B2 (en) * | 2013-01-30 | 2016-07-19 | Google Inc. | Clearing an application cache |
US10134009B2 (en) * | 2013-03-13 | 2018-11-20 | Sap Se | Methods and systems of providing supplemental informaton |
KR101995283B1 (ko) * | 2013-03-14 | 2019-07-02 | 삼성전자 주식회사 | 휴대 단말기의 앱 제공 방법 및 시스템 |
US10430894B2 (en) | 2013-03-21 | 2019-10-01 | Khoros, Llc | Gamification for online social communities |
US20140351241A1 (en) * | 2013-05-24 | 2014-11-27 | Sap Ag | Identifying and invoking applications based on data in a knowledge graph |
US9431008B2 (en) * | 2013-05-29 | 2016-08-30 | Nuance Communications, Inc. | Multiple parallel dialogs in smart phone applications |
TWI597652B (zh) * | 2013-05-31 | 2017-09-01 | Insyde Software Corp | Method and apparatus for quickly launching a windowed application in a mobile operating system |
CN105580004A (zh) | 2013-08-09 | 2016-05-11 | 微软技术许可有限责任公司 | 提供语言帮助的输入方法编辑器 |
US9710126B2 (en) * | 2013-10-17 | 2017-07-18 | Blackberry Limited | Method and apparatus for displaying a preview of an application to a user |
WO2015152882A1 (en) * | 2014-03-31 | 2015-10-08 | Hewlett-Packard Development Company, L.P. | Candidate services for an application |
US9547683B2 (en) * | 2014-05-30 | 2017-01-17 | Apple Inc. | Application suggestion features |
KR102411890B1 (ko) | 2014-09-02 | 2022-06-23 | 삼성전자주식회사 | 컨텐츠를 처리하는 방법 및 이를 위한 전자 장치 |
US11250217B1 (en) * | 2015-07-14 | 2022-02-15 | Soundhound, Inc. | Conditional responses to application commands in a client-server system |
JP6730790B2 (ja) * | 2015-09-15 | 2020-07-29 | キヤノン株式会社 | 通信装置およびその制御方法ならびにプログラム |
US20200150780A1 (en) * | 2017-04-25 | 2020-05-14 | Microsoft Technology Licensing, Llc | Input method editor |
US10699064B2 (en) | 2017-04-27 | 2020-06-30 | Microsoft Technology Licensing, Llc | Text input cockpit |
US10902462B2 (en) | 2017-04-28 | 2021-01-26 | Khoros, Llc | System and method of providing a platform for managing data content campaign on social networks |
CN107315606A (zh) * | 2017-06-14 | 2017-11-03 | 北京小米移动软件有限公司 | 应用更新方法及装置 |
US10785222B2 (en) | 2018-10-11 | 2020-09-22 | Spredfast, Inc. | Credential and authentication management in scalable data networks |
US11050704B2 (en) | 2017-10-12 | 2021-06-29 | Spredfast, Inc. | Computerized tools to enhance speed and propagation of content in electronic messages among a system of networked computing devices |
US10999278B2 (en) | 2018-10-11 | 2021-05-04 | Spredfast, Inc. | Proxied multi-factor authentication using credential and authentication management in scalable data networks |
US11470161B2 (en) | 2018-10-11 | 2022-10-11 | Spredfast, Inc. | Native activity tracking using credential and authentication management in scalable data networks |
US10346449B2 (en) | 2017-10-12 | 2019-07-09 | Spredfast, Inc. | Predicting performance of content and electronic messages among a system of networked computing devices |
US11570128B2 (en) | 2017-10-12 | 2023-01-31 | Spredfast, Inc. | Optimizing effectiveness of content in electronic messages among a system of networked computing device |
US10601937B2 (en) | 2017-11-22 | 2020-03-24 | Spredfast, Inc. | Responsive action prediction based on electronic messages among a system of networked computing devices |
CN108536480B (zh) * | 2017-12-28 | 2021-05-28 | Oppo广东移动通信有限公司 | 输入法配置方法及相关产品 |
US11410075B2 (en) * | 2018-01-15 | 2022-08-09 | Microsoft Technology Licensing, Llc | Contextually-aware recommendations for assisting users with task completion |
US10594773B2 (en) * | 2018-01-22 | 2020-03-17 | Spredfast, Inc. | Temporal optimization of data operations using distributed search and server management |
US11061900B2 (en) | 2018-01-22 | 2021-07-13 | Spredfast, Inc. | Temporal optimization of data operations using distributed search and server management |
USD928800S1 (en) | 2018-08-03 | 2021-08-24 | Kilpatrick Townsend & Stockton Llp | Display screen or portion thereof having an icon |
USD920342S1 (en) * | 2018-08-03 | 2021-05-25 | Kilpatrick Townsend & Stockton Llp | Display screen or portion thereof having an icon |
USD962953S1 (en) | 2018-08-03 | 2022-09-06 | Kilpatrick Townsend & Stockton Llp | Display screen or portion thereof having an icon |
US10855657B2 (en) | 2018-10-11 | 2020-12-01 | Spredfast, Inc. | Multiplexed data exchange portal interface in scalable data networks |
US20200233547A1 (en) * | 2019-01-17 | 2020-07-23 | International Business Machines Corporation | Context Aware Typing System to Direct Input to Appropriate Applications |
US10931540B2 (en) | 2019-05-15 | 2021-02-23 | Khoros, Llc | Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously |
US11438289B2 (en) | 2020-09-18 | 2022-09-06 | Khoros, Llc | Gesture-based community moderation |
CN112199035A (zh) * | 2020-09-30 | 2021-01-08 | 北京搜狗科技发展有限公司 | 一种资讯推荐方法、装置和电子设备 |
US11924375B2 (en) | 2021-10-27 | 2024-03-05 | Khoros, Llc | Automated response engine and flow configured to exchange responsive communication data via an omnichannel electronic communication channel independent of data source |
US11627100B1 (en) | 2021-10-27 | 2023-04-11 | Khoros, Llc | Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel |
US11438282B2 (en) | 2020-11-06 | 2022-09-06 | Khoros, Llc | Synchronicity of electronic messages via a transferred secure messaging channel among a system of various networked computing devices |
US11714629B2 (en) | 2020-11-19 | 2023-08-01 | Khoros, Llc | Software dependency management |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609764A (zh) * | 2003-10-24 | 2005-04-27 | 微软公司 | 向输入法提供上下文的系统和方法 |
US20060242608A1 (en) * | 2005-03-17 | 2006-10-26 | Microsoft Corporation | Redistribution of space between text segments |
CN101286093A (zh) * | 2007-04-09 | 2008-10-15 | 谷歌股份有限公司 | 客户端输入方法 |
US20090187824A1 (en) * | 2008-01-21 | 2009-07-23 | Microsoft Corporation | Self-revelation aids for interfaces |
CN101183355B (zh) * | 2006-11-15 | 2010-10-06 | 富士通株式会社 | 复制和粘贴处理方法及装置 |
CN102144228A (zh) * | 2008-07-03 | 2011-08-03 | 谷歌股份有限公司 | 根据输入字符序列的资源定位符建议 |
Family Cites Families (307)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU7529981A (en) | 1980-09-19 | 1982-03-25 | Hitachi Limited | Language analysis by pattern recognition |
SE466029B (sv) | 1989-03-06 | 1991-12-02 | Ibm Svenska Ab | Anordning och foerfarande foer analys av naturligt spraak i ett datorbaserat informationsbehandlingssystem |
JPH03185561A (ja) | 1989-12-15 | 1991-08-13 | Ricoh Co Ltd | 欧文単語入力方法 |
US6236964B1 (en) | 1990-02-01 | 2001-05-22 | Canon Kabushiki Kaisha | Speech recognition apparatus and method for matching inputted speech and a word generated from stored referenced phoneme data |
US5963671A (en) | 1991-11-27 | 1999-10-05 | International Business Machines Corporation | Enhancement of soft keyboard operations using trigram prediction |
JPH07160827A (ja) * | 1993-12-09 | 1995-06-23 | Matsushita Electric Ind Co Ltd | 手書きストローク編集装置及び方法 |
US5734749A (en) | 1993-12-27 | 1998-03-31 | Nec Corporation | Character string input system for completing an input character string with an incomplete input indicative sign |
JP2683870B2 (ja) | 1994-05-23 | 1997-12-03 | 日本アイ・ビー・エム株式会社 | 文字列検索システム及び方法 |
US5485372A (en) | 1994-06-01 | 1996-01-16 | Mitsubishi Electric Research Laboratories, Inc. | System for underlying spelling recovery |
US5778361A (en) | 1995-09-29 | 1998-07-07 | Microsoft Corporation | Method and system for fast indexing and searching of text in compound-word languages |
US5787422A (en) | 1996-01-11 | 1998-07-28 | Xerox Corporation | Method and apparatus for information accesss employing overlapping clusters |
US5873107A (en) | 1996-03-29 | 1999-02-16 | Apple Computer, Inc. | System for automatically retrieving information relevant to text being authored |
US6014638A (en) | 1996-05-29 | 2000-01-11 | America Online, Inc. | System for customizing computer displays in accordance with user preferences |
US5995928A (en) | 1996-10-02 | 1999-11-30 | Speechworks International, Inc. | Method and apparatus for continuous spelling speech recognition with early identification |
JP2976219B2 (ja) | 1996-12-10 | 1999-11-10 | 豊 塚本 | 消費者支援方法、および、それに用いられる検索システム |
US5926652A (en) | 1996-12-20 | 1999-07-20 | International Business Machines Corporation | Matching of wild card patterns to wild card strings associated with named computer objects |
US5832478A (en) | 1997-03-13 | 1998-11-03 | The United States Of America As Represented By The National Security Agency | Method of searching an on-line dictionary using syllables and syllable count |
US6092044A (en) | 1997-03-28 | 2000-07-18 | Dragon Systems, Inc. | Pronunciation generation in speech recognition |
EP0972254A1 (en) | 1997-04-01 | 2000-01-19 | Yeong Kuang Oon | Didactic and content oriented word processing method with incrementally changed belief system |
US6076056A (en) | 1997-09-19 | 2000-06-13 | Microsoft Corporation | Speech recognition system for recognizing continuous and isolated speech |
US6141655A (en) | 1997-09-23 | 2000-10-31 | At&T Corp | Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template |
US6377965B1 (en) | 1997-11-07 | 2002-04-23 | Microsoft Corporation | Automatic word completion system for partially entered data |
US5896321A (en) | 1997-11-14 | 1999-04-20 | Microsoft Corporation | Text completion system for a miniature computer |
FI974576A (fi) | 1997-12-19 | 1999-06-20 | Nokia Mobile Phones Ltd | Menetelmä tekstin kirjoittamiseksi matkaviestimeen ja matkaviestin |
US6185558B1 (en) | 1998-03-03 | 2001-02-06 | Amazon.Com, Inc. | Identifying the items most relevant to a current query based on items selected in connection with similar queries |
US6038559A (en) | 1998-03-16 | 2000-03-14 | Navigation Technologies Corporation | Segment aggregation in a geographic database and methods for use thereof in a navigation application |
US6185534B1 (en) | 1998-03-23 | 2001-02-06 | Microsoft Corporation | Modeling emotion and personality in a computer user interface |
US6400831B2 (en) | 1998-04-02 | 2002-06-04 | Microsoft Corporation | Semantic video object segmentation and tracking |
US6247043B1 (en) | 1998-06-11 | 2001-06-12 | International Business Machines Corporation | Apparatus, program products and methods utilizing intelligent contact management |
US6085160A (en) | 1998-07-10 | 2000-07-04 | Lernout & Hauspie Speech Products N.V. | Language independent speech recognition |
US6490563B2 (en) | 1998-08-17 | 2002-12-03 | Microsoft Corporation | Proofreading with text to speech feedback |
US6527715B2 (en) | 1998-10-30 | 2003-03-04 | The United States Of America As Represented By The Secretary Of The Army | System and method for predicting human cognitive performance using data from an actigraph |
US6564254B1 (en) * | 1998-11-04 | 2003-05-13 | Dream Technologies Corporation | System and a process for specifying a location on a network |
JP2000148748A (ja) | 1998-11-13 | 2000-05-30 | Nec Corp | 仮名漢字変換及び画像検索表示システム |
US6424358B1 (en) | 1998-12-03 | 2002-07-23 | Lockheed Martin Corporation | Method and system for importing database information |
US7099876B1 (en) | 1998-12-15 | 2006-08-29 | International Business Machines Corporation | Method, system and computer program product for storing transliteration and/or phonetic spelling information in a text string class |
US6460015B1 (en) | 1998-12-15 | 2002-10-01 | International Business Machines Corporation | Method, system and computer program product for automatic character transliteration in a text string object |
US6363342B2 (en) | 1998-12-18 | 2002-03-26 | Matsushita Electric Industrial Co., Ltd. | System for developing word-pronunciation pairs |
JP2000221990A (ja) | 1999-01-28 | 2000-08-11 | Ricoh Co Ltd | 音声認識装置 |
KR100723738B1 (ko) | 1999-05-27 | 2007-05-30 | 에이오엘 엘엘씨 | 자동 교정 기능을 갖는 키보드 시스템 |
DE60026637T2 (de) | 1999-06-30 | 2006-10-05 | International Business Machines Corp. | Verfahren zur Erweiterung des Wortschatzes eines Spracherkennungssystems |
US6360252B1 (en) | 1999-09-20 | 2002-03-19 | Fusionone, Inc. | Managing the transfer of e-mail attachments to rendering devices other than an original e-mail recipient |
US6658404B1 (en) | 1999-09-20 | 2003-12-02 | Libera, Inc. | Single graphical approach for representing and merging boolean logic and mathematical relationship operators |
US6339776B2 (en) | 1999-10-04 | 2002-01-15 | International Business Machines Corporation | Dynamic semi-structured repository for mining software and software-related information |
US6654733B1 (en) | 2000-01-18 | 2003-11-25 | Microsoft Corporation | Fuzzy keyboard |
US6573844B1 (en) | 2000-01-18 | 2003-06-03 | Microsoft Corporation | Predictive keyboard |
WO2001057711A1 (en) | 2000-02-02 | 2001-08-09 | Searchlogic.Com Corporation | Combinatorial query generating system and method |
US6519599B1 (en) | 2000-03-02 | 2003-02-11 | Microsoft Corporation | Visualization of high-dimensional data |
WO2001067225A2 (en) | 2000-03-06 | 2001-09-13 | Kanisa Inc. | A system and method for providing an intelligent multi-step dialog with a user |
US6922810B1 (en) | 2000-03-07 | 2005-07-26 | Microsoft Corporation | Grammar-based automatic data completion and suggestion for user input |
US6687734B1 (en) | 2000-03-21 | 2004-02-03 | America Online, Incorporated | System and method for determining if one web site has the same information as another web site |
US6578022B1 (en) | 2000-04-18 | 2003-06-10 | Icplanet Corporation | Interactive intelligent searching with executable suggestions |
US6564213B1 (en) | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US6963841B2 (en) | 2000-04-21 | 2005-11-08 | Lessac Technology, Inc. | Speech training method with alternative proper pronunciation database |
US7107204B1 (en) | 2000-04-24 | 2006-09-12 | Microsoft Corporation | Computer-aided writing system and method with cross-language writing wizard |
US20020123994A1 (en) | 2000-04-26 | 2002-09-05 | Yves Schabes | System for fulfilling an information need using extended matching techniques |
US7089504B1 (en) | 2000-05-02 | 2006-08-08 | Walt Froloff | System and method for embedment of emotive content in modern text processing, publishing and communication |
US7979802B1 (en) * | 2000-05-04 | 2011-07-12 | Aol Inc. | Providing supplemental contact information corresponding to a referenced individual |
US7383299B1 (en) | 2000-05-05 | 2008-06-03 | International Business Machines Corporation | System and method for providing service for searching web site addresses |
US6556990B1 (en) | 2000-05-16 | 2003-04-29 | Sun Microsystems, Inc. | Method and apparatus for facilitating wildcard searches within a relational database |
WO2002007054A2 (en) | 2000-07-18 | 2002-01-24 | Yahoo Inc. | System and method for selecting alternative advertising inventory in place of sold out advertising inventory |
US7328211B2 (en) | 2000-09-21 | 2008-02-05 | Jpmorgan Chase Bank, N.A. | System and methods for improved linguistic pattern matching |
US7277732B2 (en) | 2000-10-13 | 2007-10-02 | Microsoft Corporation | Language input system for mobile devices |
US6731307B1 (en) | 2000-10-30 | 2004-05-04 | Koninklije Philips Electronics N.V. | User interface/entertainment device that simulates personal interaction and responds to user's mental state and/or personality |
US7818286B2 (en) | 2001-01-22 | 2010-10-19 | Sas Institute Inc. | Computer-implemented dimension engine |
US6801661B1 (en) | 2001-02-15 | 2004-10-05 | Eastman Kodak Company | Method and system for archival and retrieval of images based on the shape properties of identified segments |
US7392326B2 (en) | 2001-02-16 | 2008-06-24 | Microsoft Corporation | Method for text entry in an electronic device |
JP2002258894A (ja) | 2001-03-02 | 2002-09-11 | Fujitsu Ltd | 音声データ圧縮・解凍装置及び方法 |
US6850934B2 (en) | 2001-03-26 | 2005-02-01 | International Business Machines Corporation | Adaptive search engine query |
US6785677B1 (en) | 2001-05-02 | 2004-08-31 | Unisys Corporation | Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector |
US7308439B2 (en) | 2001-06-06 | 2007-12-11 | Hyperthink Llc | Methods and systems for user activated automated searching |
CN1391180A (zh) | 2001-06-11 | 2003-01-15 | 国际商业机器公司 | 外语写作辅助方法和辅助工具 |
US7133876B2 (en) | 2001-06-12 | 2006-11-07 | The University Of Maryland College Park | Dwarf cube architecture for reducing storage sizes of multidimensional data |
US6985851B2 (en) | 2001-07-17 | 2006-01-10 | Microsoft Corporation | Method and apparatus for providing improved HMM POS tagger for multi-word entries and factoids |
US8112529B2 (en) | 2001-08-20 | 2012-02-07 | Masterobjects, Inc. | System and method for asynchronous client server session communication |
US20020156779A1 (en) | 2001-09-28 | 2002-10-24 | Elliott Margaret E. | Internet search engine |
US7353247B2 (en) | 2001-10-19 | 2008-04-01 | Microsoft Corporation | Querying applications using online messenger service |
US7283992B2 (en) | 2001-11-30 | 2007-10-16 | Microsoft Corporation | Media agent to suggest contextually related media content |
US7111248B2 (en) | 2002-01-15 | 2006-09-19 | Openwave Systems Inc. | Alphanumeric information input method |
US20030160830A1 (en) | 2002-02-22 | 2003-08-28 | Degross Lee M. | Pop-up edictionary |
US20030179229A1 (en) | 2002-03-25 | 2003-09-25 | Julian Van Erlach | Biometrically-determined device interface and content |
US20030220917A1 (en) | 2002-04-03 | 2003-11-27 | Max Copperman | Contextual search |
US7174344B2 (en) | 2002-05-10 | 2007-02-06 | Oracle International Corporation | Orthogonal partitioning clustering |
US7194538B1 (en) | 2002-06-04 | 2007-03-20 | Veritas Operating Corporation | Storage area network (SAN) management system for discovering SAN components using a SAN management server |
US20040128138A1 (en) * | 2002-06-28 | 2004-07-01 | Andrews Donna B. | Universal type-in line |
BR0312120A (pt) | 2002-07-01 | 2005-03-29 | Sony Ericsson Mobile Comm Ab | Método para inserir texto em um dispositivo eletrônico, e, dispositivo eletrônico |
US7236923B1 (en) | 2002-08-07 | 2007-06-26 | Itt Manufacturing Enterprises, Inc. | Acronym extraction system and method of identifying acronyms and extracting corresponding expansions from text |
US7047193B1 (en) | 2002-09-13 | 2006-05-16 | Apple Computer, Inc. | Unsupervised data-driven pronunciation modeling |
US7293015B2 (en) | 2002-09-19 | 2007-11-06 | Microsoft Corporation | Method and system for detecting user intentions in retrieval of hint sentences |
US7552051B2 (en) | 2002-12-13 | 2009-06-23 | Xerox Corporation | Method and apparatus for mapping multiword expressions to identifiers using finite-state networks |
US7181450B2 (en) | 2002-12-18 | 2007-02-20 | International Business Machines Corporation | Method, system, and program for use of metadata to create multidimensional cubes in a relational database |
US7418663B2 (en) * | 2002-12-19 | 2008-08-26 | Microsoft Corporation | Contact picker interface |
US7313760B2 (en) * | 2002-12-19 | 2007-12-25 | Microsoft Corporation | Contact picker |
US7941762B1 (en) * | 2003-02-14 | 2011-05-10 | Shoretel, Inc. | Display of real time information for selected possibilities |
US7360151B1 (en) | 2003-05-27 | 2008-04-15 | Walt Froloff | System and method for creating custom specific text and emotive content message response templates for textual communications |
US7089266B2 (en) | 2003-06-02 | 2006-08-08 | The Board Of Trustees Of The Leland Stanford Jr. University | Computer systems and methods for the query and visualization of multidimensional databases |
US20040243415A1 (en) | 2003-06-02 | 2004-12-02 | International Business Machines Corporation | Architecture for a speech input method editor for handheld portable devices |
US7409336B2 (en) | 2003-06-19 | 2008-08-05 | Siebel Systems, Inc. | Method and system for searching data based on identified subset of categories and relevance-scored text representation-category combinations |
JP4502114B2 (ja) | 2003-06-24 | 2010-07-14 | セイコーインスツル株式会社 | データベース検索装置 |
US7395203B2 (en) | 2003-07-30 | 2008-07-01 | Tegic Communications, Inc. | System and method for disambiguating phonetic input |
US7302445B2 (en) | 2003-08-29 | 2007-11-27 | International Business Machines Corporation | Method, system, and storage medium for providing a dynamic, multi-dimensional commodity modeling process |
US7881934B2 (en) | 2003-09-12 | 2011-02-01 | Toyota Infotechnology Center Co., Ltd. | Method and system for adjusting the voice prompt of an interactive system based upon the user's state |
US7389223B2 (en) | 2003-09-18 | 2008-06-17 | International Business Machines Corporation | Method and apparatus for testing a software program using mock translation input method editor |
US7617205B2 (en) | 2005-03-30 | 2009-11-10 | Google Inc. | Estimating confidence for query revision models |
US7447627B2 (en) | 2003-10-23 | 2008-11-04 | Microsoft Corporation | Compound word breaker and spell checker |
US7412385B2 (en) | 2003-11-12 | 2008-08-12 | Microsoft Corporation | System for identifying paraphrases using machine translation |
US7689412B2 (en) | 2003-12-05 | 2010-03-30 | Microsoft Corporation | Synonymous collocation extraction using translation information |
US7349981B2 (en) | 2003-12-18 | 2008-03-25 | Intel Corporation | System, apparatus, and method for string matching |
US20050144064A1 (en) | 2003-12-19 | 2005-06-30 | Palo Alto Research Center Incorporated | Keyword advertisement management |
US20070089125A1 (en) | 2003-12-22 | 2007-04-19 | Koninklijke Philips Electronic, N.V. | Content-processing system, method, and computer program product for monitoring the viewer's mood |
CN100495392C (zh) | 2003-12-29 | 2009-06-03 | 西安迪戈科技有限责任公司 | 一种智能搜索方法 |
US7590533B2 (en) | 2004-03-10 | 2009-09-15 | Microsoft Corporation | New-word pronunciation learning using a pronunciation graph |
US20050216253A1 (en) | 2004-03-25 | 2005-09-29 | Microsoft Corporation | System and method for reverse transliteration using statistical alignment |
US7225200B2 (en) | 2004-04-14 | 2007-05-29 | Microsoft Corporation | Automatic data perspective generation for a target variable |
WO2005101192A2 (en) | 2004-04-19 | 2005-10-27 | Exbiblio B.V. | Processing techniques for visual capture data from a rendered document |
US7836044B2 (en) | 2004-06-22 | 2010-11-16 | Google Inc. | Anticipated query generation and processing in a search engine |
US7562069B1 (en) | 2004-07-01 | 2009-07-14 | Aol Llc | Query disambiguation |
US7451152B2 (en) | 2004-07-29 | 2008-11-11 | Yahoo! Inc. | Systems and methods for contextual transaction proposals |
WO2006011819A1 (en) | 2004-07-30 | 2006-02-02 | Eurekster, Inc. | Adaptive search engine |
US7725318B2 (en) | 2004-07-30 | 2010-05-25 | Nice Systems Inc. | System and method for improving the accuracy of audio searching |
US7505954B2 (en) | 2004-08-18 | 2009-03-17 | International Business Machines Corporation | Search bar with intelligent parametric search statement generation |
US7386542B2 (en) | 2004-08-30 | 2008-06-10 | The Mitre Corporation | Personalized broadcast news navigator |
US20060085392A1 (en) | 2004-09-30 | 2006-04-20 | Microsoft Corporation | System and method for automatic generation of search results based on local intention |
US7478081B2 (en) | 2004-11-05 | 2009-01-13 | International Business Machines Corporation | Selection of a set of optimal n-grams for indexing string data in a DBMS system under space constraints introduced by the system |
US7549119B2 (en) | 2004-11-18 | 2009-06-16 | Neopets, Inc. | Method and system for filtering website content |
US7466859B2 (en) * | 2004-12-30 | 2008-12-16 | Motorola, Inc. | Candidate list enhancement for predictive text input in electronic devices |
US7490033B2 (en) | 2005-01-13 | 2009-02-10 | International Business Machines Corporation | System for compiling word usage frequencies |
US7599915B2 (en) | 2005-01-24 | 2009-10-06 | At&T Intellectual Property I, L.P. | Portal linking tool |
US8694317B2 (en) | 2005-02-05 | 2014-04-08 | Aurix Limited | Methods and apparatus relating to searching of spoken audio data |
US9165280B2 (en) | 2005-02-22 | 2015-10-20 | International Business Machines Corporation | Predictive user modeling in user interface design |
US7555713B2 (en) | 2005-02-22 | 2009-06-30 | George Liang Yang | Writing and reading aid system |
US7505985B2 (en) | 2005-02-25 | 2009-03-17 | International Business Machines Corporation | System and method of generating string-based search expressions using templates |
US7788248B2 (en) | 2005-03-08 | 2010-08-31 | Apple Inc. | Immediate search feedback |
GB2424091A (en) | 2005-03-11 | 2006-09-13 | Alamy Ltd | Ranking of images in the results of a search |
US7512904B2 (en) | 2005-03-22 | 2009-03-31 | Microsoft Corporation | Operating system launch menu program listing |
US20060224046A1 (en) | 2005-04-01 | 2006-10-05 | Motorola, Inc. | Method and system for enhancing a user experience using a user's physiological state |
EP1875336A2 (en) | 2005-04-11 | 2008-01-09 | Textdigger, Inc. | System and method for searching for a query |
CN1851617A (zh) * | 2005-04-22 | 2006-10-25 | 英华达(上海)电子有限公司 | 移动设备上便于ocr并输入到现有编辑器的转换装置及其方法 |
US7401073B2 (en) | 2005-04-28 | 2008-07-15 | International Business Machines Corporation | Term-statistics modification for category-based search |
US7277029B2 (en) | 2005-06-23 | 2007-10-02 | Microsoft Corporation | Using language models to expand wildcards |
JP2007024960A (ja) | 2005-07-12 | 2007-02-01 | Internatl Business Mach Corp <Ibm> | システム、プログラムおよび制御方法 |
WO2007016370A2 (en) | 2005-07-29 | 2007-02-08 | Eazypaper Inc. | Computer method and apparatus using embedded message window for displaying messages in a functional bar |
CN1908863A (zh) | 2005-08-07 | 2007-02-07 | 黄金富 | 双语混合输入方法及具有字典功能的手机 |
US7516124B2 (en) | 2005-12-20 | 2009-04-07 | Yahoo! Inc. | Interactive search engine |
US7844599B2 (en) | 2005-08-24 | 2010-11-30 | Yahoo! Inc. | Biasing queries to determine suggested queries |
US20070052868A1 (en) | 2005-09-02 | 2007-03-08 | Charisma Communications, Inc. | Multimedia accessible universal input device |
US20070185859A1 (en) | 2005-10-12 | 2007-08-09 | John Flowers | Novel systems and methods for performing contextual information retrieval |
US7676517B2 (en) | 2005-10-14 | 2010-03-09 | Microsoft Corporation | Search results injected into client applications |
US7565157B1 (en) | 2005-11-18 | 2009-07-21 | A9.Com, Inc. | System and method for providing search results based on location |
GB0524354D0 (en) | 2005-11-30 | 2006-01-04 | Ibm | Method, system and computer program product for composing a reply to a text message received in a messaging application |
US7580926B2 (en) | 2005-12-01 | 2009-08-25 | Adchemy, Inc. | Method and apparatus for representing text using search engine, document collection, and hierarchal taxonomy |
GB2433675B (en) | 2005-12-22 | 2008-05-07 | Cramer Systems Ltd | Communications circuit design |
US20070150279A1 (en) | 2005-12-27 | 2007-06-28 | Oracle International Corporation | Word matching with context sensitive character to sound correlating |
US8694530B2 (en) | 2006-01-03 | 2014-04-08 | Textdigger, Inc. | Search system with query refinement and search method |
JP4816409B2 (ja) | 2006-01-10 | 2011-11-16 | 日産自動車株式会社 | 認識辞書システムおよびその更新方法 |
US7769804B2 (en) | 2006-01-17 | 2010-08-03 | Microsoft Corporation | Server side search with multi-word word wheeling and wildcard expansion |
US20070164782A1 (en) | 2006-01-17 | 2007-07-19 | Microsoft Corporation | Multi-word word wheeling |
US20070192710A1 (en) | 2006-02-15 | 2007-08-16 | Frank Platz | Lean context driven user interface |
US7953730B1 (en) | 2006-03-02 | 2011-05-31 | A9.Com, Inc. | System and method for presenting a search history |
US7983910B2 (en) | 2006-03-03 | 2011-07-19 | International Business Machines Corporation | Communicating across voice and text channels with emotion preservation |
US7676460B2 (en) | 2006-03-03 | 2010-03-09 | International Business Machines Corporation | Techniques for providing suggestions for creating a search query |
US7831911B2 (en) | 2006-03-08 | 2010-11-09 | Microsoft Corporation | Spell checking system including a phonetic speller |
US7593927B2 (en) | 2006-03-10 | 2009-09-22 | Microsoft Corporation | Unstructured data in a mining model language |
US20070233651A1 (en) | 2006-03-31 | 2007-10-04 | International Business Machines Corporation | Online analytic processing in the presence of uncertainties |
US8725729B2 (en) | 2006-04-03 | 2014-05-13 | Steven G. Lisa | System, methods and applications for embedded internet searching and result display |
US20070255567A1 (en) | 2006-04-27 | 2007-11-01 | At&T Corp. | System and method for generating a pronunciation dictionary |
US7778837B2 (en) | 2006-05-01 | 2010-08-17 | Microsoft Corporation | Demographic based classification for local word wheeling/web search |
US7849115B2 (en) | 2006-06-05 | 2010-12-07 | Bruce Reiner | Method and apparatus for adapting computer-based systems to end-user profiles |
US7818332B2 (en) | 2006-08-16 | 2010-10-19 | Microsoft Corporation | Query speller |
US7831472B2 (en) | 2006-08-22 | 2010-11-09 | Yufik Yan M | Methods and system for search engine revenue maximization in internet advertising |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US7647351B2 (en) | 2006-09-14 | 2010-01-12 | Stragent, Llc | Web scrape template generation |
US7552112B2 (en) | 2006-09-18 | 2009-06-23 | Yahoo! Inc. | Discovering associative intent queries from search web logs |
WO2008040585A1 (en) | 2006-10-02 | 2008-04-10 | International Business Machines Corporation | Method and system of automatically adapting a user interface |
US8511565B2 (en) | 2006-10-17 | 2013-08-20 | Silverbrook Research Pty Ltd | Method of providing information via context searching of a printed graphic image |
US20080104101A1 (en) | 2006-10-27 | 2008-05-01 | Kirshenbaum Evan R | Producing a feature in response to a received expression |
JP5140997B2 (ja) * | 2006-11-15 | 2013-02-13 | 富士通株式会社 | プログラム、文字入力編集方法及び装置 |
EP1931099A1 (en) | 2006-12-04 | 2008-06-11 | Alcatel Lucent | Method for managing a communication between a server device and a customer device |
US20080140519A1 (en) | 2006-12-08 | 2008-06-12 | Microsoft Corporation | Advertising based on simplified input expansion |
JP4277903B2 (ja) | 2006-12-27 | 2009-06-10 | カシオ計算機株式会社 | 辞書機能を備えた電子機器及びプログラム |
US7957955B2 (en) | 2007-01-05 | 2011-06-07 | Apple Inc. | Method and system for providing word recommendations for text input |
US7742774B2 (en) | 2007-01-11 | 2010-06-22 | Virgin Mobile Usa, L.P. | Location-based text messaging |
US8677281B2 (en) | 2007-02-09 | 2014-03-18 | Intel-Ge Care Innovations Llc | System, apparatus and method for emotional experience time sampling via a mobile graphical user interface |
US7899803B2 (en) | 2007-02-19 | 2011-03-01 | Viewzi, Inc. | Multi-view internet search mashup |
US7991609B2 (en) | 2007-02-28 | 2011-08-02 | Microsoft Corporation | Web-based proofing and usage guidance |
EP2135231A4 (en) | 2007-03-01 | 2014-10-15 | Adapx Inc | SYSTEM AND METHOD FOR DYNAMIC LEARNING |
US8285745B2 (en) | 2007-03-01 | 2012-10-09 | Microsoft Corporation | User query mining for advertising matching |
US8966032B2 (en) * | 2007-03-14 | 2015-02-24 | Amdocs Software Systems Limited | System and method for propagating personal identification information to communication devices |
CN101286154B (zh) | 2007-04-09 | 2016-08-10 | 谷歌股份有限公司 | 输入法编辑器用户档案 |
CN105117376B (zh) | 2007-04-10 | 2018-07-10 | 谷歌有限责任公司 | 多模式输入法编辑器 |
CN104866469B (zh) | 2007-04-11 | 2018-10-02 | 谷歌有限责任公司 | 具有第二语言模式的输入法编辑器 |
CN101286155A (zh) | 2007-04-11 | 2008-10-15 | 谷歌股份有限公司 | 用于输入法编辑器集成的方法和系统 |
US7930676B1 (en) | 2007-04-27 | 2011-04-19 | Intuit Inc. | System and method for adapting software elements based on mood state profiling |
US8799307B2 (en) | 2007-05-16 | 2014-08-05 | Google Inc. | Cross-language information retrieval |
US20080294982A1 (en) | 2007-05-21 | 2008-11-27 | Microsoft Corporation | Providing relevant text auto-completions |
WO2008144964A1 (en) | 2007-06-01 | 2008-12-04 | Google Inc. | Detecting name entities and new words |
KR100968864B1 (ko) * | 2007-06-01 | 2010-07-09 | 엔에이치엔(주) | 전자메일에 대한 부가 정보 서비스 제공방법 및 그 시스템 |
CN102124459B (zh) | 2007-06-14 | 2013-06-12 | 谷歌股份有限公司 | 词典词和短语确定 |
WO2008151466A1 (en) | 2007-06-14 | 2008-12-18 | Google Inc. | Dictionary word and phrase determination |
US20090002178A1 (en) | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Dynamic mood sensing |
US20090043584A1 (en) | 2007-08-06 | 2009-02-12 | Lawrence Brooke Frank Philips | System and method for phonetic representation |
US20090043741A1 (en) | 2007-08-09 | 2009-02-12 | Dohyung Kim | Autocompletion and Automatic Input Method Correction for Partially Entered Search Query |
WO2009023983A1 (en) | 2007-08-17 | 2009-02-26 | Google Inc. | Dynamically naming communities within online social networks |
US7917355B2 (en) | 2007-08-23 | 2011-03-29 | Google Inc. | Word detection |
US20090055386A1 (en) | 2007-08-24 | 2009-02-26 | Boss Gregory J | System and Method for Enhanced In-Document Searching for Text Applications in a Data Processing System |
US8661340B2 (en) | 2007-09-13 | 2014-02-25 | Apple Inc. | Input methods for device having multi-language environment |
US8694483B2 (en) | 2007-10-19 | 2014-04-08 | Xerox Corporation | Real-time query suggestion in a troubleshooting context |
US20090128567A1 (en) | 2007-11-15 | 2009-05-21 | Brian Mark Shuster | Multi-instance, multi-user animation with coordinated chat |
US7728735B2 (en) | 2007-12-04 | 2010-06-01 | At&T Intellectual Property I, L.P. | Methods, apparatus, and computer program products for estimating a mood of a user, using a mood of a user for network/service control, and presenting suggestions for interacting with a user based on the user's mood |
WO2009070931A1 (en) | 2007-12-06 | 2009-06-11 | Google Inc. | Cjk name detection |
US8165406B2 (en) | 2007-12-12 | 2012-04-24 | Microsoft Corp. | Interactive concept learning in image search |
CN101472321B (zh) | 2007-12-27 | 2010-11-10 | 华为技术有限公司 | 制式和频点的搜索方法以及装置 |
US20090177976A1 (en) | 2008-01-09 | 2009-07-09 | Bokor Brian R | Managing and presenting avatar mood effects in a virtual world |
US7984004B2 (en) | 2008-01-17 | 2011-07-19 | Microsoft Corporation | Query suggestion generation |
US8473276B2 (en) | 2008-02-19 | 2013-06-25 | Google Inc. | Universal language input |
US8010465B2 (en) * | 2008-02-26 | 2011-08-30 | Microsoft Corporation | Predicting candidates using input scopes |
US7917488B2 (en) | 2008-03-03 | 2011-03-29 | Microsoft Corporation | Cross-lingual search re-ranking |
US7472061B1 (en) | 2008-03-31 | 2008-12-30 | International Business Machines Corporation | Systems and methods for building a native language phoneme lexicon having native pronunciations of non-native words derived from non-native pronunciations |
US20090249198A1 (en) | 2008-04-01 | 2009-10-01 | Yahoo! Inc. | Techniques for input recogniton and completion |
CN101276245B (zh) | 2008-04-16 | 2010-07-07 | 北京搜狗科技发展有限公司 | 一种输入过程中编码纠错的提示方法和系统 |
CN106598266B (zh) | 2008-05-19 | 2019-07-02 | 上海触乐信息科技有限公司 | 多语言混合输入的方法和系统 |
US8677251B2 (en) * | 2008-05-30 | 2014-03-18 | Microsoft Corporation | Creation and suggestion of contact distribution lists |
US20090313239A1 (en) | 2008-06-16 | 2009-12-17 | Microsoft Corporation | Adaptive Visual Similarity for Text-Based Image Search Results Re-ranking |
EP4083968A1 (en) | 2008-07-28 | 2022-11-02 | Breakthrough Performancetech, LLC | Systems and methods for computerized interactive skill training |
CN101661474B (zh) | 2008-08-26 | 2012-07-04 | 华为技术有限公司 | 一种搜索方法和系统 |
US20100057733A1 (en) * | 2008-09-02 | 2010-03-04 | Suresh Ravinarayanan Purisai | Method, computer program product, and apparatus for enabling access to enterprise information |
US20110107265A1 (en) | 2008-10-16 | 2011-05-05 | Bank Of America Corporation | Customizable graphical user interface |
US8296125B2 (en) | 2008-10-17 | 2012-10-23 | International Business Machines Corporation | Translating source locale input string to target locale output string |
US20100110105A1 (en) * | 2008-10-31 | 2010-05-06 | Nokia Corporation | Method, apparatus and computer program product for providing synchronized navigation |
US8584031B2 (en) | 2008-11-19 | 2013-11-12 | Apple Inc. | Portable touch screen device, method, and graphical user interface for using emoji characters |
US8494835B2 (en) | 2008-12-02 | 2013-07-23 | Electronics And Telecommunications Research Institute | Post-editing apparatus and method for correcting translation errors |
WO2010085186A1 (en) | 2009-01-21 | 2010-07-29 | Telefonaktiebolaget L M Ericsson (Publ) | Generation of annotation tags based on multimodal metadata and structured semantic descriptors |
US9519613B2 (en) * | 2009-02-02 | 2016-12-13 | Asurion, Llc | Method for integrating applications in an electronic address book |
US8539359B2 (en) | 2009-02-11 | 2013-09-17 | Jeffrey A. Rapaport | Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US8564541B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Zhuyin input interface on a device |
WO2010105440A1 (en) | 2009-03-20 | 2010-09-23 | Google Inc. | Interaction with ime computing device |
CN101848272B (zh) | 2009-03-25 | 2013-08-28 | 鸿富锦精密工业(深圳)有限公司 | 手机的输入法切换方法 |
US8631070B2 (en) * | 2009-03-27 | 2014-01-14 | T-Mobile Usa, Inc. | Providing event data to a group of contacts |
US11076189B2 (en) | 2009-03-30 | 2021-07-27 | Time Warner Cable Enterprises Llc | Personal media channel apparatus and methods |
US8230336B2 (en) | 2009-04-22 | 2012-07-24 | Microsoft Corporation | Efficient discovery, display, and autocompletion of links to wiki resources |
CN101901235B (zh) | 2009-05-27 | 2013-03-27 | 国际商业机器公司 | 文档处理方法和系统 |
KR20120040160A (ko) * | 2009-05-27 | 2012-04-26 | 구글 인코포레이티드 | 검색 결과들 내의 컴퓨터 어플리케이션 데이터 |
US9104244B2 (en) | 2009-06-05 | 2015-08-11 | Yahoo! Inc. | All-in-one Chinese character input method |
US20110014952A1 (en) | 2009-07-15 | 2011-01-20 | Sony Ericsson Mobile Communications Ab | Audio recognition during voice sessions to provide enhanced user interface functionality |
US8479094B2 (en) | 2009-09-08 | 2013-07-02 | Kenneth Peyton Fouts | Interactive writing aid to assist a user in finding information and incorporating information correctly into a written work |
US20110066431A1 (en) | 2009-09-15 | 2011-03-17 | Mediatek Inc. | Hand-held input apparatus and input method for inputting data to a remote receiving device |
TW201113870A (en) | 2009-10-09 | 2011-04-16 | Inst Information Industry | Method for analyzing sentence emotion, sentence emotion analyzing system, computer readable and writable recording medium and multimedia device |
CN102056335B (zh) | 2009-11-06 | 2014-02-19 | 华为技术有限公司 | 移动搜索方法、装置和系统 |
WO2011066434A2 (en) | 2009-11-27 | 2011-06-03 | Google Inc. | Client-server input method editor architecture |
US8612206B2 (en) | 2009-12-08 | 2013-12-17 | Microsoft Corporation | Transliterating semitic languages including diacritics |
EP3091535B1 (en) | 2009-12-23 | 2023-10-11 | Google LLC | Multi-modal input on an electronic device |
US8631004B2 (en) | 2009-12-28 | 2014-01-14 | Yahoo! Inc. | Search suggestion clustering and presentation |
WO2011080615A1 (en) * | 2009-12-31 | 2011-07-07 | Nokia Corporation | Method, device and computer program product for automatic provisioning of content at the device |
US20110178981A1 (en) | 2010-01-21 | 2011-07-21 | International Business Machines Corporation | Collecting community feedback for collaborative document development |
US20110184723A1 (en) | 2010-01-25 | 2011-07-28 | Microsoft Corporation | Phonetic suggestion engine |
US20110191321A1 (en) | 2010-02-01 | 2011-08-04 | Microsoft Corporation | Contextual display advertisements for a webpage |
KR101220709B1 (ko) | 2010-02-03 | 2013-01-10 | 삼성전자주식회사 | 한글 및 한자가 혼용된 문서에 대한 전자 사전 검색 장치 및 방법 |
WO2011098343A1 (en) * | 2010-02-12 | 2011-08-18 | Xelion B.V. | Type and select data input field |
US8782556B2 (en) | 2010-02-12 | 2014-07-15 | Microsoft Corporation | User-centric soft keyboard predictive technologies |
US20110219299A1 (en) | 2010-03-07 | 2011-09-08 | DSNR Labs Ltd. | Method and system of providing completion suggestion to a partial linguistic element |
CN102193643B (zh) | 2010-03-15 | 2014-07-02 | 北京搜狗科技发展有限公司 | 一种文字输入方法和具有翻译功能的输入法系统 |
WO2011127640A1 (en) * | 2010-04-12 | 2011-10-20 | Google Inc. | Extension framework for input method editor |
US20110258535A1 (en) | 2010-04-20 | 2011-10-20 | Scribd, Inc. | Integrated document viewer with automatic sharing of reading-related activities across external social networks |
US8161073B2 (en) | 2010-05-05 | 2012-04-17 | Holovisions, LLC | Context-driven search |
US20110289105A1 (en) | 2010-05-18 | 2011-11-24 | Tabulaw, Inc. | Framework for conducting legal research and writing based on accumulated legal knowledge |
US8359311B2 (en) * | 2010-06-01 | 2013-01-22 | Microsoft Corporation | Federated implicit search |
US8694899B2 (en) | 2010-06-01 | 2014-04-08 | Apple Inc. | Avatars reflecting user states |
JP5455232B2 (ja) | 2010-06-25 | 2014-03-26 | Kddi株式会社 | 画像選定装置、方法及びプログラム |
CN102314461B (zh) | 2010-06-30 | 2015-03-11 | 北京搜狗科技发展有限公司 | 一种导航提示方法及系统 |
US9507880B2 (en) | 2010-06-30 | 2016-11-29 | Oracle International Corporation | Regular expression optimizer |
CN102314441A (zh) | 2010-06-30 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 用于供用户进行个性化素材输入的方法、设备和系统 |
US8463592B2 (en) | 2010-07-27 | 2013-06-11 | International Business Machines Corporation | Mode supporting multiple language input for entering text |
US20120036468A1 (en) | 2010-08-03 | 2012-02-09 | Nokia Corporation | User input remapping |
US8473289B2 (en) | 2010-08-06 | 2013-06-25 | Google Inc. | Disambiguating input based on context |
US20120060113A1 (en) | 2010-09-08 | 2012-03-08 | Nuance Communications, Inc. | Methods and apparatus for displaying content |
US8594997B2 (en) | 2010-09-27 | 2013-11-26 | Sap Ag | Context-aware conversational user interface |
US8648823B2 (en) | 2010-11-05 | 2014-02-11 | Apple Inc. | Device, method, and graphical user interface for manipulating soft keyboards |
US8538978B2 (en) * | 2010-11-22 | 2013-09-17 | International Business Machines Corporation | Presenting a search suggestion with a social comments icon |
CN102012748B (zh) | 2010-11-30 | 2012-06-27 | 哈尔滨工业大学 | 语句级中英文混合输入方法 |
US8712989B2 (en) | 2010-12-03 | 2014-04-29 | Microsoft Corporation | Wild card auto completion |
JP5809290B2 (ja) | 2011-01-05 | 2015-11-10 | グーグル・インコーポレーテッド | テキスト入力を容易にするための方法およびシステム |
WO2012148293A1 (en) * | 2011-04-28 | 2012-11-01 | Google Inc. | Using feedback reports to determine performance of an application in a geographic location |
US20120297294A1 (en) | 2011-05-17 | 2012-11-22 | Microsoft Corporation | Network search for writing assistance |
WO2012159249A1 (en) | 2011-05-20 | 2012-11-29 | Microsoft Corporation | Advaced prediction |
US8446432B2 (en) | 2011-07-12 | 2013-05-21 | Sony Corporation | Context aware user interface system |
US8762356B1 (en) | 2011-07-15 | 2014-06-24 | Google Inc. | Detecting change in rate of input reception |
US8564684B2 (en) | 2011-08-17 | 2013-10-22 | Digimarc Corporation | Emotional illumination, and related arrangements |
US20130054617A1 (en) | 2011-08-30 | 2013-02-28 | Alison Williams Colman | Linking Browser Content to Social Network Data |
US9489458B1 (en) * | 2011-09-30 | 2016-11-08 | Google Inc. | Suggesting interaction among members of a social network |
US20130091409A1 (en) | 2011-10-07 | 2013-04-11 | Agile Insights, Llc | Method and system for dynamic assembly of multimedia presentation threads |
US10264102B2 (en) | 2011-11-03 | 2019-04-16 | Aaron Nahumi | System, methods and computer readable medium for augmented personalized social network |
US8612414B2 (en) | 2011-11-21 | 2013-12-17 | Google Inc. | Grouped search query refinements |
US20150370833A1 (en) | 2011-11-28 | 2015-12-24 | Google Inc. | Visual refinements in image search |
US9378290B2 (en) | 2011-12-20 | 2016-06-28 | Microsoft Technology Licensing, Llc | Scenario-adaptive input method editor |
US8671392B2 (en) * | 2012-01-23 | 2014-03-11 | Sap Ag | Integrating software applications |
US8996356B1 (en) | 2012-04-10 | 2015-03-31 | Google Inc. | Techniques for predictive input method editors |
US20150127748A1 (en) | 2012-04-13 | 2015-05-07 | Google Inc. | Recommendations for enhanced content in social posts |
US10475000B2 (en) * | 2012-04-27 | 2019-11-12 | Blackberry Limited | Systems and methods for providing files in relation to a calendar event |
EP2842088A4 (en) * | 2012-04-27 | 2016-01-20 | Blackberry Ltd | SYSTEMS AND METHOD FOR MANUFACTURE AND USE OF A PERSONAL LINKAGE GRAPH |
CN104428734A (zh) | 2012-06-25 | 2015-03-18 | 微软公司 | 输入法编辑器应用平台 |
EP2867749A4 (en) | 2012-06-29 | 2015-12-16 | Microsoft Technology Licensing Llc | INTERLINGUISTIC INPUT METHOD EDITOR |
WO2014000251A1 (en) | 2012-06-29 | 2014-01-03 | Microsoft Corporation | Input method editor |
US8959109B2 (en) | 2012-08-06 | 2015-02-17 | Microsoft Corporation | Business intelligent in-document suggestions |
JP6122499B2 (ja) | 2012-08-30 | 2017-04-26 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 特徴に基づく候補選択 |
US8498864B1 (en) | 2012-09-27 | 2013-07-30 | Google Inc. | Methods and systems for predicting a text |
CN105580004A (zh) | 2013-08-09 | 2016-05-11 | 微软技术许可有限责任公司 | 提供语言帮助的输入方法编辑器 |
US10183679B2 (en) | 2016-06-28 | 2019-01-22 | Volkswagen Aktiengesellschaft | Apparatus, system and method for personalized settings for driver assistance systems |
-
2012
- 2012-06-25 CN CN201280074281.4A patent/CN104428734A/zh active Pending
- 2012-06-25 WO PCT/CN2012/077436 patent/WO2014000143A1/en active Application Filing
- 2012-06-25 CN CN201910813634.1A patent/CN110488991A/zh active Pending
- 2012-06-25 EP EP12879804.8A patent/EP2864856A4/en not_active Withdrawn
- 2012-08-15 US US13/586,267 patent/US9921665B2/en active Active
-
2017
- 2017-03-02 US US15/448,351 patent/US10867131B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609764A (zh) * | 2003-10-24 | 2005-04-27 | 微软公司 | 向输入法提供上下文的系统和方法 |
US20060242608A1 (en) * | 2005-03-17 | 2006-10-26 | Microsoft Corporation | Redistribution of space between text segments |
CN101183355B (zh) * | 2006-11-15 | 2010-10-06 | 富士通株式会社 | 复制和粘贴处理方法及装置 |
CN101286093A (zh) * | 2007-04-09 | 2008-10-15 | 谷歌股份有限公司 | 客户端输入方法 |
US20090187824A1 (en) * | 2008-01-21 | 2009-07-23 | Microsoft Corporation | Self-revelation aids for interfaces |
CN102144228A (zh) * | 2008-07-03 | 2011-08-03 | 谷歌股份有限公司 | 根据输入字符序列的资源定位符建议 |
Non-Patent Citations (1)
Title |
---|
HAI GUO: "NaXi Pictographs Input Method and WEFT", 《JOURNAL OF COMPUTERS》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107430596A (zh) * | 2015-02-12 | 2017-12-01 | 微软技术许可有限责任公司 | 输入法编辑器的外部化执行 |
CN107430596B (zh) * | 2015-02-12 | 2020-09-25 | 微软技术许可有限责任公司 | 输入法编辑器的外部化执行 |
CN105549756A (zh) * | 2015-10-30 | 2016-05-04 | 东莞酷派软件技术有限公司 | 一种基于位置信息的输入方法及用户终端 |
CN108701121A (zh) * | 2016-05-04 | 2018-10-23 | 谷歌有限责任公司 | 将用户输入分派到用户界面中的多个输入域 |
CN107479726A (zh) * | 2017-09-27 | 2017-12-15 | 联想(北京)有限公司 | 一种信息输入方法及电子设备 |
CN108268147A (zh) * | 2018-02-14 | 2018-07-10 | 广东欧珀移动通信有限公司 | 基于输入法的计算处理方法、装置及设备 |
CN110460654A (zh) * | 2019-02-26 | 2019-11-15 | 北京蓦然认知科技有限公司 | 一种智能交互平台中交互引擎的下载方法及装置 |
CN111124348A (zh) * | 2019-12-03 | 2020-05-08 | 北京蓦然认知科技有限公司 | 一种生成交互引擎簇的方法及装置 |
CN111124348B (zh) * | 2019-12-03 | 2023-12-05 | 光禹莱特数字科技(上海)有限公司 | 一种生成交互引擎簇的方法及装置 |
CN112199034A (zh) * | 2020-09-30 | 2021-01-08 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20130346872A1 (en) | 2013-12-26 |
US10867131B2 (en) | 2020-12-15 |
US20170177562A1 (en) | 2017-06-22 |
EP2864856A1 (en) | 2015-04-29 |
WO2014000143A1 (en) | 2014-01-03 |
EP2864856A4 (en) | 2015-10-14 |
CN110488991A (zh) | 2019-11-22 |
US9921665B2 (en) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104428734A (zh) | 输入法编辑器应用平台 | |
US10091628B2 (en) | Message based application state and card sharing methods for user devices | |
CN102081645B (zh) | Web笔记本工具 | |
CN101373431B (zh) | 增强型小组件合成平台 | |
US9430193B2 (en) | Interface for a computer platform | |
US8219900B2 (en) | Programmatically hiding and displaying Wiki page layout sections | |
US7954052B2 (en) | Method for processing a web page for display in a wiki environment | |
US9423920B2 (en) | System and method for modifying user interface elements | |
EP3200102A1 (en) | A method, an apparatus and a computer program product for providing mobile access to a data repository | |
US20080010341A1 (en) | Processing model of an application wiki | |
US20080010609A1 (en) | Method for extending the capabilities of a Wiki environment | |
US20080040661A1 (en) | Method for inheriting a Wiki page layout for a Wiki page | |
KR20160099575A (ko) | 의도-기반 사용자 경험을 제공하는 기법 | |
US20080010338A1 (en) | Method and apparatus for client and server interaction | |
EP2041674A1 (en) | Method for defining a wiki page layout using a wiki page | |
EP2054812A2 (en) | Persistent saving portal | |
US20080010345A1 (en) | Method and apparatus for data hub objects | |
US20080010386A1 (en) | Method and apparatus for client wiring model | |
Cardoso et al. | PuReWidgets: a programming toolkit for interactive public display applications | |
US20080010388A1 (en) | Method and apparatus for server wiring model | |
CN116956825A (zh) | 表单转换方法及服务器 | |
CN106998350B (zh) | 基于跨用户消息的功能项使用框架的方法及系统 | |
Sainty | Blazor in Action | |
US20230132877A1 (en) | Displaying multiple representations of system management operations in a user interface | |
Rust et al. | Building real-time web applications with meteor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150804 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150804 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150318 |
|
RJ01 | Rejection of invention patent application after publication |