论文解读《Order-Agnostic Data Augmentation for Few-Shot Named Entity Recognition》

论文解读系列文章目录


文章目录

  • 论文解读系列文章目录
  • 一、现有的NER DA技术要么对单词进行基于规则的操作,从而破坏句子的语义连贯性,要么利用生成模型进行实体或上下文的替换,这需要大量的标注数据,且与在低资源环境中操作的目标相悖。
  • 二、利用在序列到序列NER方法的数据构建阶段常被忽视的无序特性进行数据增强。
  • 三、无序特性
  • 四、针对文章第3段举个例子
  • 五、在这种情况下,模型会认为这个顺序是唯一正确的,并只在训练中使用这个固定顺序。这句话中”在训练中使用这个固定顺序“什么意思,能给我举个例子来解释一般如何进行NER学习的?
      • 举个例子来解释传统NER的学习过程:
  • 六、举例来理解引言第4段
      • OADA的解决方案:
      • 具体例子:
  • 七、公式化部分举例说明
  • 八、针对3.3 构建唯一的输入-输出对,举例说明
      • 举个具体的例子来解释:
  • 九、针对3.4 使用 OADA-XE 校准预测进行举例说明
      • 1. **研究背景**
      • 2. **论文贡献**
      • 3. **方法框架**
      • 4. **研究思路**
      • 5. **实验**
      • 6. **限制**


一、现有的NER DA技术要么对单词进行基于规则的操作,从而破坏句子的语义连贯性,要么利用生成模型进行实体或上下文的替换,这需要大量的标注数据,且与在低资源环境中操作的目标相悖。

这句话的意思是:

当前的命名实体识别(NER)数据增强(DA)技术存在两种主要的问题:

  1. 基于规则的操作:这种方法通过规则来修改单词,从而可能会破坏句子的语义连贯性,即使得句子的意思变得不清楚或不合理。

  2. 生成模型的使用:另一种方法是使用生成模型来替换实体或其上下文,但这种方法通常需要大量的标注数据来训练模型。这与在数据稀缺的环境中进行操作的目标相悖,因为在这种环境下,获取足够的标注数据本身就是一个挑战。

简单来说,这句话强调了当前技术在进行数据增强时所面临的挑战和局限性,特别是在低资源的情况下。

二、利用在序列到序列NER方法的数据构建阶段常被忽视的无序特性进行数据增强。

这句话的意思是:在这项研究中,作者提出了一种名为无序数据增强(OADA)的新方法。该方法作为一种替代方案,利用序列到序列(seq2seq)命名实体识别(NER)方法中数据构建阶段常被忽视的无序特性,来进行数据增强。这意味着他们利用实体在句子中无特定顺序的属性,以增加数据的多样性,从而提高NER系统的性能。

三、无序特性

“无序特性”指的是在特定上下文中,某些元素(如命名实体)在句子或结构中并不需要按照特定的顺序出现。在命名实体识别(NER)任务中,这意味着识别实体时,可以不考虑实体的排列顺序,因为它们在语义上是等效的。
例如,在句子“CNN的David Ensor正在报道”中,“CNN”和“David Ensor”这两个实体可以互换位置,而不影响句子的基本意义。这种无序特性允许模型在进行数据增强时,创造出不同的实体排列方式,从而扩展训练数据,提高模型的鲁棒性和性能。

四、针对文章第3段举个例子

举个例子来解释上面关于“无序属性”的概念:

假设有一个句子:“Apple的Tim Cook是CEO”。在命名实体识别(NER)任务中,我们要识别两个实体:

  1. Apple(公司,ORG)
  2. Tim Cook(人物,PER)

传统的序列到序列(seq2seq)NER模型在训练时会将这些实体按照固定顺序处理,比如:

  • 序列1: A p p l e ( O R G ) , T i m C o o k ( P E R ) Apple(ORG), Tim Cook(PER) AppleORG,TimCookPER

在这种情况下,模型会认为这个顺序是唯一正确的,并只在训练中使用这个固定顺序。然而,实际上,实体的顺序并不影响句子的语义,即使实体的顺序被改变,句子“Apple的Tim Cook是CEO”的含义也不会改变。

