CN111669350A - 身份验证方法、验证信息生成方法、支付方法及装置 - Google Patents

身份验证方法、验证信息生成方法、支付方法及装置 Download PDF

Info

Publication number
CN111669350A
CN111669350A CN201910164098.7A CN201910164098A CN111669350A CN 111669350 A CN111669350 A CN 111669350A CN 201910164098 A CN201910164098 A CN 201910164098A CN 111669350 A CN111669350 A CN 111669350A
Authority
CN
China
Prior art keywords
voice
user
character string
verification code
verification
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
CN201910164098.7A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910164098.7A priority Critical patent/CN111669350A/zh
Publication of CN111669350A publication Critical patent/CN111669350A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种身份验证方法,包括:接收针对用户的身份验证请求;获取与该用户对应的验证信息,验证信息包括多个字符串,多个字符串的语音特征根据用户输入的语音生成;从验证信息中选择至少一个字符串组成验证码,并输出;接收用户输入的语音信息;在语音信息与验证码的语音特征匹配的情况下,确认针对用户的身份验证通过。本发明一并公开了相应的验证码生成方法、验证信息生成方法、支付方法及相应的装置。

Description

身份验证方法、验证信息生成方法、支付方法及装置
技术领域
本发明涉及语音处理技术领域,尤其涉及一种身份验证方法、验证信息生成方法、支付方法及装置。
背景技术
随着物联网及人工智能技术的发展,市面上出现了一些智能语音设备,例如智能音箱、含有语音交互模块的智能机器人等。在一些场景中,智能语音设备可以向用户提供话费充值、购物、点外卖、快递物流查询等服务,由于这些服务涉及到用户的财产或隐私,因此需要对用户进行身份验证。
智能音箱等智能语音设备通常采用声纹验证(Voiceprint Verification)技术来验证用户身份,即,从用户发出的语音信号中提取语音特征,将提取出的语音特征与预置的用户声纹模型进行比对,以验证用户身份。
从用户所说的语音内容的角度,现有的声纹验证方法主要分为两类:一类是内容无关,即对语音内容不做限定,用户可以说出任意语音内容来进行身份验证;另一类是内容相关,即用户在每次验证时都需要说出固定的语音内容。由于用户所说的语音内容随机,内容无关的声纹验证方法的准确率较低,训练声纹模型需要大量的样本;而在内容相关的声纹验证方法中,用户可以反复输入同一段语音,带来安全隐患(例如,某些别有用心之人可能在用户说出固定语音内容时将其录音,后续用该录音来假冒用户身份)。
发明内容
为此,本发明提供一种身份验证方法、声纹注册方法、支付方法及装置,以力图解决或至少缓解上面存在的问题。
根据本发明的第一个方面,提供一种身份验证方法,包括:接收针对用户的身份验证请求;获取与所述用户对应的验证信息,所述验证信息包括多个字符串,所述多个字符串的语音特征根据所述用户输入的语音生成;从所述验证信息中选择至少一个字符串组成验证码,并输出;接收用户输入的语音信息;在所述语音信息与所述验证码的语音特征匹配的情况下,确认针对所述用户的身份验证通过。
根据本发明的第二个方面,提供一种验证码生成方法,包括:获取用户对应的验证信息,所述验证信息包括多个字符串,所述多个字符串的语音特征根据所述用户输入的语音生成;从所述验证信息中选择至少一个字符串组成验证码,并输出,以便对所述用户的身份进行验证。
根据本发明的第三个方面,提供一种验证信息生成方法,包括:接收用户的验证信息生成请求,所述验证信息生成请求包括用户标识和用户输入的针对预设文本的语音,所述预设文本包括多个第一字符串;分别提取各第一字符串所对应语音的语音特征;将第一字符串及其对应的语音特征与所述用户标识关联存储。
根据本发明的第四个方面,提供一种支付方法,包括:接收用户的支付请求;输出验证码,所述验证码包括至少一个字符串,所述字符串的语音特征根据所述用户输入的语音生成;接收用户输入的语音信息;在所述语音信息与所述验证码的语音特征匹配的情况下,允许支付。
根据本发明的第五个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述方法的指令。
根据本发明的第六个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述的方法。
本发明的技术方案采用语音验证码的方式对用户进行身份验证。预先生成用户的验证信息,验证信息可用于验证用户身份。用户的验证信息包括多个字符串,每个字符串具有对应的语音特征,字符串的语音特征根据用户输入的语音生成。
在需要对用户进行身份验证时,从该用户所对应的验证信息中选择出至少一个字符串,组合形成验证码。将验证码以文字或语音的方式输出,以指示用户输入针对该验证码的语音信息,根据用户的语音信息与验证码的语音特征是否匹配来确定用户是否通过身份验证。若用户的语音信息与验证码的语音特征匹配,则用户身份验证通过,允许用户进行接下来的业务操作(例如支付等);若用户的语音信息与验证码的语音特征不匹配,则用户未通过身份验证,拒绝用户的业务操作请求。
根据本发明的技术方案,验证码由用户验证信息中的字符串组成,字符串均具有对应的语音特征,从而保证了验证码的可识别性,提高了用户身份验证的准确性。此外,验证码由用户所对应的验证信息中选择得出,针对多次身份验证请求,可以从用户的验证信息中选择出不同的字符串,组合形成不同的验证码,验证码具有随机性,从而保证了身份验证过程的安全性。
进一步地,字符串具有识别率属性,识别率用于表示原本具有权限的用户说出字符串后能够通过身份验证的概率。优先选用识别率较高的字符串来生成验证码,从而进一步保证了验证码的可识别性,提高了用户身份验证的准确率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的身份验证系统100的示意图;
图2示出了根据本发明一个实施例的验证信息生成方法200的流程图;
图3示出了根据本发明一个实施例的验证信息生成过程300的示意图;
图4示出了根据本发明一个实施例的身份验证方法400的流程图;
图5示出了根据本发明一个实施例的身份验证过程500的示意图;
图6示出了根据本发明一个实施例的支付方法600的流程图;
图7示出了根据本发明一个实施例的支付过程700的示意图;
图8示出了根据本发明一个实施例的计算设备800的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种身份验证系统的示意图。如图1所示,系统100包括语音设备110和服务端120。应当指出,图1所示的系统100仅作为一个示例,本领域技术人员可以理解,在实际应用中,系统100通常包括多个语音设备110和服务端120,本发明对系统100中所包括的语音设备110和服务端120的数量不做限制。
语音设备110为具有语音交互模块的设备,其可以接收用户发出的语音指示,以及向用户返回语音或非语音信息。一个典型的语音交互模块包括麦克风等语音输入单元、扬声器等语音输出单元以及处理器。语音设备110例如可以是智能音箱、智能机器人、智能家居设备、手机、平板电脑等,但不限于此。语音设备110的一个应用场景为家用场景,即,语音设备110放置于用户家中,用户可以向语音设备110发出语音指示以实现某些功能,例如上网、点播歌曲、了解天气预报、对家中的智能家居设备进行控制,等等。
服务端120用于向语音设备110提供音频处理、自然语言处理等服务。在本发明中,服务端120泛指能够向语音设备110提供计算服务的设备,本发明对服务端120的具体配置情况不做限制。在一些实施例中,服务端120具体可以配置为一台或多台云服务器,或者一个或多个部署于云服务器中的计算实例等。在另一些实施例中,服务端120也可以实现为计算能力较强的终端设备,例如实现为计算能力较强的桌面电脑、手机、智能家居设备等。特别地,当语音设备110的硬件配置较高、计算能力较强时,服务端120也可以实现为语音设备110本身。
在一个实施例中,系统100还包括辅助设备130。辅助设备例如可以是手机、平板电脑、智能可穿戴设备等,但不限于此。辅助设备130通常与语音设备110位于同一地理位置,用于在语音设备110的处理能力不足(例如缺少硬件、硬件处理能力不足、不支持某些通信协议等情况)时辅助语音设备110实现相应的功能,以及对语音设备110进行管理。在一个实施例中,语音设备110为置于用户家中的智能音箱,辅助设备130为用户的手机。手机中安装有相应的语音设备管理应用(Application,简称App),该应用可以与家中的智能音箱进行配对,以对智能音箱进行管理、设置,协助智能音箱连接无线网络,实现智能家居控制等功能。
在本发明的实施例中,语音设备110可以向用户提供话费充值、购物、点外卖、快递物流查询等服务。由于这些服务涉及用户的财产或隐私,因此,当用户在语音设备110使用这些服务时,需要对用户的身份进行验证。当语音设备110中未设置有键盘、触摸屏等输入输出装置时,语音设备110无法接收用户的文本信息输入,因而其无法通过用户输入的账号、密码等信息来验证用户身份。语音设备110通常采用声纹验证技术来验证用户身份。
以下是话费充值场景的一个示例:
用户A:“请为139-xxxx-xxxx充50元话费。”
语音设备110:“好的,为号码139-xxxx-xxxx充值50元话费,是否支付?”
用户A:“支付。”
语音设备110:“你好,A,身份验证成功,已为您成功充值50元。”
在该示例中,当用户对语音设备110说出“请为139-xxxx-xxxx充50元话费”后,语音设备110将用户的语音上传至服务端120,服务端120采用语音识别技术(AutomaticSpeech Recognition,简称ASR)来确定用户语音所对应的文本信息,然后采用自然语言处理(Natural Language Processing,简称NLP)技术来识别出用户意图为“话费充值”。话费充值涉及用户财产,需要对用户身份进行确认,因此,服务端120向语音设备110返回音频信息,使语音设备110播放“好的,为号码139-xxxx-xxxx充值50元话费,是否支付?”的音频内容。随后,用户回答“支付”,语音设备110将该用于语音上传至服务端120,服务端120对用户发出的“支付”语音与预置的用户声纹模型进行比对来验证用户身份,若身份验证成功,则进行话费充值,并将身份验证结果和话费充值结果返回给语音设备110进行播放。
需要说明的是,在该示例中,当语音设备110播放出“好的,为号码139-xxxx-xxxx充值50元话费,是否支付?”的语音后,用户的回答,即用于对用户进行身份验证的语音实际上是不确定的。用户可能像该示例一样回答“支付”,也能回答“是”、“好的”、“嗯”,等等。由于用户的回答内容没有限制,为了保证不论用户说出何种内容都能够完成身份验证,用户的声纹模型需要采用大量的语音样本来训练,以实现内容无关的身份验证。若参与训练的语音样本的数量不足,则会降低身份验证的准确率。
此外,在该示例中,当用户回答“支付”时,可能出现身份验证失败的情况(例如当环境噪音较大或用户因感冒等原因而造成声音异常时)。这时,服务端120通常不会马上判定身份验证失败,而是使语音设备110再次提示用户“是否支付?”,相应地,用户会再次进行回答。这样,用户可能会多次重复回答相同的内容,带来安全隐患。例如,语音设备110可能设置于宿舍、合租房等多人环境中,当用户多次回答“支付”后终于通过身份验证,用户的“支付”语音可能被他人趁机录下,下次他人可以以录下的语音来假冒用户完成身份验证。
为了保证身份验证的准确率和安全性,本发明提供一种身份验证方案,采用语音验证码的方式对用户进行身份验证。在该方案中,在服务端120处预先生成用户的验证信息,验证信息可用于验证用户身份。用户的验证信息包括多个字符串,每个字符串具有对应的语音特征,字符串的语音特征根据用户输入的语音生成。在需要对用户进行身份验证时,从该用户所对应的验证信息中选择出至少一个字符串,组合形成验证码,将验证码发送至语音设备110。验证码在语音设备110处以文字或语音的方式输出,以指示用户输入针对该验证码的语音信息。语音设备110接收用户输入的语音信息,并上传至服务端120。服务端120根据用户的语音信息与验证码的语音特征是否匹配来确定用户是否通过身份验证。
验证码由用户验证信息中的字符串组成,字符串均具有对应的语音特征,从而保证了验证码的可识别性,提高了用户身份验证的准确性。此外,验证码由用户所对应的验证信息中选择得出,针对多次身份验证请求,可以从用户的验证信息中选择出不同的字符串,组合形成不同的验证码,验证码具有随机性,从而保证了身份验证过程的安全性。
需要说明的是,由于目前的语音设备受便携性、美观性所限,其硬件配置通常较低,计算能力较弱,大部分计算过程(本发明涉及文本计算、音频计算等)由计算能力较强的服务端执行。因而,以上从语音设备110与服务端120结合的角度概述了本发明的身份验证方案的一个实施例,在该实施例中,语音设备110用于在前端与用户进行交互(向用户播放提示音、接收用户的语音信息等),服务端120用于在后端进行文本及音频计算,即本发明的验证信息生成方法、身份验证方法等在服务端120处执行。
但是,本领域技术人员可以理解,在其他实施例中,例如当语音设备110的硬件配置较高、计算能力较强时,本发明的验证信息生成方法、身份验证方法等也可以在语音设备110处执行。
以下对本发明的身份验证方案进行详细说明。
本发明的身份验证方案需要预先生成用户的验证信息。图2示出了根据本发明一个实施例的验证信息生成方法200的流程图。方法200由服务端或语音设备(当语音设备的硬件配置较高、计算能力较强时)执行。以下以服务端执行为例来描述方法200的实施例。
如图2所示,方法200始于步骤S210。
在步骤S210中,接收用户的验证信息生成请求,验证信息生成请求包括用户标识和用户输入的针对预设文本的语音,预设文本包括多个第一字符串。
用户标识用于唯一标识一个用户。用户可以在辅助设备(例如前述辅助设备130)上完成用户账号的注册和登录,相应地,服务端(例如前述服务端120)用于管理用户账号。
用户标识可以是用户在辅助设备上手动输入的,例如用户(在注册账户时)输入自己的手机号或其他字符内容作为用户标识。服务端在收到用户通过辅助设备输入的用户标识后,会判断该标识是否已被注册,若已被注册,则提示用户更改用户标识。如果用户输入的用户标识为手机号,则还可以对该手机号进行短信验证码校验,以确定用户实际拥有该手机号。
用户标识也可以是服务端自动分配的,例如,在用户注册账号时,服务端可以按照某种规律自动生成一字符内容,作为用户标识。
预设文本是一段用于生成验证信息的指定文本。预设文本包括至少一个第一字符串,本发明对预设文本的长度和内容、预设文本所包括的第一字符串数量以及第一字符串的长度均不做限制。例如,预设文本为“智能音箱”,该预设文本被划分为两个第一字符串,分别为“智能”和“音箱”。又例如,预设文本为“智能音箱”,该预设文本被划分为四个第一字符串,分别为“天”“猫”“精”“灵”。又例如,预设文本为“智能音箱123456”,该预设文本被划分为两个第一字符串,分别为“智能音箱”和“123456”。又例如,预设文本为“智能音箱123456”,该预设文本被划分为八个第一字符串,分别为“智能”“音箱”“1”“2”“3”“4”“5”“6”。
需要说明的是,在本说明书中,第一字符串指的是包含于预设文本中的、根据预设文本的用户语音来生成语音特征的字符串,第二字符串指的是包含于用户发出的语音指令的文本内容中的、根据用户的语音指令来生成语音特征的字符串(第二字符串将于下文中详述)。第一字符串、第二字符串的共同点在于均为字符串,即,均具有对应的语音特征,其区别在于语音特征的训练样本的来源不同,第一字符串的语音特征的训练样本来源于用户输入的针对预设文本的语音,第二字符串的语音特征的训练样本来源于用户发出的语音指令。此处的第一、第二用于对语音特征的训练样本来源进行区分。
需要说明的是,验证信息生成请求中可以包括用户输入的针对预设文本的多个语音,例如,用户重复念诵了三遍预设文本,相应地,验证信息生成请求中包括用户针对预设文本的三段语音。通常,验证信息生成请求中所包括的语音的数量越多,后续生成的第一字符串的语音特征的准确度越高。
需要说明的是,用户针对预设文本的语音可以由语音设备采集,也可以由辅助设备来采集。当采集到该语音后,语音设备或辅助设备将采集到的语音与当前登录语音设备的用户标识作为验证信息生成请求的参数,向服务端发起验证信息生成请求。相应地,在步骤S210中,服务端接收该验证信息生成请求。
根据一种实施例,用户可以通过与语音设备(例如前述语音设备110)相关联的辅助设备(例如前述辅助设备130)来启动验证信息生成过程。例如,用户通过辅助设备上的语音设备管理应用来启动验证信息生成过程,服务端向辅助设备发送一段预设文本,并提示用户向语音设备(或辅助设备)念诵该预设文本来生成验证信息。例如,当用户通过辅助设备请求生成验证信息,服务端向辅助设备返回一段预设文本“智能音箱123456”,并提示用户按照距离语音设备(或辅助设备)由近到远的顺序对语音设备(或辅助设备)三次说出该预设文本。语音设备(或辅助设备)接收用户念诵预设文本的语音,并将其与当前登录语音设备的用户标识一同发送至服务端。
根据另一种实施例,用户也可以直接通过语音设备来启动验证信息生成过程。例如,用户向语音设备说出指定的内容(例如“声纹注册”“声纹录入”等内容)来启动验证信息生成过程,随后,服务端向语音设备发送预设文本的音频文件。语音设备播放该音频文件,以提示提示用户跟读说出预设文本。例如,用户通过向语音设备说出指定内容“声纹录入”而启动验证信息生成过程,服务端向语音设备返回预设文本“智能音箱123456”的音频文件,语音设备播放该文件,以提示用户跟读说出该预设文本。语音设备接收用户跟读预设文本的语音,将其与当前登录语音设备的用户标识作为验证信息生成请求的参数,发送至服务端。
随后,在步骤S220中,分别提取各第一字符串所对应语音的语音特征。
由于验证信息生成请求包括的是针对整个预设文本的语音,因此,在步骤S220中,首先需要对用户语音进行拆分,以确定各第一字符串所对应的语音。语音拆分可以采用任意算法,本发明对此不做限制。例如,可以根据语音中的停顿来对其进行拆分,例如,将音量小于-70dBFS的声音视为静默,若静默超过700毫秒则进行拆分,拆分后每段不得超过2秒钟,等等。
通过对用户语音进行拆分,即可确定各第一字符串所对应的语音。预设文本“智能音箱123456”包括八个第一字符串,分别为“智能”“音箱”“1”“2”“3”“4”“5”“6”,相应地,将用户输入的针对“智能音箱123456”的语音拆分为八个子语音,这八个子语音分别为第一字符串“智能”“音箱”“1”“2”“3”“4”“5”“6”所对应的语音。
第一字符串所对应语音的语音特征可以是任意特征,本发明对语音特征的类型不做限制。例如,语音特征可以是语音中的声学特征,例如频谱、倒频谱(梅尔频率倒谱系数)、共振峰、基音、反射系数、PLDA声纹模型等;也可以是语音中的韵律特征;还可以是语音的语种、方言、口音等特征,但不限于此。
需要说明的是,在实际应用中,步骤S210所接收到的验证信息生成请求可能包括用户针对预设文本的多个语音,相应地,每个第一字符串也对应于多个语音。在步骤S220生成第一字符串的语音特征时,分别提取其所对应的多个语音的语音特征,然后将各语音特征的平均值作为该第一字符串的语音特征,以提高语音特征的准确度。
例如,验证信息生成请求中包括用户三次念诵预设文本“智能音箱123456”的语音,将这三个语音分别记为语音s1、语音s2、语音s3。语音s1可以拆分成第一字符串“智能”“音箱”“1”“2”“3”“4”“5”“6”所对应的语音,将这八个语音分别记为语音s11~s18;语音s2可以拆分成第一字符串“智能”“音箱”“1”“2”“3”“4”“5”“6”所对应的八个语音s21~s28;语音s3可以拆分成第一字符串“智能”“音箱”“1”“2”“3”“4”“5”“6”所对应的八个语音s31~s38。相应地,第一字符串“智能”的语音特征根据语音s11、s21、s31生成;第一字符串“音箱”的语音特征根据语音s12、s22、s32生成;第一字符串“1”的语音特征根据语音s13、s23、s33生成,…,以此类推。
随后,在步骤S230中,将第一字符串及其对应的语音特征与用户标识关联存储。
表1是将第一字符串及其对应的语音特征与用户标识关联存储的一个示例:
表1
用户标识 第一字符串 语音特征
A 智能 feature1
A 音箱 feature2
A 1 feature3
A 2 feature4
A 3 feature5
A 4 feature6
A 5 feature7
A 6 feature8
根据一种实施例,第一字符串具有识别率属性,识别率用于表示具有权限的用户说出第一字符串后能够通过身份验证的概率。例如,当前登录语音设备的用户标识为用户A,此时,用户A即为具有权限的用户。在理想情况下,若用户A说出第一字符串来进行身份验证,是可以验证成功的。但是,在实践中,由于用于生成第一字符串的语音特征的训练样本有限且环境复杂多变,有可能会出现具有权限的用户A说出第一字符串但身份认证失败的情况。若具有权限的用户A说出第一字符串x后身份验证成功,则第一字符串x可以为验证用户身份做出积极的贡献,其识别率较高;若具有权限的用户A说出第一字符串x后身份验证失败,则第一字符串x为验证用户身份做出了消极贡献,造成身份验证结果不准确,第一字符串x的识别率较低。
第一字符串具有识别率属性,相应地,可以将用户标识、第一字符串及其语音特征、识别率关联存储,表2是将四者关联存储的一个示例:
表2
用户标识 第一字符串 语音特征 识别率
A 智能 feature1 recog1
A 音箱 feature2 recog2
A 1 feature3 recog3
A 2 feature4 recog4
A 3 feature5 recog5
A 4 feature6 recog6
A 5 feature7 recog7
A 6 feature8 recog8
第一字符串具有识别率属性,相应地,在步骤S220中除了生成第一字符串的语音特征之外,还需要对第一字符串的识别率进行配置。根据一种实施例,将第一字符串的识别率设置为第一初始值。由于在声纹注册时,通常会要求用户多次输入针对预设文本的语音,第一字符串的语音特征根据用户输入的多个语音训练生成,因此,第一字符串的语音特征的准确性较好。相应地,将第一字符串的识别率设置为一个较大的数值,即,第一初始值的数值较大。根据一种实施例,将识别率的取值范围划分为多个互不相交的区间,那么第一初始值应当属于值最大的区间。例如,识别率的取值范围为0~100%,将其划分为5个互不相交的区间[0,60%],(60%,70%],(70%,80%],(80%,90%],(90%,100%],那么第一初始值应当位于值最大的区间,即区间(90%,100%],第一初始值可以是区间(90%,100%]内的任意数值,例如是95%。
根据一种实施例,除了可以按照步骤S210~S230来根据用户输入的针对预设文本的语音生成第一字符串的语音特征之外,还可以根据用户在使用语音设备的过程中发出的语音指令来生成第二字符串的语音特征。第一字符串、第二字符串中的第一、第二用于对语音特征的训练样本的来源进行区分,第一字符串的语音特征的训练样本来源于用户输入的针对预设文本的语音,第二字符串的语音特征的训练样本来源于用户发出的语音指令。
根据一种实施例,第二字符串的语音特征可以按照以下步骤S240~S270生成(步骤S240~S270未在图2中示出):
步骤S240中,接收用户输入的语音指令。
用户在使用语音设备的过程中会发出多种语音指令,用户发出的语音指令可以分为两种,一种是用于唤醒语音设备的唤醒词,另一种是除唤醒词之外的其他可执行的语音指令。唤醒词可以在语音设备出厂时预先设置,也可以由用户在使用语音设备的过程中自行设置,本发明对唤醒词的长短、内容均不做限制。例如,当语音设备为名为“智能音箱”的智能音箱时,唤醒词可以被设置为“智能音箱”,“你好,智能”,等等。用户发出的其他可执行的语音指令例如可以是“请为我推荐一首歌”“请播放天气预报”“请打开窗帘”等,但不限于此。
用户对语音设备发出语音指令,语音设备将用户的语音指令上传至服务端。相应地,服务端接收该语音指令,并对其进行后续处理。
随后,在步骤S250中,确定语音指令所对应的文本内容,文本内容包括至少一个第二字符串。
根据一种实施例,可以采用语音识别技术(ASR)来确定语音指令所对应的文本内容。需要说明的是,文本内容包括至少一个第二字符串,本发明对文本内容所包括的第二字符串的数量、长短均不做限制。另外,在一些实施例中,并非文本内容中的所有内容都是第二字符串。
例如,用户发出的语音指令为“请播放天气预报”,服务端采用语音识别技术来确定该语音指令所对应的文本内容为“请播放天气预报”。在一些实施例中,可以仅将其中的“天气”作为第二字符串,相应地,后续在步骤S260中将生成“天气”的语音特征,而不需要生成“请播放”“预报”的语音特征。在另一些实施例中,可以将“天气”“预报”作为第二字符串,相应地,后续在步骤S260中将分别生成“天气”“预报”的语音特征,而不需要生成“请播放”的语音特征。
随后,在步骤S260中,分别提取各第二字符串所对应语音指令的语音特征。
例如,用户发出的语音指令的文本内容为“请播放天气预报”,其包括“天气”“预报”两个第二字符串。根据“天气”所对应的用户语音来生成第二字符串“天气”的语音特征,根据“预报”所对应的用户语音来生成第二字符串“预报”的语音特征。
根据一种实施例,与第一字符串类似地,第二字符串也具有识别率属性。相应地,步骤S260中除了生成第二字符串的语音特征之外,还需要对第二字符串的识别率进行配置。根据一种实施例,可以根据语音指令的响应结果来设置第二字符串的识别率。第二字符串的识别率的设置方式可以包括:当语音指令响应成功时,将第二字符串的识别率设置为第二初始值;和/或当语音指令响应失败时,将第二字符串的识别率设置为第三初始值,其中,第二初始值大于第三初始值。
例如,语音设备为智能音箱,用户向智能音箱说出唤醒词“你好,音箱”。在一种情况中,音箱对用户进行语音回应,例如回应“我在,你说”,用户随后将向音箱发出进一步指示,例如“我想听xxx的歌”。在该情况中,用户共发出了两个语音指令(“你好,音箱”和“我想听xxx的歌”),这两个指令不相同,这时,认为智能音箱可以成功识别前一个语音指令,即,认为前一个语音指令响应成功。相应地,将前一个语音指令“你好,音箱”中的第二字符串“你好”的识别率设置为数值较大的第二初始值。
在另一种情况中,音箱未能识别出该唤醒词,音箱静默或回应用户“请说出唤醒词将我唤醒”,用户随后将再次说出唤醒词“你好,音箱”。在该情况中,用户将同一个语音指令“你好,智能”重复说了两次,这时,认为智能音箱(或服务端)不能识别前一个语音指令,没有给出用户想要的反馈,即,认为前一个语音指令响应失败。相应地,将语音指令“你好,音箱”中的第二字符串“你好”的识别率设置为数值较小的第三初始值。
需要说明的是,在上述实施例中,将用户发出的前后两个语音指令是否相同来作为前一个语音指令是否响应成功的判断标准。本领域技术人员可以理解,在实践中,除上述标准之外,还可以采用其他标准来判断语音指令是否响应成功,例如,还可以将用户提交了反馈意见的语音指令判定为响应失败,将用户没有提反馈意见的语音指令判定为响应成功,等等,本发明对语音指令是否响应成功的判断标准不做限制。
例如,用户向智能音箱发出语音指令“请播放天气预报”,若音箱成功播放出天气预报,则用户没有进一步反馈,此时认为语音指令“请播放天气预报”响应成功,将第二字符串“天气”“预报”的识别率设置为数值较大的第二初始值;若音箱未播放出天气预报,则用户可能会通过辅助设备上的APP来反馈意见(报错),此时认为语音指令“请播放天气预报”响应失败,将第二字符串“天气”“预报”的识别率设置为数值较小的第三初始值。
随后,在步骤S270中,将第二字符串及其对应的语音特征与用户标识关联存储。
表3是将第一字符串、第二字符串及其对应的语音特征与用户标识关联存储的一个示例。
表3
用户标识 字符串 语音特征 识别率
A 智能 feature1 recog1
A 音箱 feature2 recog2
A 1 feature3 recog3
A 2 feature4 recog4
A 3 feature5 recog5
A 4 feature6 recog6
A 5 feature7 recog7
A 6 feature8 recog8
A 你好 feature9 recog9
A 天气 feature10 recog10
A 预报 feature11 recog11
需要说明的是,在表3中,“智能”“音箱”“1”“2”“3”“4”“5”“6”为第一字符串,“你好”“天气”“预报”为第二字符串,不过,在存储时,不再对第一字符串和第二字符串进行区分,将二者统称为字符串,字符串具有对应的语音特征和识别率。
需要说明的是,以上介绍了字符串的识别率的初始值的设置方法,即,当服务端第一次生成某个字符串的语音特征时,将该字符串的识别率设置为一个初始值。在用户使用语音设备的过程中,字符串的语音特征和识别率均可以进行动态调整。
字符串的识别率的调整方法有多种。根据一种实施例,可以根据用户输入的包含字符串的语音指令的响应结果来调整字符串的识别率:当包含字符串的语音指令响应成功时,增大该字符串的识别率;和/或当包含字符串的语音指令响应失败时,减小该字符串的识别率。
根据另一种实施例,字符串的识别率还可以根据用户身份验证结果来进行调整,这种调整方法将在下文的身份验证方法400中进行详述。
本领域技术人员可以理解,除上文列出的两种调整方法之外,还可以采用其他方法来调整字符串的识别率。本领域对字符串的识别率的动态调整方法不做限制。
图3示出了根据本发明一个实施例的验证信息生成过程300的示意图。图3中的语音设备110例如可以是智能音箱,辅助设备130例如可以是用户的手机。
在步骤S301中,用户在辅助设备130的相关APP上进行操作,向服务端120发送启动验证信息生成过程的请求。
在步骤S302中,服务端120接收到辅助设备130发来的请求后,向辅助设备130返回预设文本“智能音箱123456”,另外,在步骤S303中,服务端向语音设备110发送预设文本“智能音箱123456”的音频文件,以便语音设备播放提示音。
步骤S304~S309是语音设备110接收用户输入的针对预设文本的语音的过程。在步骤S304中,语音设备110播放提示音“请贴近麦克风,说出:智能音箱123456”。随后,在步骤S305中,语音设备110接收用户第一次说出“智能音箱123456”的语音。在步骤S306中,语音设备110播放提示音:“请在距离麦克风一臂的位置,说出:智能音箱123456”。随后,在步骤S307中,语音设备110接收用户第二次说出“智能音箱123456”的语音。在步骤S308中,语音设备110播放提示音“请在距离麦克风一米以外的位置,说出:智能音箱123456”。随后,在步骤S309中,语音设备110接收用户第三次说出“智能音箱123456”的语音。
在步骤S310中,语音设备110向服务端120发送验证信息生成请求,该验证信息生成请求中包括当前登录语音设备110的用户标识以及用户三次说出“智能音箱123456”的语音。
需要说明的是,在步骤S304~S310的过程中,语音设备110采集了三次用户的语音后,将三个语音一并发送至服务端120。在其他的实施例中,语音设备110也可以每采集一次用户语音,旋即将该语音发送至服务端120,随后再进行下一次采集。
在步骤S311中,服务端120根据用户输入的针对预设文本“智能音箱123456”的语音,分别生成第一字符串“智能”“音箱”“1”“2”“3”“4”“5”“6”所对应的语音特征,并将各第一字符串的识别率设置为第一初始值,例如95%。
在步骤S312中,将第一字符串及其对应的语音特征与用户标识关联存储至数据存储装置140。
在步骤S313中,向语音设备110反馈验证信息生成成功的语音,以告知用户验证信息已成功生成。
在步骤S314中,用户在使用语音设备110的过程中,向语音设备110发出语音指令“请播放明天的天气预报”,相应地,语音设备110接收该语音指令。
在步骤S315中,语音设备110将接收到的语音指令“请播放明天的天气预报”发送至服务端120。
在步骤S316中,服务端120将明天的天气预报“天气晴,气温6~20℃”的音频文件发送至语音设备110进行播放。
在步骤S317中,服务端120根据用户发出的“请播放明天的天气预报”的语音指令,分别生成各第二字符串“明天”“天气”“预报”的语音特征。若接下来的某段时间内(例如两分钟内)用户没有再次发出请求播放明天的天气预报的指令,或用户没有通过辅助设备130进行意见反馈,则认为语音指令“请播放明天的天气预报”响应成功,服务端120将字符串“明天”“天气”“预报”的识别率设置为数值较大的第二初始值;若用户再次发出请求播放明天的天气预报的指令,或通过辅助设备130上报了反馈意见,则认为语音指令“请播放明天的天气预报”响应失败,服务端120将字符串“明天”“天气”“预报”的识别率设置为数值较小的第三初始值。
随后,在步骤S318中,将第二字符串及其对应的语音特征与用户标识关联存储至数据存储装置140。
接下来,在用户使用语音设备110的过程中,用户的字符串(包括第一字符串和第二字符串)的语音特征和识别率可以进行动态调整。本发明对语音特征和识别率的具体调整算法不做限制,篇幅所限,图3中未示出字符串的语音特征和识别率的调整过程。
图4示出了根据本发明一个实施例的身份验证方法400的流程图。方法400由服务端或语音设备(当语音设备的硬件配置较高、计算能力较强时)执行。以下以服务端执行为例来描述方法400的实施例。
如图4所示,方法400始于步骤S410。
在步骤S410中,接收针对用户的身份验证请求。身份验证请求包括用户标识。
当用户使用语音设备提供的话费充值、购物、点外卖、快递物流查询等涉及财产或隐私的服务时,需要对用户的身份进行验证。这时,语音设备向服务端发送针对用户的身份验证请求,相应地,在步骤S410中,服务端接收语音设备发送的针对用户身份验证请求,身份验证请求包括当前登录语音设备的用户标识。
随后,在步骤S420中,获取与该用户对应的验证信息,验证信息包括多个字符串,多个字符串的语音特征根据该用户输入的语音生成。
基于前述验证信息生成方法200,服务端处已经存储了用户标识、字符串、语音特征的关联关系。通过该关联关系,给定一个用户标识,即可确定该用户标识所对应的字符串。例如,基于前述表3所示的用户标识、字符串、语音特征的关联关系,即可确定用户A对应的字符串包括:“智能”“音箱”“1”“2”“3”“4”“5”“6”“你好”“天气”“预报”。
每个字符串均具有对应的语音特征,字符串的语音特征按照前述验证信息生成方法200生成,此处不再赘述。
随后,在步骤S430中,从验证信息中选择至少一个字符串组成验证码,并输出。
需要说明的是,本发明对验证码所包括的字符串的数量不做限制。从用户体验及身份验证的准确性的角度考虑,需要使验证码的长度适中,验证码通常包括3~6个字符串。
本领域技术人员可以采用任意方法来从验证信息中选择字符串,本发明对组成验证码的字符串的选择方法不做限制。根据一种实施例,参考验证信息生成方法200的相关描述,字符串具有识别率属性,识别率用于表示具有权限的用户说出字符串后能够通过身份验证的概率。相应地,可以根据识别率来选择字符串,例如,从识别率大于第一阈值的字符串中选择至少一个用于组成验证码。选择识别率较大的字符串来生成验证码,可以提高用户身份验证的准确率。
在一个实施例中,用户A所对应的字符串的识别率如表4所示,可以从识别率大于90%的字符串中随机选择或按照预设的规则选择3个来组成验证码,例如,将“智能”“1”“6”组成验证码。
表4
用户标识 字符串 语音特征 识别率(%)
A 智能 feature1 97
A 音箱 feature2 98
A 1 feature3 95
A 2 feature4 96
A 3 feature5 95
A 4 feature6 91
A 5 feature7 88
A 6 feature8 93
A 你好 feature9 90
A 天气 feature10 82
A 预报 feature11 77
根据一种实施例,字符串按照识别率的大小进行分类,即,每一个类别对应于识别率的一个取值区间。例如,可以将字符串按照识别率的大小划分为五个类别,识别率位于(90%,100%]区间内的字符串归为第一类别,将识别率位于(80%,90%]区间内的字符串归为第二类别,将识别率位于(70%,80%]区间内的字符串归为第三类别,将识别率位于(60%,70%]区间内的字符串归为第四类别,将识别率位于[0,60%]区间内的字符串归为第五类别。按照这种类别划分方式,用户A的各字符串所属的类别如表5所示。
表5
用户标识 字符串 语音特征 识别率(%) 类别
A 智能 feature1 97 第一类别
A 音箱 feature2 98 第一类别
A 1 feature3 95 第一类别
A 2 feature4 96 第一类别
A 3 feature5 95 第一类别
A 4 feature6 91 第一类别
A 5 feature7 88 第二类别
A 6 feature8 93 第一类别
A 你好 feature9 90 第二类别
A 天气 feature10 82 第二类别
A 预报 feature11 77 第三类别
当然,以上仅为一种分类方式,本领域技术人员还可以按照其他方法来对字符串进行分类,本发明对字符串的类别的数量及划分规则均不做限制。
根据一种实施例,为了保证身份验证的准确率,优选地从识别率较大的类别中选择字符串来组成验证码。例如,可以使使验证码所包括的多个字符串中至少有一个字符串属于识别率最大的类别,针对表5,即组成验证码的多个字符串中至少有一个属于第一类别。
需要说明的是,基于字符串的类别,本领域技术人员可以设计任意规则来选择用于组成验证码的字符串,本发明对根据类别来选择字符串的具体方法不做限制。在一个实施例中,字符串按照识别率的大小被分为5个类别,第一类别的识别率最大,第五类别的识别率最小。可以从识别率较大的前三个类别,即第一类别、第二类别、第三类别中分别选择一个字符串来组成验证码。以表5为例,可以选择第一类别中的“智能”、第二类别中的“天气”、第三类别中的“预报”来组成验证码。
需要说明的是,在从字符串中选出至少一个字符串后,这至少一个字符串可以以任意顺序排列组合成验证码。例如,在选择出“智能”、“天气”、“预报”三个字符串后,可以将这三个字符串以任意顺序组合成验证码,即,验证码可以是“智能天气预报”“智能预报天气”“天气智能预报”“天气预报智能”“预报智能天气”“预报天气智能”中的任意一种。
在生成验证码后,需要将验证码输出给用户,以便用户知晓该验证码的内容,并输入针对该验证码的语音。验证码的输出方式有多种,例如,包括文字方式和语音方式,但不限于此。
根据一种实施例,语音设备具有显示模块(例如显示屏),服务端将验证码的文字内容发送至语音设备,语音设备将在其显示模块上以文字形式显示该验证码,以提示用户念诵该验证码。
根据另一种实施例,服务端将验证码的音频文件发送至语音设备,语音设备播放该音频文件,以提示用户跟读验证码进行身份验证。
随后,在步骤S440中,接收用户输入的语音信息。该语音信息为用户输入的针对验证码的语音信息。
随后,在步骤S450中,在语音信息与验证码的语音特征匹配的情况下,确认针对该用户的身份验证通过。
根据一种实施例,可以按照以下步骤来判断语音信息与验证码的语音特征是否匹配:首先,对于验证码中的每个字符串,确定该字符串所对应的语音信息与其语音特征的匹配度。随后,根据各匹配度来判断语音信息与验证码的语音特征是否匹配。
由于语音信息针对的是整个验证码,因此,在步骤S450中,需要对该语音信息进行拆分,以确定验证码中的各字符串分别对应的语音信息。语音信息拆分可以采用任意算法,本发明对此不做限制。例如,可以根据语音信息中的停顿来对其进行拆分;也可以采用语音识别技术确定语音信息的文本内容,结合文本内容的语义来对语音信息进行拆分;等等。
通过对整个验证码的语音信息进行拆分,即可确定验证码中的每个字符串所对应的语音信息。例如,验证码为“智能天气预报”,其包括三个字符串“智能”“天气”“预报”。相应地,在接收到用户输入的“智能天气预报”的语音信息vs后,将其拆分成三个语音信息vs1、vs2、vs3,这三个语音信息分别对应于字符串“智能”“天气”“预报”。
在确定了字符串所对应的语音信息后,其语音信息与语音特征的匹配度可以按照以下步骤计算:提取所述语音信息的特征,计算语音信息的特征与语音特征的匹配度,需要说明的是,此处提取的语音信息的特征,应当与前述步骤S220、S260中提取的语音特征的类型一致。例如,字符串“智能”的语音特征是用户针对“智能”发出的语音的梅尔频率倒谱系数,相应地,此处在提取语音信息的特征时,也需要提取出“智能”所对应的语音信息的梅尔频率倒谱系数。
语音信息的特征与语音特征的匹配度例如可以采用支持向量机(SVM)、LDA(Linear Discriminant Analysis,线性判别分析)、PLDA(Probabilistic LinearDiscriminant Analysis,概率线性判别分析)、似然度和余弦距离(Cosine Distance)等算法来计算,本发明对匹配度的具体计算方法不做限制。
在确定了各字符串的语音信息与其语音特征的匹配度后,可以根据匹配度来判断用户针对验证码的语音信息与验证码的语音特征是否匹配。根据一种实施例,可以将各匹配度的加权求和结果作为语音信息与验证码的语音特征的总匹配度;当总匹配度大于第二阈值时,判断语音信息与验证码的语音特征匹配。
例如,字符串“智能”“天气”“预报”组成验证码“智能天气预报”,三个字符串的权重分别为w1、w2、w3,那么,验证码的总匹配度=“智能”的匹配度*w1+“天气”的匹配度*w2+“预报”的匹配度*w3
根据一种实施例,各匹配度的权重可以根据对应字符串的识别率来确定,对应字符串的识别率越大,匹配度的权重越大。
根据一种实施例,字符串按照识别率的大小进行分类,相应地,各匹配度的权重可以按照以下方法来确定:若验证码中的所有字符串均属于同一类别,则将各字符串所对应的匹配度的权重设置为相同的数值;若验证码中的字符串并非属于同一类别,则根据字符串所属的类别来确定对应匹配度的权重,字符串所属类别的识别率越大,对应匹配度的权重越大。通常地,各匹配度的权重之和为1。
以表5为例,若以“智能”“1”“6”组成验证码,由于这三个字符串均属于第一类别,因此其权重相同,均为0.333(三分之一)。若以“智能”“天气”“预报”组成验证码,由于这三个字符串所属的类别不同,且其所属类别的识别率有“智能”>“天气”>“预报”的大小关系,因此,三个字符串的权重满足“智能”的权重>“天气”的权重>“预报”的权重,且三者权重的和为1。例如,可以将“智能”的权重设置为0.7,将“天气”的权重设置为0.2,将“预报”的权重设置为0.1。
根据一种实施例,在确定了用户的身份验证结果后,还可以根据验证码中各字符串的匹配度来调整其识别率。字符串的识别率的调整方法有多种,本发明对此不做限制。
在一个实施例中,当用户通过身份验证时,将验证码所包括的字符串的识别率更新为当前识别率与匹配度的平均值。例如,字符串“智能”“天气”“预报”组成验证码“智能天气预报”,按照前述步骤S450的相关方法计算出三个字符串的匹配度分别为0.98、0.9、0.81,三者的权重分别设置为0.7、0.2、0.1,那么,验证码的总匹配度=0.98*0.7+0.9*0.2+0.81*0.1=0.947。第二阈值设置为0.9,验证码的总匹配度大于第二阈值,用户通过身份验证。此时,将字符串“智能”“天气”“预报”的识别率更新为当前识别率与匹配度的平均值。参见表5,字符串“智能”“天气”“预报”的当前识别率分别为0.97、0.82、0.77,则三者的更新后的识别率分别为(0.97+0.98)/2=0.975、(0.82+0.9)/2=0.86、(0.77+0.81)/2=0.79。
在另一个实施例中,若用户未通过身份验证,则不调整验证码中各字符串的识别率。这是因为,用户身份验证失败,通常是因为发起身份验证的用户与当前语音设备上登录的用户不符,即发起身份验证的用户本没有操作权限,而不是因为验证码中各字符串的识别率过低。因此,若用户未通过身份验证,就不需要调整验证码中各字符串的识别率了。
图5示出了根据本发明一个实施例的身份验证过程500的示意图。图5中的语音设备110例如可以是智能音箱。
在步骤S501中,当用户使用语音设备110提供的话费充值、购物、点外卖、快递物流查询等涉及财产或隐私的服务时,需要对用户的身份进行验证。这时,语音设备110向服务端120发送身份验证请求,身份验证请求包括当前登录语音设备的用户标识。
在步骤S502中,服务端120接收语音设备110发来的身份验证请求,按照前述步骤S420、S430生成验证码“智能天气预报”,该验证码包括三个字符串“智能”“天气”“预报”。
在步骤S503中,服务端120将验证码的音频文件发送至语音设备110。
在步骤S504中,语音设备110播放提示音“你好,现在进行身份验证,请跟我说‘智能天气预报’”。
在步骤S505中,语音设备110接收用户跟读验证码“智能天气预报”的语音信息。在步骤S506中,语音设备110将接收到的语音信息发送至服务端120。
在步骤S507中,服务端120基于接收到的语音信息来验证用户身份。
若在步骤S507中,身份验证通过,则在步骤S508中,服务端120将验证通过的结果反馈给语音设备110,身份验证过程结束。
若在步骤S507中,身份验证未通过,则服务端120会再次按照前述步骤S420、S430生成新的验证码,例如,新生成的验证码为“智能16”。随后,在步骤S508中,服务端120向语音设备发送验证码“智能16”的音频文件,以便语音设备110播放提示音。
在步骤S509中,语音设备110播放提示音:“抱歉,我没听清。现在,请跟我说‘智能16’”。
在步骤S510中,语音设备110接收用户跟读“智能16”的语音信息。在步骤S511中,语音设备110将接收到的语音信息发送至服务端120。
在步骤S512中,服务端120根据接收到的语音信息对用户进行身份验证。若身份验证通过,则在步骤S513中,服务端120将验证通过的结果反馈给语音设备110,身份验证过程结束。
若步骤S512身份验证未通过,则服务端120会再次按照前述步骤S420、S430生成新的验证码,例如,新生成的验证码为“1356”。随后,在步骤S513中,服务端120向语音设备发送验证码“1356”的音频文件,以便语音设备110播放提示音。
在步骤S514中,语音设备110播放提示音:“抱歉,我没听清。现在,请跟我说‘1356’”。
在步骤S515中,语音设备110接收用户跟读“1356”的语音信息。在步骤S516中,语音设备110将接收到的语音信息发送至服务端120。
在步骤S517中,服务端120根据接收到的语音信息对用户进行身份验证。若身份验证通过,则在步骤S518中,服务端120将验证通过的结果反馈给语音设备110,使语音设备播放验证成功的提示音,提示音例如可以是“身份验证成功”,身份验证过程结束。若身份验证未通过,则在步骤S518中,服务端将验证失败的结果反馈给语音设备110,使语音设备播放验证失败的提示音,提示音例如可以是“抱歉,身份验证失败”,身份验证过程结束。
在身份验证过程500中,用户有三次输入验证码语音的机会,每次的验证码内容各不相同。不同的验证码保证了身份验证过程的安全性,同时也提供了一定的容错能力,保证了身份验证结果的准确性。
本发明的身份验证方法400可以应用于语音设备的支付、隐私等服务场景中。图6示出了根据本发明一个实施例的应用了本发明的身份验证方法的支付方法600的流程图。方法600由服务端或语音设备(当语音设备的硬件配置较高、计算能力较强时)执行。以下以服务端执行为例来描述方法600的实施例。
如图6所示,方法600始于步骤S610。
在步骤S610中,接收用户的支付请求。
当用户使用语音设备的支付服务时,语音设备会向服务端发起支付请求,相应地,在步骤S610中,服务端会接收语音设备发来的支付请求。支付请求可以是任意涉及用户财产变动的服务请求,例如充话费、购物、点外卖等,但不限于此。
随后,在步骤S620中,输出验证码,验证码包括至少一个字符串,字符串的语音特征根据用户输入的语音生成。
验证码的生成过程可以参考前述身份验证方法400的步骤S420、S430,字符串的语音特征的生成过程可以参考前述验证信息生成方法200,此处不再赘述。
随后,在步骤S630中,接收用户输入的语音信息。
随后,在步骤S640中,在语音信息与验证码的语音特征匹配的情况下,允许支付。
语音信息与验证码的语音特征匹配,则表明用户的身份验证通过,进行支付;语音信息与验证码的语音特征不匹配,则表明用户未通过身份验证,因此拒绝用户的支付请求。
步骤S640的具体实施方式可以参考前述身份验证方法400的步骤S450,此处不再赘述。
图7示出了根据本发明一个实施例的支付过程700的示意图。图7中的语音设备110例如可以是智能音箱。
在步骤S701中,用户向语音设备110发出语音指令“请为号码xxx充值50元话费”。随后,在步骤S702中,语音设备110向服务端120发送话费充值50元的支付请求,该请求中携带有当前登录语音设备110的用户标识。
在步骤S703中,服务端120接收语音设备110发来的支付请求,按照前述步骤S420、S430生成验证码“智能天气预报”,该验证码包括三个字符串“智能”“天气”“预报”,并在步骤S704中,将验证码的音频文件发送至语音设备110,以便语音设备播放提示音。
在步骤S705中,语音设备110播放提示音“你好,现在进行身份验证,请跟我说‘智能天气预报’”。
在步骤S706中,语音设备110接收用户跟读验证码“智能天气预报”的语音信息。在步骤S707中,语音设备110将接收到的语音信息发送至服务端120。
在步骤S708中,服务端120基于接收到的语音信息来验证用户身份,并根据验证结果来确定是否进行支付。若身份验证通过,则进行支付,并在步骤S709中,将验证通过的结果反馈给语音设备110,使语音设备播放支付成功的提示音,提示音例如可以是“你好,已成功为号码xxx充值50元”,支付过程结束。
若身份验证失败,则拒绝支付,并再次按照前述步骤S420、S430生成新的验证码,例如,新生成的验证码为“智能16”。随后,在步骤S709中,服务端120向语音设备发送验证码“智能16”的音频文件,以便语音设备110播放提示音。
在步骤S710中,语音设备110播放提示音:“抱歉,我没听清。现在,请跟我说‘智能16’”。
在步骤S711中,语音设备110接收用户跟读“智能16”的语音信息。在步骤S712中,语音设备110将接收到的语音信息发送至服务端120。
在步骤S713中,服务端120基于接收到的语音信息来验证用户身份,并根据验证结果来确定是否进行支付。若身份验证通过,则进行支付,并在步骤S714中,将验证通过的结果反馈给语音设备110,使语音设备播放支付成功的提示音,提示音例如可以是“你好,已成功为号码xxx充值50元”,支付过程结束。
若步骤S713身份验证未通过,则拒绝支付,并再次按照前述步骤S420、S430生成新的验证码,例如,新生成的验证码为“1356”。随后,在步骤S714中,服务端120向语音设备发送验证码“1356”的音频文件,以便语音设备110播放提示音。
在步骤S715中,语音设备110播放提示音:“抱歉,我没听清。现在,请跟我说‘1356’”。
在步骤S716中,语音设备110接收用户跟读“1356”的语音信息。在步骤S717中,语音设备110将接收到的语音信息发送至服务端120。
在步骤S718中,服务端120基于接收到的语音信息来验证用户身份,并根据验证结果来确定是否进行支付。若身份验证通过,则进行支付,并在步骤S719中,将验证通过的结果反馈给语音设备110,使语音设备播放支付成功的提示音,提示音例如可以是“你好,已成功为号码xxx充值50元”,支付过程结束。
若身份验证失败,则拒绝支付,并在步骤S719中,将验证失败的结果反馈给语音设备110,使语音设备播放支付失败的提示音,提示音例如可以是“抱歉,我还不认识您,您暂时无法进行声纹支付”,支付过程结束。
图8示出了根据本发明一个实施例的计算设备800的示意图。计算设备800具体可以实现为本发明的语音设备或服务端。
如图8所示,计算设备800包括处理器810和存储器820。存储器820中存储有用于执行本发明的验证信息生成方法200、身份验证方法400、支付方法600中至少之一的指令,当处理器810读取并执行该指令时,可以使计算设备800执行本发明的相应方法。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (26)

