样本确认方法和装置及系统与流程

文档序号:12063654阅读:322来源:国知局
样本确认方法和装置及系统与流程

本申请涉及自然语言处理技术领域,尤其涉及一种样本确认方法和装置及系统。



背景技术:

随着人工智能技术的日益成熟,越来越多的应用系统使用了人工智能相关技术,如关键词检索、身份认证、说话人分离、说话人性别确认等,都需要对候选样本进行最终的确认,以确认候选样本是否是目标样本,因此,样本确认的准确度直接影响最终的应用效果。

相关技术中,一般直接根据待确认样本的置信度进行样本确认,具体确认时,设定置信度阈值,判断待确认样本的置信度是否超过预先设定的阈值,如果超过,则样本确认成功;否则,样本确认失败。上述方法在样本确认时,仅考虑了单一样本的信息,而待确认样本在实际应用中经常受环境或信道等外部因素的干扰,单一样本信息易发生改变,如果只考虑单一样本的信息,在样本确认时,常常会导致待确认样本被确认错误,即目标待确认样本被错误的确认为非目标样本或非目标待确认样本被错误的确认为目标样本,大大降低了样本确认的准确度,影响应用效果。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的一个目的在于提出一种样本确认方法,该方法可以提高样本确认的准确度,进而提高应用效果。

本申请的另一个目的在于提出一种样本确认装置。

本申请的另一个目的在于提出一种样本确认系统。

为达到上述目的,本申请第一方面实施例提出的样本确认方法,包括:获取待确认样本集合中每个待确认样本的置信度;确定待确认样本集合中每个待确认样本的相似样本;根据所述相似样本对每个待确认样本的置信度进行修正,得到每个待确认样本的修正后的置信度;根据每个待确认样本的修正后的置信度对每个待确认样本进行确认。

为达到上述目的,本申请第二方面实施例提出的样本确认装置,包括:获取模块,用于获取待确认样本集合中每个待确认样本的置信度;确定模块,用于确定待确认样本集合中每个待确认样本的相似样本;修正模块,用于根据所述相似样本对每个待确认样本的置信度进行修正,得到每个待确认样本的修正后的置信度;确认模块,用于根据每个待确认样本的修正后的置信度对每个待确认样本进行确认。

为达到上述目的,本申请第三方面实施例提出的样本确认系统,包括:客户端,用于接收用户输入的待确认样本;服务端,用于接收客户端发送的待确认样本,获取待确认样本集合中每个待确认样本的置信度;确定待确认样本集合中每个待确认样本的相似样本;根据所述相似样本对每个待确认样本的置信度进行修正,得到每个待确认样本的修正后的置信度;根据每个待确认样本的修正后的置信度对每个待确认样本进行确认。

本申请实施例,通过确定待确认样本的相似样本,并根据相似样本对待确认样本的置信度进行修正,以及根据修正后的置信度进行样本确认,可以有效提升样本确认的准确度,尤其是修正前置信度在置信度阈值附近的样本,提升效果更明显。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本申请一个实施例提出的样本确认方法的流程示意图;

图2是本申请实施例中使用修正前置信度和修正后置信度分别进行样本确认的对比示意图;

图3是本申请实施例中确定待确认样本的相似样本的方法的流程示意图;

图4是本申请另一个实施例提出的样本确认方法的流程示意图;

图5是本申请一个实施例提出的样本确认装置的结构示意图;

图6是本申请另一个实施例提出的样本确认装置的结构示意图;

图7是本申请一个实施例提出的样本确认系统的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1是本申请一个实施例提出的样本确认方法的流程示意图。

如图1所示,本实施例的方法包括:

S11:获取待确认样本集合中每个待确认样本的置信度。

所述待确认样本集合为需要确认的多个候选样本组成的集合,如关键词检索时,将多个候选关键词组成待确认样本集合,以确认每个候选关键词是否是目标关键词。

所述待确认样本的置信度一般根据应用需求,利用待确认样本与目标确认模型的匹配度得到,如关键词检索时,可以通过关键词训练数据构建得到关键词确认模型,依次计算待确认关键词与所述关键词确认模型的匹配度,即可得到每个待确认关键词的置信度;如说话人确认时,可以通过计算待确认说话人的语音数据与说话人确认模型的匹配度得到待确认说话人的置信度。所述置信度的计算方法可以采用包括现有技术在内的各种相关技术,本申请对所述置信度的获取方法不作限定。

S12:确定待确认样本集合中每个待确认样本的相似样本。

S13:根据所述相似样本的置信度对每个待确认样本的置信度进行修正,得到每个待确认样本的修正后的置信度。

具体过程如下所述。

S14:根据每个待确认样本的修正后的置信度对每个待确认样本进行确认。