因此,基于“无序属性”的OADA方法允许我们将实体顺序随机排列,从而扩展训练数据,比如:

  • 序列2: T i m C o o k ( P E R ) , A p p l e ( O R G ) Tim Cook(PER), Apple(ORG) TimCookPER,AppleORG

在这个无序数据增强方法中,模型将这两种排列视为等效的,也就是说,无论是“[Apple(ORG), Tim Cook(PER)]”还是“[Tim Cook(PER), Apple(ORG)]”,都可以视为正确的结果。这种方法通过引入更多合理的实体排列,增加了模型在训练时可以学习的多样化样本,从而提高模型在少量样本条件下的识别能力。

通过这种方式,OADA有效地扩大了可接受的目标序列范围,使得模型在处理少量样本的NER任务时表现更好。

五、在这种情况下,模型会认为这个顺序是唯一正确的,并只在训练中使用这个固定顺序。这句话中”在训练中使用这个固定顺序“什么意思,能给我举个例子来解释一般如何进行NER学习的?

“在训练中使用这个固定顺序”是指,传统的命名实体识别(NER)模型在训练过程中会按照固定的顺序来处理实体并学习如何预测这些实体。在这种情况下,模型只会看到一种实体的排列方式,并假设这是唯一正确的顺序。这限制了模型的泛化能力,因为在现实应用中,实体的排列顺序可能会不同。

举个例子来解释传统NER的学习过程:

假设我们有以下句子:
句子Apple的Tim Cook是CEO

在命名实体识别任务中,我们的目标是识别出句中的实体(即“Apple”和“Tim Cook”),并将它们分类到相应的类别中,例如组织(ORG)和人物(PER)。

  1. 传统NER训练:
    在传统的NER训练过程中,模型会基于标注数据学习如何识别实体。标注数据会将实体和它们在句中的顺序标记好,例如:
  • 训练数据
    • 句子:Apple的Tim Cook是CEO
    • 实体标注:[Apple (ORG), Tim Cook (PER)]

在这种情况下,模型会认为“Apple”应该先出现,然后是“Tim Cook”,并且这就是“正确的顺序”。模型会基于这个顺序进行学习和预测。如果在测试或实际应用中实体顺序不同,例如“Tim Cook在Apple工作”,模型可能无法准确识别,因为它在训练过程中只学习了固定的实体顺序。

  1. 学习过程:
    假设模型被给定了多个这样的训练句子,它会逐渐学会:
  • 识别句中的“Apple”并标记为ORG。
  • 识别句中的“Tim Cook”并标记为PER。

但是,模型始终假设实体的顺序是固定的,即“Apple”总是在“Tim Cook”之前。因此,训练过程中模型只“见到”了这种固定的实体排列,其他可能的顺序没有出现在模型的训练样本中,导致模型在面对不同实体排列时可能表现较差。

为什么这会是个问题

在实际应用中,实体的顺序不一定是固定的。例如:

  • “Tim Cook在Apple工作” (“Tim Cook”在前,“Apple”在后)。
  • “Apple的CEO是Tim Cook” (顺序改变了)。

传统的NER模型在训练中只学习了固定的实体顺序(例如“Apple在前,Tim Cook在后”),这使得当遇到实体顺序发生变化时,模型的表现会下降。

OADA的优势
OADA解决了这个问题,允许模型在训练过程中看到实体的不同排列方式(即无序属性),让模型学习到无论实体的顺序如何,正确识别实体和分类才是关键。

六、举例来理解引言第4段

举个例子来解释上面的内容:

假设我们有一个句子:“谷歌的Sundar Pichai是CEO”。在这个句子中,我们需要识别出两个实体:

  1. 谷歌(Google),这是一个组织实体(ORG)。
  2. Sundar Pichai,这是一个人物实体(PER)。

通常情况下,命名实体识别(NER)模型会使用序列到序列(seq2seq)的方法来进行训练,比如以下标注:

  • 标注序列1 1 , O R G 1, ORG 1,ORG, 2 , P E R 2, PER 2,PER
  • 即:谷歌(ORG)在第1个位置,Sundar Pichai(PER)在第2个位置。

