当前位置: 首页 > news >正文

使用Transformer进行抄袭检测

动机

在许多行业中,尤其是在学术界,抄袭是一个重大问题。随着互联网和开放信息的兴起,这种现象甚至变得更加严重,任何人都可以通过点击访问特定主题的任何信息。

基于这一观察,研究人员一直在尝试使用不同的文本分析方法解决这个问题。在这篇概念文章中,我们将尝试解决抄袭检测工具的两个主要限制:(1)内容改写抄袭和(2)内容翻译抄袭。

(1) 对于传统工具来说,重新表述的内容可能很难捕捉到,因为它们没有考虑整体上下文的同义词和反义词。

(2) 使用与原文不同语言编写的内容也是一个巨大的问题,即使是最先进的基于机器学习的工具也面临着这个问题,因为上下文完全转移到了另一种语言。

在这篇概念性的博客文章中,我们将解释如何使用基于Transformer的模型以创新的方式解决这两个挑战。

首先,我们将带你了解分析方法,描述从数据收集到性能分析的整个工作流程。然后,我们将深入探讨解决方案的科学/技术实现,然后展示最终结果。

问题陈述

假设你有兴趣构建一个学术内容管理平台。你可能希望只接受在你的平台上没有共享过的文章。在这种情况下,你的目标将是拒绝所有与现有文章相似度超过某个阈值的新文章。

为了说明这种情况,我们将使用cord-19数据集,这是由Allen Institute for AI在Kaggle上免费提供的开放研究挑战数据集。

https://allenai.org/

分析方法

在进一步进行分析之前,让我们从以下问题明确我们在这里试图实现的目标:

问题:我们能否在我们的数据库中找到一个或多个与新提交的文档相似(超过某个阈值)的文档?

下面的工作流程突出显示了回答这个问题所需的所有主要步骤。

让我们了解这里正在发生的事情 💡。

在收集源数据后,我们首先对内容进行预处理,然后使用BERT创建一个向量数据库。

然后,每当我们有一个新的文档进入时,我们检查语言并进行抄袭检测。更多详细信息将在文章后面给出。

科学实施

本节专注于分析方法中各个部分的技术实施。

数据预处理

我们只对源数据的摘要列感兴趣,为了简单起见,我们将仅使用100个观察结果来加快预处理的速度。

import pandas as pd  def preprocess_data(data_path, sample_size):  # Read the data from specific path  data = pd.read_csv(data_path, low_memory=False)  # Drop articles without Abstract  data = data.dropna(subset = ['abstract']).reset_index(drop = True)  # Get "sample_size" random articles  data = data.sample(sample_size)[['abstract']]  return data  # Read data & preprocess it  
data_path = "./data/cord19_source_data.csv"  
source_data = preprocess_data(data_path, 100)  

以下是源数据集的五个随机观察结果。

文档向量化器

在引言中观察到的挑战分别导致选择以下两个基于Transformer的模型:

(1) BERT模型:用于解决第一个限制,因为它提供了文本信息更好的上下文表示。为此,我们将使用以下功能:

  • create_vector_from_text:用于生成单个文档的向量表示。

  • create_vector_database:负责创建一个数据库,其中包含每个文档的相应向量。

