结合逻辑规则与文本表示以实现可解释的知识图谱推理-Knowledge-Based Systems期刊(影响指数8.8)-2023

本文主要是介绍结合逻辑规则与文本表示以实现可解释的知识图谱推理-Knowledge-Based Systems期刊(影响指数8.8)-2023,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

在使用 KG 中的事实三元组的基础上,通过学习逻辑规则以可解释的模式处理 KG 推理。一些规则学习方法只是简单地应用阈值来降低由 KGs 派生大量候选规则引起的指数复杂度。其他方法是在 KG 嵌入事实的基础上对候选规则进行剪枝。然而,这些方法只考虑了事实三元组(主要包含结构信息),而忽略了现实世界 KG 中的大量语义信息。这种情况削弱了寻找高质量规则的方法。为此(To this end),我们提出了一种联合方法,将逻辑规则与文本表示相结合,用于可解释的 KG 推理,称为 LoTus。首先,LoTus 获得了只有事实三元组的结构嵌入,以及具有实体描述的文本嵌入,这些嵌入随后被集成到实体和关系的表示中。其次,通过所提出的结合 KGs 中的结构和文本表示的联合剪枝策略选择最佳的候选规则。最后,LoTus 通过具有规则度量的过滤过程捕获高质量规则并去除低质量规则。它通过学习规则降低了 KG 推理的时间复杂度,同时提供了可解释性。在不同数据集上的大量实验表明,与基线相比,LoTus 在 KG 推理指标 Hits@1,Hits@10和平均倒数排名(MRR)上具有竞争力的性能,并在最近的规则学习方法中取得了显着的优势。

在LoTus中,规则度量是指用于评估规则质量的一种度量方法。它可以帮助我们衡量规则的质量和可靠性,从而过滤掉低质量的规则,只保留高质量的规则。

具体的规则度量方法可能会因不同的应用场景和需求而有所不同。一般来说,规则度量可以考虑以下因素:

  1. 规则的支持度(support):衡量规则在数据集中的应用频率,支持度越高,说明规则越普遍适用。
  2. 规则的置信度(confidence):衡量规则的可靠性,置信度越高,说明规则越可信。
  3. 规则的覆盖度(coverage):衡量规则的实用性,覆盖度越高,说明规则能够应用的场景越多。
  4. 规则的新颖度(novelty):衡量规则的创造性或独特性,如果一个规则具有很高的新颖度,那么它可以提供额外的信息或新的视角。

通过综合考虑这些因素,我们可以对规则进行评估和筛选,以获得更符合要求或更具价值的规则。

1.  介绍

典型的知识图谱推理方法主要集中于独立地表示三元组中的关系和实体,如 TransE 和 RESCAL,它们是缺乏可解释性的黑盒模型。最近,规则学习已被广泛应用于提取 KG 中的逻辑规则,以实现可解释范式

可解释范式是一种机器学习模型,其输出结果可以被人类理解。这种模型通常使用易于理解的算法和模型结构,以便人们能够理解模型是如何做出决策的。

与黑盒模型相比,可解释范式更加透明和易于理解。在黑盒模型中,人们通常无法理解模型是如何做出决策的,因为模型的内部工作原理和参数是未知的。但是,在可解释范式中,模型的决策过程是透明的,人们可以理解模型的决策依据和逻辑。

从 KG 中提取的规则通常是闭合路径规则(CP规则),这是一阶Horn子句,由相同变量连接的原子组成。体原子被约束以在 KG 中形成直接路径,而头原子则闭合该路径。下面是CP规则R_{0}的示例:

R_{0}中,X,Y,Z是变量。R_{0}的长度是体原子的数量,即2。通过给定的规则,推理过程可以被可解释性地表示。例如,假设事实 bornInCity(Marie Curie, Warsaw) 和 cityOf(Warsaw, Poland),事实 bornInCountry(Marie Curie, Poland) 可以通过规则R_{0}推断为推理结论。然而,在学习 KG 推理的逻辑规则方面仍然存在一些挑战