1.一种身份验证方法,包括
接收针对用户的身份验证请求;
获取与所述用户对应的验证信息,所述验证信息包括多个字符串,所述多个字符串的语音特征根据所述用户输入的语音生成;
从所述验证信息中选择至少一个字符串组成验证码,并输出;
接收用户输入的语音信息;
在所述语音信息与所述验证码的语音特征匹配的情况下,确认针对所述用户的身份验证通过。
2.如权利要求1所述的方法,其中,所述字符串具有识别率属性,所述识别率用于表示具有权限的用户说出该字符串后能够通过身份验证的概率;
所述验证码所包括的字符串的识别率大于第一阈值。
3.如权利要求2所述的方法,其中,所述多个字符串按照识别率的大小进行分类,在所述验证码所包括的字符串中,至少有一个字符串属于识别率最大的类别。
4.如权利要求1所述所述的方法,其中,所述验证码的输出方式包括文字方式和语音方式。
5.如权利要求1所述的方法,其中,按照以下步骤来判断所述语音信息与所述验证码的语音特征是否匹配:
对于验证码中的每个字符串,确定该字符串所对应的语音信息与其语音特征的匹配度;
根据所述匹配度来判断所述语音信息与所述验证码的语音特征是否匹配。
6.如权利要求5所述的方法,其中,所述根据所述匹配度来判断所述语音信息与所述验证码的语音特征是否匹配,包括
将所述匹配度的加权求和结果作为所述语音信息与所述验证码的语音特征的总匹配度;
当所述总匹配度大于第二阈值时,判断所述语音信息与所述验证码的语音特征匹配。
7.如权利要求6所述的方法,其中,所述匹配度的权重根据对应字符串的识别率来确定,对应字符串的识别率越大,匹配度的权重越大。
8.如权利要求7所述的方法,其中,所述验证码中的字符串按照识别率的大小进行分类,所述匹配度的权重按照以下方法确定:
若验证码中的所有字符串均属于同一类别,则将各字符串所对应的匹配度的权重设置为相同的数值;
若验证码中的字符串并非属于同一类别,则根据字符串所属的类别来确定对应匹配度的权重,字符串所属类别的识别率越大,对应匹配度的权重越大。
9.如权利要求7所述的方法,还包括
根据所述匹配度来调整对应字符串的识别率。
10.如权利要求9所述的方法,其中,当用户的身份验证通过时,将对应字符串的识别率更新为所述匹配度与当前识别率的平均值。
11.如权利要求1所述的方法,在语音设备中执行,所述语音设备包括音箱、手机、智能家居设备。
12.一种验证码生成方法,包括
获取用户对应的验证信息,所述验证信息包括多个字符串,所述多个字符串的语音特征根据所述用户输入的语音生成;
从所述验证信息中选择至少一个字符串组成验证码,并输出,以便对所述用户的身份进行验证。
13.如权利要求12所述的方法,其中,所述字符串具有识别率属性,所述识别率用于表示具有权限的用户说出该字符串后能够通过身份验证的概率;所述验证码所包括的字符串的识别率大于第一阈值。
14.如权利要求13所述的方法,其中,所述多个字符串按照识别率的大小进行分类,在所述验证码所包括的字符串中,至少有一个字符串属于识别率最大的类别。
15.如权利要求12所述的方法,其中,所述验证码的输出方式包括文字方式和语音方式。
16.一种验证信息生成方法,包括:
接收用户的验证信息生成请求,所述验证信息生成请求包括用户标识和用户输入的针对预设文本的语音,所述预设文本包括多个第一字符串;
分别提取各第一字符串所对应语音的语音特征;
将第一字符串及其对应的语音特征与所述用户标识关联存储。
17.如权利要求16所述的方法,其中,所述第一字符串具有识别率属性,所述识别率用于表示具有权限的用户说出第一字符串后能够通过身份验证的概率;所述方法还包括
将所述第一字符串的识别率设置为第一初始值。
18.如权利要求17所述的方法,其中,所述识别率的取值范围被划分为多个互不相交的区间,所述第一初始值属于值最大的区间。
19.如权利要求16-18中任一项所述的方法,还包括:
接收用户输入的语音指令;
确定所述语音指令所对应的文本内容,所述文本内容包括至少一个第二字符串;
分别提取各第二字符串所对应语音指令的语音特征;
将第二字符串及其对应的语音特征与所述用户标识关联存储。
20.如权利要求19所述的方法,还包括:
根据所述语音指令的响应结果来设置第二字符串的识别率。
21.如权利要求20所述的方法,其中,所述第二字符串的识别率按照以下方法设置:
当所述语音指令响应成功时,将所述第二字符串的识别率设置为第二初始值;和/或
当所述语音指令响应失败时,将所述第二字符串的识别率设置为第三初始值;
其中,所述第二初始值大于所述第三初始值。
22.如权利要求20所述的方法,还包括:
根据用户输入的包含字符串的语音指令的响应结果来调整字符串的识别率,其中,所述字符串包括第一字符串和第二字符串。
23.如权利要求22所述的方法,其中,所述根据用户输入的包含字符串的语音指令的响应结果来调整字符串的识别率,包括:
当所述包含字符串的语音指令响应成功时,增大该字符串的识别率;和/或
当所述包含字符串的语音指令响应失败时,减小该字符串的识别率。
24.一种支付方法,包括:
接收用户的支付请求;
输出验证码,所述验证码包括至少一个字符串,所述字符串的语音特征根据所述用户输入的语音生成;
接收用户输入的语音信息;
在所述语音信息与所述验证码的语音特征匹配的情况下,允许支付。
25.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-24中任一项所述方法的指令。
26.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-24中任一项所述的方法。
CN201910164098.7A 2019-03-05 2019-03-05 身份验证方法、验证信息生成方法、支付方法及装置 Pending CN111669350A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910164098.7A CN111669350A (zh) 2019-03-05 2019-03-05 身份验证方法、验证信息生成方法、支付方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910164098.7A CN111669350A (zh) 2019-03-05 2019-03-05 身份验证方法、验证信息生成方法、支付方法及装置