# Useful libraries  
import numpy as np  
import torch  
from keras.preprocessing.sequence import pad_sequences  
from transformers import BertTokenizer,  AutoModelForSequenceClassification  # Load bert model  
model_path = "bert-base-uncased"  tokenizer = BertTokenizer.from_pretrained(model_path,   do_lower_case=True)  model = AutoModelForSequenceClassification.from_pretrained(model_path,  output_attentions=False,  output_hidden_states=True)  def create_vector_from_text(tokenizer, model, text, MAX_LEN = 510):  input_ids = tokenizer.encode(  text,   add_special_tokens = True,   max_length = MAX_LEN,                             )      results = pad_sequences([input_ids], maxlen=MAX_LEN, dtype="long",   truncating="post", padding="post")  # Remove the outer list.  input_ids = results[0]  # Create attention masks      attention_mask = [int(i>0) for i in input_ids]  # Convert to tensors.  input_ids = torch.tensor(input_ids)  attention_mask = torch.tensor(attention_mask)  # Add an extra dimension for the "batch" (even though there is only one   # input in this batch.)  input_ids = input_ids.unsqueeze(0)  attention_mask = attention_mask.unsqueeze(0)  # Put the model in "evaluation" mode, meaning feed-forward operation.  model.eval()  # Run the text through BERT, and collect all of the hidden states produced  # from all 12 layers.   with torch.no_grad():          logits, encoded_layers = model(  input_ids = input_ids,   token_type_ids = None,   attention_mask = attention_mask,  return_dict=False)  layer_i = 12 # The last BERT layer before the classifier.  batch_i = 0 # Only one input in the batch.  token_i = 0 # The first token, corresponding to [CLS]  # Extract the vector.  vector = encoded_layers[layer_i][batch_i][token_i]  # Move to the CPU and convert to numpy ndarray.  vector = vector.detach().cpu().numpy()  return(vector)  def create_vector_database(data):  # The list of all the vectors  vectors = []  # Get overall text data  source_data = data.abstract.values  # Loop over all the comment and get the embeddings  for text in tqdm(source_data):  # Get the embedding   vector = create_vector_from_text(tokenizer, model, text)  #add it to the list  vectors.append(vector)  data["vectors"] = vectors  data["vectors"] = data["vectors"].apply(lambda emb: np.array(emb))  data["vectors"] = data["vectors"].apply(lambda emb: emb.reshape(1, -1))  return data  # Create the vector database   
vector_database = create_vector_database(source_data)  
vector_database.sample(5)  

第94行显示了向量数据库中的五个随机观察结果,包括新向量列。

(2) 使用机器翻译Transformer模型将传入文档的语言翻译为英语,因为我们的源文档是英文的。只有当文档的语言是以下五种语言之一时,才执行翻译:德语、法语、日语、希腊语和俄语。以下是使用MarianMT模型实现此逻辑的辅助函数。

from langdetect import detect, DetectorFactory  
DetectorFactory.seed = 0  def translate_text(text, text_lang, target_lang='en'):  # Get the name of the model  model_name = f"Helsinki-NLP/opus-mt-{text_lang}-{target_lang}"  # Get the tokenizer  tokenizer = MarianTokenizer.from_pretrained(model_name)  # Instantiate the model  model = MarianMTModel.from_pretrained(model_name)  # Translation of the text  formated_text = ">>{}<< {}".format(text_lang, text)  translation = model.generate(**tokenizer([formated_text], return_tensors="pt", padding=True))  translated_text = [tokenizer.decode(t, skip_special_tokens=True) for t in translation][0]  return translated_text  
抄袭分析器

当传入文档的向量与数据库中的某个向量在一定阈值水平上相似时,就存在抄袭。

但是,什么时候两个向量是相似的?→ 当它们具有相同的大小和方向时。

这个定义要求我们的向量具有相同的大小,这可能是一个问题,因为文档向量的维度取决于该文档的长度。幸运的是,我们有多种相似度测量方法可以用来解决这个问题,其中之一就是余弦相似度,我们将在本例中使用它。

如果你对其他方法感兴趣,可以参考James Briggs的这篇精彩内容。他解释了每种方法的工作原理、优点,并指导你如何实施它们。

https://www.pinecone.io/learn/semantic-search/

抄袭分析是使用run_plagiarism_analysis函数执行的。我们首先使用check_incoming_document函数检查文档语言,必要时执行正确的翻译。

最终结果是一个包含四个主要值的字典:

  • similarity_score:传入文章与数据库中最相似的现有文章之间的得分。

  • is_plagiarism:如果相似度得分等于或超过阈值,则值为true。否则为false。

  • most_similar_article:最相似文章的文本信息。

  • article_submitted:提交审批的文章。