第一,学习知识图谱中的规则所面临的问题是其效率问题。KG总是包含数千个实体和关系,甚至数百万个三元组,因此由于数量激增,学习规则的泛化过程将花费指数级时间。具体来说,一个规则的长度为n,它的复杂度为O(|R|^{n}),其中 |R| 是 KG 中关系的数量。一些KG推理研究适用于通过不同度量的值来过滤规则,但它们对于学习高质量规则并不全面。例如,指标的值可能很高,因为有大量的事实满足以下规则:

然而,R_{1}在某些情况下可能会产生误导。例如,当X,Y,Z分别实例化为 Marie Curie,France 和 Paris 时,我们从R_{1}得出结论,Marie Curie 出生在 France,这与她出生在 Poland 的事实相反。为了解决这个问题,有一些其他方法来修剪候选项,并使用关系和实体的表示来获得更准确的规则。

然而,另一个问题是,仅仅考虑上述方法的事实三元组忽略了足够的语义信息,这将影响KG推理的高质量规则学习。例如,在图1中,三元组 language(Harry Potter
and the Philosopher’s Stone, English)中的实体 Harry Potter and the Philosopher's Stone 可以代表奇幻电影或奇幻小说,仅通过典型的三元组很难区分。在外部描述中使用“film”一词时,该实体指的是 KG 中的奇幻电影。通过增强实体和关系的表示,可以提取出高质量的逻辑推理规则。具体而言,描述中的粗体字“first instalment”“second instalment”“English”提供了防止规则R_{2}被过滤的信息。不合理的规则R_{3}可以被过滤,它导致了不恰当的推理结果,因为获奖信息不在 Harry Potter and the Chamber of Secrets 的描述中。描述中的文本信息有助于在 KG 中选择高质量的规则,并进一步提高 KG 推理的性能。

为此,我们提出了一种可解释 KG 推理方法,将逻辑规则与文本表示相结合,称为LoTus(incorporating Logic rules with Textual representations for interpretable reasoning)。特别地,LoTus 采用了与文本描述融合的嵌入来剪枝候选规则。首先,LoTus 通过实体的描述获得 KG 中实体和关系的结构表示和文本表示。其次,它采用了联合剪枝方法来降低指数复杂度并选择最佳的候选规则。联合剪枝方法通过设计的组合模块自动将知识库中实体和关系的结构信息和文本信息结合起来。最后,LoTus 通过 KG 中三元组计算的规则过滤过程获得高质量的规则。LoTus 的有效性将通过链接预测任务反映在 KG 推理结果中,其可解释性由所学习的规则表示。

主要贡献如下:

-提出了一种 KG 推理方法 LoTus,以获得高质量的规则,减少高复杂度的耗时。同时,它为 KG 推理提供了一种可解释的模式。

-提出了一种具有综合关系和实体嵌入的联合剪枝方法,该方法通过自动组合事实三元组和文本描述的信息来获得。据我们所知,这是第一次将结构和文本表示结合起来以获得高质量的规则。

-在 KG 上的实验验证了 LoTus 的有效性。它在解释推理过程所花费的时间和学习规则的质量方面实现了卓越的性能。与广泛使用的黑盒模型和最近提出的一些规则学习方法相比,LoTus 通过学习到的高质量规则在 KG 推理上取得了有竞争力的性能。

2.  相关工作

KG 中基于逻辑规则的 KG 推理可以分为两类,基于统计的和基于深度学习的。

2.1.  基于统计

2.2.  基于深度学习

3.  准备工作

3.1.  KGs的一阶规则