具体确认时,直接判断每个待确认样本的修正后的置信度是否大于预先设定的阈值,如果大于,则确认成功,即待确认样本为目标样本;否则,确认失败,即待确认样本不是目标样本。

如图2为使用待确认样本修正后置信度进行样本确认示意图,待确认样本集合中共18个待确认样本,虚线表示待确认样本置信度阈值分界线,实心圈表示正例样本,空心圈表示负例样本,所述正例样本即置信度大于置信度阈值的待确认样本,所述负例样本即置信度小于置信度阈值的待确认样本;由于受环境等外部因素的影响,使用现有方法进行样本确认时,容易出现确认错误的待确认样本,如图2(a)中被错误确认的样本1和样本2;

通过本申请所述方法,根据待确认样本的相似样本对待确认样本的置信度进行修正后,使修正后的置信度包含了更多样本的信息,如待确认样本1的置信度,同时包含了待确认样本1和它的3个相似样本的信息,采用所述修正后的置信度进行样本确认时,可以将之前确认错误的样本正确确认,从而提升样本确认的准确度;

如图2(b)中,使用待确认样本修正后的置信度进行样本确认,可以将之前确认错误的样本1和样本2正确确认。

下面对相似样本的确定以及置信度的修正过程进行说明。

为了提高样本确认的准确性,本申请从待确认样本集合中找到每个待确认样本的相似样本;利用每个待确认样本的相似样本的置信度对每个待确认样本的置信度进行修正,使得修正后的置信度利用了每个待确认样本的相似样本的信息,具体修正方法如下所述。

如图3所示,确定待确认样本集合中每个待确认样本的相似样本的方法包括:

S31:计算待确认样本集合中每个待确认样本与其它待确认样本的相似度。

所述相似度一般使用待确认样本之间的距离描述,如欧式距离、余弦距离,所述距离的计算方法可以参见包括现有技术在内的各种相关技术,具体计算方法不作限定。如关键词检索时,通过计算训练数据中待确认关键词与其它关键词的动态时间规整(Dynamic Time Warping,DTW)距离得到;如说话人确认时,可以通过计算说话人语音数据声纹特征之间的余弦距离得到,所述声纹特征如Ivector特征;一般情况下,样本之间的距离越小,相似度越大。

当然也可以采用其它方法描述待确认样本与训练数据中每个样本的相似度,如直接将待确认样本与其它待确认样本进行匹配,得到待确认样本与其它待确认样本的匹配度,使用所述匹配度描述待确认样本与其它待确认样本的相似度。

具体计算时,依次选择待确认样本集合中每个待确认样本作为当前待确认样本;再依次计算当前待确认样本与其它每个待确认样本的相似度,使用D(X,xj)表示,其中X表示当前待确认样本,xj表示待确认样本集合中除当前待确认样本之外的第j个待确认样本;计算结束后,得到待确认样本集合中每个待确认样本与其它待确认样本的相似度。

S32:根据每个待确认样本与其它待确认样本的相似度,确定每个待确认样本的相似样本。

具体可以先对上述计算得到的相似度进行规整,再根据规整后的相似度确定每个待确认样本的相似样本。

具体规整时,根据待确认样本集合中所有待确认样本分别与其它待确认样本之间相似度的最大值及最小值依次对每个待确认样本与其它待确认样本的相似度进行规整,得到每个待确认样本与其它待确认样本规整后的相似度;具体规整方法如式(1)所示:

其中,S(X,xj)为当前待确认样本与待确认样本集合中去除当前待确认样本后第j个样本xj规整后的相似度,min(D)为待确认样本集合中所有待确认样本分别与其它待确认样本相似度的最小值,max(D)为待确认样本集合中所有待确认样本分别与其它待确认样本相似度的最大值。

在得到规整后的相似度后,可以将大于预设阈值的规整后的相似度所对应的其它待确认样本,确定为每个待确认样本的相似样本;或者,对规整后的相似度按照从大到小的顺序排序,选择排序在前的预设个数的规整后的相似度,将选择的规整后的相似度所对应的其它待确认样本,确定为每个待确认的相似样本。

在确定出每个待确认样本的相似样本后,可以采用如下方法对每个待确认样本的置信度进行修正。

具体地,将每个待确认样本分别作为当前待确认样本,并对应当前待确认样本执行如下步骤:根据当前待确认样本与每个相似样本的规整后的相似度以及每个相似样本的置信度,计算当前待确认样本的所有相似样本的贡献率;

对当前待确认样本的置信度和所述贡献率进行加权求和,得到当前待确认样本的修正后的置信度;