def process_document(text):  """  Create a vector for given text and adjust it for cosine similarity search  """  text_vect = create_vector_from_text(tokenizer, model, text)  text_vect = np.array(text_vect)  text_vect = text_vect.reshape(1, -1)  return text_vect  def is_plagiarism(similarity_score, plagiarism_threshold):  return similarity_score < plagiarism_threshold  def check_incoming_document(incoming_document):  text_lang = detect(incoming_document)  language_list = ['de', 'fr', 'el', 'ja', 'ru']  final_result = ""  if(text_lang == 'en'):  final_result = incoming_document   elif(text_lang not in language_list):  final_result = None  else:  # Translate in English  final_result = translate_text(incoming_document, text_lang)  return final_result  def run_plagiarism_analysis(query_text, data, plagiarism_threshold=0.8):  top_N=3  # Check the language of the query/incoming text and translate if required.   document_translation = check_incoming_document(query_text)  if(document_translation is None):  print("Only the following languages are supported: English, French, Russian, German, Greek and Japanese")  exit(-1)  else:  # Preprocess the document to get the required vector for similarity analysis  query_vect = process_document(document_translation)  # Run similarity Search  data["similarity"] = data["vectors"].apply(lambda x: cosine_similarity(query_vect, x))  data["similarity"] = data["similarity"].apply(lambda x: x[0][0])  similar_articles = data.sort_values(by='similarity', ascending=False)[1:top_N+1]  formated_result = similar_articles[["abstract", "paper_id", "similarity"]].reset_index(drop = True)  similarity_score = formated_result.iloc[0]["similarity"]   most_similar_article = formated_result.iloc[0]["abstract"]   is_plagiarism_bool = is_plagiarism(similarity_score, plagiarism_threshold)  plagiarism_decision = {'similarity_score': similarity_score,   'is_plagiarism': is_plagiarism_bool,  'most_similar_article': most_similar_article,   'article_submitted': query_text  }  return plagiarism_decision  

系统实验

我们已经涵盖并实施了工作流程的所有组件。现在,是时候使用我们的系统来测试三种被系统接受的语言:德语、法语、日语、希腊语和俄语。

评估

以下是我们要检查作者是否抄袭的文章摘要文本。

英文文章

这篇文章实际上是源数据中的一个示例。

english_article_to_check = "The need for multidisciplinary research to address today's complex health and environmental challenges has never been greater. The One Health (OH) approach to research ensures that human, animal, and environmental health questions are evaluated in an integrated and holistic manner to provide a more comprehensive understanding of the problem and potential solutions than would be possible with siloed approaches. However, the OH approach is complex, and there is limited guidance available for investigators regarding the practical design and implementation of OH research. In this paper we provide a framework to guide researchers through conceptualizing and planning an OH study. We discuss key steps in designing an OH study, including conceptualization of hypotheses and study aims, identification of collaborators for a multi-disciplinary research team, study design options, data sources and collection methods, and analytical methods. We illustrate these concepts through the presentation of a case study of health impacts associated with land application of biosolids. Finally, we discuss opportunities for applying an OH approach to identify solutions to current global health issues, and the need for cross-disciplinary funding sources to foster an OH approach to research."  
# Select an existing article from the database  
new_incoming_text = source_data.iloc[0]['abstract']  # Run the plagiarism detection  
analysis_result = run_plagiarism_analysis(new_incoming_text, vector_database, plagiarism_threshold=0.8)  

运行系统后,我们得到了一个相似度得分为1,与现有文章完全匹配。这是显而易见的,因为我们从数据库中取了完全相同的文章。

法文文章

这篇文章可以从法国农业网站免费获取。

french_article_to_check = """Les Réseaux d’Innovation et de Transfert Agricole (RITA) ont été créés en 2011 pour mieux connecter la recherche et le développement agricole, intra et inter-DOM, avec un objectif d’accompagnement de la diversification des productions locales. Le CGAAER a été chargé d'analyser ce dispositif et de proposer des pistes d'action pour améliorer la chaine Recherche – Formation – Innovation – Développement – Transfert dans les outre-mer dans un contexte d'agriculture durable, au profit de l'accroissement de l'autonomie alimentaire."""  
analysis_result = run_plagiarism_analysis(french_article_to_check, vector_database, plagiarism_threshold=0.8)  
analysis_result  