知识图(KG)被定义为 \mathbb{G}=\left \{\mathbb{R}, \mathbb{E},\mathbb{T} \right \},其中\mathbb{R}是关系的集合,\mathbb{E}是实体的集合。\mathbb{T}\subseteq \mathbb{E} × \mathbb{R} × \mathbb{E},由类似 r(e_{1}e_{2}) 这样的三元组组成,是\mathbb{G}中三元组的集合,其中 r ∈ \mathbb{R}e_{1}e_{2}\mathbb{E}。Horn子句表示二元原子的集合,其中一个原子由一个谓词符号和几个参数组成。在带规则学习的KG推理任务中,我们打算将事实三元组推广到原子中的参数是变量的规则,例如:

其中X,Y,Z_{1},……,Z_{n-1}都是变量,r_{h}r_{i} (1≤i≤n) 是KG的集合R中的特定谓词。如图2所示,实例化的规则 bornInCity(Mary, New York City)∧cityOf(New York City, U.S.)→bornInCountry(Mary, U.S.)。由蓝色箭头和黑色虚线箭头表示,它以可解释的方式提供了一种推理策略。

3.2.  一阶规则的度量

假设CP规则R_{c}如规则(3)的形式,R_{c}的支持度定义为评估规则的正确预测数量:

其中 \underset{b}{\rightarrow} 指的是实例化的CP规则体r_{1}(x,z_{1})\wedge r_{2}(z_{1},z_{2})\wedge ...\wedge r_{n}(z_{n-1},y)。 x,z_{1}z_{2},...,z_{n-1},y 是实例化R_{c}中的实体。在我们的任务中,我们在评估 CP 规则时更喜欢两个标准化程度,即头部覆盖率和标准置信度。规则 R_{c} 的头部覆盖率,在方程式(5)中表示为 hc(R_{c}),表示正确预测与满足KG中头部的三元组的比率。规则 R_{c} 的标准置信度表示为 Conf(R_{c}),将分母更改为满足 body 的三元组:

头部覆盖率是指知识图谱中能够覆盖的问题或事实的比例。在知识图谱中,覆盖率指的是对于一个特定的问题或事实,这里指的是h(x, y),知识图谱中是否存在与之相关的实体、属性或关系的信息。

标准置信度是指知识图谱中每个三元组(实体1-关系-实体2)的置信度。在知识图谱中,每个三元组都由两个实体和一个关系组成,它们之间的关系通常具有一定的置信度。

4.  方法

LoTus 专注于学习判别规则进行推理,这需要特定的目标谓词作为主谓词来学习符合条件的CP规则,如规则(3)。在知识图谱中结合逻辑规则的知识图谱推理任务定义如下。给定目标谓词 r_{h} 作为规则的头部,并且知识图谱 \mathbb{G}=\left \{\mathbb{R}, \mathbb{E},\mathbb{T} \right \},该方法提取CP规则的集合C作为规则(3)的形式。提取的CP规则R_{c} ∈ C,其中的谓词由\mathbb{R}的原子和\mathbb{E}中的实体实例化的变量组成。C中提取的规则用于通过预测KG中缺失的实体进行推理,例如 r(e_{1},?)。图3显示了 LoTus 的三个部分:KG表示,联合剪枝,规则过滤和链接预测。前两部分是主要组成部分。表1给出了符号。

4.1.  KG表示

我们演示了使用采样的事实三元组和外部文本生成KG嵌入。LoTus 首先对与目标谓词 r_{h} 相关的实体和关系进行采样,并创建 \mathbb{G} 的子集 G 。为了提取出包含更多逻辑语义信息的规则,我们提取长度大于1的CP规则。在采样过程中,相关实体被分为两部分:E_{0} 包含与 r_{h} 相关的实体,E_{i} 包含与 E_{i-1} 相关的实体。采样实体 E 的集合是这两个部分的并集。

