CN109478187A - 输入法编辑器 - Google Patents

输入法编辑器 Download PDF

Info

Publication number
CN109478187A
CN109478187A CN201780044770.8A CN201780044770A CN109478187A CN 109478187 A CN109478187 A CN 109478187A CN 201780044770 A CN201780044770 A CN 201780044770A CN 109478187 A CN109478187 A CN 109478187A
Authority
CN
China
Prior art keywords
ime
user
session
interface
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
Application number
CN201780044770.8A
Other languages
English (en)
Inventor
吴先超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109478187A publication Critical patent/CN109478187A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了用于在对话会话中促进信息输入的方法。在该对话会话期间呈现输入法编辑器(IME)界面。在有字符被输入到该IME界面中之前,在该IME界面中提供一个或多个候选消息。

Description

输入法编辑器
背景技术
人工智能(AI)对话聊天程序越来越受欢迎。通过这些对话聊天程序,也被称作“聊天机器人”,用户可以与虚拟的实体进行对话。输入法编辑器(IME)使得用户能够在与聊天机器人的对话中以某种语言输入文本,诸如词、短语、句子等。
发明内容
以下提供本发明内容以介绍将在下文具体实施方式中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或者必要特征,也不旨在用于限制所要求保护的主题的范围。
本公开的实施例提供了一种用于在对话会话中促进信息输入的方法。在对话会话期间呈现IME界面。在有字符被输入到该IME界面中之前,在该IME界面中提供一个或多个候选消息。
应该理解,上述一个或多个方面包括在下文充分描述且在权利要求书中特别指出的特征。以下描述和附图详细陈述了所述一个或多个方面的某些说明性的特征。这些特征仅表示利用各方面原理的各种方式,而本公开旨在涵盖所有此类方面以及其等效物。
附图说明
以下将结合附图来描述所公开的各个方面,这些附图是用来说明而不是限制所公开的各个方面。
图1示出了根据一个实施例的能够实现所描述的技术的示例性环境。
图2示出了根据一个实施例的应用聊天机器人的示例性系统。
图3A至3H分别示出了根据一个实施例的示例性用户界面(UI)。
图4示出了根据一个实施例的用于收集训练数据的示例性过程。
图5A和5C分别示出了根据一个实施例的用于日文例句的示例性依赖性关系树。
图5B和5D分别示出了根据一个实施例的示例性话题知识图谱。
图6示出了根据一个实施例的用于训练用于预测下一查询类型的分类器的示例性过程。
图7示出了根据一个实施例的用于预测候选下一查询的示例性过程。
图8示出了根据一个实施例的IME系统的一部分的示例性结构。
图9示出了根据一个实施例的用于训练用户敏感语言模型的示例性过程。
图10示出了根据一个实施例的示例性IME系统。
图11示出了根据一个实施例的用于在对话会话期间促进信息输入的示例性过程。
图12示出了根据一个实施例的用于在对话会话期间促进信息输入的示例性过程。
图13示出了根据一个实施例的用于在对话会话期间促进信息输入的示例性装置。
图14示出了根据一个实施例的示例性计算系统。
具体实施方式
以下将结合若干示例性实施方式来阐述本公开。应该理解,阐述这些实施方式仅仅是为了使本领域技术人员能够更好地理解并且从而实施本公开的实施例,而不代表对本公开的范围的任何限制。
图1示出了根据一个实施例的能够实现所描述的技术的示例性环境100。
在示例性环境100中,网络110用于将终端装置120、应用服务器130和聊天机器人服务器140互连在一起。
网络110可以是能够将网络实体互连在一起的任何类型的网络。网络110可以是单个的网络或者是各种网络的组合。从覆盖范围方面来说,网络110可以是局域网(LAN)、广域网(WAN)等。从承载媒介方面来说,网络110可以是有线网络、无线网络等。从数据交换技术方面来说,网络110可以是电路交换网络、分组交换网络等。
终端设备120可以是能够进行连接到网络110、通过网络110访问服务器或网站、处理数据或信号等操作的任何类型的计算设备。例如,终端设备120可以是台式计算机、膝上型计算机、平板电脑、智能电话等。尽管在图1中仅示出了一个终端设备120,但是应该理解,不同数量的终端设备可能连接到网络110。
终端设备120可以包括可为用户提供聊天服务的聊天机器人客户端122。在一些实现中,终端设备120处的聊天机器人客户端122可以是与由聊天机器人服务器140提供的聊天机器人服务相对应的独立客户端应用。在另一些实现中,终端设备120处的聊天机器人客户端122可以在第三方应用中实现,如第三方即时消息(IM)应用。举例来说,第三方IM消息包括MSNTM、ICQTM、SKYPETM、QQTM、WeChatTM等。
聊天机器人客户端122与聊天机器人服务器140通信。例如,聊天机器人客户端122将用户输入的消息发送到聊天机器人服务器140,并且接收来自聊天机器人服务器140的与该消息相关联的响应。聊天机器人客户端122和聊天机器人服务器140可统称为聊天机器人。由于通常情况下用户和聊天机器人之间的对话是以查询-响应的方式进行的,所以用户输入的消息通常被称为查询,聊天机器人输出的应答通常被称为响应。查询-响应对被记录为用户日志数据。应该理解,在一些实现中,在不与聊天机器人服务器140进行交互的情况下,聊天机器人客户端122也可以本地生成针对玩家输入的查询的响应。
应用124在聊天机器人和用户之间的对话期间被激活。例如,应用124可与触发词相关联。当用户想要在对话期间启动应用124时,用户可以输入该触发词。在接收到该触发词之后,聊天机器人可以在对话期间激活该应用。
在一些实现中,应用124可以在应用服务器130处实现,应用服务器130可以是第三方应用服务器。例如,在应用124在对话期间是活动的同时,来自用户的查询经由聊天机器人被发送给应用服务器130,来自应用服务器130的响应经由聊天机器人被发送给用户。在另一些实现中,应用124可以在聊天机器人服务器140处实现,在这种情况下,应用模块142可以在聊天机器人服务器140处实现。由聊天机器人服务供应商提供的应用和/或由第三方应用供应商提供的应用可以在应用模块142处实现。聊天机器人可以在应用模块142处调用应用,以便在对话期间激活该应用。
应该理解,与聊天机器人服务相关联的应用124也可以被称为特征、功能、小应用之类的名称,其用于在与用户的机器对话期间满足用户的相对独立的需求。
应该理解,图1所示的所有网络实体均是示例性的,并且根据具体的应用需求,环境100中还可能包含任何其他网络实体。
图2示出了根据一个实施例的示例性聊天机器人系统200。
系统200包括用户界面(UI)210。UI 210可以在聊天机器人客户端122处实现,其提供用于用户和聊天机器人之间进行交互的聊天窗口。
图3A示出了UI 210的示例。聊天窗口320显示在计算设备300上。聊天窗口320包括消息流区域322、控制区域324和输入区域326。消息流区域322在用户和聊天机器人之间的对话中呈现查询和响应,图标310表示聊天机器人。控制区域324包括用于用户执行消息输入设置的多个虚拟按钮。例如,通过控制区域324,用户可以进行语音输入、附加图像文件、选择表情符号以及创建当前屏幕的快捷方式等。输入区域326用于用户输入消息。例如,用户可以借助于IME通过输入区域326键入文本。通过IME输入的文本可以包括词、短语、句子、或者甚至表情符号(如果IME支持)。控制区域324和输入区域326可统称为输入单元。用户也可以通过输入单元与AI聊天机器人进行语音通话或视频对话。
IME可以使得用户能够以某种语言输入消息。以日文为例,在如图3所示的UI中,用户通过使用IME输入消息“りんなは何歳ですか(玲奈,你多大了)”作为查询,聊天机器人输出消息“高2です(高中二年级)”作为响应。类似地,用户通过使用IME输入消息“りんな、朝ごはん食べたの?(玲奈,你吃早餐了吗?)”作为查询,聊天机器人输出两个消息“食べたよ、食パンを(吃了,我吃了面包)”和“あなたは?(你呢?)”作为响应。应该理解,这两个消息可以被视为单次的响应,并且可以由聊天机器人输出在一个消息中。这里,玲奈是AI聊天机器人的名字,AI聊天机器人也可以被称为AI聊天系统。应该理解,在说明书和附图中,日文文本之后的括号中的中文文本是为了理解而提供的该日文文本的译文,而实际上并不呈现在对话的消息流中。
来自用户的查询被传送到查询队列232,查询队列232临时存储用户的查询。用户的查询可以是各种形式,包括文本、声音、图像、视频等。
核心处理模块220可以将查询队列232中的消息或查询作为其输入。在一些实现中,可以以先进先出的方式处理或响应队列232中的查询。
核心处理模块220可以调用应用程序接口(API)模块250中的处理单元来处理各种形式的消息。API模块250可以包括文本处理单元252、语音处理单元254、图像处理单元256等。
对于文本消息,文本处理单元252可以对文本消息执行文本理解,并且核心处理模块220可以进一步确定文本响应。
对于语音消息,语音处理单元254可以对语音消息执行语音到文本转换以获得文本,文本处理单元252可以对获得的文本执行文本理解,并且核心处理模块220可以进一步确定文本响应。如果确定要以语音的形式提供响应,则语音处理单元254可以对文本响应执行文本到语音转换以生成相应的语音响应。
对于图像消息,图像处理单元256可以对图像消息执行图像识别以生成相应的文本,核心处理模块220可以进一步确定文本响应。例如,当接收到来自用户的一副狗的图像时,AI聊天系统可以确定狗的种类和颜色,并进一步给出若干评论,例如“多么可爱的德国牧羊犬!你一定非常喜欢它”。在某些情况下,图像处理单元256也可以用于基于文本响应获得图像响应。
此外,尽管未在图2中示出,API模块250可以包括任何其他处理单元。例如,API模块250可以包括视频处理单元,用于与核心处理模块220合作以处理视频消息并确定响应。再例如,API模块250可以包括用于支持基于位置的服务的基于位置的处理单元。
接收到来自用户的查询之后,核心处理模块220可以通过索引数据库260确定响应。索引数据库260可以包括多个索引项目,这些索引项目可由核心处理模块220获取作为响应。索引数据库260可以包括问答对索引集合262和纯聊天索引集合264。此外,索引数据库260可以包括IME索引集合266。问答对索引集合262中的索引项目是问答对的形式,并且该问答对索引集合262可以包括与通过聊天机器人系统实现的诸如应用124的应用相关联的问答对。纯聊天索引集合264中的索引项目是为用户和聊天机器人之间的闲聊而准备的,并且可以是也可以不是问答对的形式。IME索引集合266中的索引项目是为IME而准备用来为用户查找候选消息的。应当理解,问答对这个术语也可以被称为查询-响应对或任何其他合适的术语。
可以将由核心处理模块220确定的响应提供给响应队列或响应高速缓存234。响应队列或响应高速缓存234中的响应可被进一步传送到用户界面210,以便所述响应可以以合适的顺序呈现给用户。
系统200中的用户数据库270用于记录在用户和聊天机器人之间的对话中出现的用户数据。用户数据库270可包括用户日志数据库272和用户-应用使用数据库274。
用户日志数据库272可用于记录在用户和聊天机器人之间的对话中出现的消息。例如,用户日志数据库272可用于记录纯聊天的用户日志数据。再例如,用户日志数据库272不仅可以用于记录纯聊天的用户日志数据,而且还可以记录应用活动期间出现的用户日志数据。用户日志数据可以是查询-响应对形式,或者是任何其他合适的形式。用户-应用使用数据库274可用于存储与聊天机器人或AI聊天服务相关联的应用的每个用户的使用信息。
图3B示出了根据一个实施例的在用户和聊天机器人之间的对话会话期间IME的示例性界面。应该理解,“对话会话期间”指的是在对话会话的任何时间,例如该对话会话的开始、中间或结尾。
在一些实现中,当用户点击图3A所示的输入区域326时,IME可以被激活,并且可以如图3B所示呈现该IME的界面328。用于对话会话的输入区域326的激活指示用户的输入意图,然后该IME可以被激活,并且可以响应于该输入意图呈现该IME界面328。在一些实现中,当输入区域326被激活时,该IME可以被调用,并且通过该IME的调用可以识别该输入意图。
在所示的示例中,IME可以是用于输入诸如词、短语、句子或甚至表情符号之类的日文文本的日文IME。当前,该IME界面328包括一个虚拟键盘。该键盘包括代表英文字符或字母A到Z的虚拟键,以及代表某些功能(如删除、数字、回车、空格、E/J(英文/日文)转换)的虚拟键。应该理解,该键盘可以包括代表更多或更少功能或符号的更多或更少的键。
当“E/J”键被点击时,该英文键盘可被切换到日文键盘,为了简单起见,该日文键盘未在附图中示出。该日文键盘提供通常被称作假名的日文字符。对于用户输入日文文本来说,该英文键盘和该日文键盘具有对等的效果。也就是说,可以在该IME中等效地使用英文字符和日文假名来输入日文文本,例如,英文字符“a”表示假名“あ”,“ka”表示“か”,等等。
输入区域326中的符号“|”示出了光标的位置。在一些实现中,符号“|”在输入区域326中闪烁,指示该输入区域是活动的。
图3C示出了根据一个实施例的在用户和聊天机器人之间的对话会话期间IME的示例性界面。
当用户在图3B所示的IME界面328中键入或输入代表假名“こ”的英文字符“ko”时,与假名“こ”相应的日文汉字候选被提供在IME界面328中,具体地,被提供在候选呈现区域3282中。如果用户选择区域3282中的第三候选,则该日文汉字可以作为IME的输出呈现在输入区域326中。以这种方式,可以通过使用IME将日文文本键入到用于对话的输入区域326中。
此时,除了键盘区域之外,IME界面328还包括呈现诸如“ko”的键入字符的区域和候选呈现区域3282。应该理解,本公开不限于任何特定形式的IME界面。例如,诸如“ko”的键入字符可被呈现在输入区域326中,并且当第三候选被选择时,可以变成期望的日文汉字,如“故”,作为IME的输出。
图3D示出了根据一个实施例的用户和聊天机器人之间的对话会话期间IME的示例性界面。
IME界面328可以呈现在对话会话的开始处。在任何字符或字母通过键盘被输入到IME界面之前,一个或多个候选消息被提供在IME界面328中,具体地,被提供在IME界面328的候选呈现区域3282中。该字符的例子可以是英文字母、日文假名、韩文元音和辅音,等等。
在有字符被输入到IME界面328之前,IME界面328中提供的候选消息可以被称为“下一查询”,其是用户在与聊天机器人的对话会话中可能输出的完整查询。
该下一查询由IME自动生成,而无需从用户那里接收任何字符。在一些实现中,下一查询的生成在聊天机器人系统处实现。下一查询可以包括多个用户(如大量用户)向聊天机器人提出频率最高的问题或请求,其反映了该多个用户的统计兴趣;可以包括当前用户提出频率最高的问题或请求,其反映了该当前用户的统计兴趣;可以包括诸如一个新应用的推荐应用的触发词,其反映了应用推荐信息;或者可以包括闲聊内容,如问候、可爱的表情符号等。下一查询的例子包括“1何歳(你的年龄,或你多大了)”、“2歌って(唱歌)”、“3ここで一句(这里一首诗)”、“4山手線(山手线)”、“5颜见せて(把你的脸露出来)”,如图3D所示。
当用户选择了多个下一查询中之一时,所选择的下一个查询,如第四个“山手線(山手线)”,被提供在输入区域326中,作为IME的输出,然后由用户输出在区域322中的对话会话中。在该示例中,示例性查询“山手線(山手线)”是一个应用的关键词,并且相应地,聊天机器人可以响应于用户输出的查询激活该应用。
除了高频应用之外,聊天机器人的新应用可以通过IME以主动的方式推荐给用户,以丰富用户使用聊天机器人的习惯。这将减小聊天机器人的使用阈值。
如果用户是第一次使用聊天机器人或者用户不熟悉聊天机器人,则通过IME自动建议下一查询有助于减少用户与聊天机器人通信中的使用障碍。此外,由于下一查询来自由当前用户或多个用户提出的高频问题或者由当前用户或多个用户使用的高频应用,所以IME中的预先建议可以较好地把握用户的注意力,并且进而容易提高用户对聊天机器人的参与率。
图3E示出了根据一个实施例的在用户和聊天机器人之间的对话会话期间IME的示例性界面。
IME界面328可以呈现在对话会话的中间阶段。类似于图3D的IME界面,在有字符通过键盘被输入到IME界面之前,候选消息被提供在IME界面328中,具体地,被提供在IME界面328的候选呈现区域3282中。
如图3E所示,在区域322中的当前对话会话中示出了两个消息。当前会话中可能存在更多消息,这些消息在屏幕之外。会话可以由对话中传送的消息流来定义,其中会话中的任何两个连续的消息应当在诸如30分钟的预定时间距离内被输出。也就是说,在距离聊天机器人的最后响应的示例性的30分钟内,如果用户没有发送任何内容,则当前会话结束。并且当该用户开始向聊天机器人发送消息时,一个新的会话开始。
根据聊天机器人的最后响应,例如,“おはようございます。朝ごはん食べた?(早上好。你吃早餐了吗?)”,和/或当前会话,即存在于当前会话中的消息列表,IME可以自动预测下一查询。在示出的例子中,继聊天机器人的最后响应之后,在有字符被输入到IME界面328之前,如“1食べた(吃了)”、“2まだ(没吃)”、“3これから(现在开始吃或者过一会吃)”的候选下一查询,被自动地生成并提供在IME界面328中。该候选下一查询与聊天机器人的最后响应相关,并且可以被用户选择以在对话会话中作为下一个查询输出。
在一些实现中,基于聊天机器人的最后响应和当前会话,可以首先预测下一个查询的类型,并且至少部分地基于所预测的类型,可以预测候选下一查询。可以定义下一个查询类型的列表,下一个查询类型的示例包括“情感反馈”、“深入当前话题”、“从当前话题跳转到新话题”和“与当前会话相关的具体要求”,这些类型可以称为类型A、类型B、类型C和类型D。
在一些实现中,可以训练分类器,以基于聊天机器人的最后响应和当前会话来预测下一个查询的类型的概率,并且可以训练学习排序(LTR)模型,以基于下一查询类型、聊天机器人的最后响应和当前会话来预测候选下一查询的概率。
图3E中示出了“情感反馈”的情景,IME界面328中提供的所有候选下一查询都是对聊天机器人最后响应(即一个问题)的情感反馈。
图3F示出了根据一个实施例的在用户和聊天机器人之间的对话会话期间IME的示例性界面。
IME界面328可以呈现在对话会话的中间阶段。类似于图3E的IME界面,在任何字符通过键盘被输入到IME界面中之前,候选消息被提供在IME界面328中,具体地,被提供在IME界面328的候选呈现区域3282中。
图3F中示出了“深入当前话题”的情景。基于聊天机器人的最后响应“もちろんだよ、いっぱい感動したよ(当然,我完全被感动了)”和当前会话,首先预测下一个查询类型,然后在IME界面中提供所预测的候选下一查询,诸如“1確かに、最後のおばちゃんの話はまだ覚えている(当然,我还记得在电影结束时奶奶说的那些话)”、“2そうですね、花火大会の場面は面白かった。(是的,烟花的场面很有趣)”、“映画を見て、仕事に頑張らなきゃ。(看完电影后,我觉得我应该专注于我的工作。)”,这些是更加深入地探讨当前电影话题并且提供更多细节的消息。
图3G示出了根据一个实施例的在用户和聊天机器人之间的对话会话期间IME的示例性界面。
类似于图3F的IME界面,在有字符通过键盘被输入到IME界面之前,候选消息被提供在IME界面328中,具体地,被提供在IME界面328的候选呈现区域3282中。
基于聊天机器人的最后响应“ところで、最近映画見ていますか。(顺便说一句,你最近看电影了吗?)”和图3G的区域322中示出的当前会话,首先预测下一个查询类型,然后在IME界面328中提供所预测的候选下一查询,诸如“1みているよ、例えば「おくりびと」。もっと涙いっぱいだったよ。(是的,我正在看。例如,另一部叫做“入殓师”的电影,我被深深地感动并且留下了更多眼泪)”,这是一个扩展到新话题(如一部新电影)的消息;“2何か推薦ある?(你有什么推荐吗?)”,这是一个向聊天机器人显示具体要求的消息。
图3H示出了根据一个实施例的在用户和聊天机器人之间的对话会话期间IME的示例性界面。
在本实施例中,与图3C中所示类似,用户通过IME的键盘来键入日文文本,而不是如图3D至3G中所示的选择IME界面中提供的候选下一查询中的一个。如图3H所示,在用户选择或键入诸如“お腹(腹部,胃部)”的词之后,候选下一词和/或短语被自动地预测,并且在除了那些与当前词“お腹(腹部,胃部)”相对应的字符之外的字符被额外地键入到IME界面之前,提供在IME界面328中。候选下一词和/或短语的预测是基于用户已经键入的给定词/短语或部分句子。在图3H中,该示例示出了跟随预先键入的词“お腹(腹部,胃部)”显示的可能的“下一词”,即“1すいた(饥饿)”、“2ぺこぺこ(饥饿)”、“3痛い(疼痛)”、“4いっぱい(饱食)”。
在块级的候选下一短语的示例中,给定用户已经键入的“映画(电影)”,则候选下一短语可以包括“を見たいです(想看一部电影)”、“の推薦(的推荐)”、“の最新情報(的最新信息)”,等等。
通过提供候选下一查询和候选下一词和/或短语,根据各实施例,IME系统可以带来许多优点,特别是在与聊天机器人的对话的场景中。例如,由于用户被允许选择建议的下一查询或下一词和/或短语,键入的速度可以被提升。由于IME中包含了用于提供建议的入口,借助于IME系统,可以减少聊天机器人的使用障碍。
图4示出了根据一个实施例的用于收集训练数据的示例性过程400。
使用两个数据源,用户日志数据402和网络数据416,来收集训练数据。
用户日志数据402是<查询,响应>对的形式的用户-聊天机器人通信记录的集合,其中查询来自用户端,响应来自聊天机器人端。可以从图2中所示的用户日志数据库272获得用户日志数据。
网页数据416从网站获得并按域分类。网络数据的一个例子可以是与电影“涙そうそう(泪光闪闪)”相关的html数据,它是从电影相关的网站获得的,并且其中包含该电影的剧情简介、该电影中的角色、来自观众的包含积极的/消极的/令人印象深刻的细节的评论。
从数据源延伸出两个流,其中第一个流产生用于下一查询类型A和D的训练数据,第二个流产生用于下一查询类型B和C的训练数据。
对于第一个流,按照用户和会话来组织用户日志数据。在一些实现中,首先收集用于每个用户的日志数据,然后利用日志数据的时间戳信息,将一个用户的日志列表分组成一组会话。如以上所讨论的,可以通过对话中传送的消息流来定义会话,其中会话中的任何两个连续消息应当在诸如30分钟的预定时间距离内被输出。也就是说,如果用户在距离聊天机器人的最后响应的示例性30分钟内没有发送任何内容,则当前会话结束。并且当用户开始向聊天机器人发送消息时,新的会话开始。用户的日志可以在30分钟间隔的地方被分隔开,并且因此按照会话来分组。
在图4的块404中示出以会话为单元的日志数据的一个例子。针对一个用户有三个会话,<q1,r1>至<q3,r3>用于第一会话,<q4,r4>至<q6,r6>用于第二会话,以及<q7,r7>至<q9,r9>用于第三会话。这里,q是用户的查询,r是聊天机器人的响应。应该理解,由于日志数据按照用户分组,个性化的数据可以有助于在使用IME与聊天机器人聊天过程中捕捉到不同的个人倾向。
如406和408中所示,进行两个判断以收集用于下一查询类型A的训练数据,即“情感反馈”。第一个判断是406“ri-1是一个问题吗?”,第二个判断是408“qi是一个答案或带有积极的或者消极的情绪吗?”。如果这两个判断结果都是肯定的,则当前<ri-1,qi>作为用于类型A的训练对,如410所示。
例如,从图3E中示出的用户日志数据中可以提取用于类型A的训练数据,其中,训练数据对包括聊天机器人的前一响应,即问题“おはようございます。朝ごはん食べた?(早上好。你吃早饭了吗?)”,以及用户所选择的查询“食べた(吃了)”,即肯定的情感消息。情绪分析(SA)分类器可以用来判断给定的消息或句子是肯定的、否定的、还是中性的。
如412所示,进行判断“qi是一个问题吗”以收集用于下一查询类型D的训练数据,即“与当前会话有关的特定要求”。如果判断结果是肯定的,则当前<会话,qi>作为用于类型D的训练对,如414所示。
例如,如果用户选择了图3G中的“何か推薦ある?(你有什么推荐吗?)”,则在图3G中的区域322中所示的用户日志数据的会话被视为用于类型D的训练实例。
对于第二个流,基于网络数据建立418所示的话题知识图谱,以组织话题之间的关系,该关系的例子可以“是一个(is-a)”、“同一级别”等。例如,“泪光闪闪”和“入殓师”是与电影有关的同级别的话题,“烟花的场面”被包括在“泪光闪闪”中。
下一查询类型B和C与是否跳跃话题有关。在420进行判断“<qi-1,ri-1>和<qi,ri>是相同的话题吗?”。如果判断结果是肯定的,当前<会话,qi>作为用于类型B的训练对,即422“深入当前话题”;而如果判断结果是否定的,则当前<会话,qi>作为用于类型C的训练对,即424“从当前话题跳转到新话题”。
在410、414、422、424处收集的训练数据可用于训练下一查询类型分类器,以预测下一查询的类型。
用户日志数据被分类为不同类型(如类型A至类型D)之后,在426处创建索引集合<会话、最后响应、下一查询类型、下一查询>。该索引集合被用于训练学习排序模型,以查找候选下一查询。
图5A和5C中各自示出了针对一个日文例句的示例性依赖关系树,图5B和图5D各自示出了从依赖关系树中提取的示例性话题知识图谱。所示出的话题知识图谱是418处的话题知识图谱的示例,其可用于确定两个<q,r>对是否涉及相同的话题。
从日文句子的语法依赖关系树中提取谓词-论元结构,然后构建话题知识图谱。
以日文句子“マイクロソフトはソフトウェアを開発·販売する会社です。(微软是一家开发和销售软件的公司)”为例,该句中词的词性(POS)以及词之间的依赖关系可以被构造。该句的依赖关系结构如图5A中的依赖关系树所示,其中可挖掘出以下谓词-论元结构,并且在图5B的话题知识图谱中对该依赖关系进行说明。
论元1 论元2 谓词
マイクロソフト(微软) 会社(公司) です(是)
マイクロソフト(微软) ソフトウェア(软件) 開発(开发)
マイクロソフト(微软) ソフトウェア(软件) 販売(销售)
对于另一个日文例句“「涙そうそう」と「おくりびと」は有名な映画です。(“泪光闪闪”和“入殓师”是著名的电影)”,可以如图5D所示获得依赖关系树和相关的话题知识图谱。如图5B所示的“是一个”关系和如图5D所示的“相同级别”关系都可用于指示相同的话题。并且,基于该话题知识图谱,可确定两个<q,r>对是否属于相同的话题。
图6示出了根据一个实施例的用于训练用于预测下一查询类型的分类器的示例性过程600。
用户日志数据602与用户日志数据402相同。在604,通过如图4示出的402至424的过程,为每个用户收集训练数据。
在606,可以将为每个用户收集的所有训练数据合并。并且,在608,合并的训练数据可被用于训练用于所有用户的通用分类器。该通用分类器是与用户无关的分类器,其可以被表示为Pall。该通用分类器可用于覆盖长尾用户,也就是说,不具备大规模日志数据的用户。
在一些实现中,逻辑回归算法可用于基于训练数据训练分类器。在该逻辑回归算法中使用的示例性特征可以包括以下中的至少一部分:
ri-1(即聊天机器人的最后响应)是一个问题吗?
qi(即,继ri-1之后的用户查询)是一个答案或带有积极或消极的情绪吗?
qi是一个问题吗?
<qi-1,ri-1>和<qi,ri>属于相同的话题吗?
n词元(word ngrams):针对当前会话中和聊天机器人的最后响应中的词的一元和二元。
n字符元(character ngrams):对于在当前会话中和聊天机器人的最后响应中的每个词,提取n个字符元,例如四元和五元。
词元略过(word skip-grams):对于在当前会话中和聊天机器人的最后响应中所有的三元和四元,使用*替换这些词中的一个以指示非连续词的存在。
布朗聚类n元:使用布朗聚类代表(在当前会话中和聊天机器人的最后响应中的)词,并且提取一元和二元作为特征。
POS标签:使用在当前会话中和在聊天机器人的最后响应中POS标签的存在或不存作为二元特征。
社交网络相关词:(在当前会话中和在聊天机器人的最后响应中)的话题标签、表情符号、加长词和标点符号的数量作为特征。
词到向量(Word2vec)聚类n元:使用word2vec工具从社交网络数据集学习100维的词嵌入(word embedding)。然后,可以使用K-平均算法和词向量的L2距离来将百万级词汇聚类为200类。使用这些类来表示在当前会话中和在聊天机器人的最后响应中的广义词。
在610,进行判断“某用户的训练数据量>阈值”。该阈值的一个例子是可以是10000个<查询,响应>对。如果该判断结果是肯定的,则意味着该某用户已经与聊天机器人进行了大量数据的通信,可以基于某用户的训练数据为该特定用户训练特定分类器。该特定分类器可被表示为Puser
使用所训练的分类器Pall来与用户无关地估计下一查询类型的概率,如类型A至类型D,也就是说,Pall(下一查询类型|当前会话,聊天机器人的最后响应)将当前会话和聊天机器人的最后响应作为输入。使用所训练的分类器Puser来为当前用户估计下一查询类型的概率,如类型A至类型D,也就是说,Puser(下一查询类型|当前会话,聊天机器人的最后响应,用户)将当前会话和聊天机器人的最后响应作为输入。
这两种分类器可以被联合使用,并且下一查询的类型可以如下被预测:P(下一查询类型|当前会话,聊天机器人的最后响应,用户)=λ*Pall+(1-λ)*Puser(1)
这里λ是预定义的值,例如取值0.8。
对于不具有用户特定分类器的用户,该用户的P(下一查询类型|当前会话,聊天机器人的最后响应,用户)可以取Pall的值。
对于具有用户特定分类器的用户,该用户的P(下一查询类型|当前会话,聊天机器人的最后响应,用户)可以取Puser的值,而不使用公式(1)。
图7示出了根据一个实施例的用于预测候选下一查询的示例性过程700。
在使用下一查询类型分类器基于当前会话和聊天机器人的最后响应估计下一查询类型的概率之后,可以使用学习排序(LTR)信息检索(IR)模型706查找下一查询。
在图4的426,通过训练数据收集过程,获得索引集合<会话,最后响应,下一查询类型,下一查询>702。该LTR IR模型706将当前会话、聊天机器人的最后响应、下一查询类型作为输入704,并且从索引集合702中查找具有高排序分数的候选下一查询。
在一些实现中,可以训练梯度提升决策树(GBDT)排序器以实现LTR IR模型706。可在GBDT排序器中使用的示例性特征包括以下中的至少一部分:
当前会话和候选下一查询之间的字符/词级一元的编辑距离;
聊天机器人的最后响应和候选下一查询之间的字符/词级一元的编辑距离;
当前会话和候选下一查询之间的最大子序列比;
聊天机器人的最后响应和候选下一查询之间的最大子序列比;
候选下一查询的类型;
在给定<当前会话,聊天机器人的最后响应>和候选下一查询的情况下的BM25(BM代表最佳匹配)分数。
给定当前会话、聊天机器人的最后响应、下一查询类型,可以通过GBDT排序器生成GBDT分数,该GBDT分数可表示为GBDT(下一查询|下一查询类型,当前会话,聊天机器人的最后响应),其可被用作分数P(下一查询|下一查询类型,当前会话,聊天机器人的最后响应,用户),其中P代表概率。
在一些实现中,由于GBDT分数的计算并不考虑不同用户间的差异,为考虑个体差异,P(下一查询|下一查询类型,当前会话,聊天机器人的最后响应,用户)的分数可以使用下面的公式来计算:
P(下一查询|下一查询类型,当前会话,聊天机器人的最后响应,用户)=λ*GBDT(下一查询|下一查询类型,当前会话,聊天机器人的最后响应)+(1-λ)*惩罚_分数(由用户说出的候选下一查询) (2)
在这里,如果该候选下一查询是之前由特定用户输出的,该惩罚分数可以为0;否则,它是一个负值,用以减小GBDT分数。通过这种方式,先前由当前用户使用的候选下一查询可以被给予相对较高的排序分数。此处的参数λ可以是预定义的值。
最后,在给定当前会话、聊天机器人的最后响应和用户的情况下,候选下一查询的最终排序分数可通过以下公式得到:
P(下一查询|用户)=Σ(下一查询类型){P(下一查询类型|当前会话,聊天机器人的最后响应,用户)*P(下一查询|下一查询类型,当前会话,聊天机器人的最后响应,用户)} (3)
在IME界面中被键入任何字符之前,从索引集合702中查找到的排序分数最高的多个候选下一查询可以被提供在IME界面中。
尽管在LTR模型中是使用GBDT分数来计算下一查询的分数,但是也可能使用BM25分数代替GBDT分数来计算下一查询的分数,以便以简化的实现方式更快地进行处理,其中由于BM25是根据匹配文档与给定的搜索查询之间的相关性来对匹配文档进行排序的,BM25能提供良好的性能。
图8示出了根据一个实施例的IME系统的一部分的示例性结构800。
以日文IME为例,基本功能是根据给定的假名序列提供最合理的日文汉字序列。该IME系统包括基本词典806,合成词典808,n-POS模型810和n-元语言模型812。
在一些实现中,基于n-POS模型810来构建IME系统的示例性假名-日文汉字转换部800,其中POS代表词性,如名词、动词、形容词等,用于对词进行分类。为实现统计的假名-日文汉字转换,可以通过以下公式根据输入的假名序列x来预测最优的混合假名-日文汉字序列
在这里,P(ci|ci-1)是二元POS标签模型;P(wi|ci)是POS到词模型,从ci至词wi;P(ri|wi)是发音模型,从wi到它的假名发音ri。例如,假设x是“こころをいためる”,y可以取值“心を痛める”或者“心を炒める”。
·对于y=“心を痛める”,P(x|y)取值为P(ri|wi)的乘积:
P(x|y)=P(“こころをいためる”|“心を痛める”)=P(こころ|心)*P(を|を)*P(いためる|痛める)。
·对于y=“心を痛める”,P(y)取值为为P(wi|ci)P(ci|ci-1)的乘积:
P(y)=P(w1=心|c1=名词)*P(c1=名词|c0=””)*P(w2=を|c2=助词)*P(c2=助词|c1=名词)*P(w3=痛める|c3=动词)*P(c3=动词|c2=助词)。
为了训练n-POS模型,TB级的日文网络数据804可以被用作训练数据。可以对该训练数据进行词分割、POS标记和假名发音注释。然后,基于最大似然估计来估计在公式(4)至(6)中列出的这些概率。
基本词典806包含具有最高频率的日文词(如助词、形容词、副词、动词、名词等)和最频繁使用的习语。基本词典806中的条目的形式是:<wi i+m,ci i+m,ri i+m>。这里,wi i+m代表m+1个词(wi...wi+m)。一个词wi恰好对应于一个POS标签ci和一个假名序列ri,该假名序列作为其发音。具有多个合理的POS序列和/或假名发音的一个词序列将作为不同的条目被单独存储。
合成词典808包含新词、搭配词和谓词-论元结构的短语。可以在数据挖掘之前进行依赖关系解析。例如,可以用现有的基于块的日文依赖关系解析器解析网络句子。合成词典808可以提供最重要的上下文信息,例如谓词和论元之间的强约束。
具有三种概率的n-POS模型810可被用于基于词典从一个给定的输入的假名序列x搜索一个或多个最佳的y。
除了n-POS模型810之外或代替n-POS模型810,可以训练表面词级的n元语言模型812。在一个实现中,该模型812与n-POS模型810的唯一区别是P(Y)的因式分解:
在一些实现中,可以通过移动设备和云之间的无线网络通信来构建云假名-日文汉字转换服务。基本词典806、合成词典808和n-POS模型810可以被安装在客户端设备上,以用于使用公式(4)的假名-日文汉字解码。n元语言模型812,以不同于n-POS模型810的方式运行,其可以实现在云端。然后,在云端生成的m个最好的日文汉字候选可以被合并到本地客户端设备生成的n个最好的日文汉字候选。可在合并之前去除重复的日文汉字候选。
图9示出了根据一个实施例的用于训练用户敏感的词/短语语言模型的示例性过程900。
用户日志数据902与用户日志数据402相同。在904,对于<查询,响应>对形式的用户日志数据的查询和响应,执行词分割和短语分割处理。在906,为每个用户收集训练数据。例如,在训练数据收集过程400中,为每个用户收集906处的训练数据。
在908,为每个用户收集的所有训练数据可以被合并。并且,在910,合并的训练数据可被用于训练通用的用户敏感的n元词/块级别的语言模型,该模型被用于基于已经键入的部分句子来预测下一词和/或短语,如图3H中的IME界面中所示。通用的语言模型可用于覆盖长尾用户,即不具备大规模日志数据的用户。
在一些实现中,四元词/块级别的语言模型可以通过使用公式(7)进行训练。可以基于最大似然估计来估计在公式(7)中列出的概率。
在912进行判断“某用户的训练数据量>阈值”。该阈值的一个例子可以是10000个<查询,响应>对。如果该判断结果是肯定的,则意味着该某用户已经与聊天机器人进行了大量数据的通信,可以为该某用户基于该用户的训练数据来训练特定的n元词/块级别的语言模型。该通用模型可被表示为Pall。该特定模型可被表示为Puser
这两种n元词/块级别的语言模型可以被联合使用,以便基于已键入的词/短语或部分句子(在以下公式中被称为“历史”)来确定下一词(wi)/短语(pi)的分数:
P(wi|历史)=λ*Pall(wi|历史)+(1-λ)*Puser(wi|历史) (8)
P(pi|历史)=λ*Pall(pi|历史)+(1-λ)*Puser(pi|历史) (9)
这里,λ是预定义的值,例如取值0.8。
图10示出了根据一个实施例的示例性IME系统1000。IME系统1000包括下一查询预测模块1010,下一个词/短语预测模块1020和假名-日文汉字转换模块1030。下一查询预测模块1010可以通过图7所示的LTR模型706来实现。下一个词/短语预测模块1020可以通过在图9的910和914训练的n元词/块级别的语言模型来实现。假名-日文汉字转换模块1030可以通过图8所示的n-POS模型810和/或n元语言模型812来实现。应该理解,更多或更少的模块可以被包括在IME系统1000中,并且这些模块中的一些部件可以在客户端计算设备处实现,如终端设备120,或者在服务器计算设备处实现,如聊天机器人服务器130或者其他服务器。
图11示出了根据一个实施例的用于在用户和聊天机器人之间的对话会话期间促进信息输入的示例性过程1100。
在1110,IME的调用指令被接收。例如,当对话界面中的输入区域326被用户点击时,输入区域326可以被激活,并且IME可以被调用。
在1112,确定当前对话会话是否存在聊天机器人的最后响应。例如,如果此时是当前会话的开始,则可能不存在聊天机器人的最后响应。
在1114,如果在1112的判断结果是否定的,可以基于当前用户的简档、多个用户的简档、应用推荐信息、闲聊策略等之中的至少一个,为用户预测候选下一查询。当前用户的简档可以包括指示当前用户的统计兴趣的信息,例如,当前用户的简档可以包括用户的使用频率高的查询或应用。多个用户的简档可以包括指示多个用户的统计兴趣的信息,例如,可以基于多个用户的简档来确定所有用户或大量用户的使用频率高的查询或应用。应用推荐信息可以是被推荐的应用的触发词。通过这种方式,IME可以成为向用户推荐应用或功能的入口。闲聊可以是一些问候,比如你好吗,你在做什么,天气不错,等等。
在1116,如果在1112的判断结果是肯定的,可以基于该聊天机器人的最后的响应和/或当前对话会话为该用户预测候选下一查询。应该理解,尽管已经具体地描述了是基于聊天机器人的最后响应和当前对话会话来预测该候选下一查询,但本公开不限于此,并且合理的变形是可适用的,例如,也可以基于聊天机器人的最后响应来预测候选下一查询,而不考虑当前会话。
在1118,在没有字符(如假名或英文字符)被键入到IME界面的情况下,候选查询被呈现在IME界面中。
在1120,确定用户输入是对在IME界面中提供的候选查询中的一个的选择,还是字符串。
在1122中,如果确定用户输入是对一个候选查询的选择,则提供所选择的候选查询作为IME的输出,例如,在对话界面的输入区域326中提供所选择的候选。
在1124中,如果确定用户输入是字符串,例如假名串或英文字符串,则在IME界面中提供对应于该字符串的候选词和/或短语。
在1126,用户从候选词和/或短语中做出选择之后,所选择的词和/或短语被IME识别。例如,所识别的词和/或短语可以被提供在对话界面的输入区域326,或者仍然呈现在IME界面中。
在1128,可以基于所识别的现有的词和/或短语(也可称之为键入的部分句子)来预测候选下一词和/或短语。候选下一词和/或短语的预测可以由下一个词/短语预测模块1020来执行。然后,在1130,在IME界面中提供该候选下一词和/或短语。
在1132中,确定用户输入是对该IME界面中提供的候选下一词和/或短语中的一个的选择,还是在IME界面中被键入的字符串。如果确定用户输入是对一个候选词或短语的选择,该过程进行到1126。如果确定用户输入是字符串,如假名串或英文字符串,该过程进行到1124。
应该理解,过程1100只是说明性的而不限制本公开的范围。该操作不一定以所示的特定顺序执行,并且该过程中有可能存在更多或更少的操作。
尽管在以上实施例中,结合图1到11以日文IME为例描述了该IME系统,但应该理解,本公开提出的技术不限于任何特定语言。本公开中所提出的技术不仅可以适用于非英文语言的IME,例如日文、中文和韩文,而且也可以适用于英文语言等的IME。例如,候选下一查询预测和候选下一个词和/或短语预测可以适用于英文IME。
尽管该IME系统是在用户和聊天机器人之间的对话的情形下被描述的,但是应该理解,该IME也可以适用于其他对话情形。例如,该IME也可以适用于用户之间的对话的情形,如通过使用即时消息(IM)工具的用户之间的对话情形。在这个例子中,在本公开的各种实施例中聊天机器人被替换为对话中的另一用户。由于聊天机器人的AI聊天有意模仿真实的人,并且实际上通常是使用真实的人的对话数据对该聊天机器人进行训练的,因此,使用在聊天机器人系统中的用户日志数据训练的IME也可以适用于用户之间的对话。例如,用于长尾用户的通用模型可以等同地用于真实的人聊天的情形。另一方面,代替AI聊天的用户日志数据或除了AI聊天的用户日志数据之外,来自真实的人对话的情形的日志数据也可以被用于训练IME。
应该理解,该IME可以用各种方式来实现。在一些实现中,该IME系统可以被实现为轻量AI系统,其可以执行在这里描述的IME的功能。在另一些实现中,该IME系统可以通过利用聊天机器人服务器的一些功能来实现。例如,该IME系统可以通过将聊天机器人的最后响应作为查询来调用该聊天机器人,以便允许聊天机器人查找响应候选,作为该IME将要提供给用户的候选查询。应该理解,可以对本公开进行合理的变形,并且该合理的变形在本公开的范围内。
图12示出了用于在对话会话中促进信息输入的示例性过程1200。
在1210,在对话会话期间呈现IME界面。在1220,在有字符被输入到IME界面中之前,在IME界面中提供一个或多个候选消息。
应该理解,操作1210和1220不限于特定的顺序,如操作1210被首先执行,而操作1220被随后执行。例如,在一些实现中,在IME被激活的最开始,该IME界面可以与已经被提供在该IME界面中的候选消息一起被呈现。然后,在一个消息被用户通过该IME输入并被在该对话会话中发送,而另一个消息被另一方在该对话会话中发送的过程中,该IME可以保持处于活动状态并且其界面在该对话会话期间被呈现。然后,当在该对话会话中接收到来自另一方的响应时,在有字符被输入到该IME界面中之前,该IME可以自动在IME界面中提供一个或多个候选消息。应该理解,这里的字符是指与语言相关的字符,如英文字母和日文假名,其用来被转换成将由用户输入的相应文本。
在一些实现中,响应于在对话会话中的输入意图来呈现IME界面。例如,可以通过用于该对话会话的输入区域的激活来识别或指示该输入意图。可以通过IME的调用来识别该输入意图。
在一些实现中,对一个或多个候选消息中的一个候选消息的选择可以被IME接收。所选择的候选消息可以被提供在用于该对话会话的输入区域中。
在一些实现中,可以基于用户输入来提供第一词和/或短语,其也可以被称为部分句子。可以基于第一词和/或短语或者历史部分句子在IME界面中提供一个或多个候选第二词和/或短语。
在一些实现中,可以基于IME的当前用户的统计兴趣、多个用户的统计兴趣、应用推荐信息、诸如你好吗、天气不错等闲聊策略、由对话会话的另一方输出的最后的消息、对话会话的消息流中的至少一个来预测一个或多个候选消息。应该理解,该对话会话中可能存在两方或多方。在一些实现中,该对话会话的另一方是聊天机器人。在一些实现中,该对话会话的另一方是其他用户。
在一些实现中,基于由另一方输出的最后消息和当前对话会话中的至少一个,来预测至少一个下一消息类型。基于至少一个下一查询类型以及由聊天机器人输出的最后消息和当前会话对话中的至少一个,来预测一个或多个候选查询。
在一些实现中,通过使用通用分类器和用户特定分类器中的至少一个来预测该至少一个下一查询类型。通过使用多个用户(如所有用户或者大量用户)的对话日志数据来训练通用分类器。通过使用特定用户的对话日志数据来训练用户特定分类器。因此,用户特定分类器可以更精确地跟踪特定用户的兴趣。
在一些实现中,至少一个下一查询类型包括情感反馈、深入当前话题、从当前话题跳跃到新话题的话题扩展、以及与当前对话会话相关的特定需求中的至少一个。
在一些实现中,通过使用通用语言模型和用户特定语言模型中的至少一个,基于第一词和/或短语来预测一个或多个候选第二词和/或短语。通过使用多个用户(如所有用户或者大量用户)的对话日志数据来训练通用语言模型。通过使用特定用户的对话日志数据来训练用户特定语言模型。因此,用户特定分类器可以更精确地跟踪特定用户的使用习惯。
图13示出了用于在对话会话中促进信息输入的示例性装置1300。装置1300包括被配置为在对话会话期间呈现IME界面的呈现模块1310,以及被配置为在有字符被输入到IME界面之前,在该IME界面中提供一个或多个候选消息的提供模块1320。
在一些实现中,呈现模块1310被配置为响应于在对话会话中的输入意图来呈现IME界面。
在一些实现中,装置1300进一步包括被配置为接收对一个或多个候选消息中的一个候选消息的选择的接收模块。提供模块1320被配置为在用于对话会话的输入区域中提供所选择的候选消息。
在一些实现中,提供模块1320被配置为基于用户输入来提供第一个词和/或短语,并且基于该第一词和/或短语在该IME界面中提供一个或多个候选第二词和/或短语。
在一些实现中,提供模块1320被配置为基于该IME的当前用户的统计兴趣、多个用户的统计兴趣、应用推荐信息、闲聊策略、由对话会话的另一方输出的最后的消息、对话会话的消息流中的至少一个来预测一个或多个候选消息。
在一些实现中,提供模块1320被配置为基于由另一方输出的最后消息和当前对话会话中的至少一个,来预测至少一个下一消息类型,并且基于至少一个下一查询类型以及由另一方输出的最后消息和当前会话对话中的至少一个,来预测一个或多个候选查询。
在一些实现中,提供模块1320被配置为通过使用通用分类器和用户特定分类器中的至少一个来预测下一查询类型。在一些实现中,下一查询类型包括情感反馈、深入当前话题、从当前话题跳跃到新话题的话题扩展、和与当前对话会话相关的特定需求中的至少一个。
在一些实现中,提供模块1320被配置为通过使用通用语言模型和用户特定语言模型中的至少一个,基于该第一词和/或短语来预测一个或多个候选第二词和/或短语。
应该理解,装置1300还可以包括被配置为用于执行根据以上结合图1-12所述的各实施例的任何操作的任何其它模块。
图14示出根据一个实施例的示例性计算系统。
系统1400可以包括一个或多个处理器1410。系统1400可以进一步包括与该一个或多个处理器1410连接的存储器1420。
存储器1420可以存储计算机可执行指令,该计算机可执行指令在被执行时,使得该一个或多个处理器1410在对话会话期间呈现IME界面,并且在有字符被键入到该IME界面中之前,在该IME界面中提供一个或多个候选消息。
应该理解,该计算机可执行指令在被执行时,使得该一个或多个处理器1410执行根据以上结合图1-13所述实施例的过程的任何操作。
本公开的实施例可以在非易失性计算机可读介质中实现。该非易失性计算机可读介质包括指令,该指令被执行时使得一个或多个处理器执行根据上述实施例的过程的任何操作。
应该理解,以上所描述的方法中的所有操作都仅仅是示例性的,本公开不仅限于该方法中的任何操作或者这些操作的执行顺序,并且应当涵盖与之具有相同或相似概念的所有其他等同物。
还应当理解,以上所描述的装置中的所有模块可以以各种方式来实现。这些模块可被实现为硬件、软件、或两者的组合。此外,任何这些模块都可以在功能上进一步被划分为子模块或被组合在一起。
结合各种装置和方法已经对处理器进行了描述。这些处理器可以使用电子硬件、计算机软件或其两者任意组合来实现。至于这些处理器是实现为硬件还是软件,取决于特定的应用以及施加在系统上的整体设计约束。举例来说,本公开提供的处理器、处理器的任何部分、或处理器的任何组合可以利用微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、门控逻辑、离散硬件电路、以及被配置成执行本公开所描述的各种功能的其他合适的处理组件来实现。本公开提供的处理器、处理器的任何部分、或处理器的任何组合的功能可以利用由微处理器、微控制器、DSP或其他合适的平台执行的软件来实现。
软件应当被宽泛地解释成意指指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、执行线程、流程、功能等。该软件可驻留在计算机可读介质上。计算机可读介质可以包括,例如,诸如磁存储设备(如硬盘,软盘,磁条)、光盘、智能卡、闪存设备、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器、或可移动磁盘的存储器。尽管在本公开中的各个方面中存储器被示为与处理器是分开的,但对于处理器来说,存储器可以在其内部(例如,高速缓存或寄存器)。
提供以上描述是为了使任何本领域技术人员均能实践所描述的各个方面。对于这些方面的各种修改对于本领域技术人员是显而易见的,此处定义的一般原理适用于其他方面。因此,权利要求并非旨在被限定于以上所描述的各个方面。本公开描述的各个方面中包含的各要素的为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案以引用的方式被明确添加在此,并且旨在被权利要求所涵盖。