在这种情况下,没有发生抄袭,因为相似度得分低于阈值。

德文文章

假设有人非常喜欢数据库中的第五篇文章,并决定将其翻译成德语。现在让我们看看系统如何判断这篇文章。

german_article_to_check = """Derzeit ist eine Reihe strukturell und funktionell unterschiedlicher temperaturempfindlicher Elemente wie RNA-Thermometer bekannt, die eine Vielzahl biologischer Prozesse in Bakterien, einschließlich der Virulenz, steuern. Auf der Grundlage einer Computer- und thermodynamischen Analyse der vollständig sequenzierten Genome von 25 Salmonella enterica-Isolaten wurden ein Algorithmus und Kriterien für die Suche nach potenziellen RNA-Thermometern entwickelt. Er wird es ermöglichen, die Suche nach potentiellen Riboschaltern im Genom anderer gesellschaftlich wichtiger Krankheitserreger durchzuführen. Für S. enterica wurden neben dem bekannten 4U-RNA-Thermometer vier Hairpin-Loop-Strukturen identifiziert, die wahrscheinlich als weitere RNA-Thermometer fungieren. Sie erfüllen die notwendigen und hinreichenden Bedingungen für die Bildung von RNA-Thermometern und sind hochkonservative nichtkanonische Strukturen, da diese hochkonservativen Strukturen im Genom aller 25 Isolate von S. enterica gefunden wurden. Die Hairpins, die eine kreuzförmige Struktur in der supergewickelten pUC8-DNA bilden, wurden mit Hilfe der Rasterkraftmikroskopie sichtbar gemacht."""  
analysis_result = run_plagiarism_analysis(german_article_to_check, vector_database, plagiarism_threshold=0.8)  
analysis_result  

相似度达到了97% - 模型捕捉到了这一点!结果非常令人印象深刻。这篇文章绝对是一个剽窃作品。

结论

恭喜!现在你拥有了构建更强大的抄袭检测系统所需的所有工具,使用BERT和机器翻译模型结合余弦相似度。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

相关文章:

使用Transformer进行抄袭检测

动机 在许多行业中&#xff0c;尤其是在学术界&#xff0c;抄袭是一个重大问题。随着互联网和开放信息的兴起&#xff0c;这种现象甚至变得更加严重&#xff0c;任何人都可以通过点击访问特定主题的任何信息。 基于这一观察&#xff0c;研究人员一直在尝试使用不同的文本分析…...

基于深度学习的电池健康状态预测(Python)

电池的故障预测和健康管理PHM是为了保障设备或系统的稳定运行&#xff0c;提供参考的电池健康管理信息&#xff0c;从而提醒决策者及时更换电源设备。不难发现&#xff0c;PHM的核心问题就是确定电池的健康状态&#xff0c;并预测电池剩余使用寿命。但是锂电池的退化过程影响因…...

【吊打面试官系列-Mysql面试题】MySQL 如何优化 DISTINCT?

大家好&#xff0c;我是锋哥。今天分享关于 【MySQL 如何优化 DISTINCT&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; MySQL 如何优化 DISTINCT&#xff1f; DISTINCT 在所有列上转换为 GROUP BY&#xff0c;并与 ORDER BY 子句结合使用。 SELECT DISTINCT t…...

企业IT运维管理体系-总体规划

企业IT运维管理体系-总体规划 企业IT运维管理体系的总体规划通过科学的调研、分析、设计和建设&#xff0c;提升管理成熟度、增强服务能力、实现技术创新和优化资源配置。重点在于建立组织保障体系、制定运维制度、构建运维平台和完善度量指标。通过明确运维治理模式和外包管理…...

RabbitMQ-Stream(高级详解)

文章目录 什么是流何时使用 RabbitMQ Stream&#xff1f;在 RabbitMQ 中使用流的其他方式基本使用Offset参数chunk Stream 插件服务端消息偏移量追踪示例 示例应用程序RabbitMQ 流 Java API概述环境创建具有所有默认值的环境使用 URI 创建环境创建具有多个 URI 的环境 启用 TLS…...

Web前端图片并排显示的艺术与技巧