Publications (1)

Publication Number Publication Date
CN111669350A true CN111669350A (zh) 2020-09-15

Family

ID=72381511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910164098.7A Pending CN111669350A (zh) 2019-03-05 2019-03-05 身份验证方法、验证信息生成方法、支付方法及装置

Country Status (1)

Country Link
CN (1) CN111669350A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112562690A (zh) * 2020-10-28 2021-03-26 上海擎朗智能科技有限公司 基于物品配送的业务处理方法、装置、设备和存储介质
CN113468492A (zh) * 2021-07-13 2021-10-01 京东科技控股股份有限公司 验证信息的校验方法、装置和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598796A (zh) * 2015-01-30 2015-05-06 科大讯飞股份有限公司 身份识别方法及系统
CN106098068A (zh) * 2016-06-12 2016-11-09 腾讯科技(深圳)有限公司 一种声纹识别方法和装置
CN106713370A (zh) * 2016-05-11 2017-05-24 北京得意音通技术有限责任公司 一种身份认证方法、服务器和移动终端
CN108960836A (zh) * 2017-12-27 2018-12-07 北京猎户星空科技有限公司 语音支付方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598796A (zh) * 2015-01-30 2015-05-06 科大讯飞股份有限公司 身份识别方法及系统
CN106713370A (zh) * 2016-05-11 2017-05-24 北京得意音通技术有限责任公司 一种身份认证方法、服务器和移动终端
CN106098068A (zh) * 2016-06-12 2016-11-09 腾讯科技(深圳)有限公司 一种声纹识别方法和装置
CN108960836A (zh) * 2017-12-27 2018-12-07 北京猎户星空科技有限公司 语音支付方法、装置及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112562690A (zh) * 2020-10-28 2021-03-26 上海擎朗智能科技有限公司 基于物品配送的业务处理方法、装置、设备和存储介质
CN113468492A (zh) * 2021-07-13 2021-10-01 京东科技控股股份有限公司 验证信息的校验方法、装置和可读存储介质

