文章目录

  • abstract
  • 1.introduction
  • 2.相关工作
    • 2.1 关系提取
    • 2.2 KG embedding
    • 2.3 GCNN
  • 3. 方法
    • 3.1符号
    • 3.2框架
      • 3.2.1 Instance Encoder
    • 3.4 Relational Knowledge Learning through KG Embeddings and GCNs.
    • 3.5 knowledge-aware attention
  • 4.实验
    • 4.1 数据集
    • 4.3 result
    • 4.4 长尾关系的处理
    • 4.5 ablation

Zhang, N., et al. (2019). Long-tail Relation Extraction via Knowledge Graph Embeddings and Graph Convolution Networks. NAACL.
大概是本文code

abstract

我们提出了一种用于长尾不平衡数据的远程监督关系提取方法。这里的挑战是为类分布尾部的类学习精确的few-shot模型,因为这些类的可用数据很少。受在尾巴的数据和在顶部的数据之间丰富的语义关联的启发,我们利用分布顶部数据丰富的类的知识来提高尾部数据贫乏类的性能。首先,我们提出利用知识图嵌入的类标签间的隐式关系知识,利用图卷积网络学习显式关系知识。其次,通过粗到细的知识感知注意机制,将关联知识集成到关联抽取模型中。我们展示了一个大型基准数据集的结果,它表明我们的方法明显优于其他基线,特别是在长尾关系方面。

  • 用于:长尾不平衡数据

    • long-tail:指的是类似正态分布的尾巴那一部分,也就是可用数据少
  • 方法:远程监督
  • 挑战:
    • long-tail的可用数据少

      • 目前的远程监督方法都忽略了这个,所以难以从文本中提取全面的信息
      • long-tail不容忽略:NYT中70%都是(Riedel et al., 2010; Lei et al., 2018)
      • 如何在训练实例有限的情况下来学习?
  • 启发:long-tail数据和分布顶部的数据之间有丰富的语义关联
  • 解决:可以用顶部数据来提高尾部数据的performance
    • 如果语义上相似,就可以转换
    • 这样可以增强RE,缩小潜在的搜索空间,减少关系之间的不确定性(Ye et al., 2017)
    • eg:如果一对实体包含/人/死者/死亡地点(多),很有可能包含/人/死者/埋葬地点(少)。
    • 存在两个问题
      • 关系知识的学习:也可能导致负迁移
      • 利用关系知识:
        • 将关系知识集成到现有的RE模型也是一个挑战
  • 做法
    • 编码器(Instance Encoder):

      • 首先使用CNN(Zeng et al。,2014,2015)编码
      • 输入:一个实例及其实体提及对
      • 语义编码为一个向量
    • 关系知识学习(Relation Knowledge Learning):
      • 预训练的嵌入:以知识图谱的嵌入来学习隐式关系知识

        • (Yang et al。,2015):语义相近,嵌入相近
        • 使用 TransE (Bordes et al., 2013)
        • 将通用的消息传递推理算法与神经网络的对应算法进行同化–>得到更好的嵌入
      • 利用图卷积网络学习显式关系知识
        • KGs:有多对一关系,数据稀疏–无足够的关系信号
        • 用GCN来学习
      • 输出:concate(GCN输出,KG embedding)
    • knowledge-aware attention
      • 以从粗到细的注意力机制将关系知识和编码句子注入到model中
      • 目标:选择与信息圈圈匹配的最informative instance
  • 好处
    • 关系知识:

      • 为关系预测提供了更多信息
      • 为attention提供参考–提高long-tail的性能

1.introduction

关系抽取是信息抽取中的一项重要工作,其目的是根据两个给定实体之间的相关上下文提取它们之间的关系。由于能够提取文本信息,并使许多NLP应用程序(如信息检索、对话生成和问题回答)受益,因此重新吸引了许多研究人员。

  • 传统的监督模型在这项任务中得到了广泛的探索(Zelenko et al., 2003;Zeng等,2014);然而,他们的表现在很大程度上取决于培训数据的规模和质量。
  • 远程监督方法(Distant supervision,DS)
    • 用于:构架大规模数据
    • (Mintz et al., 2009)提出
      • KGs与文本对齐,来自动标记训练实例
    • (Wu et al., 2017;Feng等,2018)