Web前端图片并排显示的艺术与技巧 在Web前端开发中&#xff0c;图片并排显示是一种常见的布局需求。然而&#xff0c;实现这一目标并非易事&#xff0c;需要掌握一定的技巧和艺术。本文将从四个方面、五个方面、六个方面和七个方面深入探讨Web前端图片并排显示的奥秘。 四个方…...

豆瓣电影信息爬虫【2024年6月】教程

豆瓣电影信息爬虫【2024年6月】教程&#xff0c;赋完整代码 在本教程中&#xff0c;我们将使用以下技术栈来构建一个爬虫&#xff0c;用于爬取豆瓣电影列表页面的信息&#xff1a; 完整代码放到最后 &#xff1b; 完整代码放到最后 &#xff1b; 完整代码放到最后 &#xff1b;…...

Flutter- AutomaticKeepAliveClientMixin 实现Widget保持活跃状态

前言 在 Flutter 中&#xff0c;AutomaticKeepAliveClientMixin 是一个 mixin&#xff0c;用于给 State 类添加能力&#xff0c;使得当它的内容滚动出屏幕时仍能保持其状态&#xff0c;这对于 TabBarView 或者滚动列表中使用 PageView 时非常有用&#xff0c;因为这些情况下你…...

《计算机组成原理》期末复习题节选

第三章–存储系统 3.1 存储器性能指标 核心公式&#xff1a; 存储容量存储字数*字长 &#xff0c;存储字数表示存储器的地址空间的大小&#xff0c;字长表示一次存取操作的数据量.数据传输率数据宽度/存储周期 1、设机器字长为32位&#xff0c;一个容量为16MB的存储器&…...

NSSCTF中的popchains、level-up、 What is Web、 Interesting_http、 BabyUpload

目录 [NISACTF 2022]popchains [NISACTF 2022]level-up [HNCTF 2022 Week1]What is Web [HNCTF 2022 Week1]Interesting_http [GXYCTF 2019]BabyUpload 今日总结&#xff1a; [NISACTF 2022]popchains 审计可以构造pop链的代码 <php class Road_is_Long{public $…...

量产维护 | 芯片失效问题解决方案:从根源找到答案

芯片失效分析是指对电子设备中的故障芯片进行检测、诊断和修复的过程。芯片作为电子设备的核心部件,其性能和可靠性直接影响整个设备的性能和稳定性。 随着半导体技术的迅速发展,芯片在各个领域广泛应用,如通信、计算机、汽车电子和航空航天等。 因此,对芯片故障原因进行…...

Linux忘记密码的解决方法

1、进入GRUB页面&#xff0c;选择对应的内核按下‘e’键&#xff1b; 2、进入内核修改信息界面&#xff0c;找到Linux这一行&#xff0c;在这一行的末尾加上 init/bin/sh 按下ctrlx进入单用户模式 3、进入单用户后&#xff0c;重新挂载根目录&#xff0c;使其可写&#xff1…...

数据结构(DS)学习笔记(二):数据类型与抽象数据类型

参考教材&#xff1a;数据结构C语言版&#xff08;严蔚敏&#xff0c;杨伟民编著&#xff09; 工具&#xff1a;XMind、幕布、公式编译器 正在备考&#xff0c;结合自身空闲时间&#xff0c;不定时更新&#xff0c;会在里面加入一些真题帮助理解数据结构 目录 1.1数据…...

【C++进阶】模板与仿函数:C++编程中的泛型与函数式编程思想

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;栈和队列相关知识 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀模板进阶 &#x1f9e9;<&…...

华安保险:核心系统分布式升级,提升保费规模处理能力2-3倍 | OceanBase企业案例

在3月20日的2024 OceanBase数据库城市行的活动中&#xff0c;安保险信息科技部总经理王在平发表了以“保险行业核心业务系统分布式架构实践”为主题的演讲。本文为该演讲的精彩回顾。 早在2019年&#xff0c;华安保险便开始与OceanBase接触&#xff0c;并着手进行数据库的升级…...

佐西卡在美国InfoComm 2024展会上亮相投影镜头系列