Similar Documents

Publication Publication Date Title
AU2016216737B2 (en) Voice Authentication and Speech Recognition System
JP6613347B2 (ja) 情報をプッシュする方法及び装置
US11044321B2 (en) Speech processing performed with respect to first and second user profiles in a dialog session
EP3433854B1 (en) Method and system for speaker verification
US20160372116A1 (en) Voice authentication and speech recognition system and method
US11564090B1 (en) Audio verification
US9633657B2 (en) Systems and methods for supporting hearing impaired users
AU2013315343B2 (en) Voice authentication system and method
AU2013203139A1 (en) Voice authentication and speech recognition system and method
JP7173758B2 (ja) 個人化された音声認識方法及びこれを行うユーザ端末及びサーバ
US11627189B2 (en) Performing an action based on secondary user authorization
US8886532B2 (en) Leveraging interaction context to improve recognition confidence scores
JP5576113B2 (ja) 音声認識システムにモデルを適合させるための方法およびシステム
CN103679452A (zh) 支付验证方法、装置及系统
US20180108358A1 (en) Voice Categorisation
WO2022083969A1 (en) Method for detecting an audio adversarial attack with respect to a voice input processed by an automatic speech recognition system, corresponding device, computer program product and computer-readable carrier medium
JP6662962B2 (ja) 話者検証方法及び音声認識システム
CN111669350A (zh) 身份验证方法、验证信息生成方法、支付方法及装置
JP2003177790A (ja) 端末装置、サーバ装置および音声認識方法
CN110556111A (zh) 语音数据处理方法及装置、系统、电子设备、存储介质
CN111199742A (zh) 一种身份验证方法、装置及计算设备
CN115373280A (zh) 一种远程语音控制方法、装置及系统
EP3502938B1 (en) A conversational registration method for client devices
CN112562690A (zh) 基于物品配送的业务处理方法、装置、设备和存储介质
US11011174B2 (en) Method and system for determining speaker-user of voice-controllable device

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: 20200915