Claims (20)

1.一种用于在对话会话中促进信息输入的方法,包括:
在所述对话会话期间呈现输入法编辑器(IME)界面;
在有字符被输入到所述IME界面之前,在所述IME界面中提供一个或多个候选消息。
2.根据权利要求1所述的方法,其中,所述呈现IME界面包括响应于所述对话会话中的输入意图呈现所述IME界面。
3.根据权利要求2所述的方法,其中,响应于用于所述对话会话的输入区域被激活,或者响应于所述IME被调用,识别所述输入意图。
4.根据权利要求1所述的方法,进一步包括:
接收对所述一个或多个候选消息中的一个的选择;以及
在用于所述对话会话的输入区域中提供所选择的候选消息。
5.根据权利要求1所述的方法,进一步包括:
基于用户输入提供第一词和/或短语;
基于所述第一词和/或短语,在所述IME界面中提供一个或多个候选第二词和/或短语。
6.根据权利要求1所述的方法,进一步包括:
基于所述IME的当前用户的统计兴趣、多个用户的统计兴趣、应用推荐信息、闲聊策略、由所述对话会话的另一方输出的最后消息、所述对话会话的消息流中的至少一个,预测所述一个或多个候选消息。
7.根据权利要求6所述的方法,其中,所述对话会话的所述另一方是聊天机器人。
8.根据权利要求7所述的方法,其中所述预测一个或多个候选消息包括:
基于由所述聊天机器人输出的所述最后消息和所述当前对话会话中的至少一个,预测至少一个下一消息类型;以及
基于所述至少一个下一查询类型以及由所述聊天机器人输出的所述最后消息和所述当前对话会话中的至少一个,预测所述一个或多个候选查询。
9.根据权利要求8所述的方法,其中,所述预测至少一个下一查询类型包括通过使用通用分类器和用户特定分类器中的至少一个,预测所述至少一个下一查询类型。
10.根据权利要求8所述的方法,其中,所述至少一个下一查询类型包括情感反馈、深入当前话题、从当前话题跳跃到新话题的话题扩展、和与所述当前对话会话相关的特定需求中的至少一个。
11.根据权利要求5所述的方法,进一步包括:
通过使用通用语言模型和用户特定语言模型中的至少一个,基于所述第一词和/或短语预测所述一个或多个候选第二词和/或短语。
12.一种用于在对话会话中促进信息输入的装置,包括:
呈现模块,被配置为在所述对话会话期间呈现输入法编辑器(IME)界面;以及
提供模块,被配置为在有字符被输入到所述IME界面中之前,在所述IME界面中提供一个或多个候选消息。
13.根据权利要求12所述的装置,其中,所述呈现模块被配置为响应于在所述对话会话中的输入意图,呈现所述IME界面。
14.根据权利要求12所述的装置,进一步包括:
接收模块,被配置为接收对所述一个或多个候选消息中的一个的选择;以及
所述提供模块被配置为在用于所述对话会话的输入区域中提供所选择的候选消息。
15.根据权利要求12所述的装置,其中:
所述提供模块被配置为基于用户输入提供第一个词和/或短语,并且基于所述第一词和/或短语在所述IME界面中提供一个或多个候选第二词和/或短语。
16.根据权利要求12所述的装置,其中,所述提供模块被配置为基于所述IME的当前用户的统计兴趣、多个用户的统计兴趣、应用推荐信息、闲聊策略、由所述对话会话的另一方输出的最后消息、所述对话会话的消息流中的至少一个,预测所述一个或多个候选消息。
17.根据权利要求16所述的装置,其中,所述提供模块被配置为:
基于由所述另一方输出的所述最后消息和所述当前对话会话中的至少一个,预测至少一个下一消息类型;以及
基于所述至少一个下一查询类型以及由所述另一方输出的所述最后消息和所述当前对话会话中的至少一个,预测所述一个或多个候选查询。
18.根据权利要求17所述的装置,其中,所述提供模块被配置为通过使用通用分类器和用户特定分类器中的至少一个,预测所述下一查询类型。
19.根据权利要求17所述的装置,其中,所述下一查询类型包括情感反馈、深入当前话题、从当前话题跳跃到新话题的话题扩展、和与所述当前对话会话相关的特定需求中的至少一个。
20.一种计算机系统,包括:
一个或多个处理器;和
存储器,其存储计算机可执行指令,所述计算机可执行指令被执行时,使得所述一个或多个处理器:
在对话会话期间呈现输入法编辑器(IME)界面;以及
在有字符被键入到所述IME界面中之前,在所述IME界面中提供一个或多个候选消息。
CN201780044770.8A 2017-04-25 2017-04-25 输入法编辑器 Pending CN109478187A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/081882 WO2018195783A1 (en) 2017-04-25 2017-04-25 Input method editor