如果我们只用这一个固定的实体排列,模型在遇到不同排列时会出现问题。比如下面的排列:

  • 标注序列2 2 , P E R 2, PER 2,PER, 1 , O R G 1, ORG 1,ORG(即:Sundar Pichai在前,谷歌在后)

在传统模型中,如果训练中只学习了“ 1 , O R G 1, ORG 1,ORG, 2 , P E R 2, PER 2,PER”这种固定的顺序,当模型在实际应用中遇到“ 2 , P E R 2, PER 2,PER, 1 , O R G 1, ORG 1,ORG”时,它可能无法正确处理,因为模型只认为第一种顺序是“正确的”。

OADA的解决方案:

  1. 排序指令:OADA会将实体的排列视为“无序”的,并引入排序指令。例如,我们可以将实体的排列指令设为“ORG, PER”,或者是“PER, ORG”。
    • 如果指令是“ORG, PER”,那么模型会按照谷歌在前,Sundar Pichai在后的顺序排列。
    • 如果指令是“PER, ORG”,那么模型会按照Sundar Pichai在前,谷歌在后的顺序排列。

这样无论实体的顺序如何变化,模型都可以正确识别实体,因为它知道按照给定的排序指令去排列实体。

  1. OADA-XE损失:在训练过程中,OADA-XE损失函数会根据模型的预测和目标序列之间的最佳匹配来计算损失。比如,在模型预测出“谷歌(ORG)”和“Sundar Pichai(PER)”时,不管它们的排列顺序如何,只要符合预定的实体类型(ORG和PER),模型就不会被过多惩罚。这解决了多个排列对应同一个句子的“一对多”问题。

具体例子:

  • 如果模型遇到输入句子“谷歌的Sundar Pichai是CEO”:
    • 输入1:排序指令为“ORG, PER”,模型输出为 1 , O R G 1, ORG 1,ORG, 2 , P E R 2, PER 2,PER(谷歌在前,Sundar Pichai在后)。
    • 输入2:排序指令为“PER, ORG”,模型输出为 2 , P E R 2, PER 2,PER, 1 , O R G 1, ORG 1,ORG(Sundar Pichai在前,谷歌在后)。

无论是“谷歌在前”还是“Sundar Pichai在前”,OADA-XE都会根据目标序列与模型输出的最佳匹配来计算损失,确保模型可以学到两种排列都是合理的。

这种方法大大增加了训练数据的多样性,使得模型在面对不同的实体排列时能更灵活地处理,提高了模型在命名实体识别任务中的表现。

七、公式化部分举例说明

在命名实体识别(NER)任务中,我们的目标是从句子中识别并提取出所有代表实体的部分。假设我们有一个句子 ( X ):“Apple was founded by Steve Jobs in 1976.” 这里的实体包括“Apple”和“Steve Jobs”。

  1. 实体集:对于这个句子,实体集可以表示为 E = { y 1 , y 2 } E = \{y_1, y_2\} E={y1,y2},其中 y 1 y_1 y1 是“Apple”, y 2 y_2 y2 是“Steve Jobs”。

  2. 元组表示:每个实体 y i y_i yi 可以用元组表示。例如:

    • y 1 = ( s 1 , t 1 ) y_1 = (s_1, t_1) y1=(s1,t1),其中 s 1 = 0 s_1 = 0 s1=0(“Apple”的开始位置), t 1 = 5 t_1 = 5 t1=5(“Apple”的结束位置),而类型 t 1 = ORG t_1 = \text{ORG} t1=ORG(表示“组织”)。
    • y 2 = ( s 2 , t 2 ) y_2 = (s_2, t_2) y2=(s2,t2),其中 s 2 = 24 s_2 = 24 s2=24(“Steve Jobs”的开始位置), t 2 = 35 t_2 = 35 t2=35(“Steve Jobs”的结束位置),类型 t 2 = PER t_2 = \text{PER} t2=PER(表示“人”)。
  3. 生成过程:生成过程可以表示为公式:

    L 1 = − ∑ i = 1 N log ⁡ P ( y i ∣ X , Y < i ) L_1 = - \sum_{i=1}^{N} \log P(y_i | X, Y_{<i}) L1=i=1NlogP(yiX,Y<i)

    这个公式的意思是,我们希望最大化在给定句子 X X X 和之前识别的实体 Y < i Y_{<i} Y<i 的条件下,识别每个实体 y i y_i yi 的概率。通过这种方式,我们可以逐步识别出所有实体,确保实体的完整性。