基于采样实体E,关系子集和 KG 分别产生为 R 和 G 。同时,对给定的文本集进行采样,得到对应于E的子集T。在这个过程中,逆谓词被引入到 KG 中。例如,如果三元组 r(e_{1}e_{2}) 在采样的KG G 中,则逆三元组 r^{-1}(e_{1}e_{2}) 也将被添加到 KG 中。由于样本化的知识图谱中谓词较多,因此在提取CP规则时将更加全面。

在 LoTus 中,我们生成具有结构信息的嵌入和具有外部文本的语义信息的嵌入,并将它们连接起来。对于结构表示,LoTus 采用翻译模型,评分函数定义为:

其中,e_{1}^{f}r^{f} 和 e_{2}^{f} 分别是e_{1}、r 和 e_{2} (头实体、关系、尾实体)的事实结构表示。对于文本表示,评分函数定义为:

其中 r^{d} 指的是 r 的文本表示。e_{1}^{d} 和 e_{2}^{d} 分别是 e_{1} 和 e_{2} 的描述的文本表示。它们由编码模型 M 初始化,该模型是多层卷积神经网络 (CNN)。我们还使用预训练语言模型(PLM)作为替代句子嵌入方法来编码实体的描述:

其中 x_{i} 表示描述中嵌入的第 i 个单词。 z^{d} 是描述的句子嵌入。我们使用多层感知(MLP)来调整嵌入的维度。在训练嵌入期间,我们根据评分函数(6)和(7)来最小化边际损失:

其中 \gamma > 0 是边际超参数。负样本 e_{1}^{-}e_{2}^{-} 是通过随机替换头/尾实体生成的。文本嵌入的损失函数是类似的。

句子嵌入的局限性:句子嵌入方法虽然能够将句子的语义信息转化为向量表示,但它们通常只考虑句子内部的信息,而忽略了句子之间的上下文和语义关系。这使得句子嵌入在处理一些复杂的语言任务时可能不够准确。

替代句子嵌入方法(Alternative Sentence Embedding Methods)是指那些不使用句子嵌入作为主要技术手段,而是采用其他方法来处理句子数据的方法。这些方法可以包括:

  1. 文本分类:这种方法将句子数据分类到不同的类别中,然后使用类别信息来处理句子。
  2. 文本聚类:这种方法将句子数据聚类成不同的簇,然后使用簇信息来处理句子。
  3. 语义匹配:这种方法通过比较两个句子的语义相似度来处理句子。
  4. 实体链接:这种方法通过将句子中的实体链接到知识图谱中的实体上来处理句子。
  5. 情感分析:这种方法通过分析句子中的情感信息来处理句子。

4.2.  联合剪枝

联合剪枝用于减少大量逻辑规则候选。本小节主要演示如何使用结合结构和文本表示的评分函数来选择最佳候选 CP 规则。为了实现联合剪枝过程,我们通过设计的超参数 λ 连接结构嵌入和文本嵌入:

对于另一种组合策略,为了自动结合结构和文本表示,我们设计了一个自适应模块  LoTus-A 。该模块如图 3 所示。为了实现联合剪枝过程,我们通过自适应组合模块连接结构嵌入 e^{f} 和文本嵌入 e^{d} :

d(·) 是指两个表示之间的距离。自动模块通过距离计算相似度,并将其值作为结合两个向量的注意力权重。然后通过 p_{i} = (p_{i}^{f} , p_{i}^{d}) 获得组合表示:

根据这些计算公式,调整外部文本有效性的值是基于从实体和关系的嵌入中获取的文本和结构信息而自适应的。此外,该值适用于不同的实体和关系。它更加灵活,因为在组合不同的实体和关系时,λ 的值是相同的。例如,实体 Marie Curie 的结构嵌​​入是 e_{Marie_Curie}^{f} ,文本嵌入是 e_{Marie_Curie}^{d}p_{Marie_Curie} = (p_{Marie_Curie}^{f} , p_{Marie_Curie}^{d}) 由等式(11)计算。如果计算后p_{Marie_Curie} = (0.2,0.8),则选择 λ 的值为 0.8。对于另一个实体或关系 i,自适应组合模块 p_{i} 的值与 p_{Marie_Curie} 不同,这意味着可以根据不同的实体和关系嵌入自适应地选择 λ 的值。关系的组合过程类似。

