一文了解 StandardTokenizer 分词器,分词原理

一、StandardTokenizer简介

什么是StandardTokenizer?

StandardTokenizer是HanLP中的一个分词器,也是默认的标准分词器。它基于词典和规则的方式对中文文本进行分词,将输入的句子切分成一个个独立的词语。

StandardTokenizer的主要特点如下:

  1. 基于词典和规则StandardTokenizer使用一个内置的词典和规则来对中文文本进行分词。词典包含了大量的常见词汇和词语,规则则用于处理一些特殊的情况,如人名、地名、数字等。

  2. 支持中英文混合分词StandardTokenizer可以处理中英文混合的文本,并正确地将其切分成独立的词语。例如,“我爱自然语言处理"会被切分成"我”、“爱”、“自然语言处理”。

  3. 去除空格和标点符号StandardTokenizer会自动去除文本中的空格和标点符号,并且将相邻的文字组合成一个词语。例如,"Hello, world!“会被切分成"Hello"和"world”。

  4. 支持用户自定义词典:除了内置的词典外,StandardTokenizer还支持用户自定义词典。用户可以根据需要添加自定义的词汇,以便更好地适应特定的领域或任务。

StandardTokenizer的使用非常简单,您只需要引入HanLP的依赖并进行初始化,然后调用StandardTokenizer.segment(text)方法即可对文本进行分词。其中,text是待分词的文本字符串。

StandardTokenizer是HanLP中一个基于词典和规则的分词器,它能够对中文文本进行准确、快速的分词处理。它的灵活性和易用性使得它在各种自然语言处理任务中得到广泛应用。

HanLP中的分词器种类

  1. StandardTokenizerStandardTokenizer是HanLP中默认的标准分词器,也是最常用的分词器之一。它基于词典和规则的方式对中文文本进行分词,支持中英文混合分词,并且去除空格和标点符号。

  2. IndexTokenizerIndexTokenizer是一种更细粒度的分词器,它将文本切分成单个字。与StandardTokenizer相比,IndexTokenizer保留了更多的细节信息,适用于需要字级别分析的场景。

  3. NShortSegmentNShortSegment是一种针对新闻和长文本的分词器。它通过动态规划算法,结合了最短路径和最长路径两种切分结果,能够在保证高效性的同时获得较好的分词效果。

  4. DijkstraSegmentDijkstraSegment是一种基于最短路径算法的分词器,它能够在保证分词准确性的同时,获得较快的分词速度。它适用于大规模文本分词以及对分词速度有要求的场景。

  5. CRFSegmentCRFSegment是一种基于条件随机场(CRF)模型的分词器。它通过使用机器学习算法,结合了上下文信息进行分词,能够获得更好的分词效果。

  6. PerceptronLexicalAnalyzerPerceptronLexicalAnalyzer是一种基于感知机模型的分词器。它使用了机器学习算法,能够在不同领域的文本中获得较好的分词效果,并且支持用户自定义词典。

  7. SpeedTokenizerSpeedTokenizer是一种针对大规模文本分词的高速分词器。它在保证分词速度的同时,尽可能保持较高的准确性,适用于需要处理大量文本数据的场景。

除了以上列举的分词器外,HanLP还提供了其他一些特定领域或特定任务的分词器,如用户自定义词典分词器、关键词提取分词器等。这些分词器的选择取决于具体的应用场景和需求。

二、StandardTokenizer的基础用法

引入HanLP依赖

    <dependency><groupId>com.hankcs</groupId><artifactId>hanlp</artifactId><version>portable-1.8.4</version></dependency>

使用StandardTokenizer进行分词