其中,所述贡献率为当前待确认样本的所有相似样本的贡献度与当前待确认样本与所有相似样本的规整后的相似度和的比值,所述贡献度为当前待确认样本与每个相似样本的规整后的相似度与每个相似样本的置信度的乘积和。

用公式表示如式(2)所示:

g(X)=(1-α)c(X)+αT(X) (2)

其中,g(X)是当前待确认样本的修正后的置信度;c(X)是当前待确认样本的修正前的置信度;T(X)是当前待确认样本的所有相似样本的贡献率;α是当前待确认样本的所有相似样本贡献率的权重,可以根据应用需求设置。

所述贡献率T(X)是根据当前待确认样本与每个相似样本的规整后的相似度以及每个相似样本的置信度计算得到的,如式(3)所示:

其中,为当前待确认样本的所有相似样本的贡献度;为当前待确认样本与所有相似样本的规整后的相似度和;S(X,xi)为当前待确认样本与其第i个相似样本的规整后的相似度;c(xi)为当前待确认样本的第i个相似样本的置信度;n为当前待确认样本的相似样本总数。

下面以关键词检索为例,对样本确认流程进行说明。

例如:关键词检索时,待确认样本集合为关键词“A”的所有候选关键词,如待确认样本集合为L={a1,a2,...,am},其中,每个元素为一个待确认样本(候选关键词),m为待确认样本总数,需要确认每个待确认样本是否是关键词“A”,每个待确认样本的置信度可以通过关键词检索时的解码结果得到,具体确认过程如下:

首先获取待确认样本集合中每个待确认样本的置信度;

然后确定待确认样本集合中每个待确认样本的相似样本;

具体可以通过计算每个待确认样本之间的相似度,并对所述相似度进行规整后,设定相应阈值或者选择固定数目的相似样本得到,如待确认样本a1的相似样本为{a3,a6,a7,a10};

再利用每个待确认样本的相似样本对每个待确认样本的置信度进行修正,具体修正时,根据待确认样本的相似样本的置信度,以及待确认样本与每个相似样本的规整后的相似度对待确认样本的置信度进行修正,得到每个待确认样本修正后的置信度;

最后根据修正后的置信度进行样本确认,以判断每个待确认样本是否是关键词“A”,具体可以通过判断每个待确认样本修正后的置信度是否超过预先设定的阈值,如果超过,则确认成功,即待确认样本是关键词“A”;否则,确认失败,即待确认样本不是关键词“A”;

此外,本申请所述方法还可以用于说话人确认、男女性别确认等需要进行样本确认的应用中,具体不作限定。

具体实施时,结合客户端与服务端,给出如图4所示的流程:

S41:客户端接收用户输入的待确认样本。

例如,在关键词检索时,接收用户输入的关键词;或者,在说话人确认时,接收用户输入的语音数据。

S42:客户端将待确认样本发送给服务端。

客户端可以通过与服务端之间的网络连接将待确认样本发送给服务端。

S43:服务端接收客户端发送的待确认样本。

本实施例以服务端接收客户端发送的待确认样本为例,可以理解的是,服务端还可以从服务端的数据库或者通过网络爬行获取到待确认样本,或者,服务端获取的待确认样本可以一部分来自客户端,另一部分来自与服务端的数据库或网络爬行数据。

S44:服务端确定待确认样本集合中每个待确认样本的相似样本。

S45:服务端根据所述相似样本对每个待确认样本的置信度进行修正,得到每个待确认样本的修正后的置信度。

S46:服务端根据每个待确认样本的修正后的置信度对每个待确认样本进行确认。

S47:服务端根据确认结果得到反馈结果,并将反馈结果发送给客户端。

其中,服务端可以将确认结果直接作为反馈结果,从而将是否成功确认的结果发送给客户端;或者,反馈结果可以为与目标样本相关的信息,比如用户进行关键词检索时,将检索到的关键词相关信息发送给客户端;或者,反馈结果也可以为样本确认成功后直接进行的后续处理的相关信息,比如,用户通过声音登录时,如果确认用户的语音数据为目标样本,此时表明样本确认成功,则服务端可以在样本确认成功后直接进行后续处理,而不需要先将样本确认成功信息发送给客户端;服务端在样本确认成功后直接进行后续处理后,可以将后续处理的相关信息作为反馈结果发送给客户端,比如,上述用户通过声音登录时,服务端确认用户的语音数据为目标样本后,则允许用户登录,获取用户成功登录后的个人已登录页面,之后服务端将个人已登录页面的数据发送给客户端,以便客户端根据接收的页面数据进行渲染等操作展现对应的个人已登录页面。可以理解的是,根据应用场景的不同还可以是其他情况,本申请不做限定。

S48:客户端将所述反馈结果展现给用户。

