CN112905735A - 用于自然语言处理的方法和设备 - Google Patents
用于自然语言处理的方法和设备 Download PDFInfo
- Publication number
- CN112905735A CN112905735A CN202010424480.XA CN202010424480A CN112905735A CN 112905735 A CN112905735 A CN 112905735A CN 202010424480 A CN202010424480 A CN 202010424480A CN 112905735 A CN112905735 A CN 112905735A
- Authority
- CN
- China
- Prior art keywords
- sentence
- input sentence
- reply
- similarity
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000003058 natural language processing Methods 0.000 title claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 79
- 238000004458 analytical method Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 11
- 238000000638 solvent extraction Methods 0.000 claims 2
- 230000015654 memory Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 16
- 230000000877 morphologic effect Effects 0.000 description 8
- 241000209094 Oryza Species 0.000 description 4
- 235000007164 Oryza sativa Nutrition 0.000 description 4
- 201000006549 dyspepsia Diseases 0.000 description 4
- 208000024798 heartburn Diseases 0.000 description 4
- 235000009566 rice Nutrition 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000004615 ingredient Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 206010012289 Dementia Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- 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/3329—Natural language query formulation or dialogue systems
-
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- 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/02—User-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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
公开了一种用于自然语言处理的方法和设备。所述方法包括:确定用户的输入句子与选择的第一数据库查询句子之间的第一相似度,基于确定第一相似度不满足第一阈值,确定比输入句子的全部少的输入句子的部分与选择的第二数据库查询句子之间的第二相似度,和响应于第二相似度满足第二阈值,输出与第二数据库查询句子相应的回复句子作为对输入句子的回复。
Description
本申请要求于2019年11月19日在韩国知识产权局提交的第10-2019-0148984号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
技术领域
下面的描述涉及用于自然语言处理的方法和设备。
背景技术
聊天机器人系统是用于生成与用户输入的句子相应的回复句子的系统。聊天机器人系统可包括基于检索模型的聊天机器人系统和基于生成(生成式)模型的聊天机器人系统。由于基于检索模型的聊天机器人系统基于存储在数据库中的数据,因此难以输出适合于数据库中尚未包括的输入句子或短语的回复句子。基于生成模型的聊天机器人系统生成各种回复。然而,因为基于生成模型的聊天机器人系统可能生成语法错误的回复或在不同时间对相同的查询输入生成不同的回复,所以基于生成模型的聊天机器人系统通常是不一致的。
发明内容
提供本发明内容以简化的形式介绍在以下具体实施方式中进一步描述的构思的选择。本发明内容不意在确定要求权利的主题的关键特征或必要特征,也不意在用于帮助确定要求权利的主题的范围。
在一个总体方面,一种处理器实现的方法包括:确定用户的输入句子与选择的第一数据库查询句子之间的第一相似度,和基于确定第一相似度不满足第一阈值,确定比输入句子的全部少的输入句子的部分与选择的第二数据库查询句子之间的第二相似度,和响应于第二相似度满足第二阈值,输出与第二数据库查询句子相应的回复句子作为对输入句子的回复。
所述方法还可包括:将输入句子编码为第一特征向量,其中,确定第一相似度的步骤可包括:确定第一特征向量与第一数据库查询句子之间的相似度,第一数据库查询句子是存储在数据库中的多个查询句子特征向量之中的存储在数据库中的第一查询句子特征向量。
所述方法还可包括:基于确定第一相似度不满足第一阈值,将输入句子的所述部分编码为第二特征向量,其中,确定第二相似度的步骤可包括:确定第二特征向量与第二数据库查询句子之间的相似度,第二数据库查询句子是存储在数据库中的第二查询句子特征向量。
输出与第二数据库查询句子相应的回复句子的步骤可包括:对第二查询句子特征向量进行解码以获得回复句子。
输入句子的所述部分可以是包括在输入句子中的多个成分中的一个成分。
输入句子的所述部分可以是包括在输入句子中的作为所述一个成分的动词。
输入句子的所述部分可以是基于多种任务的类型中的与输入句子相应的任务的类型而选择的句子成分。
所述多种任务的类型可包括:聊天机器人类型和检索类型。
用于确定输入句子的所述部分的输入句子的分配可基于对输入句子执行的词素分析。
所述方法还包括:基于第一相似度满足第一阈值,输出与第一查询句子相应的回复句子作为对输入句子的回复。
所述方法还包括:当第二相似度不满足第二阈值时,使用生成模型生成与输入句子相应的回复句子,并且输出生成的回复句子。
用户的输入句子可从用户说出的语音或用户输入的文本数据获取。
在一个总体方面,非暂时性计算机可读存储介质存储指令,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行在此描述的所有处理中的一个或多个或它们的任意组合。
在一个总体方面,一种处理器实现的方法包括:从包括在用户的输入句子中的所有成分中选择成分;确定选择的成分与选择的数据库存储的查询句子之间的相似度;和基于相似度是否满足阈值,选择性地输出与数据库存储的查询句子相应的回复句子作为对输入句子的回复。
选择成分的步骤可包括:选择与正在处理输入句子的任务的类型相应的成分,以选择性输出回复句子作为对输入句子的回复。
选择与任务的类型相应的成分的步骤可包括:从至少包括聊天机器人类型和检索类型的多种任务类型之中确定任务的类型,并且基于确定任务的类型的结果,在输入句子的名词与动词之间进行选择以作为选择的成分。
选择成分的步骤可包括:对输入句子执行词素分析;和基于执行的词素分析的结果选择成分。
所述方法还可包括:当相似度不满足阈值时,使用生成模型生成与输入句子相应的回复句子,并且输出生成的回复句子作为输入句子的回复。
所述的方法还可包括:将成分编码为第一特征向量,其中,确定相似度的步骤可包括:确定第一特征向量与存储在数据库中的多个成分特征向量之中的存储在数据库中的成分特征向量之间的相似度。
所述方法还可包括:基于输入句子的编码结果与选择的存储的数据库查询编码结果之间的初始相似度确定是否满足初始阈值,确定是否执行成分的选择、相似度的确定和选择性输出。
当相似度满足阈值时,选择性输出与数据库查询句子相应的回复句子的步骤包可括:对第一特征向量进行解码并输出解码的第一特征向量作为回复句子。
在一个总体方面,一种设备包括:一个或多个处理器,被配置为:确定用户的输入句子与选择的第一数据库查询句子之间的第一相似度;和基于确定第一相似度不满足第一阈值,确定比输入句子的全部少的输入句子的部分与选择的第二数据库查询句子之间的第二相似度,和响应于第二相似度满足第二阈值,输出与第二数据库查询句子相应的回复句子作为对输入句子的回复。
输入句子的所述部分可以是包括在输入句子中的多个成分中的一个成分。
输入句子的所述部分可以是包括在输入句子中的作为所述一个成分的动词。
输入句子的所述部分可以是基于多种任务的类型中的与输入句子相应的任务的类型而选择的句子成分。
所述多种任务的类型可包括:聊天机器人类型和检索类型。
用于确定输入句子的部分的输入句子的分配可基于对输入句子执行的词素分析。
在一个总体方面,一种设备包括:一个或多个处理器,被配置为:输出与第一数据库查询句子相应的第一回复句子,第一数据库查询句子具有满足第一阈值的与用户的输入句子的相似度;和输出与第二数据库查询句子相应的第二回复句子,第二数据库查询句子具有满足第二阈值的与输入句子的选择部分的相似度。
所述一个或多个处理器还可被配置为:在输出第一回复与输出第二回复之间进行选择,并且基于在输出第一回复与输出第二回复之间的选择,仅输出第一回复和第二回复中的一个。
所述一个或多个处理器还可被配置为:通过使用生成模型针对输入句子生成第三回复句子,并且被配置为:输出生成的第三回复句子。
所述一个或多个处理器还可被配置为:在输出第一回复、输出第二回复与输出第三回复之间进行选择,并且基于在输出第一回复、输出第二回复与输出第三回复之间的选择,仅输出第一回复、第二回复和第三回复中的一个。
所述一个或多个处理器还可被配置为:确定作为从多个数据库查询句子之中被发现与输入句子最相似的选择的第一数据库查询句子的第一数据库查询句子与输入句子的相似度是否满足第一阈值,并且被配置为:当第一数据库查询句子与输入句子的相似度不满足第一阈值时,不输出第一回复句子。
所述一个或多个处理器还可被配置为:确定作为被发现与输入句子的选择部分最相似的选择的第二数据库查询句子的第二数据库查询句子与输入句子的相似度是否满足第二阈值,并且被配置为:当第二数据库查询句子与输入句子的选择部分的相似度不满足第二阈值时,不输出第二回复句子。
所述一个或多个处理器还可被配置为:通过使用生成模型针对输入句子生成第三回复句子,并且被配置为:当第二数据库查询句子与输入句子的选择部分的相似度不满足第二阈值时,输出生成的第三回复句子。
所述一个或多个处理器还可被配置为:将输入句子编码为第一特征向量;和通过确定第一特征向量与存储在数据库中的多个查询句子特征向量之中的与存储在数据库中的第一数据库查询句子相应的第一查询句子特征向量之间的相似度,确定第一数据库查询句子与输入句子的相似度是否满足第一阈值。
所述一个或多个处理器还可被配置为:将输入句子的选择部分编码为第二特征向量;和通过确定第二特征向量与存储在数据库中的多个查询句子特征向量之中的与存储在数据库中的第二数据库查询句子相应的第二查询句子特征向量之间的相似度,确定第二数据库查询句子与输入句子的选择部分的相似度是否满足第二阈值。
输入句子的选择部分可以是包括在输入句子中的多个成分中的选择的一个成分。
输入句子的选择部分可以是包括在输入句子中的作为所述一个成分的动词。
所述一个或多个处理器还可被配置为:基于由所述一个或多个处理器执行针对输入句子执行的任务的类型,选择少于输入句子的所有成分作为输入句子的选择部分,任务的类型是至少包括聊天机器人类型和检索类型的多种任务类型之中的任务。
选择少于输入句子的所有成分的步骤可包括:在输入句子中包括动词与包括名词之间分别进行不同地选择,以确定输入句子的选择部分
从下面的具体实施方式、附图以及权利要求,其他特征和方面将是清楚的。
附图说明
图1示出根据一个或多个实施例的使用检索模型确定回复句子的示例处理。
图2和图3示出根据各自的一个或多个实施例的使用检索模型和生成模型确定回复句子的示例处理。
图4和图5示出根据各自的一个或多个实施例的确定的回复句子的示例。
图6和图7示出根据各自的一个或多个实施例的自然语言处理方法的示例。
图8示出根据一个或多个实施例的自然语言处理设备的示例。
贯穿附图和具体实施方式,除非另有描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。为了清楚、说明和方便,附图可不按比例,并且附图中的元件的相对尺寸、比例和描绘可被夸大。
具体实施方式
提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作顺序仅是示例,并不限于在此阐述的操作顺序,而是除了必须按特定顺序发生的操作之外,操作顺序可如在理解本申请的公开之后将是清楚的那样改变。此外,为了更加清楚和简明,可省略在理解本申请的公开之后已知的特征的描述,注意,省略特征及其描述也不意在承认其常识。
在此描述的特征可以以不同的形式被实现,并且不应被解释为限于在此描述的示例。相反,已提供在此描述的示例仅示出实现在理解本申请的公开之后将是清楚的在此描述的方法、设备和/或系统的许多可能的方式中的一些方式。
尽管在此可使用诸如“第一”、“第二”和“第三”的术语来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不受这些术语的限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分区分开。因此,在不脱离示例的教导的情况下,在此描述的示例中所称的第一构件、第一组件、第一区域、第一层或第一部分也可被称为第二构件、第二组件、第二区域、第二层或第二部分。
贯穿说明书,当诸如层、区域或基底的元件被描述为“在”另一元件“上”、“连接到”或“结合到”另一元件时,所述元件可直接“在”所述另一元件“上”、“连接到”或“结合到”所述另一元件,或者可存在介于它们之间的一个或多个其他元件。相反,当元件被描述为“直接在”另一元件“上”、“直接连接到”或“直接结合到”另一元件时,介于它们之间可不存在其他元件。
在此使用的术语仅用于描述各种示例,而不用于限制本公开。除非上下文另外清楚地指示,否则单数形式也意图包括复数形式。术语“包含”、“包括”和“具有”说明存在阐述的特征、数量、操作、构件、元件和/或它们的组合,但不排除存在或添加一个或多个其他特征、数量、操作、构件、元件和/或它们的组合。
除非另外定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员通常理解的含义和在理解本申请的公开之后通常理解的含义相同的含义。除非在此明确地如此定义,否则术语(诸如在通用词典中定义的术语)应被解释为具有与它们在相关领域的上下文和本申请的公开中的含义一致的含义,并且将不被解释为理想化或过于形式化的含义。
除了别的以外,具有自然语言处理的设备(在下文中,也被称为“自然语言处理设备”)确定对从用户输入的句子的回复句子,并且包括例如聊天机器人系统。当确定回复句子时,自然语言处理设备使用检索模型和/或生成模型。生成模型也可被称为生成式模型(generative model)。检索模型使用其中已经预先收集并匹配了多对查询句子和回复句子的数据库或其他资源库来检索被确定与用户的输入句子最相似的查询句子,并且输出与检索的查询句子相应的回复句子作为对输入句子的回复。作为对比,生成模型可以是机器学习训练的模型,例如,该模型以针对输入到模型的句子生成最合适的回复句子为目标已经基于大量数据进行了训练。在下文中,根据一个或多个实施例,将更详细地描述在自然语言处理设备中选择性使用一个或多个检索模型、或者选择性使用一个或多个检索模型和生成模型来确定回复句子的处理。
图1示出根据一个或多个实施例的使用检索模型确定回复句子的处理。
例如,图1示出预训练处理、索引处理和推断处理的示例。
在示例预训练处理中,编码器和解码器基于各种收集的语料库数据(corpusdata)被训练。例如,当用于学习的语料库数据是Wiki数据(诸如,来自wikidata.org的站点或由wikidata.org支持的站点)或其他公共源和/或私有源时,对话中的当前句子和下一句子可构成学习数据对。可训练编码器和解码器,使得在当前句子被输入到编码器时,编码器输出当前句子的特征向量(例如,嵌入向量)作为上下文信息,并且解码器可被训练为使用上下文信息输出下一句子。此外,当用于学习的语料库数据是问题和答案的形式时,问题和答案可构成学习数据对。同样地,使用这样的问题和答案学习数据对,可训练编码器和解码器,使得当问题被输入到编码器时,解码器输出答案。
在示例索引处理中,可执行使用预训练的编码器的嵌入向量转换。可使用/生成/更新句子数据库以存储多对查询句子和回复句子。这里,对每个查询句子,可使用被输入各个查询句子的编码器来获取嵌入向量。因此,可使用/生成/更新嵌入数据库来存储多对这样的查询嵌入向量和相应的回复句子(例如,存储的回复句子可被认为是存储的查询嵌入向量的各自的解码)。
在示例推断处理中,使用编码器将从用户输入的句子转换为输入嵌入向量。确定输入嵌入向量与存储在嵌入数据库中的多个查询嵌入向量中的每个之间的相似度。可确定与输入嵌入向量具有最高相似度的一个或多个查询嵌入向量,使得可确定与确定的查询嵌入向量相应的各个回复句子。然后,可输出确定的回复句子,作为对用户的输入句子的回复。
这样,当句子从用户被输入时,可基于完整输入句子与发现的存储在数据库中的查询句子之间的确定的相似度(例如,通过将来自编码器的输入嵌入向量与存储在嵌入数据库中的查询嵌入向量进行比较)来确定回复句子。可确定最相似的查询嵌入向量,并从最相似的查询嵌入向量确定对完整输入句子的回复句子。当由所述比较产生的相对于确定的最相似的查询嵌入向量的确定的相似度小于或不满足第一阈值时,可确定输入句子与由嵌入数据库中的查询嵌入向量表示的任何查询句子都不相似。在这种情况下,确定的回复句子将不适合作为对输入句子的回复。因此,可能需要通过基于另一标准确定相似度来从数据库检索更合适的另一回复句子,或者使用生成模型(即,生成式模型)来生成回复句子。将参照图2和图3进行相关的进一步描述。
图2和图3示出根据各自的一个或多个实施例的使用检索模型和生成模型确定回复句子的示例处理。
图2是示出在自然语言处理设备(例如,除了其他特征和功能之外具有自然语言处理的设备)中确定回复句子的处理的流程图。
在操作210中,自然语言处理设备可从用户接收输入句子。例如,输入句子可从用户说出的语音信号或用户输入的文本数据获取。自然语言处理设备可接收用户说出的语音信号并且确定输入句子。此外,自然语言处理设备可通过文本输入从用户接收输入句子。在此,应注意,关于示例或实施例使用术语“可”(例如,关于示例或实施例可包括或实现什么)表示存在包括或实现这种特征的至少一个示例或实施例,而所有的示例和实施例不限于此。
在操作220中,自然语言处理设备确定用户的完整输入句子与存储在检索模型的数据库中的多个查询句子中的每个查询句子之间的相似度。例如,自然语言处理设备可诸如基于捕获的语音的语音停顿、语调变化或其他特征分析机制来确定句子何时完成或完整。此外,在此的术语“句子”意图表示语法上完整的句子以及两个或更多个词的部分句子或短语(例如,注意“部分句子”或“句子的部分”可包括一个或多个词)。在一个示例中,相似度是(例如,如由图1的编码器生成的)完整输入句子的嵌入向量与(例如,如存储在图1的嵌入数据库中的)查询句子的嵌入向量中的每个之间的余弦相似度。在这个示例中,通过各个相似度考虑,可识别/确定具有最高相似度的第一查询句子,并且将相应的相似度确定为第一相似度。
在操作230中,自然语言处理设备确定第一相似度是否大于或满足第一阈值。当第一相似度大于或满足第一阈值时,执行操作240。当第一相似度小于或不满足第一阈值时,执行操作250。在第一相似度等于第一阈值的情况下,在一个示例中可执行操作240,或者在另一示例中可执行操作250。
在操作240中,例如,自然语言处理设备选择与嵌入数据库中的第一查询句子相应的第一回复句子,并且输出选择的第一回复句子,作为对输入句子的回复。例如,自然语言处理设备可使用第一回复句子生成人工语音并且通过扬声器输出生成的人工语音,和/或自然语言处理设备可在自然语言处理设备的显示器上以文本的形式显示第一回复句子。
在操作250中,自然语言处理设备通过对输入句子执行词素分析来提取输入句子的部分。
通过词素分析,输入句子可基于作为最小语义单元的词素进行划分,并被分成一个或多个句子成分。此外,完整句子可通过文本输入,或者还可通过翻译模型由翻译操作产生。例如,可通过词素分析将韩语输入句子 分为和这里,NNG表示普通名词,NP表示代词,JKB表示副词格标记,VA表示形容词,并且EC表示连接结尾。在韩语的另一示例中,可通过词素分析将输入句子分为 和这里,JKS表示主格标记,MAG表示一般副词,VV表示动词。
因此,包括在输入句子中的成分之一可被提取为输入句子的部分。输入句子的部分是与用于处理输入句子的任务的类型相应的句子成分。任务的类型包括例如聊天机器人类型和检索类型。在聊天机器人任务类型的情况下(例如,执行目标导向的对话或日常对话),可从包括在输入句子中的成分提取动词作为输入句子的部分。在检索任务类型的情况下(例如,使用搜索引擎),可从包括在输入句子中的成分提取名词作为输入句子的部分。因此,基于确定的将要执行或当前正在执行的任务的类型,输入句子的结果部分可包括输入句子的动词,或者输入句子的结果部分可包括输入句子的名词。
此外,可以以预定顺序(例如,基于包括在输入句子中的成分的各自的确定的存在)从包括在输入句子中的成分提取成分。作为非限制性示例,提取顺序可以是动词、名词、然后是形容词/副词,可首先从包括在输入句子中的成分提取动词。如果没有提取到动词,则可提取名词。如果没有提取到名词,则可转而提取形容词和/或副词。
在操作260中,自然语言处理设备确定用户的输入句子的部分与存储在检索模型的数据库中的多个查询句子中的每个之间的相似度。例如,相似度可以是(例如,如由图1的编码器生成的)输入句子的部分的嵌入向量与存储在嵌入数据库(诸如,在上面的图1中示出的嵌入数据库)中的每个查询句子的嵌入向量之间的余弦相似度。在这个处理中,可识别发现的具有最高相似度的第二查询句子,并且将相应的相似度确定为第二相似度。第二查询句子可最终与第一查询句子相同或不同。
在操作270中,自然语言处理设备确定第二相似度是否大于或满足第二阈值。当第二相似度大于或满足第二阈值时,执行操作280。当第二相似度小于或不满足第二阈值时,执行操作290。在第二相似度等于第二阈值的情况下,存在执行操作280的示例和存在执行操作290的示例。
在操作270中,可另外确定完整输入句子的嵌入向量和发现的第二查询句子的嵌入向量之间的第三相似度是否大于或满足第三阈值。因此,当被确定为与输入句子的部分最相似的第二查询句子与完整输入句子不充分相似时(例如,当第三相似度不满足第三阈值时),(例如,如图1的嵌入数据库中指示的)与第二查询句子相应的第二回复句子可不适合作为对完整输入句子的回复。例如,当第三相似度满足第三阈值时,执行操作280,并且当第三相似度不满足第三阈值时,执行操作290。
在操作280中,自然语言处理设备选择与数据库中的第二查询句子相应的第二回复句子,并且输出选择的第二回复句子作为对完整输入句子的回复。
在操作290中,自然语言处理设备从生成模型获取与完整输入句子相应的回复句子,其中,完整输入句子被输入到生成模型,并且生成模型输出生成的回复句子。这里,作为非限制性示例,例如,生成模型可通过对话训练数据来训练,以生成针对对话输入的对话输出。因此,例如,生成模型的针对完整输入句子的执行生成可输出到用户的回复。
参照图3,作为非限制性示例,检索模型310和320、生成模型330和选择模型340可通过自然语言处理设备(例如,通过自然语言处理设备的一个或多个处理器)来实现,自然语言处理设备将各个模型连同所有或一些相关的数据库信息存储在自然语言处理设备的存储器中。例如,自然语言处理设备的存储器可存储指令,所述指令在由一个或多个处理器执行时,配置一个或多个处理器实现在此描述的各个模型和一个或多个操作或所有操作)。诸如以上关于图1和图2讨论的那样,检索模型310被配置为通过从数据库搜索和检索与完整输入句子最相似的查询句子来确定回复句子。例如,检索模型320被配置为通过从数据库搜索和检索与输入句子的选择部分最相似的查询句子来确定回复句子。生成模型330被配置为基于完整输入句子生成与输入句子相应的回复句子。作为非限制性示例,生成模型330可以是神经网络或其他机器学习模型。选择模型340可被配置为在模型回复的任意组合中确定的各个回复句子之间(例如,在可由检索模型310和检索模型320确定的各个回复句子之间、或者在可由检索模型310、检索模型320和生成模型330确定的各个回复句子之间)进行选择。例如,根据图2的流程图,选择模型340还可根据各个模型的选择性执行、或各个回复的获取或生成来确定什么回复句子可用和/或适当。
作为示例,对于输入句子“我最喜欢年糕”,检索模型310将第一查询句子“我喜欢米糕”识别为与完整输入句子最相似的句子。在这个示例中,由于输入句子“我最喜欢年糕”与第一查询句子“我喜欢米糕”之间的第一相似度是0.694并且小于或不满足第一阈值“0.85”,因此还执行检索模型320或考虑检索模型320的相应的发现的第二查询句子结果。检索模型320将第二查询句子“最喜欢”识别为与输入句子的部分(例如,作为动词成分的“最喜欢”)最相似。由于输入句子的部分“最喜欢”与第二查询句子“最喜欢”之间的第二相似度是1.000并且大于或满足第二阈值“0.9”,因此与第二查询句子“最喜欢”相应的回复句子“我也是!”被选择为将被输出给用户的回复。
作为另一示例,对于输入句子“今天细尘似乎很严重”,检索模型310将第一查询句子“今天细尘怎么样”识别为与完整输入句子最相似的句子。在这个示例中,由于输入句子与第一查询句子之间的第一相似度是0.825并且小于或不满足第一阈值“0.85”,因此还执行检索模型320或考虑检索模型320的相应的发现的第二查询句子结果。检索模型320将第二查询句子“今天太难了”识别为与输入句子的部分(例如,作为动词成分的“似乎很严重”)最相似。由于输入句子的部分“似乎很严重”与第二查询句子“今天太难了”之间的第二相似度是0.838并且小于或不满足第二阈值“0.9”,因此还执行生成模型330或考虑生成模型330的回复句子结果。生成模型330生成与输入句子“今天细尘似乎很严重”相应而生成的回复句子“戴上口罩”作为将被输出到用户的回复。尽管图2的流程图示出检索模型320和生成模型330的选择性执行,但是检索模型320和生成模型330中的一个或两个可与检索模型310的执行并行执行,并且选择模型340可如上所述地进行操作(诸如,针对与检索模型310和检索模型320的结果以及生成模型330的生成的回复,确定获取或使用哪个回复句子,以输出对用户的输入句子的回复)。在一个示例中,检索模型310、检索模型320和生成模型330中的两个或更多个可使用相同的编码器(例如,图1的编码器)。生成模型330还可被实现为训练的解码器(例如,提供或接收图1的编码器的输出)。作为可选的或另外的示例,如在下面更详细地讨论的,可根据确定的输入句子的类型通过检索模型310、检索模型320和生成模型330中的每个来实现不同的各个编码器和/或解码器。例如,检索模型320可针对第一类型的完整输入句子使用模型的第一编码器/解码器组合,并且可针对第二类型的完整输入句子使用不同的模型的第二编码器/解码器组合。
图4和图5示出根据各自的一个或多个实施例的确定的回复句子的示例。
图4示出发现的与各个完整输入句子匹配的查询句子和回复句子、和发现的与各个输入句子的部分匹配的查询句子和回复句子的示例。为了便于描述,在图4的示例中示出选择动词成分作为输入句子的部分的情况。例如,由于数据库在实践中不会包括对所有可能的输入句子的所有可能的匹配查询句子,因此,对于输入句子“伤心,因为世界杯结束了”,数据库中可能不存在相同的存储的查询句子,而查询句子“世界杯要开始了”可被选为与完整输入句子最相似的句子。例如,使用图1的示例,嵌入数据库可存储成对的查询嵌入向量和相应的回复句子,关于完整输入句子“伤心,因为世界杯结束了”的生成的嵌入向量的数据库搜索可导致与“世界杯要开始了”相应的最相似的存储查询嵌入向量被确定。在这个示例中,输入句子“伤心,因为世界杯结束了”与发现的查询句子“世界杯要开始了”之间的相似度可能不足(例如,完整输入句子的嵌入向量与和“世界杯要开始了”相应的发现的查询嵌入向量之间的示例相似度可小于或等于或不满足第一阈值)。因此,如果将与查询句子“世界杯要开始了”相应的回复句子“我想知道这次哪个国家会赢”,作为对输入句子的回复输出,则此输出的回复将不是对输入句子“伤心,因为世界杯结束了”的适当回复。因此,查询句子“伤心”可在数据库中被发现作为与输入句子的部分“伤心”最相似的句子(例如,“伤心”的存储的查询嵌入向量可被发现与输入句子的部分“伤心”的嵌入向量最相似)。由于查询句子“伤心”与输入句子的部分“伤心”之间的相应的相似度足够(例如,大于或等于第二阈值或满足第二阈值),所以与查询句子“伤心”配对的相应的回复句子“听起来真的好伤心”被输出为对输入句子“伤心,因为世界杯结束了”的回复。通过这样,用户可体验自然的聊天机器人对话。如图4的示例中所述,当基于完整输入句子的相似度不足时,可通过使用与输入句子的部分匹配的查询句子确定回复句子来期望准确的回复。
图5示出针对多个完整输入句子中的每个确定并且基于三种不同的回复确定方法(使用第一模型方法、使用第二模型方法和使用第三模型方法)分别确定的各自的回复句子的示例,第一模型方法仅使用完整输入句子确定回复句子,在图5中被称为“基于完整句子的检索模型”,并作为与由图3的检索模型310确定的回复句子有关的示例;第二模型方法选择性确定第一模型方法的回复句子或基于提供给检索模型的完整输入句子的局部或部分的回复句子,在图5中被称为“基于完整/部分句子的检索模型”,并作为与以上关于图3所讨论的在检索模型310与检索模型320的回复句子之间进行选择有关的示例;第三模型方法选择性确定根据第二模型方法的回复句子或由被提供完整输入句子的生成模型生成的回复句子,在图5中被称为“选择模型(检索模型+生成模型)”,并作为与以上关于图3所讨论的在检索模型310、检索模型320以及生成模型330的回复句子之间进行选择有关的示例。
因为有限数量的查询句子和相应的回复句子的对存储在检索模型使用的数据库中(例如,由于嵌入数据库中的有限数量的查询嵌入向量和相应的回复句子的对),所以在数据库中可能找不到与完整输入句子的嵌入向量具有足够高相似度的存储查询嵌入向量(例如,可能仅找到较低相似的查询嵌入向量),因此,如果依靠相应的发现的较低相似的查询句子,则可能输出不适当的回复句子。
在这种情况下(例如,当这样发现的查询嵌入向量与完整输入句子的嵌入向量之间的相似度不满足预定的第一阈值时),可基于输入句子中的具有确定的或推测的“重要”含义的部分句子成分从数据库搜索和检索具有高相似度的查询句子。通过这样,可基于部分句子成分输出适当的回复句子。然而,如果在数据库中找不到与部分句子具有足够高相似度的查询句子,则可使用生成模型来确定和输出对完整输入句子的回复句子。
如图5中所示,例如,对输入句子“我没有朋友”,基于完整句子的检索模型检索与完整输入句子最相似的查询句子,并且自然语言处理设备可输出与发现的查询句子相应的回复句子“许多朋友痴迷于Bixby”。因为难以将检索模型所参考的所有可能的查询句子或所有可能的查询句子的所有可能的查询嵌入向量存储在数据库中,当具有与输入句子低相似度的查询句子被发现或被检索为最相似的查询句子时,如果所述发现的或检索到的查询句子的对应的回复句子被输出,则用户可对自然语言处理设备的自然语言交互感到尴尬或不舒服。
因此,当基于完整输入句子发现的查询句子具有与完整输入句子不足的相似度时,基于完整/部分句子的检索模型基于输入句子的部分再次执行查询句子搜索。因为基于输入句子的部分比基于完整输入句子相对更容易找到具有高相似度的查询句子,如图5中所示,所以可将被发现为与输入句子的部分最相似的回复句子“走近您想要与之友善的人并分享您的心”输出为对输入句子的自然回复。
然而,作为另一示例,如在输入句子“你吃过年轮蛋糕吗”的情况下,基于使用输入句子的部分的检索模型以及使用完整输入句子的检索模型的可用于输出的回复可被确定为仍然不够合适。在这个示例中,选择模型(检索模型+生成模型)选择由生成模型生成的回复句子“没有,但是我希望我有机会试试”作为对输入句子的自然回复,并且输出这个生成的回复句子。
图6和图7示出根据各自的一个或多个实施例的自然语言处理方法的示例。
图6示出作为非限制性示例的由包括在自然语言处理设备中的一个或多个处理器执行的自然语言处理方法的示例。
在操作610中,自然语言处理设备确定用户的输入句子与存储在数据库中的第一查询句子之间的第一相似度。用户的输入句子是从用户说出的语音信号或用户输入的文本数据获取的。作为非限制性示例,可将输入句子编码到嵌入空间,并且可诸如通过将输入句子的嵌入向量与多个存储的句子或短语的各自的嵌入向量进行比较,确定嵌入空间中的输入句子与先前编码到嵌入空间中的存储的句子或短语之间的第一相似度。
当第一相似度大于或满足预定的第一阈值时,自然语言处理设备输出在数据库中被预定为与第一查询句子相应的回复句子作为对语音信号的回复。
在操作620中,当第一相似度小于或不满足第一阈值时,自然语言处理设备确定输入句子的选择部分与存储在数据库中的第二查询句子之间的第二相似度。输入句子的选择部分可以是包括在输入句子中的多个成分之一。例如,输入句子的部分可以(例如,选择性地)是包括在输入句子中的动词和/或名词。输入句子的部分可以是被选择为与输入句子的确定的或设置的任务处理的类型对应的句子成分。作为非限制性示例,任务处理的类型可包括聊天机器人类型和检索类型。作为一个示例,任务的类型可由另一模型(例如,由另一神经网络)来确定。作为另一示例,如果用户正在使用自然语言处理设备的浏览或信息检索功能,或者用户发出指示用户的针对下一输入句子的意图相同的命令,则任务的类型可被确定为检索任务,而如果用户正在使用对话功能或者其他与自然语言处理设备的应用的交互,或者用户发出指示用户的针对下一输入句子的意图相同的命令,则任务的类型可被确定为聊天机器人类型。通过对输入句子执行词素分析并且基于词素分析的结果选择成分,可从输入句子的所有成分之中选择输入句子的部分。在非限制性示例中,可以基于或根据第一相似度被确定为小于或不满足第一阈值来执行任务的类型的确定和/或词素分析,并且基于至少词素分析的结果或确定的任务和词素分析两者的结果选择输入句子的部分。
在操作630中,当第二相似度大于或满足预定的第二阈值时,自然语言处理设备输出在数据库中被预定为与第二查询句子相应的回复句子作为对输入句子的回复。
当第二相似度小于或不满足第二阈值时,自然语言处理设备通过针对输入句子的执行生成模型来生成与输入句子相应的回复句子,并且输出由生成模型生成的回复句子。
图7示出作为非限制性示例的由包括在自然语言处理设备中的一个或多个处理器执行的自然语言处理方法的另一示例。
在操作710中,自然语言处理设备从包括在输入句子中的成分选择成分。如上面所讨论的,自然语言处理设备从输入句子的所有成分选择与被输入输入句子的任务处理的确定的或设置的类型相应的成分。因此,自然语言处理设备可通过对输入句子执行词素分析并且基于确定的或设置的任务类型从输入句子的多个成分选择不同的成分(例如,当任务类型被确定为检索任务类型时,选择的成分可以是输入句子的名词(或动词),而当任务类型被确定为聊天机器人类型时,选择的成分可以是输入句子的动词(或名词))。作为这里的另一非限制性示例,可分别针对检索任务类型和聊天机器人类型选择动词成分。
在操作720中,自然语言处理设备确定选择的成分与存储在数据库中的查询句子之间的相似度。
在操作730中,当相似度被确定为大于或满足预定阈值时,自然语言处理设备输出数据库中与查询句子相应的回复句子作为对输入句子的回复。
当相似度小于或不满足预定阈值时,自然语言处理设备针对输入句子执行生成与输入句子相应的回复句子的生成模型。然后可输出由生成模型生成的回复句子。
图1至图5的描述也适用于图6和图7的操作,因此,将省略对它们的进一步的重复描述。
图8示出根据一个或多个实施例的自然语言处理设备的示例。
参照图8,作为非限制性示例,自然语言处理设备800包括:存储器810、处理器820和输入输出(I/O)接口830。存储器810、处理器820和I/O接口830可通过总线840进行通信。
存储器810可包括计算机可读指令。例如,处理器820可被配置为基于存储器810中的指令被处理器820执行来实现上述操作中的任何一个、任何组合或全部。存储器810是易失性存储器或非易失性存储器,或者可包括一个或多个易失性存储器和/或一个或多个非易失性存储器。
处理器820是硬件装置或者硬件和指令的组合,指令基于处理器820执行指令来配置处理器820。处理器820还可被配置为执行其他指令、应用或程序,或者被配置为控制自然语言处理设备800的其他操作。处理器820包括例如中央处理器(CPU)、图形处理器(GPU)、和/或被配置为实现机器学习模型的其他处理器。作为非限制性示例,自然语言处理设备800可通过I/O接口83(或者通过I/O接口830被表示)0连接到外部装置(例如,麦克风和键盘),以接收或捕获用户的输入句子和/或通过扬声器(例如,也连接到I/O接口830或者通过I/O接口830表示)输出回复句子。自然语言处理设备800可以是或者可被实现为各种计算装置(例如,智能电话、可穿戴装置、个人数字助理(PDA)、平板计算机、膝上型计算机、诸如智能电视的智能家电、智能汽车和自助服务机)的一部分。此外,自然语言处理设备800可被配置为执行上述所有操作。
具有自然语言处理的设备、编码器、解码器、句子数据库、嵌入数据库、检索模型、生成模型、检索模型310、检索模型320、生成模型330、选择模型340、基于完整句子的检索模型、基于完整/部分句子的检索模型、选择模型、处理器、存储器、显示器、键盘、扬声器、麦克风、I/O接口830、存储器810和处理器820以及在此描述的其余设备、单元、模块、装置和其他组件由硬件组件实现。可用于执行在本申请中描述的操作的硬件组件的示例在适当的情况包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器,以及被配置为执行在本申请中描述的操作的任何其他电子组件。在其他示例中,通过计算硬件(例如,通过一个或多个处理器或计算机)来实现执行在本申请中描述的操作的硬件组件中的一个或多个硬件组件。处理器或计算机可通过一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以实现期望的结果的任何其他装置或装置的组合)来实现。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行在本申请中描述的操作的指令或软件(诸如,操作系统(OS)和在OS上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简单起见,单数术语“处理器”或“计算机”可用于在本申请中描述的示例的描述中,但是在其他示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件或多种类型的处理元件或二者。例如,单个硬件组件或两个或多个硬件组件可通过单个处理器、或者两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可通过一个或多个处理器、或处理器和控制器实现,一个或多个其他硬件组件可通过一个或多个其他处理器、或者另外的处理器和另外的控制器实现。一个或多个处理器、或者处理器和控制器可实现单个硬件组件或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一个或多个,不同的处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理和多指令多数据(MIMD)多处理。
图1至图8中示出的执行在本申请中描述的操作的方法通过计算硬件(例如,通过一个或多个处理器或计算机)来执行,计算硬件被如上所述实现为执行指令或软件,以执行在本申请中描述的通过该方法执行的操作。例如,单个操作或者两个或更多个操作可通过单个处理器或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可通过一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其他操作可通过一个或多个其他处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作或者两个或更多个操作。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可被编写为计算机程序、代码段、指令或它们的任何组合,以单独地或共同地指示或配置一个或多个处理器或计算机作为机器或专用计算机进行操作,以执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的高级代码。可基于附图中示出的框图和流程图以及说明书中的相应的描述使用任何编程语言来编写指令或软件,附图中示出的框图和流程图以及说明书中的相应的描述公开了用于执行由硬件组件执行的操作和如上所述的方法的算法。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可被记录、存储、或固定在一个或多个非暂时性计算机可读存储介质中,或者被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器,CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态驱动器(SSD)、卡式存储器(诸如,多媒体卡或微型卡(例如,安全数字(SD)或极速数字(XD)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘和任何其他被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并将所述指令或软件以及任何相关的数据、数据文件和数据结构提供给一个或多个处理器或计算机以使得一个或多个处理器或计算机能够执行指令的任何其他装置。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得指令和软件以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式被存储、访问和执行。
虽然本公开包括特定示例,但是在理解本申请的公开之后将清楚的是,在不脱离权利要求和它们的等同物的精神和范围的情况下,可在这些示例中做出形式和细节上的各种改变。在此描述的示例仅被认为是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述被认为可适用于其他示例中的相似的特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合和/或由其他组件或它们的等同物替代或补充,则可实现合适的结果。因此,本公开的范围不是由具体实施方式限定,而是由权利要求及其等同物限定,并且在权利要求及其等同物的范围内的所有变化将被解释为包括在本公开中。
Claims (27)
1.一种用于自然语言处理的方法,所述方法包括:
确定用户的输入句子与选择的第一数据库查询句子之间的第一相似度;和
基于确定第一相似度不满足第一阈值,
确定比输入句子的全部少的输入句子的部分与选择的第二数据库查询句子之间的第二相似度,和
响应于第二相似度满足第二阈值,输出与第二数据库查询句子相应的回复句子作为对输入句子的回复。
2.根据权利要求1所述的方法,还包括:将输入句子编码为第一特征向量,
其中,确定第一相似度的步骤包括:确定第一特征向量与第一查询句子特征向量之间的相似度,第一查询句子特征向量是存储在数据库中的多个查询句子特征向量之中的与第一数据库查询句子相应的特征向量。
3.根据权利要求2所述的方法,还包括:
基于确定第一相似度不满足第一阈值,
将输入句子的所述部分编码为第二特征向量,
其中,确定第二相似度的步骤包括:确定第二特征向量与第二查询句子特征向量之间的相似度,第二查询句子特征向量与存储在数据库中的第二数据库查询句子相应。
4.根据权利要求3所述的方法,其中,输出与第二数据库查询句子相应的回复句子的步骤包括:对第二查询句子特征向量进行解码以获得回复句子。
5.根据权利要求1所述的方法,其中,输入句子的所述部分是包括在输入句子中的多个成分中的一个成分。
6.根据权利要求5所述的方法,其中,输入句子的所述部分是包括在输入句子中的作为所述一个成分的动词。
7.根据权利要求1所述的方法,其中,输入句子的所述部分是基于多种任务的类型中的与输入句子相应的任务的类型而选择的句子成分。
8.根据权利要求7所述的方法,其中,所述多种任务的类型包括:聊天机器人类型和检索类型。
9.根据权利要求1所述的方法,其中,用于确定输入句子的所述部分的输入句子的划分基于对输入句子执行的词素分析。
10.根据权利要求1所述的方法,还包括:
基于第一相似度满足第一阈值,输出与第一数据库查询句子相应的回复句子作为对输入句子的回复。
11.根据权利要求1所述的方法,还包括:
当第二相似度不满足第二阈值时,使用生成模型生成与输入句子相应的回复句子,并且输出生成的回复句子。
12.根据权利要求1所述的方法,其中,用户的输入句子从用户说出的语音或用户输入的文本数据获取。
13.一种用于自然语言处理的方法,所述方法包括:
从包括在用户的输入句子中的所有成分中选择成分;
确定选择的成分与选择的数据库存储的查询句子之间的相似度;和
基于相似度是否满足阈值,选择性地输出与数据库存储的查询句子相应的回复句子作为对输入句子的回复。
14.根据权利要求13所述的方法,其中,选择成分的步骤包括:
选择与正在处理输入句子的任务的类型相应的成分,以选择性输出回复句子作为对输入句子的回复。
15.根据权利要求14所述的方法,其中,选择与任务的类型相应的成分的步骤包括:从至少包括聊天机器人类型和检索类型的多种任务类型中确定任务的类型,并且基于确定任务的类型的结果,在输入句子的名词与动词之间进行选择以作为选择的成分。
16.根据权利要求13所述的方法,其中,选择成分的步骤包括:
对输入句子执行词素分析;和
基于执行的词素分析的结果选择成分。
17.根据权利要求13所述的方法,还包括:
当相似度不满足阈值时,使用生成模型生成与输入句子相应的回复句子,并且输出生成的回复句子作为输入句子的回复。
18.根据权利要求13所述的方法,还包括:将选择的成分编码为第一特征向量,
其中,确定相似度的步骤包括:确定第一特征向量与存储在数据库中的多个成分特征向量之中的与查询句子相应的成分特征向量之间的相似度。
19.根据权利要求18所述的方法,还包括:基于输入句子的编码结果与选择的存储的数据库查询编码结果之间的初始相似度是否满足初始阈值,确定是否执行成分的选择、相似度的确定和选择性输出。
20.根据权利要求18所述的方法,其中,当相似度满足阈值时,选择性输出与数据库存储的查询句子相应的回复句子的步骤包括:对第一特征向量进行解码并输出解码的第一特征向量作为回复句子。
21.一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时,使处理器执行权利要求1至权利要求20中的任意一项所述的方法。
22.一种用于自然语言处理的设备,所述设备包括:
一个或多个处理器,被配置为:
确定用户的输入句子与选择的第一数据库查询句子之间的第一相似度;和
基于确定第一相似度不满足第一阈值,
确定比输入句子的全部少的输入句子的部分与选择的第二数据库查询句子之间的第二相似度,和
响应于第二相似度满足第二阈值,输出与第二数据库查询句子相应的回复句子作为对输入句子的回复。
23.根据权利要求22所述的设备,其中,输入句子的所述部分是包括在输入句子中的多个成分中的一个成分。
24.根据权利要求23所述的设备,其中,输入句子的所述部分是包括在输入句子中的作为所述一个成分的动词。
25.根据权利要求22所述的设备,其中,输入句子的所述部分是基于多种任务的类型中的与输入句子相应的任务的类型而选择的句子成分。
26.根据权利要求25所述的设备,其中,所述多种任务的类型包括:聊天机器人类型和检索类型。
27.根据权利要求22所述的设备,其中,用于确定输入句子的所述部分的输入句子的划分基于对输入句子执行的词素分析。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190148984A KR20210061141A (ko) | 2019-11-19 | 2019-11-19 | 자연어 처리 방법 및 장치 |
KR10-2019-0148984 | 2019-11-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112905735A true CN112905735A (zh) | 2021-06-04 |
Family
ID=72193260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010424480.XA Pending CN112905735A (zh) | 2019-11-19 | 2020-05-19 | 用于自然语言处理的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11487953B2 (zh) |
EP (1) | EP3825895A1 (zh) |
KR (1) | KR20210061141A (zh) |
CN (1) | CN112905735A (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11922300B2 (en) * | 2016-03-01 | 2024-03-05 | Microsoft Technology Licensing, Llc. | Automated commentary for online content |
US11379670B1 (en) * | 2019-09-30 | 2022-07-05 | Splunk, Inc. | Automatically populating responses using artificial intelligence |
CN111177355B (zh) * | 2019-12-30 | 2021-05-28 | 北京百度网讯科技有限公司 | 基于搜索数据的人机对话交互方法、装置和电子设备 |
US11755181B2 (en) | 2020-08-25 | 2023-09-12 | Google Llc | Populating answers to polling questions based on initial responses |
US20210406292A1 (en) * | 2020-06-30 | 2021-12-30 | Google Llc | Recognizing polling questions from a conference call discussion |
US11245648B1 (en) * | 2020-07-31 | 2022-02-08 | International Business Machines Corporation | Cognitive management of context switching for multiple-round dialogues |
US20220138170A1 (en) * | 2020-10-29 | 2022-05-05 | Yext, Inc. | Vector-based search result generation |
US11379253B2 (en) * | 2020-11-30 | 2022-07-05 | International Business Machines Corporation | Training chatbots for remote troubleshooting |
JP2022102306A (ja) * | 2020-12-25 | 2022-07-07 | トヨタ自動車株式会社 | エージェント表示方法、プログラム、及びエージェント表示システム |
US11805159B2 (en) | 2021-08-24 | 2023-10-31 | Google Llc | Methods and systems for verbal polling during a conference call discussion |
US11838448B2 (en) | 2021-08-26 | 2023-12-05 | Google Llc | Audio-based polling during a conference call discussion |
WO2023222882A1 (en) * | 2022-05-19 | 2023-11-23 | Deepmind Technologies Limited | Resource navigation using neural networks |
CN115331660A (zh) * | 2022-08-09 | 2022-11-11 | 北京市商汤科技开发有限公司 | 神经网络训练方法、语音识别方法、装置、设备及介质 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6859800B1 (en) * | 2000-04-26 | 2005-02-22 | Global Information Research And Technologies Llc | System for fulfilling an information need |
US6687689B1 (en) * | 2000-06-16 | 2004-02-03 | Nusuara Technologies Sdn. Bhd. | System and methods for document retrieval using natural language-based queries |
IL142421A0 (en) * | 2001-04-03 | 2002-03-10 | Linguistic Agents Ltd | Linguistic agent system |
JP5377430B2 (ja) | 2009-07-08 | 2013-12-25 | 本田技研工業株式会社 | 質問応答データベース拡張装置および質問応答データベース拡張方法 |
EP2354967A1 (en) * | 2010-01-29 | 2011-08-10 | British Telecommunications public limited company | Semantic textual analysis |
CN103294666B (zh) * | 2013-05-28 | 2017-03-01 | 百度在线网络技术(北京)有限公司 | 语法编译方法、语义解析方法以及对应装置 |
US20150058059A1 (en) * | 2013-08-22 | 2015-02-26 | KB Cubed, LLC | Systems and methods for facilitating and coordinating online and offline relationships |
US10235470B2 (en) * | 2013-12-06 | 2019-03-19 | Here Global B.V. | User retrieval enhancement |
US20170278416A1 (en) * | 2014-09-24 | 2017-09-28 | Hewlett-Packard Development Company, L.P. | Select a question to associate with a passage |
US20160196360A1 (en) * | 2014-12-22 | 2016-07-07 | Pricewaterhousecoopers Llp | System and method for searching structured and unstructured data |
US11256691B1 (en) * | 2016-06-29 | 2022-02-22 | Emc Corporation | System and method to enhance phrase search with nested thesaurus parsing |
US10162816B1 (en) | 2017-06-15 | 2018-12-25 | Oath Inc. | Computerized system and method for automatically transforming and providing domain specific chatbot responses |
CN107491547B (zh) | 2017-08-28 | 2020-11-10 | 北京百度网讯科技有限公司 | 基于人工智能的搜索方法和装置 |
GB2568233A (en) | 2017-10-27 | 2019-05-15 | Babylon Partners Ltd | A computer implemented determination method and system |
KR102517843B1 (ko) | 2017-12-06 | 2023-04-03 | 주식회사 케이티 | Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법 |
US11080667B2 (en) | 2017-12-13 | 2021-08-03 | Visa International Service Association | System and method for automated chatbots |
KR102047010B1 (ko) | 2017-12-21 | 2019-11-20 | 주식회사 카카오 | 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법 |
KR20190080599A (ko) | 2017-12-28 | 2019-07-08 | 주식회사 카카오 | 챗봇과 상담원을 이용한 반자동 대화제공방법 및 서버 |
CN109994108B (zh) | 2017-12-29 | 2023-08-29 | 微软技术许可有限责任公司 | 用于聊天机器人和人之间的会话交谈的全双工通信技术 |
US10515155B2 (en) | 2018-02-09 | 2019-12-24 | Digital Genius Limited | Conversational agent |
US20190260694A1 (en) | 2018-02-16 | 2019-08-22 | Mz Ip Holdings, Llc | System and method for chat community question answering |
US11068518B2 (en) * | 2018-05-17 | 2021-07-20 | International Business Machines Corporation | Reducing negative effects of service waiting time in humanmachine interaction to improve the user experience |
KR102026338B1 (ko) | 2018-10-08 | 2019-09-27 | 엘지전자 주식회사 | 인공지능 자가 학습 로봇 |
US11151191B2 (en) * | 2019-04-09 | 2021-10-19 | International Business Machines Corporation | Video content segmentation and search |
-
2019
- 2019-11-19 KR KR1020190148984A patent/KR20210061141A/ko active Search and Examination
-
2020
- 2020-05-12 US US16/872,723 patent/US11487953B2/en active Active
- 2020-05-19 CN CN202010424480.XA patent/CN112905735A/zh active Pending
- 2020-08-20 EP EP20191978.4A patent/EP3825895A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210150155A1 (en) | 2021-05-20 |
EP3825895A1 (en) | 2021-05-26 |
KR20210061141A (ko) | 2021-05-27 |
US11487953B2 (en) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905735A (zh) | 用于自然语言处理的方法和设备 | |
US11562147B2 (en) | Unified vision and dialogue transformer with BERT | |
US11106879B2 (en) | Multilingual translation device and method | |
US11721335B2 (en) | Hierarchical self-attention for machine comprehension | |
KR102342066B1 (ko) | 뉴럴 네트워크 모델을 이용한 기계 번역 방법, 장치 및 그 장치를 학습시키기 위한 방법 | |
EP3707622A1 (en) | Generation of text from structured data | |
KR102271361B1 (ko) | 자동 질의응답 장치 | |
EP3826007B1 (en) | Method and apparatus with speech processing | |
Liang et al. | Gunrock 2.0: A user adaptive social conversational system | |
US20230034414A1 (en) | Dialogue processing apparatus, learning apparatus, dialogue processing method, learning method and program | |
US20220358280A1 (en) | Context-aware font recommendation from text | |
US11830493B2 (en) | Method and apparatus with speech processing | |
US11295729B2 (en) | Response inference method and apparatus | |
EP3809405A1 (en) | Method and apparatus for determining output token | |
JP6082657B2 (ja) | ポーズ付与モデル選択装置とポーズ付与装置とそれらの方法とプログラム | |
CN109522541B (zh) | 服务外句子生成方法和设备 | |
CN112733536A (zh) | 词嵌入方法和设备以及词搜索方法 | |
US20210097144A1 (en) | Neural machine translation adaptation | |
JP2020140674A (ja) | 回答選択装置及びプログラム | |
Hattimare et al. | Maruna Bot: An extensible retrieval-focused framework for task-oriented dialogues | |
US20240143927A1 (en) | Method for generating summary and system therefor | |
WO2020213530A1 (ja) | 発話文拡張装置、発話文生成装置、発話文拡張方法、およびプログラム | |
US20240078431A1 (en) | Prompt-based sequential learning | |
Somogyi et al. | The AI-TOOLKIT: Machine Learning Made Simple | |
CN114330342A (zh) | 命名实体识别方法、装置及设备 |
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 |