import com.hankcs.hanlp.HanLP;
import com.hankcs.hanlp.tokenizer.StandardTokenizer;public class Main {public static void main(String[] args) {// 初始化HanLPHanLP.init();// 待分词的文本String text = "我爱自然语言处理";// 使用StandardTokenizer对文本进行分词String[] segArray = StandardTokenizer.segment(text);// 输出分词结果for (String word : segArray) {System.out.println(word);}}
}

在上述代码中,我们首先调用HanLP.init()方法进行HanLP的初始化操作。然后,定义了一个待分词的文本字符串text,其中包含了中文文本"我爱自然语言处理"。

接下来,我们使用StandardTokenizer.segment(text)方法对文本进行分词,该方法会返回一个字符串数组,其中每个元素代表一个分词结果。

最后,我们通过遍历分词结果数组,将每个分词结果打印输出到控制台。

运行以上代码,您将会看到分词结果如下:

我
爱
自然语言处理

三、StandardTokenizer的分词算法

分词原理介绍

中文分词的原理可以简单概括为:根据预先构建好的词典,将一段中文文本切分成一个个有意义的词语,并尽可能地满足最大化匹配和最小化歧义的原则。

具体来说,中文分词的过程可以分为以下几个步骤:

  1. 预处理:中文文本中的空格、标点符号等需要进行特殊处理,以确保后续的分词过程能够准确无误地执行。

  2. 词典匹配:将待分词的文本与预先构建好的词典进行匹配,找出其中所有的词语。这个过程可以使用各种匹配算法实现,如正向最大匹配、逆向最大匹配、双向最大匹配等。其中,最大匹配指的是在当前位置开始,尽可能地匹配长的词语。

  3. 歧义消解:在第二步中,有可能会出现多个匹配结果的情况,这时需要进行歧义消解。通常使用一些启发式规则来选择最合适的分词结果。例如,可以根据词语出现的频率、上下文语境等因素来确定最佳的分词方案。

  4. 输出分词结果:最后,将分词结果输出,以供后续的处理任务使用。

需要注意的是,中文分词过程中还面临一些挑战,主要包括以下几点:

  • 未登录词问题:预先构建的词典无法覆盖所有的中文词语,因此对于一些未登录词(即不在词典中的词语),需要采用一些特殊的方法进行处理。

  • 歧义问题:某些汉字可以作为多个不同的词语出现,因此在分词时需要选择最合适的分词结果,避免歧义产生。

  • 新词识别问题:随着社会发展和科技进步,新词不断涌现,对于这些新词,需要及时更新词典,或者采用基于机器学习的方法进行自动识别和添加。

StandardTokenizer的分词算法

StandardTokenizer 的分词算法可以被概括为以下几个步骤:

  1. 中文字符识别:首先,StandardTokenizer 会识别中文字符,并将连续的中文字符视为一个词语的候选。

  2. 英文字符识别:除了中文字符外,StandardTokenizer 也会识别英文字符,将连续的英文字符作为一个词语的候选。

  3. 数字识别:对于连续的数字字符(阿拉伯数字),StandardTokenizer 也会将其作为一个词语的候选。

  4. 标点符号处理StandardTokenizer 会处理中文文本中的各种标点符号,将标点符号与前后的词语进行分离,确保分词的准确性。

  5. 特殊情况处理StandardTokenizer 会处理一些特殊情况,如中文前缀、后缀处理,以及一些特定词语的处理,确保分词结果的准确性和完整性。

总体来说,StandardTokenizer 分词算法是基于规则和字典的,能够比较准确地识别中文文本中的词语,并进行分词处理。它在处理中文文本时能够较好地应对各种情况,适用于通用的中文分词需求。

需要注意的是,虽然 StandardTokenizer 在许多场景下表现良好,但对于一些特定领域或专业术语,可能需要结合领域词典或者自定义规则进行适当调整,以达到更好的分词效果。

四、StandardTokenizer的分词效果与调优

分词效果评价指标

在中文分词任务中,为了评估不同分词方法的效果以及比较它们之间的性能差异,常常使用一些评价指标来量化分词结果的质量。下面是几个常用的分词效果评价指标:

  1. 准确率(Precision):准确率是指分词结果中正确划分的词语数量与总的划分词语数量的比值。准确率越高,表示分词结果越接近真实情况。

  2. 召回率(Recall):召回率是指分词结果中正确划分的词语数量与参考标准分词结果中的总词语数量的比值。召回率越高,表示分词结果能够涵盖更多真实的词语。

  3. F1 值:F1 值是综合考虑了准确率和召回率的评价指标,它是精确率和召回率的调和平均值。F1 值越高,表示分词结果的准确性和召回率都较好。

  4. 漏切率(Miss Rate):漏切率是指分词结果中未能划分出的正确词语数量与参考标准分词结果中的总词语数量的比值。漏切率越低,表示分词结果漏切的情况较少。

  5. 误切率(False Alarm Rate):误切率是指分词结果中错误划分的词语数量与总的划分词语数量的比值。误切率越低,表示分词结果错误切分的情况较少。

  6. 单字识别率(Single Character Recognition Rate):单字识别率是指在参考标准分词结果中,单字正确识别的数量与总的单字数量的比值。单字识别率越高,表示分词结果能够准确识别单字。

以上是常用的分词效果评价指标,不同的指标侧重点不同,可以根据具体需求选择适合的指标进行评估。在实际应用中,通常会综合考虑多个指标来评价分词算法的性能,以获得更全面的分词效果评估。同时,还可以结合人工评估和领域专家的知识,进行更准确的分词效果评估和优化。

StandardTokenizer的分词效果与调优

StandardTokenizer 是 Lucene 和 Elasticsearch 中默认的中文分词器,它的分词算法基于规则和字典,并且经过了长期的实践验证和优化,适用于各种中文文本处理场景。

分词效果

StandardTokenizer 通过规则和字典相结合的方式,对中文文本进行分词处理。在一般的中文文本场景下,其分词效果良好,能够较准确地划分出中文文本中的词语。

具体来说,StandardTokenizer 的分词算法可以处理中文字符、英文字符、数字字符等多种字符类型,并能够对各种标点符号进行处理,保证分词结果的准确性和完整性。同时,StandardTokenizer 还提供了一些特殊处理功能,比如中文前缀、后缀处理以及一些特定词语的处理,这些都能够帮助提高分词的准确性和完整性。

然而,在一些特定领域或专业术语的处理上,StandardTokenizer 可能需要进一步的调优才能得到更好的分词效果。

调优方法

以下是几种常用的针对 StandardTokenizer 的调优方法:

  1. 自定义词典StandardTokenizer 的分词算法基于内置的字典和规则,但是这些字典和规则并不能完全满足各种场景下的分词需求。因此,可以通过自定义词典的方式来扩展 StandardTokenizer 的词库,增加一些特定领域或专业术语的词语,从而提高分词效果。

  2. 停用词过滤:在一些文本处理场景中,一些常用的词语可能出现的频率较高,但是它们并没有太多的信息量,因此可能会影响分词效果。这时可以使用停用词过滤的方法,将这些无用的词语过滤掉,从而提高分词准确性。

  3. 二次划分:一些复杂的词语可能无法被 StandardTokenizer 完全划分出来,导致分词效果不理想。这时可以采用二次划分的方法,对分词结果进行进一步的划分和修正,从而得到更准确的分词结果。

  4. 调整分词规则StandardTokenizer 的分词规则是基于大量的实验和经验总结得到的,但是在某些场景下可能需要进行适当的调整。因此,可以根据实际需求对 StandardTokenizer 的分词规则进行调整,以达到更好的分词效果。

需要注意的是,在调优过程中应该充分考虑各种场景下的需求和实际情况,并根据具体情况有针对性地选择合适的调优方法。同时,为了得到更加准确的分词结果,可以采用多种方法相结合的方式进行调优。

如何根据实际需求进行调优

1. 分析实际文本场景

在进行调优之前,首先需要充分了解和分析实际的文本场景,包括文本来源、领域特点、专业术语、常用词汇等。这样可以帮助确定需要调优的重点以及优化的方向。

2. 收集特定词汇和术语

根据实际文本场景的分析结果,收集并整理出一些特定的词汇和术语,这些词汇和术语可能是领域内的专有名词、缩写词、特定组合词等。这些特定词汇和术语对于分词的准确性非常重要,因此需要将它们整理成自定义词典。

3. 自定义词典扩展

将收集到的特定词汇和术语整理成自定义词典,并将其与 StandardTokenizer 结合使用,从而扩展原有的词库。通过自定义词典的方式,可以保证在分词过程中能够更准确地识别和划分出这些特定词汇和术语。

4. 停用词过滤

根据实际需求和文本特点,结合常用词汇表和分析结果,确定需要过滤掉的停用词。停用词通常是一些频率较高但信息量较低的词汇,过滤掉这些词汇可以提高分词的准确性。

5. 二次划分和调整规则

在实际应用中,可能会遇到一些复杂词汇无法被完全划分的情况,这时可以考虑采用二次划分的方法,对分词结果进行进一步的划分和修正。同时,根据实际需求和场景特点,可以针对性地调整分词规则,以适应特定的分词需求。

6. 多次实验和评估

在进行调优过程中,需要进行多次实验和评估,观察调优后的分词效果是否符合预期,并根据实际情况对调优策略进行调整和优化,直到达到较为理想的分词效果。

总之,根据实际需求进行调优需要结合实际情况深入分析,充分了解文本场景特点,针对性地选择调优方法,并进行多次实验和评估,从而达到更好的分词效果。

五、StandardTokenizer的应用场景

StandardTokenizer在自然语言处理中的应用

1. 分词和文本预处理

在中文文本处理中,分词是一个基础而重要的任务。StandardTokenizer 可以对中文文本进行分词处理,将文本划分为一个个有意义的词语,从而为后续的文本处理任务提供基础。

通过 StandardTokenizer 进行文本预处理,可以将原始文本转化为分词后的词语序列,便于进行后续的文本特征提取、文本分类、信息检索等任务。

2. 关键词提取

关键词提取是一种常见的文本摘要和信息检索技术,在搜索引擎、推荐系统等场景中广泛应用。StandardTokenizer 可以作为关键词提取的预处理步骤,将文本分词后获取词语,然后根据一定的算法和规则,选取其中具有代表性和重要性的词语作为关键词。

3. 词性标注

词性标注是指为分词后的每个词语赋予相应的词性标签,如名词、动词、形容词等。StandardTokenizer 可以结合词性标注器,为分词后的词语进行词性标注。

词性标注在信息检索、句法分析、机器翻译等任务中都有重要作用,能够帮助理解和处理文本的句法结构和语义信息。

4. 文本分类和情感分析

文本分类和情感分析是指将文本分为不同的类别或者判断文本的情感倾向,如正面、负面、中立等。StandardTokenizer 可以将原始文本进行分词和预处理,得到词语序列,然后结合特征提取和机器学习算法,进行文本分类和情感分析。

5. 命名实体识别

命名实体识别是指从文本中识别出具有特定意义的实体,如人名、地名、组织机构名等。StandardTokenizer 可以结合命名实体识别器,对分词后的词语进行命名实体识别。

命名实体识别在信息提取、问答系统、机器翻译等任务中起到重要作用,能够提取并标注出文本中的重要实体信息。

StandardTokenizer在搜索引擎中的应用

1. 分词

在搜索引擎中,分词是一个非常重要的任务,它能够将用户输入的查询语句进行分词,从而抽取出其中的关键词。StandardTokenizer 可以对用户输入的查询语句进行分词处理,并将分词结果作为后续检索的关键词。

2. 同义词扩展

在搜索引擎中,为了提高搜索的准确率和召回率,通常需要对用户输入的查询语句进行同义词扩展。StandardTokenizer 可以将查询语句进行分词,并结合同义词词库,将分词结果扩展为具有相似意义的词语,从而提高搜索的准确率和召回率。

3. 倒排索引

倒排索引是搜索引擎中的一个重要技术,它将文档中的词语映射到相应的文档编号上,并建立起词项与文档的倒排关系。StandardTokenizer 可以对文档进行分词处理,并将分词结果与文档编号建立起对应关系,从而构建出倒排索引。

4. 文本相似度计算

在搜索引擎中,文本相似度计算是一个重要的任务,它可以用于计算用户查询语句和文档之间的相似程度。StandardTokenizer 可以对查询语句和文档进行分词处理,并结合文本相似度算法,计算它们之间的相似度。

5. 拼音检索

在搜索引擎中,拼音检索是一种常见的搜索方式,它可以将用户输入的汉字转换为拼音,从而进行检索。StandardTokenizer 可以将文本进行拼音转换,并将转换结果与拼音索引建立起对应关系,从而实现拼音检索功能。

StandardTokenizer在其他领域的应用

1. 自然语言处理(NLP)

在自然语言处理领域,StandardTokenizer 是一个重要的预处理工具。它可以对中文文本进行分词处理,将文本划分为一个个有意义的词语。这对于后续的文本特征提取、文本分类、机器翻译等任务非常关键。StandardTokenizer 还可以结合词性标注器、命名实体识别器等工具,进行更加复杂的文本处理和分析。

2. 信息检索与文本挖掘

在信息检索和文本挖掘领域,StandardTokenizer 被广泛应用于文本预处理阶段。它可以将原始文本进行分词处理,得到词语序列,并进行去停用词、词干化等预处理操作。这有助于构建文档的表示形式和特征向量,从而支持后续的文本检索、相似度计算、聚类分析等任务。

3. 机器学习与深度学习

在机器学习和深度学习任务中,StandardTokenizer 可以作为文本预处理的一部分。它能够将原始文本转化为分词后的词语序列,然后利用词袋模型、TF-IDF、词嵌入等技术将文本表示为向量形式,以供机器学习和深度学习模型使用。StandardTokenizer 还可以在特定任务中结合其他的文本处理工具,如情感分析器、文本生成模型等。

4. 问答系统与对话系统

在问答系统与对话系统中,StandardTokenizer 被用于对用户输入的问题进行分词处理,以便更好地理解用户的意图和需求。它可以将问题进行分词,并结合实体识别、关键词提取等技术,从问题中抽取出有关的信息,帮助系统更好地回答用户的问题或提供相关的对话服务。

5. 社交媒体与舆情分析

在社交媒体和舆情分析领域,StandardTokenizer 被应用于对用户生成的文本数据进行处理和分析。它可以将用户发布的文本进行分词处理,得到词语序列,并结合情感分析、主题模型等技术,对文本进行情感倾向分析、话题提取等任务,帮助企业和决策者了解用户观点、舆情动态等。

六、StandardTokenizer的局限性

  1. 中文歧义问题: 在中文分词中,很多词语存在歧义,同样的词语在不同的语境下可能有不同的意思。StandardTokenizer往往无法针对上下文进行语义理解和消除歧义,因此在处理中文文本时,会存在一定程度的歧义问题。

  2. 命名实体识别困难: 对于人名、地名、机构名等命名实体的识别也是一个挑战。StandardTokenizer并没有专门针对命名实体的识别,因此在处理包含大量命名实体的文本时,可能会漏掉一些重要信息。

  3. 领域特定术语处理困难: 在特定领域中,可能存在大量特定的行业术语或专业名词,这些词语可能并不在通用的词典中,因此StandardTokenizer可能无法很好地处理这些特定术语,需要额外的定制化处理。

  4. 多语言支持有限: 对于多语言文本的处理,StandardTokenizer的支持通常是有限的。它可能更适合处理单一语言的文本,对于涉及多种语言的复杂场景,可能需要其他更为专业的工具。

  5. 无法处理断词问题: 在某些情况下,文本中的词语之间没有明确的分隔符,这就导致了分词的困难。StandardTokenizer很难处理这种断词问题,需要额外的算法来解决。

  6. 对特殊格式文本的处理困难: 对于特殊格式的文本,比如HTML、XML等,StandardTokenizer可能无法很好地处理其中的标签和特殊格式,需要额外的预处理步骤。

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

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

相关文章

Swing程序设计(6)边界布局,网格布局

文章目录 前言一、布局介绍 1.边界布局2.网格布局3.网格组布局.总结 前言 Swing程序中还有两种方式边界布局&#xff0c;网格布局供程序员使用。这两种布局方式更能体现出软件日常制作的排列布局格式。 一、布局介绍 1.BorderLayout边界布局 语法&#xff1a;new BorderLayout …

laravel8安装多应用多模块(笔记三)

先安装laravel8 Laravel 安装&#xff08;笔记一&#xff09;-CSDN博客 一、进入项目根目录安装 laravel-modules composer require nwidart/laravel-modules 二、 大于laravel5需配置provider&#xff0c;自动生成配置文件 php artisan vendor:publish --provider"Nwid…

windows cmd执行远程长脚本

背景 有时候我们想在未进行一些环境设置&#xff0c;或者工具使用者电脑中执行一段初始化脚本&#xff0c;为了简化使用者的理解成本&#xff0c;通常给使用者一段代码执行初始化电脑中的设置&#xff0c;尤其是这段初始化脚本比较长的时候。 脚本制作者 比如将需要执行的命…

【ARM CoreLink 系列 3.1 -- CCI-500 详细介绍 -上半部】

文章目录 1.1 CCI-500 介绍1.2 CCI-500 features 详细介绍1.2.1 Data Coherency between ACE Masters1.2.2 Quality of Service (QoS)1.2.3 (I/O) Coherency1.2.4 Crossbar Interconnect Functionality1.2.5 Performance Monitoring Unit (PMU)1.2.6 DVM Message Transport1.2.…

H5ke12--2--学生选课表格的编辑

方法1不可以修改的用label,如何按了哪一行 就会在下面有个文本显示可编辑的一行 方法2每一行后面都有一个编辑, 3对每一个修改,每一个td失去焦点都会有,直接到达我们服务器 注意 如果用span的每一个html元素都可以自己定义属性 Data-属性名,data-Address links也要给为span 1…

递归算法学习——二叉树的伪回文路径

1&#xff0c;题目 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路径中 伪回文 路径的数目。 示例…

软件设计中如何画各类图之二深入解析数据流图(DFD):系统设计与分析的关键视觉工具

目录 1 前言2 数据流图&#xff08;DFD&#xff09;的重要性3 数据流图的符号说明4 清晰的数据流图步骤4.1 确定系统边界4.2 识别数据流4.3 定义处理过程4.4 确认数据存储4.5 建立数据流动的连线4.6 细化和优化 5 数据流图的用途6 使用场景7 实际应用场景举例8 结语 1 前言 当…

经典的回溯算法题leetcode子集问题思路代码详解

目录 子集问题 leetcode78题.子集 leetcode90题.子集II 如果各位对回溯不太了解可以看我昨天写的文章&#xff0c;以及上一篇着重整列了回溯经典的组合问题。 回溯算法详解-CSDN博客 经典的回溯算法题leetcode组合问题整理及思路代码详解-CSDN博客 子集问题 组合问题我们…

使用 Python 和 NLTK 进行文本摘要

一、说明 文本摘要是一种自然语言处理技术&#xff0c;允许用户将大量文本总结为小块&#xff0c;而不会丢失任何重要信息。本文介绍NLP中使用Gensim和Sumy实现文本摘要的步骤。 二、为什么要总结文本&#xff1f; 互联网包含大量信息&#xff0c;而且每秒都在增加。文本摘要可…

鼠标点击位置获取几何体对象_vtkAreaPicker_vtkInteractorStyleRubberBandPick

开发环境&#xff1a; Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example参考代码 demo解决问题&#xff1a;框选或者点选某一区域&#xff0c;并获取区域prop3D对象&#xff08;红线内为有效区域&#xff0c;polydata组成的3d几何对象&a…

力扣刷题篇之排序算法

系列文章目录 前言 本系列是个人力扣刷题汇总&#xff0c;本文是排序算法。刷题顺序按照[力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 - 力扣&#xff08;LeetCode&#xff09; 这个之前写的左神的课程笔记里也有&#xff1a; 左程云算法与数据结构代码汇总之排序&am…

【前端】数据行点击选择

前言 【前篇文章】说了,我们公司的核心价值就是让人越来越懒,能怎么便捷就怎么便捷,主打一个简单实用又快捷,为了实现这个目标,我看成这个列表陷入了深思在想,要不要子表的数据加载在点击这个行时,就可以展示数据,这样就不用每次都要点那个小圆圈啦。 查资料 这显然…

2023.11.25-istio安全

目录 文章目录 目录本节实战1、安全概述2、证书签发流程1.签发证书2.身份认证 3、认证1.对等认证a.默认的宽容模式b.全局严格 mTLS 模式c.命名空间级别策略d.为每个工作负载启用双向 TLS 2.请求认证a.JWK 与 JWKS 概述b.配置 JWT 终端用户认证c.设置强制认证规则 关于我最后 本…

Javascript每天一道算法题(十七)——缺失的第一个正整数_困难

文章目录 前言1、问题2、示例3、解决方法&#xff08;1&#xff09;方法1 总结 前言 提示&#xff1a; 1、问题 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 看了很久…

RevCol实战:使用RevCol实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度&#xff0c;DP多卡&#xff0c;EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

「Verilog学习笔记」数据串转并电路

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 关于什么是Valid/Ready握手机制&#xff1a; 深入 AXI4 总线&#xff08;一&#xff09;握手机制 - 知乎 时序图含有的信息较多&#xff0c;观察时序图需要注意&#xff1a…

Redis常用操作及应用(一)

一、五种数据结构 二、String结构 1、字符串常用操作 SET key value //存入字符串键值对 MSET key value [key value ...] //批量存储字符串键值对 SETNX key value //存入一个不存在的字符串键值对 GET key //获取一个字符串键值 MGET key [ke…

php获取当前域名方法

使用$_SERVER[HTTP_HOST]变量只获取到域名&#xff1a; $domain $_SERVER[HTTP_HOST]; echo $domain; 获取包含协议和域名的完整URL $protocol isset($_SERVER[HTTPS]) && $_SERVER[HTTPS] on ? https:// : http://; $domain $_SERVER[HTTP_HOST]; $current_url…

C++ 之win32多线程应用总结

InterlockedIncrement 函数的作用&#xff1a; 在多线程同时对一个变量访问时&#xff0c;保证一个线程访问变量时其他线程不能访问 事件是很常用的多线程同步互斥机制 HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, // SECURITY_ATTRIBUTES结构指针&…

支持Arm CCA的TF-A威胁模型

目录 一、简介 二、评估目标 2.1 假定 2.2 数据流图 三、威胁分析 3.1 威胁评估 3.1.1 针对所有固件镜像的一般威胁 3.1.2 引导固件可以缓解的威胁 3.1.3 运行时EL3固件可缓解的威胁 一、简介 本文针对支持Arm Realm Management Extension (RME)、实现Arm Confidentia…