为了构建大规模的数据,(Mintz et al., 2009)提出了一种新的远程监控(distance supervision, DS)机制,通过将现有的知识图(knowledge graphs, KGs)与文本对齐,来自动标记训练实例。DS使RE模型能够在大型培训语料库上工作,因此成为RE最近的主要方法(Wu et al., 2017;冯等,2018)。虽然这些DS模型在公共关系上取得了良好的效果,但当某些关系的训练实例较少时,其性能仍然会急剧下降。从经验上看,DS可以自动标注足够数量的训练数据;然而,这些数据通常只覆盖关系的有限部分。许多关系都是长尾关系,数据仍然不足。目前的DS模型忽略了长尾关系问题,难以从纯文本中提取出全面的信息。

  • 目前的远程监督方法都忽略了long-tail,所以难以从文本中提取全面的信息
  • long-tail不容忽略:NYT中70%都是(Riedel et al., 2010; Lei et al., 2018)

处理长尾非常困难,因为可用的训练示例很少。因此,将知识从数据丰富且语义相似的头类转移到数据贫乏的尾类是很自然的(Wang et al., 2017)。例如,长尾关系/人/死者/埋葬地和头关系/人/死者/死亡地属于同一分支/人/死者/*,如图2所示。它们在语义上是相似的,利用head关系知识并将其转换为长尾关系是有益的,从而提高了总体性能。换句话说,一个实体元组的长尾关系可以有类关系和头关系,在预测未知关系时,可以利用这类关系增强RE,缩小潜在的搜索空间,减少关系之间的不确定性(Ye et al., 2017)。如果一对实体包含/人/死者/死亡地点,很有可能包含/人/死者/埋葬地点。如果能将两种关系之间的关系知识结合起来,提取出头部关系,将为长尾关系的预测提供依据。

  • 分布顶部的关系–>long-tail的关系

    • 如果语义上相似,就可以转换
    • 这样可以增强RE,缩小潜在的搜索空间,减少关系之间的不确定性(Ye et al., 2017)
    • eg:如果一对实体包含/人/死者/死亡地点(多),很有可能包含/人/死者/埋葬地点(少)。
    • 存在两个问题
      • 关系知识的学习:也可能导致负迁移
      • 利用关系知识:
        • 将关系知识集成到现有的RE模型也是一个挑战
    • 如何做
      • 利用KGembedding->提取隐式

        • (Yang et al。,2015):语义相近,嵌入相近
      • 和GCN->明确的关系表示
        • KGs:有多对一关系,数据稀疏–无足够的关系信号
        • 用GCN来学习

然而,存在两个问题:(1)关系知识的学习:语义相似的类可能包含更多的关系信息,促进迁移,而不相关的类(如/location/location/contains和/people/family/country)通常包含较少的关系信息,可能导致负迁移。(2)利用关系知识:将关系知识集成到现有的RE模型是一个挑战。
为了解决学习关系知识的问题,如(Lin et al。,2016; Ye et al。,2017)所示,我们使用类嵌入来表示关系类,并利用KG嵌入和图卷积网络(GCN)来提取隐式和明确的关系知识。具体而言,之前的研究(Yang et al。,2015)已经表明,语义相似关系的嵌入在潜在空间中彼此靠近。例如,关系/人/人/地方生活和/人/人/国籍更相关,而关系/人/人/职业与前两个关系的相关性较小。因此,利用KG的这些知识是很自然的。但是,由于KGs内存在多对一关系,因此每个班级的相关资料可能会分散。换句话说,类之间可能没有足够的关系信号。因此,我们利用GCN来学习明确的关系知识。

为了解决利用关系知识的问题,我们首先使用卷积神经网络(Zeng et al。,2014,2015)来编码句子;然后引入粗略到知识的关注机制,将关系知识与编码句子结合到包表示向量中。关系知识不仅为关系预测提供了更多信息,而且为关注模块提供了更好的参考信息,以提高长尾类的性能。

2.相关工作

2.1 关系提取

  • 关系提取。

    • 监督模型

      • 监督的RE模型(Zelenko等人,2003; GuoDong等人,2005; Mooney和Bunescu,2006)需要足够数量的注释数据用于训练,这是耗时的。
    • 远程监督模型
      • (Mintz等,2009)提出了DS来自动标记数据。DS不可避免地伴随着错误的标签问题。
      • 为了缓解噪声问题,(Riedel等人,2010; Hoffmann等人,2011)提出了多实例学习(MIL)机制。
      • 最近,神经模型已被广泛用于RE;
        • 这些模型可以准确地捕获文本关系,而无需进行明确的语言分析(Zeng等,2015; Lin等,2016; Zhang等,2018a)。
        • 为了进一步提高性能,一些研究将外部信息(Zeng等人,2017年;Ji等人,2017年; Han等,2018)和先进的培训策略(Ye等,2017年;刘等人。 2017; Huang和Wang,2017; Feng等,2018; Zeng等,2018; Wu等,2017; Qin等,2018)结合起来。
          • 这些工作主要采用DS制作大规模数据集,降低DS引起的噪声,不论长尾关系的影响如何。
      • 考虑long-tail的:
        • (Gui等,2016; Lei等,2018; Han等,2018b)。

          • Gui et al。,2016)提出了一种基于解释的方法,
          • (Lei et al。,2018)则使用了外部知识(逻辑规则)。
          • 这些研究孤立地处理每个关系,而不管关系之间的丰富语义相关性。
          • (Han et al。,2018b)提出了RE的分层关注方案,特别是对于长尾关系。
          • Zhang, N., et al. (2019):与这些方法不同,我们利用来自KG和GCN的隐式和显式关系知识,而不是数据驱动的学习参数空间,其中类似关系可能具有不同的参数,阻碍了长尾类的泛化。

2.2 KG embedding

  • 知识图嵌入。

    • 最近,已经提出了几种KG嵌入模型。
    • 这些方法学习实体和关系的低维矢量表示(Bordes等,2013; Wang等,2014; Lin等,2015)。
    • TransE(Bordes等,2013)是最广泛使用的模型之一,它将关系视为在同一低维超平面上从头部实体到尾部实体的转换。
    • 受到KGs丰富知识的启发,最近的作品(Han et al。,2018a; Wang et al。,2018; Lei et al。,2018)在KGs的指导下扩展了DS模型。
      • 然而,这些作品忽视了关系之间的丰富关联。
      • 已经研究了关系结构(关系知识)对于KG完成非常有效(Zhang等,2018b)。
      • Zhang, N., et al. (2019):据我们所知,这是第一次考虑使用KGs for RE的类(关系)的关系知识。

2.3 GCNN

  • GCNN

    • GCN将CNN泛化到高维空间中(超出二维和一维空间)。
    • (Defferrard等,2016)开发了光谱方法来执行有效的图形卷积。
    • (Kipf和Welling,2016)假设图形结构在输入实例上是已知的,并且将GCN应用于半监督学习。
    • 通过(Schlichtkrull等,2018)将GCN应用于关系数据(例如,链接预测)。
    • GCN还在其他NLP任务中取得了成功,例如
      • 语义角色标记(Marcheggiani和Titov,2017),
      • 依赖性解析(Strubell和McCallum,2017)和
      • 机器翻译(Bastings等,2017)。
  • 两项相似的工作

    • (Chen et al。,2017)在结构化标签空间上使用GCN。然而,他们的实验不处理长尾标签并且没有引入attention,而是使用平均字向量来表示每个文档。
    • (Rios和Kavuluru,2018)通过利用带有GCN的结构化标签空间提出了一种few-shot和zero-shot文本分类方法。但是,他们在标签图中使用了GCN,而我们在标签的层次结构图中使用了GCN。
  • few-shot:少样本学习

  • zero-shot:0样本学习

3. 方法

3.1符号

  • 遵循MIL,分为多个实体对包

    • 每个包Shi,ti=s1,s2,...包含多个实例(都是hi,ti这俩提及对的)s=w1,w2,...S_{h_i,t_i}={s_1,s_2,...}包含多个实例(都是h_i,t_i这俩提及对的)\\ s={w_1,w_2,...}Shi,ti=s1,s2,...hi,tis=w1,w2,...

3.2框架

3.2.1 Instance Encoder

给定实例提到两个实体,我们将原始实例编码为连续的低维向量x,其由嵌入层和编码层组成。嵌入图层。嵌入层用于将实例中的离散单词映射到连续输入嵌入中。给定实例s,我们将实例中的每个单词映射到嵌入的实值预训练Skip-Gram(Mikolov等,2013)。我们采用以下位置嵌入(Zeng et al。,2014)。对于每个单词,我们将它与两个实体的相对距离嵌入到两个维向量中。然后,我们将单词嵌入和位置嵌入连接起来,以实现每个单词的最终输入嵌入,并收集实例中的所有输入嵌入。因此,我们获得了为编码层准备好的嵌入序列。

  • Instance Encoder

    • 输入:实例s={w1,w2,…}和他的两个提及hi,ti
    • 输出:连续的低纬向量x
    • 嵌入层
      • 给定实例s
      • word embedding:
        • 每个单词,映射到skip-gram的嵌入上(Mikolov et al., 2013)
      • position embedding
        • (Zeng et al。,2014)
        • 每个单词:它与两个实体的相对距离嵌入到两个dp维的想两种
      • 两个嵌入连接起来–>每个单词的最终输入
    • 编码层
      • 输入:上面得到的嵌入
      • 方法(两个):
        • CNN(Zeng et al。,2014)
        • PCNN(Zeng et al。,2015)
        • 其他也可,但卷积效果最好
      • 输出:嵌入的组合–实例嵌入

编码层。编码层旨在将给定实例的输入嵌入组合成其对应的实例嵌入。在这项研究中,我们选择两个卷积神经架构CNN(Zeng et al。,2014)和PCNN(Zeng et al。,2015)将输入嵌入编码到实例嵌入中。其他神经架构,如递归神经网络(Zhang和Wang,2015)也可以用作句子编码器。由于之前的工作表明卷积和循环体系结构都可以实现可比较的最先进性能,因此我们在本研究中选择了卷积体系结构。请注意,我们的模型独立于编码器选择,因此可以很容易地适应其他编码器架构。

3.4 Relational Knowledge Learning through KG Embeddings and GCNs.

  • 给定:

    • 预先训练的KG嵌入
    • 预定义的类(关系)层次结构,
  • 我们首先
    • 利用KGs得到隐式关系知识
    • 初始化层次结构标签图;
      • KG的基本关系(叶子)

        • 其向量表示,可由TransE的KG嵌入来初始化

          • 也可用其他
      • 泛化得到更高级的关系集合(通常包含多个子关系(在基本几何中的))
        • 非叶子的向量:可用所有子节点的向量平均得到
      • 树结构的
      • 生成过程:递归
      • 父节点:虚拟的
      • 方法:k-means,层次聚类
  • GCN:
    • 由于KG中的一对多关系和不完整性,KG嵌入每个标签所获得的隐含相关信息是不够的。
    • 然后我们应用两层GCN来学习标签空间中明确的细粒度关系知识。
    • 输入:KGs的预训练关系嵌入vimplicitv^{implicit}vimplicit
    • 第i个标签:组合其父母和子女的标签得到
      • vi1=f(W1vi+Σj∈pWp1vj∣p∣+Σj∈cWc1vj∣c∣+bg1)v_i^1=f(W^1v_i+\Sigma_{j\in p}\frac{W_p^1v_j}{|p|}+\Sigma_{j\in c}\frac{W_c^1v_j}{|c|}+b_g^1)vi1=f(W1vi+ΣjppWp1vj+ΣjccWc1vj+bg1)
      • 第二层同上,得到vexplicit,vimplicitv^{explicit},v^{implicit}vexplicit,vimplicit
    • 输出:qr=vexplicit∣∣vimplicitq_r=v^{explicit}||v^{implicit}qr=vexplicitvimplicit–concate–>每一层的,每个节点都有一个q

3.5 knowledge-aware attention

传统上,PCNN / CNN的输出层将学习通过交叉熵损失优化的标签特定参数。然而,标签特定参数空间对于每个关系是唯一的,与长尾相关联的矩阵在训练期间只能暴露于非常少的事实,导致不良的泛化。相反,我们的方法尝试将句子向量与其对应的类嵌入进行匹配,而不是学习标签特定的注意参数。实质上,这成为一个检索问题。类嵌入的相关信息包含标签之间长尾的有用关系知识。

  • 问题:

    • CNN,loss=交叉熵–ok
    • 但long-tail,所以泛化不良
  • 解决
    • 将句子向量与对应的类嵌入匹配
    • 成为检索问题
      • 根据他们的类型来组合这些class embedding(依据层次图)
      • 得到关系表示公式:ek=Ws(tanh[sk;qri])+bs;[sk;qri]是垂直链接αki=exp(ek)Σj=1mexp(ej)rh,ti=ATT(qri,s1,s2,...,sm)e_k=W_s(tanh[s_k;q_{r^i}])+b_s;[s_k;q_{r^i}]是垂直链接\\ \alpha_k^i=\frac{exp(e_k)}{\Sigma_{j=1}^m exp(e_j)}\\ r_{h,t}^i=ATT(q_r^i,{s1,s2,...,sm})ek=Ws(tanh[sk;qri])+bs;[sk;qri]αki=Σj=1mexp(ej)exp(ek)rh,ti=ATT(qri,s1,s2,...,sm)
    • 然后,我们需要在不同层上组合关系表示–还是注意力机制
      • gi=Wgtanh(rh,t)βi=exp(gi)Σj=0L−1exp(gj)rh,r=Concat(β0rh,t0,...,βL−1rh,tL−1)g_i=W_gtanh(r_{h,t})\\ \beta_i=\frac{exp(g_i)}{\Sigma_{j=0}^{L-1}exp(g_j)}\\ r_{h,r}=Concat(\beta_0r_{h,t}^0,...,\beta_{L-1}r_{h,t}^{L-1})gi=Wgtanh(rh,t)βi=Σj=0L1exp(gj)exp(gi)rh,r=Concat(β0rh,t0,...,βL1rh,tL1)
    • 概率:P(r∣h,t,Sh,t)=exp(Mrh,t)Σr′∈Rexp(Mrh,t′)P(r|h,t,S_{h,t})=\frac{exp(Mr_{h,t})}{\Sigma_{r'\in R}exp(Mr'_{h,t})}P(rh,t,Sh,t)=ΣrRexp(Mrh,t)exp(Mrh,t)

4.实验

4.1 数据集

  • NYT

    • 数据集有53个关系,包括N A关系,表示实例关系不可用。训练集有522611个句子,281270个实体对和18252个关系事实。在测试集中,有172448个句子,96678个实体对和1950个关系事实。在训练和测试集中,我们将超过120个单词的句子截断为120个单词。
  • evaluation
    • P-R曲线
    • precision@N
  • 应用dropout

4.3 result

  • 比对

    • +KATT :OpenNRE
    • +HATT:分层注意力方法(Han et al。,2018b)
    • +ATT:(Lin et al。,2016)一般的加注意力方法
    • +ATT + ADV是通过在实例嵌入中添加小的对抗扰动来降噪的注意方法(Wu et al。,2017),
    • +而+ ATT + SL是使用软件的基于注意力的模型 - 标签方法,以减轻实体对层面错误标签问题的副作用(Liu et al。,2017)。
  • 结果
    • 如图所示,我们的方法在所有基于注意力的模型中实现了最佳结果。
    • 即使与采用复杂的去噪方案和额外信息的PCNN + HATT,PCNN + ATT + ADV和PCNN + ATT + SL相比,我们的模型仍然更有优势。
    • 这表明我们的方法可以利用KG和GCN之间丰富的关系,从而提高性能。我们相信,通过采用对抗性培训和强化学习等其他机制,我们的模型可以进一步提高,这将成为我们未来工作的一部分

4.4 长尾关系的处理

从表1中显示的结果,我们观察到对于CNN和PCNN模型,我们的模型优于普通注意模型和HATT模型。尽管与普通ATT方法和HATT方法相比,我们的KATT方法在长尾关系方面取得了更好的结果,但所有这些方法的结果仍然远远不能令人满意。这表明远程监督的RE模型仍然受到长尾关系问题的困扰,这可能需要额外的方案和额外的信息来解决这个问题。

  • 并不能完全解决这个问题

4.5 ablation

w / o hier是没有粗略关注的方法(仅利用层次标签图的底部节点嵌入),这意味着没有从其更高级别类别的知识转移;
没有GCN的方法没有GCN,这意味着没有明确的关系知识;
Word2vec是使用预训练SkipGram(Mikolov等,2013)嵌入来初始化节点的方法;
并且没有KG是使用随机嵌入来初始化节点的方法,这意味着没有来自KG的先前关系知识。

  • 从表2中的评估结果可以看出,在没有粗略注意的情况下性能略有下降,这证明来自较高节点的知识转移是有用的。我们还注意到,如果没有KG或使用字嵌入,性能会略有下降,而且当我们删除GCN时性能会显着下降。这是合理的,因为GCN可以在关系标签之间学习更明确的相关性,从而提高长尾关系的性能。

论文阅读课4-Long-tail Relation Extraction via Knowledge Graph Embeddings(GCN,关系抽取,2019,远程监督,少样本不平衡,2注意相关推荐

  1. 图割论文阅读笔记:“GrabCut” — Interactive Foreground Extraction using Iterated Graph Cuts

    "GrabCut" - Interactive Foreground Extraction using Iterated Graph Cuts 摘要 经典的图像分割使用纹理(颜色) ...

  2. 知识图谱论文阅读(十六)【WWW2019】Knowledge Graph Convolutional Networks for Recommender

    题目: KGCN 论文链接: 代码链接:https://github.com/hwwang55/KGCN 想法 高阶的意思就是multi-hop的意思 注意是从外向里聚合的,第h-1跳是外侧,第h跳是 ...

  3. 论文浅尝 | Distant Supervision for Relation Extraction

    Citation: Ji,G., Liu, K., He, S., & Zhao, J. (2017). Distant Supervision for RelationExtraction ...

  4. 论文阅读课2-Inter-sentence Relation Extraction with Document-level (GCNN,句间关系抽取,ACL2019

    文章目录 abstract 1.introduction 2.model 2.1输入层 2.2构造图 2.3 GCNN层 2.4MIL-based Relation Classification 3. ...

  5. 文献阅读课10-Neural Relation Extraction for Knowledge Base Enrichment(提取+嵌入+消歧+规范化联合模型,实体已知,仅关系抽取,多词实体)

    文章目录 Abstract 1.Introduction 2. 相关工作 2.2 Entity-aware Relation Extraction 3.提出的模型 3.1 Solution Frame ...

  6. Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction论文阅读笔记

    我的博客链接 0. 前言 1. 作者试图解决什么问题? 作者想在KGE中对语义层级(semantic hierarchies)进行建模. 2. 这篇论文的关键元素是什么? semantic hiera ...

  7. 论文阅读 [TPAMI-2022] Multiview Clustering: A Scalable and Parameter-Free Bipartite Graph Fusion Method

    论文阅读 [TPAMI-2022] Multiview Clustering: A Scalable and Parameter-Free Bipartite Graph Fusion Method ...

  8. 【论文阅读】Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction

    <Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction> 论文来源:EMNLP2020 论文链接: ...

  9. 论文浅尝 | 利用知识图谱嵌入和图卷积网络进行长尾关系抽取

    论文笔记整理:王狄烽,南京大学硕士,研究方向为关系抽取.知识库补全. 链接:https://arxiv.org/pdf/1903.01306.pdf 发表会议:NAACL2019 动机 现有的利用远程 ...

最新文章

  1. DataX 安装和使用
  2. 使用ps命令输出进程列表--用Enki学Linux系列(17)
  3. 博士选题的态度:商量着来
  4. 下载煎蛋妹子图python代码[自用]
  5. 2017年5个网络行业快速发展技术趋势
  6. Win11如何将游戏隐藏 Win11游戏隐藏的方法
  7. 【HDU5187】contest
  8. 什么是网络计算机有什么优点,ISDN是什么?它有什么优点?
  9. 通用的分页存储过程(少量代码实现)
  10. 利用格林函数解泊松方程
  11. LinkedIn第三方登录(JavaScript SDK)
  12. DosBox的安装及使用——详细教程
  13. 买菜总结之三--水果篇
  14. HDU 3954 Level up 2011 Alibaba Programming Contest 线段树
  15. JSP+ssm计算机毕业设计快递代取系统的设计与实现94wcw【源码、数据库、LW、部署】
  16. 开发效率不高?墙裂推荐这十款精选IntelliJ Idea插件
  17. css使两个盒子并列_CSS常见面试题
  18. HTML5 —新增标签
  19. Vijos - 佳佳的魔法药水(最短路)
  20. 【小睿精选·第八期】为NBA球员提供预警新冠肺炎的智能戒指Oura Ring

热门文章

  1. modbus协议手册_20种PLC元件编号和Modbus编号地址对应表
  2. 【Pytorch神经网络实战案例】06 逻辑回归拟合二维数据
  3. 促销 java_原始促销 [Java]
  4. python的GUI编程和tkinter学习笔记——第一个GUI程序
  5. LeetCode 1800. 最大升序子数组和
  6. LeetCode 323. 无向图中连通分量的数目(并查集)
  7. LeetCode 516. 最长回文子序列(动态规划)
  8. LeetCode 912. 排序数组(10种排序)
  9. LeetCode 671. 二叉树中第二小的节点
  10. 字符串匹配算法(BF RK)