Publications (1)

Publication Number Publication Date
CN109478187A true CN109478187A (zh) 2019-03-15

Family

ID=63918080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780044770.8A Pending CN109478187A (zh) 2017-04-25 2017-04-25 输入法编辑器

Country Status (4)

Country Link
US (1) US20200150780A1 (zh)
EP (1) EP3577579A4 (zh)
CN (1) CN109478187A (zh)
WO (1) WO2018195783A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147359A (zh) * 2019-12-31 2020-05-12 珠海市小源科技有限公司 适用于多通道的消息转换方法、装置及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108075959B (zh) * 2016-11-14 2021-03-12 腾讯科技(深圳)有限公司 一种会话消息处理方法和装置
US11347966B2 (en) * 2018-07-20 2022-05-31 Samsung Electronics Co., Ltd. Electronic apparatus and learning method of electronic apparatus
US11238226B2 (en) * 2018-11-15 2022-02-01 Nuance Communications, Inc. System and method for accelerating user agent chats
US11100560B2 (en) * 2019-03-19 2021-08-24 Stitch Fix, Inc. Extending machine learning training data to generate an artificial intelligence recommendation engine
CN111241124B (zh) * 2020-01-07 2023-10-03 百度在线网络技术(北京)有限公司 一种需求模型构建方法、装置、电子设备和介质
US11783812B2 (en) * 2020-04-28 2023-10-10 Bloomberg Finance L.P. Dialogue act classification in group chats with DAG-LSTMs
US11657814B2 (en) * 2020-10-08 2023-05-23 Harman International Industries, Incorporated Techniques for dynamic auditory phrase completion
CN114357511A (zh) * 2021-12-30 2022-04-15 北京鼎普科技股份有限公司 一种对文档关键内容作标记的方法、装置和用户终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262623A (zh) * 2006-11-15 2011-11-30 富士通株式会社 字符输入编辑方法及设备
CN103026318A (zh) * 2010-05-21 2013-04-03 谷歌公司 输入法编辑器
CN103080873A (zh) * 2010-04-12 2013-05-01 谷歌公司 用于输入法编辑器的扩展框
CN105068661A (zh) * 2015-09-07 2015-11-18 百度在线网络技术(北京)有限公司 基于人工智能的人机交互方法和系统
CN106383590A (zh) * 2016-09-06 2017-02-08 珠海格力电器股份有限公司 一种智能输入的方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012159249A1 (en) * 2011-05-20 2012-11-29 Microsoft Corporation Advaced prediction
CN110488991A (zh) * 2012-06-25 2019-11-22 微软技术许可有限责任公司 输入法编辑器应用平台
CN104412212A (zh) * 2012-06-29 2015-03-11 微软公司 输入法编辑器
CN102866990B (zh) * 2012-08-20 2016-08-03 北京搜狗信息服务有限公司 一种主题对话方法和装置
GB201412996D0 (en) * 2014-07-22 2014-09-03 Simple Matters Ltd Chat system
US9883358B2 (en) * 2015-05-08 2018-01-30 Blackberry Limited Electronic device and method of determining suggested responses to text-based communications
US10515086B2 (en) * 2016-02-19 2019-12-24 Facebook, Inc. Intelligent agent and interface to provide enhanced search
CN109074354B (zh) * 2016-07-22 2024-04-02 荣耀终端有限公司 展示候选项的方法和终端设备
US10416846B2 (en) * 2016-11-12 2019-09-17 Google Llc Determining graphical element(s) for inclusion in an electronic communication
US20180210872A1 (en) * 2017-01-23 2018-07-26 Microsoft Technology Licensing, Llc Input System Having a Communication Model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262623A (zh) * 2006-11-15 2011-11-30 富士通株式会社 字符输入编辑方法及设备
CN103080873A (zh) * 2010-04-12 2013-05-01 谷歌公司 用于输入法编辑器的扩展框
CN103026318A (zh) * 2010-05-21 2013-04-03 谷歌公司 输入法编辑器
CN105068661A (zh) * 2015-09-07 2015-11-18 百度在线网络技术(北京)有限公司 基于人工智能的人机交互方法和系统
CN106383590A (zh) * 2016-09-06 2017-02-08 珠海格力电器股份有限公司 一种智能输入的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张文德: "《网络信息检索》", 31 August 2002 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147359A (zh) * 2019-12-31 2020-05-12 珠海市小源科技有限公司 适用于多通道的消息转换方法、装置及存储介质
CN111147359B (zh) * 2019-12-31 2021-10-29 珠海市小源科技有限公司 适用于多通道的消息转换方法、装置及存储介质