6月12日至14日&#xff0c;2024美国视听显示与系统集成展览会将在拉斯维加斯会议中心盛大开幕。这场北美最具影响力的视听技术盛会&#xff0c;将汇集全球顶尖的视听解决方案&#xff0c;展现专业视听电子系统集成、灯光音响等领域的最新技术动态。 在这场科技盛宴中&#xff0…...

【权威出版/投稿优惠】2024年智慧城市与信息化教育国际会议(SCIE 2024)

2024 International Conference on Smart Cities and Information Education 2024年智慧城市与信息化教育国际会议 【会议信息】 会议简称&#xff1a;SCIE 2024 大会时间&#xff1a;点击查看 大会地点&#xff1a;中国北京 会议官网&#xff1a;www.iacscie.com 会议邮箱&am…...

Android 应用程序 ANR 问题分析总结

ANR (Application Not Responding) 应用程序无响应。如果应用程序在UI线程被阻塞太长时间&#xff0c;就会出现ANR&#xff0c;通常出现ANR&#xff0c;系统会弹出一个提示提示框&#xff0c;让用户知道&#xff0c;该程序正在被阻塞&#xff0c;是否继续等待还是关闭。 1、AN…...

爬虫案例:建设库JS逆向

爬虫流程 1. 确定目标网址和所需内容 https://www.jiansheku.com/search/enterprise/ 只是个学习案例&#xff0c;所以目标就有我自己来选择&#xff0c;企业名称&#xff0c;法定代表人&#xff0c;注册资本&#xff0c;成立日期 2. 对目标网站&#xff0c;进行分析 动态…...

基于springboot的酒店管理系统源码数据库

时代的发展带来了巨大的生活改变&#xff0c;很多事务从传统手工管理转变为自动管理。自动管理是利用科技的发展开发的新型管理系统&#xff0c;这类管理系统可以帮助人完成基本的繁琐的反复工作。酒店是出门的必需品&#xff0c;无论出差还是旅游都需要酒店的服务。由于在旺季…...

Web前端开发 - 5 - JavaScript基础

JavaScript 一、JavaScript基础1. JavaScript入门2. 语句3. 数据类型4. 函数5. 对象6. 数组 一、JavaScript基础 1. JavaScript入门 <script> </script> <script type"text/javascript" src"xxx.js"> </script>//单行注释 /* 多…...

程序员之路:塑造卓越职业素养的探索与实践

序章 在这个数字时代&#xff0c;程序员作为技术进步的推动者&#xff0c;不仅需要掌握扎实的技术技能&#xff0c;更需具备高尚的职业素养&#xff0c;以应对日益复杂的行业挑战。职业素养&#xff0c;犹如编程中的“算法”&#xff0c;虽无形却决定着个人发展的效率与质量。本…...

C# Winform 在低DPI创建窗体后,在高DPI运行时,窗体会自动拉伸,导致窗体显示不全

C# Winform 在低DPI创建窗体后&#xff0c;在高DPI运行时&#xff0c;窗体会自动拉伸&#xff0c;导致窗体显示不全&#xff0c; 比如在分辨率为100% 的电脑创建C#项目&#xff0c;当运动到分辨率为125%的电脑运行时&#xff0c;后者运行的窗体会自动拉伸&#xff0c;窗体显示…...

JWT攻击手册(非常详细)零基础入门到精通,收藏这一篇就够了

JSON Web Token&#xff08;JWT&#xff09;对于渗透测试人员而言可能是一种非常吸引人的攻击途径&#xff0c;因为它们不仅是让你获得无限访问权限的关键&#xff0c;而且还被视为隐藏了通往以下特权的途径&#xff1a;特权升级&#xff0c;信息泄露&#xff0c;SQLi&#xff…...

5.所有权

标题 一、概念二、规则三、示例3.1 变量作用域3.2 所有权的移交&#xff08;深拷贝与浅拷贝&#xff09;3.3 函数与所有权3.4 返回值与作用域3.5 引用的使用 四、切片(&str) 一、概念 所有权是Rust的核心特性。所有程序在运行时都必须管理它们使用计算机内存的方式。Rust的…...