例如,在生成“Apple”之后,我们计算在“Apple”被识别的条件下识别“Steve Jobs”的概率,最终将所有实体的概率相乘,形成整个句子的实体识别过程。在命名实体识别(NER)中,类型通常通过预定义的标签集来记录。

 每个实体根据其含义和上下文被标记为特定类型,常见的类型包括:

  1. ORG:组织(如公司、机构)
  2. PER:人(如个人名字)
  3. LOC:地点(如城市、国家)
  4. DATE:日期(如年份、月份)
  5. MISC:其他(不属于以上类别的实体)

在记录时,可以使用一个字典或数据结构,将实体的起始位置、结束位置和类型一起存储。例如,实体可以表示为:

entity = {"start": s_i,  # 起始位置"end": t_i,    # 结束位置"type": entity_type  # 实体类型,如 "ORG"、"PER"
}

这样,每个实体就包含了它在文本中的位置信息和类型信息,方便后续的处理和分析。

八、针对3.3 构建唯一的输入-输出对,举例说明

在图2中展示的例子说明了OADA方法中的实体重排过程。

举个具体的例子来解释:

假设句子是:“He’s a professor of physics at MIT”。

  1. 实体集:我们有以下三个实体:

    • “He” 是 PER(表示人物)。
    • “a professor of physics at MIT” 是 PER(表示人物)。
    • “MIT” 是 ORG(表示组织)。
  2. 排序指令
    我们采用的排序指令是“[PER, LOC, ORG, MISC]”,这意味着模型在生成过程中会优先排列人物(PER),然后是组织(ORG)。这里我们没有 LOC 或 MISC 类型的实体。

  3. 实体排列
    根据排序指令,实体首先按照类型被分组。所有 PER 类型的实体会排列在一起,比如:

    • H e ( P E R ) , a p r o f e s s o r o f p h y s i c s a t M I T ( P E R ) He (PER), a professor of physics at MIT (PER) He(PER),aprofessorofphysicsatMIT(PER)
      然后再排列 ORG 类型的实体:
    • M I T ( O R G ) MIT (ORG) MIT(ORG)
  4. 最终目标序列
    目标序列将会是:

    • ( H e , P E R ) , ( a p r o f e s s o r o f p h y s i c s a t M I T , P E R ) , ( M I T , O R G ) (He, PER), (a professor of physics at MIT, PER), (MIT, ORG) (He,PER),(aprofessorofphysicsatMIT,PER),(MIT,ORG)
  5. 错误预测
    如果模型生成的序列是:

    • ( H e , P E R ) , ( M I T , O R G ) , ( a p r o f e s s o r o f p h y s i c s a t M I T , P E R ) (He, PER), (MIT, ORG), (a professor of physics at MIT, PER) (He,PER),(MIT,ORG),(aprofessorofphysicsatMIT,PER)

    这将被判定为错误预测,因为它违反了排序指令中 PER 类型实体应该在 ORG 类型之前出现的规则。

通过这种方式,OADA能够有效处理实体重排,并确保生成的目标序列符合给定的排序指令。

九、针对3.4 使用 OADA-XE 校准预测进行举例说明

在OADA-XE中,我们引入了新型的交叉熵损失函数来处理实体类型内的一对多映射问题,尤其是处理同类型实体在序列中的顺序变化问题。下面我举个例子来详细解释这种方法。

例子

句子为:“He is a professor of physics at MIT”,并且我们要识别其中的实体:

  • “He” 是 PER(表示人物)。
  • “a professor of physics at MIT” 是 PER(表示人物)。
  • “MIT” 是 ORG(表示组织)。