上述各步骤的具体内容可以参见相关实施例中的相关描述,在此不再详述。

可以理解的是,上述的客户端和服务端可以分别位于不同的物理设备中,如客户端位于用户侧的终端设备中,服务端位于服务器中,终端设备与服务器通过网络连接;或者,客户端和服务端可以位于相同的物理设备中,例如,在终端设备中集成客户端和服务端的功能,从而可以在终端设备本地完成样本确认。

本实施例中,通过确定待确认样本的相似样本,并根据相似样本对待确认样本的置信度进行修正,以及根据修正后的置信度进行样本确认,可以有效提升样本确认的准确度,尤其是修正前置信度在置信度阈值附近的样本,提升效果更明显。

图5是本申请一个实施例提出的样本确认装置的结构示意图。

如图5所示,本实施例的装置50包括:获取模块51、确定模块52、修正模块53和确认模块54。

获取模块51,用于获取待确认样本集合中每个待确认样本的置信度;

确定模块52,用于确定待确认样本集合中每个待确认样本的相似样本;

修正模块53,用于根据所述相似样本对每个待确认样本的置信度进行修正,得到每个待确认样本的修正后的置信度;

确认模块54,用于根据每个待确认样本的修正后的置信度对每个待确认样本进行确认。

一些实施例中,参见图6,所述确定模块52包括:

计算子模块521,用于计算待确认样本集合中每个待确认样本与其它待确认样本的相似度;

确定子模块522,用于根据每个待确认样本与其它待确认样本的相似度,确定每个待确认样本的相似样本。

一些实施例中,所述确定子模块522具体用于:

对每个待确认样本与其它待确认样本的相似度进行规整,得到规整后的相似度;

根据规整后的相似度,确定每个待确认样本的相似样本。

一些实施例中,所述确定子模块522用于根据规整后的相似度,确定每个待确认样本的相似样本,包括:

将大于预设阈值的规整后的相似度所对应的其它待确认样本,确定为每个待确认样本的相似样本;或者,

对规整后的相似度按照从大到小的顺序排序,选择排序在前的预设个数的规整后的相似度,将选择的规整后的相似度所对应的其它待确认样本,确定为每个待确认的相似样本。

一些实施例中,所述修正模块53具体用于:

将每个待确认样本分别作为当前待确认样本,并对应当前待确认样本执行如下步骤:

根据当前待确认样本与每个相似样本的规整后的相似度以及每个相似样本的置信度,计算当前待确认样本的所有相似样本的贡献率;

对当前待确认样本的置信度和所述贡献率进行加权求和,得到当前待确认样本的修正后的置信度;

其中,所述贡献率为当前待确认样本的所有相似样本的贡献度与当前待确认样本与所有相似样本的规整后的相似度和的比值,所述贡献度为当前待确认样本与每个相似样本的规整后的相似度与每个相似样本的置信度的乘积和。

可以理解的是,本实施例的装置与上述方法实施例对应,具体内容可以参见方法实施例的相关描述,在此不再详细说明。

本实施例中,通过确定待确认样本的相似样本,并根据相似样本对待确认样本的置信度进行修正,以及根据修正后的置信度进行样本确认,可以有效提升样本确认的准确度,尤其是修正前置信度在置信度阈值附近的样本,提升效果更明显。

图7是本申请一个实施例提出的样本确认系统的结构示意图。

如图7所示,本实施例的系统包括:客户端71和服务端72。

客户端71,用于接收用户输入的待确认样本;

服务端72,用于接收客户端发送的待确认样本,获取待确认样本集合中每个待确认样本的置信度;确定待确认样本集合中每个待确认样本的相似样本;根据所述相似样本对每个待确认样本的置信度进行修正,得到每个待确认样本的修正后的置信度;根据每个待确认样本的修正后的置信度对每个待确认样本进行确认。

一些实施例中,所述服务端72还用于:根据确认结果获取反馈结果,并将所述反馈结果发送给客户端;

所述客户端71还用于:接收所述服务端发送的反馈结果,并将所述反馈结果反馈给用户。

图7中以客户端与服务端通过无线网络连接为例,可以理解的是,客户端与服务端也可以通过有线网络连接,或者,如果客户端与服务端集成在同一设备中,客户端与服务端可以通过设备内部的总线连接。

可以理解的是,服务端的功能与上述的装置一致,因此,服务端的具体组成可以参见图5或图6所示的装置,在此不再详述。

本实施例中,通过确定待确认样本的相似样本,并根据相似样本对待确认样本的置信度进行修正,以及根据修正后的置信度进行样本确认,可以有效提升样本确认的准确度,尤其是修正前置信度在置信度阈值附近的样本,提升效果更明显。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1