联合剪枝生成最佳候选 CP 规则,排名为 \mu _{1}\mu _{2}。在实验中,我们分别通过 \mu _{1}\mu _{2} 选择最重要的规则,并选择公共规则作为候选规则。这种剪枝过程可以有效地降低复杂性和消耗的时间。为了定义用于选择最佳 CP 规则的评分函数,我们应该首先考虑规则中涉及的关系谓词的语义相似性。扩展到 CP 规则,r_{1}\wedge r_{2}\wedge ...\wedge r_{n} 和 r_{h} 之间的语义相似性可以作为规则的指示符。受此启发,我们基于规则 R_{c} 的关系嵌入定义得分函数 \mu _{1}

其中 sim(·) 表示嵌入的相似度。谓词的嵌入是 r_{i}

对于实体嵌入,我们通过加权共现来产生评分函数。对于规则(3)这样的广义 CP 规则,共现是相关性的度量,这意味着 r_{1} 和 r_{2} 的 co-occurrence(共现)取决于在 r(E_{s} , E_{0}) 中 r_{1} 尾部和 r_{2} 头部的聚合嵌入之间的相似性:

其中 w_{s}w_{0} 分别是集合 E_{s}E_{0} 中确切实体的权重。如果我们不把 E_{s}E_{0} 视为加权集,则 w_{s} 和 w_{0} 分别为 1/|E_{s}|和 1/|E_{0}| 。因此,得分函数 \mu _{2} 为:

其中 E_{X}^{r_{1}} 表示实体 X 在 r_{1}(X,Z_{1}) 中的平均嵌入。E_{X}^{r_{h}}E_{Y}^{r_{n}}E_{Y}^{r_{h}}E_{Z_{i}}^{r_{i}}E_{Z_{i}}^{r_{i+1}} 可以用类似的方式解释。

在知识图谱中,co-occurrence通常指的是两个或多个实体(例如,单词、短语、实体、概念等)在文本或数据集中同时出现的频率或次数。这个概念主要用于表示实体之间的相关性或共现关系。

例如,在文本中,“苹果”和“水果”这两个实体可能会经常同时出现。那么,我们就可以说“苹果”和“水果”之间存在co-occurrence关系。

4.3.  规则过滤和链接预测

规则过滤是为了从候选者中获取高质量的规则。根据第 3 节中的指标,我们使用头部覆盖率和标准置信度来选择输出规则。如果候选的这两个值满足预定阈值 hc_{min}Conf_{min} ,则获得最终的CP规则。

在计算过程中,我们使用关系的相邻矩阵来模拟数据集中的谓词。如果三元组存在,则矩阵中对应的元素将为1。规则 R_{c} 的推理过程表示为相邻矩阵的乘积。因此,hc(R_{c}) 和 Conf(R_{c}) 可以表示为:

其中 sum(·) 计算矩阵中非零元素的数量,而 ◦ 是 Hadamard 乘积。乘积运算 \Pi 表示多个矩阵的 Hadamard 乘积。定义的函数 I 在值大于1时将矩阵中的元素设置为1。M_{r_{h}} 和 M_{r_{i}} 分别表示谓词r_{h} 和 r_{i} 的相邻矩阵。

LoTus 通过实例化规则来实现推理过程并获得缺失实体。链接预测过程被表述为实体排序任务。单条规则 R_{i} 的推理过程可以模拟为主体谓词 \prod _{i=1}^{n}M_{r_{i}} 的相邻矩阵乘积,然后将 m 条规则的所有矩阵结果相加,对缺失实体进行排序:

整体算法如算法1所示。

5.  实验结果