Also Published As

Publication number Publication date
EP3577579A4 (en) 2020-07-22
US20200150780A1 (en) 2020-05-14
WO2018195783A1 (en) 2018-11-01
EP3577579A1 (en) 2019-12-11

Similar Documents

Publication Publication Date Title
CN109478187A (zh) 输入法编辑器
US11599729B2 (en) Method and apparatus for intelligent automated chatting
US11966986B2 (en) Multimodal entity and coreference resolution for assistant systems
US11586810B2 (en) Generating responses in automated chatting
US11580350B2 (en) Systems and methods for an emotionally intelligent chat bot
CN110325982B (zh) 在会话中提供多媒体文档的摘要
JP6505903B2 (ja) 会話型相互作用システムの検索入力におけるユーザ意図を推定する方法およびそのためのシステム
US20200395008A1 (en) Personality-Based Conversational Agents and Pragmatic Model, and Related Interfaces and Commercial Models
CN109844708B (zh) 通过聊天机器人推荐媒体内容
KR102429833B1 (ko) 지능형 자동 어시스턴트
CN105074816B (zh) 促进口述自然语言接口的开发
US11729120B2 (en) Generating responses in automated chatting
US8972265B1 (en) Multiple voices in audio content
US20240020942A1 (en) Providing emotional care in a session
US20210158789A1 (en) Providing personalized songs in automated chatting
CN109643325A (zh) 在自动聊天中推荐朋友
JP7204801B2 (ja) ニューラルネットワークに基づくマンマシンインタラクション方法、装置、及び媒体
CN115082602B (zh) 生成数字人的方法、模型的训练方法、装置、设备和介质
Reitmaier et al. Opportunities and challenges of automatic speech recognition systems for low-resource language speakers
CN109313649B (zh) 用于聊天机器人的基于语音的知识共享的方法和装置
CN110431547A (zh) 电子设备和控制方法
WO2020116193A1 (ja) 情報処理装置、情報処理方法、およびプログラム
Chen Towards modeling collaborative task oriented multimodal human-human dialogues
Hady et al. Unsupervised Active Learning of CRF Model for Cross Lingual Information Extraction.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190315