假设我们的目标序列是:

  • [ H e ( P E R ) , a p r o f e s s o r o f p h y s i c s a t M I T ( P E R ) , M I T ( O R G ) ] [He \ (PER), a\ professor\ of\ physics\ at\ MIT\ (PER), MIT\ (ORG)] [He (PER),a professor of physics at MIT (PER),MIT (ORG)]

模型在进行预测时可能会给出一个不同的排列,例如:

  • [ a p r o f e s s o r o f p h y s i c s a t M I T ( P E R ) , H e ( P E R ) , M I T ( O R G ) ] [a\ professor\ of\ physics\ at\ MIT\ (PER), He\ (PER), MIT\ (ORG)] [a professor of physics at MIT (PER),He (PER),MIT (ORG)]

尽管实体“a professor of physics at MIT”和“He”都属于PER类型,但它们的顺序与目标序列不匹配。在标准的交叉熵(XE)损失中,模型会因为这种顺序的错位而受到惩罚。

OADA-XE的改进

OADA-XE不会要求严格的逐位置匹配,而是允许同一类型的实体进行重新排列。只要实体的类型和内容正确,模型就不会因为顺序的不同而受到惩罚。

详细说明

  1. 标准XE(图3a):在标准的交叉熵中,如果模型的预测顺序与目标顺序不匹配,即使预测的实体正确,也会被视为错误。因此,虽然预测中“a professor of physics at MIT”和“He”都正确识别为PER,但由于它们的顺序与目标不一致,模型仍然会被惩罚。

  2. OADA-XE(图3b):OADA-XE允许模型在PER类型实体之间进行自由排列,因此只要实体正确且类型匹配,模型就不会受到过多的惩罚。在这个例子中,预测序列“[a professor of physics at MIT, He, MIT]”将被视为正确的,因为OADA-XE寻找目标序列和预测序列之间的最佳匹配,并不会严格要求每个位置的顺序相同。

结论

通过使用OADA-XE,我们可以缓解同一类型实体之间的顺序敏感性问题,使模型能够更灵活地处理实体排列问题。

1. 研究背景

  • 命名实体识别(NER)任务是自然语言处理中的基本任务,但它往往依赖大量高质量的标注数据,获取这些数据非常昂贵且费时【86†source】。
  • 数据增强(DA)技术在低资源环境下对预训练语言模型(PLMs)非常有效。然而,现有的NER数据增强方法大多存在以下问题:基于规则的方法破坏了句子的语义连贯性,而基于生成模型的方法需要大量标注数据,这与少样本设置的目标相悖【86†source】。

2. 论文贡献

  • 提出了一种新颖的无序数据增强(Order-Agnostic Data Augmentation, OADA)框架,首次利用NER任务中的“无序特性”进行数据增强【86†source】。
  • 提出了创新的OADA-XE损失,通过处理实体排列的不同组合,解决了一对多问题【86†source】。
  • 在三个主要NER数据集上进行了综合实验,展示了OADA在少样本NER任务中的显著提升【86†source】。

3. 方法框架

  • OADA框架分为三个步骤:
    1. 实体重排:按照实体类型对实体集进行分组和排列【86†source】。
    2. 构建输入输出对:将实体的排列视为排序指令,并将其与输入句子拼接,确保唯一的输入输出对【86†source】。
    3. 校准:使用OADA-XE损失,基于目标序列和模型预测之间的最佳匹配来分配损失【86†source】。

4. 研究思路

  • OADA假设不同的实体排列提供了等价的信息,并通过创新的排序指令和OADA-XE损失,将不同排列的实体集联合微调预训练语言模型【86†source】。
  • OADA解决了传统NER系统中训练与预测阶段的固定顺序假设差距问题,使得更多合理的目标序列被接受为正确生成【86†source】。

5. 实验

  • 研究在三个数据集(CoNLL-2003、MIT-Movie、ACE-2005)上进行,包括平面NER和嵌套NER任务。
  • 实验表明,OADA不仅在少样本NER中取得了显著的性能提升,并且比其他NER数据增强方法表现更优。
  • OADA与五种预训练模型进行了对比,包括BERT、BART、Flan-T5、LLaMA2、ChatGPT,展现出广泛的适用性。