5.1.  数据集、指标和基线

5.2.  实验细节

5.3.  与基线比较

5.3.1.  与嵌入方法的比较

5.3.2.  与规则学习方法的比较

5.4.  消融研究

5.4.1.  复杂度分析

5.4.2.  外部文本和事实三元组的影响

5.5.  文本编码模型分析

5.6.  案例分析

表 8 使用一些规则来说明 LoTus 在获得可解释的 KG 推理的高质量规则时的有效性。表 8 中的第一块指示了该方法在 FB15K237 上的没有外部文本的示例规则。目标谓词是/film/story_by,第一个块中的规则都满足阈值,但是突出显示的红色斜体规则具有较低质量并且可以被 LoTus 删除。例如,规则 /film/story_by(X, Z) ∧ /marriage/spouse(Z, Y) →/film/story_by(X, Y) 在完成 KG 推理过程时在逻辑上是不正确的,因为即使该规则的头部覆盖率 (hc) 和标准置信度 (Conf) 值高于阈值, z 的配偶 y 没有涉及 z 编写的 story x 的概率也很高。然而,在合并知识图谱的结构和文本信息后,我们的方法不会产生这些规则并保留高质量的规则,如表 8 的第二个块所示。

在图5中,我们利用一些真实案例来说明外部文本的重要性。表8第一块中的规则(1)和(4)仍然被LoTus保留,这意味着通过实体的描述,提取高质量规则,低质量规则例如规则(2)、(3) ) 和 (5) 则被筛选掉。如果规则 (1) 中实例化的 X、Z、Y 分别为 OctopussyFor Your Eyes OnlyIan Flaming,且给定的主体三元组 /film/prequel(Octopussy,For Your Eyes Only) 和 /film/story_by(For Your Eyes Only,Ian Fleming),规则(1)可以获得真正的三元组/film/story_by(Octopussy,Ian Fleming)。对于规则(1),图5上方所示的描述可以为学习过程提供补充文本信息。诸如 ‘‘thirteenth’’, ‘‘twelfth’’, ‘‘James Bond series’’
和 ‘‘Ian Fleming’’等突出显示的描述可以提高表示,这将支持规则(1)作为高质量规则的合理性并提高其在候选规则中的排名。

对于图5的下半部分,LoTus-w/o-text无法删除规则(2),这意味着在没有外部文本的情况下,很难将规则(2)作为低质量规则删除。然而在LoTus看来,如果规则(2)中实例化的X、Y、Z分别是FrankenweenieTim BurtonHelena Bonham Carter,则 LoTus 可以使用通过突出显示的描述来增强表示从而区分实体。这些描述,尤其是突出显示的文本,帮助 LoTus 删除了规则 (2),因为对 Frankenweenie 和 Helena Bonham Carter 的描述表明,他们不应该通过关系 /film/story_by 连接起来。

6.  总结

在本文中,我们提出了一种将规则学习与文本信息相结合的方法,用于可解释的 KG 推理,名为 LoTus。为了克服学习逻辑规则时效率问题和文本语义不足的挑战,该方法在剪枝过程中添加外部文本,以在更短的时间内提取高质量的规则。数据集上的实验结果通过与黑盒嵌入模型的比较证明了其有效性,并表明我们的方法相对于最近的可解释知识图谱推理任务的规则学习方法的改进。进一步的实验全面地证明了联合剪枝过程对知识图谱中逻辑规则学习的影响,并且证明了学习到的规则可以明确地解释知识图谱的推理过程。 LoTus 在更多 KG 上的可扩展性和性能仍然需要改进。未来,我们打算通过更多来自其他数据集的谓词来学习高质量的规则,例如课程领域的知识图谱,并尝试以差分策略学习CP规则。

这篇关于结合逻辑规则与文本表示以实现可解释的知识图谱推理-Knowledge-Based Systems期刊(影响指数8.8)-2023的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666350

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了