RabbitMQ-工作模式(Publish模式Routing模式)

文章目录 发布/订阅&#xff08;Publish/Subscribe&#xff09;交换机临时队列绑定总体代码示例 路由&#xff08;Routing&#xff09;绑定直连交换机多重绑定发送日志订阅总体代码示例 更多相关内容可查看 发布/订阅&#xff08;Publish/Subscribe&#xff09; 构建一个简单的…...

【机器学习算法】期望最大化(EM)算法概述

期望最大化&#xff08;EM&#xff09;算法是一种迭代算法&#xff0c;用于在有未观测变量的情况下&#xff0c;求解概率模型参数的最大似然估计或最大后验估计。以下是对EM算法的原理与应用进行详细地剖析&#xff1a; EM算法原理 E步 - 期望计算&#xff1a;根据当前估计的模…...

【深度学习】数竹签演示软件系统

往期文章列表&#xff1a; 【YOLO深度学习系列】图像分类、物体检测、实例分割、物体追踪、姿态估计、定向边框检测演示系统【含源码】 【深度学习】物体检测/实例分割/物体追踪/姿态估计/定向边框/图像分类检测演示系统【含源码】 【深度学习】YOLOV8数据标注及模型训练方法整…...

Halcon 多相机统一坐标系

小杨说事-基于Halcon的多相机坐标系统一原理个人理解_多相机标定统一坐标系-CSDN博客 一、概述 最近在搞多相机标定等的相关问题&#xff0c;对于很大的场景&#xff0c;单个相机的视野是不够的&#xff0c;就必须要统一到一个坐标系下&#xff0c;因此我也用了4个相机&#…...

Apache Kylin:大数据分析从入门到精通

一、Kylin简介 Apache Kylin是一个分布式数据分析引擎,专为处理海量数据设计,能够在极短时间内对超大规模数据集进行OLAP(Online Analytical Processing)分析。Kylin通过预计算和高效的查询机制,为用户提供秒级的查询响应时间,支持与Hadoop、Hive、HBase等大数据平台无缝…...

漯河做网站/网络小说网站三巨头

所以情况就是这样&#xff1a;我正在创建一个多人游戏,我希望我的朋友……,能够为它创建机器人.所以我要做的是创建一个抽象类Bot {},并为机器人定义函数,然后他们必须实现它们&#xff1a;非常简单.我被卡住了,之后如何添加它们&#xff1f;您可以使用反射或类似的东西来找到B…...

seo做的不好的网站有哪些/服务营销策划方案

#内核# cat /proc/version #操作系统# uname -a #发行版本# cat /etc/issue #hostnamectl#转载于:https://www.cnblogs.com/lishidefengchen/p/10601466.html...

手机网站开发模拟/网页seo

题目链接 不知道为什么&#xff0c;我用cin&#xff0c;cout就是过不了。。。改成scanf过了。。。 还是我居然理解错题意了&#xff0c;已经不能用看错了。。。至少两个数字&#xff0c;我理解成两个数字了&#xff0c;还写了个爆搜。。。 1 #include <cstdio>2 #include…...

东莞创建网站/百度投放广告收费标准

克鲁斯卡尔算法 迪杰斯特拉算法 笛卡尔乘积 欧拉回路 对称差 幂集 主析取范式 偏序集合 可达矩阵 奥尔定理 贪心算法...

设计官网收费标准/南京seo排名扣费

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2022年制冷与空调设备运行操作操作证考试题库系制冷与空调设备运行操作考题高频考题覆盖&#xff01;2022制冷与空调设备运行操作考试模拟100题及在线模拟考试根据制冷与空调设备运行操作考试大纲。制冷与空调设备运行…...

昆山建设银行网站/东莞网络优化公司

目前为止&#xff0c;已经对 Vue 的基本用法有了初步了解。由于不想自己手动去开发组件&#xff08;一方面嫌丑&#xff0c;另一方面感觉上手太慢&#xff09;&#xff0c;所以直接就开始学习第三方组件库的使用。根据之前的前端开发经验&#xff0c;猜想 Vue 框架肯定存在着很…...