6. 限制

  • 尽管OADA表现出色,但仍有改进空间。例如,OADA采用实体类型作为重排的主要因素,未来的研究可以探索更多的重排因素来优化效果。
  • 另外,在推理阶段探索更多的多样性推理策略,如一致性检查策略,也可能进一步提高性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/882832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习莫烦python---神经网络

一、卷积神经网络区别 1、“卷积” 和 “神经网络”. 卷积也就是说神经网络不再是对每个像素的输入信息做处理了,而是图片上每一小块像素区域进行处理, 这种做法加强了图片信息的连续性. 使得神经网络能看到图形, 而非一个点. 这种做法同时也加深了神经网络对图片的理解 –翻译…

项目结构(后端+前端)(若依)

项目结构&#xff08;后端前端&#xff09; 文章目录 项目结构&#xff08;后端前端&#xff09;前言一、后端结构1.若依 二、前端结构1. 总结 前言 方便了解项目结构 提示&#xff1a;以下是本篇文章正文内容&#xff1a; 一、后端结构 1.若依 com.ruoyi ├── ruoyi-adm…

SQL语句高级查询(适用于新手)

SQL查询语句的下载脚本链接&#xff01;&#xff01;&#xff01; 【免费】SQL练习资源-具体练习操作可以查看我发布的文章资源-CSDN文库https://download.csdn.net/download/Z0412_J0103/89908378 本文旨在为那些编程基础相对薄弱的朋友们提供一份详尽的指南&#xff0c;特别聚…

【C++篇】栈的层叠与队列的流动:在 STL 的节奏中聆听算法的静谧旋律

文章目录 C 栈与队列详解&#xff1a;基础与进阶应用前言第一章&#xff1a;栈的介绍与使用1.1 栈的介绍1.2 栈的使用1.2.1 最小栈1.2.2 示例与输出 1.3 栈的模拟实现 第二章&#xff1a;队列的介绍与使用2.1 队列的介绍2.2 队列的使用2.2.1 示例与输出 2.3 队列的模拟实现2.3.…

Java项目-基于spingboot框架的篮球论坛系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

【计算机网络 - 基础问题】每日 3 题(四十九)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

从Excel文件中提取HTTP链接并在浏览器中打开

本文介绍了一段Python代码&#xff0c;使用openpyxl库从Excel文件中提取包含HTTP或HTTPS链接的单元格&#xff0c;并在默认浏览器中打开这些链接。 使用说明 确保安装openpyxl库&#xff0c;可以使用以下命令安装&#xff1a; pip install openpyxl选择包含链接的Excel文件&…

帝国CMS7.0 7.2 7.5微信登录插件

这款帝国cms微信登录插件&#xff0c;非常方便&#xff0c;新手式设置。 使用方法&#xff1a; 1、将文件夹拷贝到 /e/memberconnect 2、访问 /e/memberconnect/weixin/install/ 进行安装 3、登陆后台 用户–>外部接口–>管理外部登陆接口 输入 appid、appkey 4、前台链…

MATLAB人脸考勤系统

MATLAB人脸考勤系统课题介绍 该课题为基于MATLAB平台的人脸识别系统。传统的人脸识别都是直接人头的比对&#xff0c;现实意义不大&#xff0c;没有一定的新意。该课题识别原理为&#xff1a;先采集待识别人员的人脸&#xff0c;进行训练&#xff0c;得到人脸特征值。测试的时…

【计网笔记】应用层

应用层服务传输层协议端口号DNSTCP或UDP53FTPTCP20或21TELNETTCP23HTTPTCP80HTTPSTCP443SMTPTCP25POP3TCP110IMAPTCP143MIME//DHCPUDP67SNMPUDP161 域名系统DNS 使用具有一定语义的域名来助记IP地址 一个域名可能有多个IP地址 服务器农场 前端调配请求去不同的服务器不同服务…

机器学习面试笔试知识点之K近邻算法(KNN)、最大期望算法(EM)

机器学习面试笔试知识点之K近邻算法KNN、最大期望算法EM 一、K近邻算法(KNN)&#xff08;监督学习算法&#xff09;1. 什么是KNN1.1 KNN的通俗解释1.2 近邻的距离度量1.3 K值选择1.4 KNN最近邻分类算法的过程 2.KDD的实现&#xff1a;KD树2.1 构建KD树2.2 KD树的插入2.3 KD树的…

vue 项目i18n国际化,快速抽离中文,快速翻译

国际化大家都知道vue-i18n 实现的&#xff0c;但是有个问题&#xff0c;就是繁杂的抽离中文字符的过程&#xff0c;以及翻译中文字符的过程&#xff0c;关于这个有些小工具可以希望可以帮到大家 1.安装vue-i18n npm i vue-i18n8.22.22.ElementUI多语言配置 在src目录下创建…

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第六篇-阶段总结篇】

因为马上就要进入下一个阶段&#xff0c;制作动态编辑体积纹理的模块。 但在这之前&#xff0c;要在这一章做最后一些整理。 首先&#xff0c;我们完成没完成的部分。其次&#xff0c;最后整理一下图表。最后&#xff0c;本文附上正在用的贴图 完善Shader 还记得我们之前注…

联想ThinkPad笔记本怎么开启vt_ThinkPad笔记本开启vt虚拟化教程

最近使用联想ThinkPad笔记本的小伙伴们问我&#xff0c;联想ThinkPad笔记本怎么开启vt虚拟。大多数可以在Bios中开启vt虚拟化技术&#xff0c;当CPU支持VT-x虚拟化技术&#xff0c;有些电脑会自动开启VT-x虚拟化技术功能。而大部分的电脑则需要在Bios Setup界面中&#xff0c;手…

Florence-2视觉语言模型简明教程

近年来&#xff0c;计算机视觉领域见证了基础模型的兴起&#xff0c;这些模型无需训练自定义模型即可进行图像注释。我们已经看到了用于分类的 CLIP [2]、用于对象检测的 GroundingDINO [3] 和用于分割的 SAM [4] 等模型——每个模型都在其领域表现出色。但是&#xff0c;如果我…

将VSCode界面的显示语言改为简体中文,切换VScode界面的显示语言

VSCode界面默认的语言为英语&#xff0c;需要安装简体中文语言包&#xff0c;语言包为插件 &#xff08;Extension&#xff09;。 Step1: 点击左侧扩展按钮 Step2: 在搜索栏 &#xff0c;输入chinese Step3: 选择第一个简体中文&#xff0c;点击右下角install 按钮 Step4: 安装…

【K8S系列】Kubernetes node节点NotReady问题及解决方案详解【已解决】

Kubernetes 集群中的每个节点都是运行容器化应用的基础。当节点状态显示为 NotReady 时,意味着该节点无法正常工作,这可能会导致 Pod 无法调度,从而影响整个应用的可用性。本文将深入分析节点不健康的各种原因、详细的排查步骤以及有效的解决方案。 一、节点不健康的原因 节…

小程序视频SDK解决方案,提供个性化开发和特效定制设计

美摄科技作为视频处理技术的领航者&#xff0c;深知在这一变革中&#xff0c;每一个细微的创新都能激发无限可能。因此&#xff0c;我们精心打造了一套小程序视频SDK解决方案&#xff0c;旨在满足不同行业、不同规模客户的多元化需求&#xff0c;携手共创视频内容的璀璨未来。 …

推动AI技术研发与应用,景联文科技提供专业高效图像采集服务

景联文科技提供专业图像采集服务&#xff0c;涵盖多个领域的应用需求。 包含人体图像、人脸图像、手指指纹、手势识别、交通道路、车辆监控等图像数据集&#xff0c;计算机视觉图像数据集超400TB&#xff0c;支持免费试采试标。 高质量人像采集服务&#xff1a;支持不同光线条件…

Java最全面试题->Java基础面试题->JavaWeb面试题->Git/SVN面试题

文章目录 Git/SVN面试题Git和SVN有什么区别&#xff1f;SVN优缺点&#xff1f;Git优缺点&#xff1f;说一下Git创建分支的步骤&#xff1f;说一下Git合并的两种方法以及区别&#xff1f;Git如何查看文件的提交历史和分支的提交历史?什么是 git stash&#xff1f;什么是git sta…