美团搜索中NER技术的探索与实践

命名实体识别(NamedEntityRecognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。NER是信息提取、问答系统、句法分析、机器翻译、面向SemanticWeb的元数据标注等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要的地位。在美团搜索场景下,NER是深度查询理解(DeepQueryUnderstanding,简称DQU)的底层基础信号,主要应用于搜索召回、用户意图识别、实体链接等环节,NER信号的质量,直接影响到用户的搜索体验。

有别于其他应用场景,美团搜索的NER任务具有以下特点:

针对O2O领域NER任务的特点,我们整体的技术选型是“实体词典匹配+模型预测”的框架,如图下2所示。实体词典匹配和模型预测两者解决的问题各有侧重,在当前阶段缺一不可。下面通过对三个问题的解答来说明我们为什么这么选。

为什么需要实体词典匹配?

答:主要有以下四个原因:

一是搜索中用户查询的头部流量通常较短、表达形式简单,且集中在商户、品类、地址等三类实体搜索,实体词典匹配虽简单但处理这类查询准确率也可达到90%以上。

有了实体词典匹配为什么还要模型预测?

答:有以下两方面的原因:

一是随着搜索体量的不断增大,中长尾搜索流量表述复杂,越来越多OOV(OutOfVocabulary)问题开始出现,实体词典已经无法满足日益多样化的用户需求,模型预测具备泛化能力,可作为词典匹配的有效补充。

二是实体词典匹配无法解决歧义问题,比如“黄鹤楼美食”,“黄鹤楼”在实体词典中同时是武汉的景点、北京的商家、香烟产品,词典匹配不具备消歧能力,这三种类型都会输出,而模型预测则可结合上下文,不会输出“黄鹤楼”是香烟产品。

实体词典匹配、模型预测两路结果是怎么合并输出的?

答:目前我们采用训练好的CRF权重网络作为打分器,来对实体词典匹配、模型预测两路输出的NER路径进行打分。在词典匹配无结果或是其路径打分值明显低于模型预测时,采用模型识别的结果,其他情况仍然采用词典匹配结果。

在介绍完我们的技术选型后,接下来会展开介绍下我们在实体词典匹配、模型在线预测等两方面的工作,希望能为大家在O2ONER领域的探索提供一些帮助。

美团具有丰富多样的结构化数据,通过对领域内结构化数据的加工处理可以获得高精度的初始实体库。例如:从商户基础信息中,可以获取商户名、类目、地址、售卖商品或服务等类型实体。从猫眼文娱数据中,可以获取电影、电视剧、艺人等类型实体。然而,用户搜索的实体名往往夹杂很多非标准化表达,与业务定义的标准实体名之间存在差异,如何从非标准表达中挖掘领域实体变得尤为重要。

现有的新词挖掘技术主要分为无监督学习、有监督学习和远程监督学习。无监督学习通过频繁序列产生候选集,并通过计算紧密度和自由度指标进行筛选,这种方法虽然可以产生充分的候选集合,但仅通过特征阈值过滤无法有效地平衡精确率与召回率,现实应用中通常挑选较高的阈值保证精度而牺牲召回。先进的新词挖掘算法大多为有监督学习,这类算法通常涉及复杂的语法分析模型或深度网络模型,且依赖领域专家设计繁多规则或大量的人工标记数据。远程监督学习通过开源知识库生成少量的标记数据,虽然一定程度上缓解了人力标注成本高的问题。然而小样本量的标记数据仅能学习简单的统计模型,无法训练具有高泛化能力的复杂模型。

Step1:候选序列挖掘。频繁连续出现的词序列,是潜在新型词汇的有效候选,我们采用频繁序列产生充足候选集合。

Step2:基于远程监督的大规模有标记语料生成。频繁序列随着给定语料的变化而改变,因此人工标记成本极高。我们利用领域已有累积的实体词典作为远程监督词库,将Step1中候选序列与实体词典的交集作为训练正例样本。同时,通过对候选序列分析发现,在上百万的频繁Ngram中仅约10%左右的候选是真正的高质新型词汇。因此,对于负例样本,采用负采样方式生产训练负例集[1]。针对海量UGC语料,我们设计并定义了四个维度的统计特征来衡量候选短语可用性:

在经过小样本标记数据构建和多维度统计特征提取后,训练二元分类器来计算候选短语预估质量。由于训练数据负例样本采用了负采样的方式,这部分数据中混合了少量高质量的短语,为了减少负例噪声对短语预估质量分的影响,可以通过集成多个弱分类器的方式减少误差。对候选序列集合进行模型预测后,将得分超过一定阈值的集合作为正例池,较低分数的集合作为负例池。

Step3:基于深度语义网络的短语质量评估。在有大量标记数据的情况下,深度网络模型可以自动有效地学习语料特征,并产出具有泛化能力的高效模型。BERT通过海量自然语言文本和深度模型学习文本语义表征,并经过简单微调在多个自然语言理解任务上刷新了记录,因此我们基于BERT训练短语质量打分器。为了更好地提升训练数据的质量,我们利用搜索日志数据对Step2中生成的大规模正负例池数据进行远程指导,将有大量搜索记录的词条作为有意义的关键词。我们将正例池与搜索日志重合的部分作为模型正样本,而将负例池减去搜索日志集合的部分作为模型负样本,进而提升训练数据的可靠性和多样性。此外,我们采用Bootstrapping方式,在初次得到短语质量分后,重新根据已有短语质量分以及远程语料搜索日志更新训练样本,迭代训练提升短语质量打分器效果,有效减少了伪正例和伪负例。

在UGC语料中抽取出大量新词或短语后,参考AutoNER[2]对新挖掘词语进行类型预测,从而扩充离线的实体库。

原始的在线NER词典匹配方法直接针对Query做双向最大匹配,从而获得成分识别候选集合,再基于词频(这里指实体搜索量)筛选输出最终结果。这种策略比较简陋,对词库准确度和覆盖度要求极高,所以存在以下几个问题:

为了解决以上问题,在进行实体字典匹配前引入了CRF分词模型,针对垂直领域美团搜索制定分词准则,人工标注训练语料并训练CRF分词模型。同时,针对模型分词错误问题,设计两阶段修复方式:

将BERT应用于实体识别线上预测时面临一个挑战,即预测速度慢。我们从模型蒸馏、预测加速两个方面进行了探索,分阶段上线了BERT蒸馏模型、BERT+Softmax、BERT+CRF模型。

4.1.1模型蒸馏

我们尝试了对BERT模型进行剪裁和蒸馏两种方式,结果证明,剪裁对于NER这种复杂NLP任务精度损失严重,而模型蒸馏是可行的。模型蒸馏是用简单模型来逼近复杂模型的输出,目的是降低预测所需的计算量,同时保证预测效果。Hinton在2015年的论文中阐述了核心思想[6],复杂模型一般称作TeacherModel,蒸馏后的简单模型一般称作StudentModel。Hinton的蒸馏方法使用伪标注数据的概率分布来训练StudentModel,而没有使用伪标注数据的标签来训练。作者的观点是概率分布相比标签能够提供更多信息以及更强约束,能够更好地保证StudentModel与TeacherModel的预测效果达到一致。在2018年NeurIPS的Workshop上,[7]提出一种新的网络结构BlendCNN来逼近GPT的预测效果,本质上也是模型蒸馏。BlendCNN预测速度相对原始GPT提升了300倍,另外在特定任务上,预测准确率还略有提升。关于模型蒸馏,基本可以得到以下结论:

我们使用IDCNN-CRF来近似BERT实体识别模型,IDCNN(IteratedDilatedCNN)是一种多层CNN网络,其中低层卷积使用普通卷积操作,通过滑动窗口圈定的位置进行加权求和得到卷积结果,此时滑动窗口圈定的各个位置的距离间隔等于1。高层卷积使用膨胀卷积(AtrousConvolution)操作,滑动窗口圈定的各个位置的距离间隔等于d(d>1)。通过在高层使用膨胀卷积可以减少卷积计算量,同时在序列依赖计算上也不会有损失。在文本挖掘中,IDCNN常用于对LSTM进行替换。实验结果表明,相较于原始BERT模型,在没有明显精度损失的前提下,蒸馏模型的在线预测速度有数十倍的提升。

4.1.2预测加速

BERT中大量小算子以及Attention计算量的问题,使得其在实际线上应用时,预测时长较高。我们主要使用以下三种方法加速模型预测,同时对于搜索日志中的高频Query,我们将预测结果以词典方式上传到缓存,进一步减少模型在线预测的QPS压力。下面介绍下模型预测加速的三种方法:

算子融合:通过降低KernelLaunch次数和提高小算子访存效率来减少BERT中小算子的耗时开销。我们这里调研了FasterTransformer的实现。平均时延上,有1.4x~2x左右加速比;TP999上,有2.1x~3x左右的加速比。该方法适合标准的BERT模型。开源版本的FasterTransformer工程质量较低,易用性和稳定性上存在较多问题,无法直接应用,我们基于NV开源的FasterTransformer进行了二次开发,主要在稳定性和易用性进行了改进:

Batching:Batching的原理主要是将多次请求合并到一个Batch进行推理,降低KernelLaunch次数、充分利用多个GPUSM,从而提高整体吞吐。在max_batch_size设置为4的情况下,原生BERT模型,可以在将平均Latency控制在6ms以内,最高吞吐可达1300QPS。该方法十分适合美团搜索场景下的BERT模型优化,原因是搜索有明显的高低峰期,可提升高峰期模型的吞吐量。

混合精度:混合精度指的是FP32和FP16混合的方式,使用混合精度可以加速BERT训练和预测过程并且减少显存开销,同时兼顾FP32的稳定性和FP16的速度。在模型计算过程中使用FP16加速计算过程,模型训练过程中权重会存储成FP32格式,参数更新时采用FP32类型。利用FP32Master-weights在FP32数据类型下进行参数更新,可有效避免溢出。混合精度在基本不影响效果的基础上,模型训练和预测速度都有一定的提升。

4.2.1融合搜索日志特征的Lattice-LSTM

在O2O垂直搜索领域,大量的实体由商家自定义(如商家名、团单名等),实体信息隐藏在供给POI的属性中,单使用传统的语义方式识别效果差。Lattice-LSTM[10]针对中文实体识别,通过增加词向量的输入,丰富语义信息。我们借鉴这个思路,结合搜索用户行为,挖掘Query中潜在短语,这些短语蕴含了POI属性信息,然后将这些隐藏的信息嵌入到模型中,在一定程度上解决领域新词发现问题。与原始Lattice-LSTM方法对比,识别准确率千分位提升5个点。

1)短语挖掘及特征计算

该过程主要包括两步:匹配位置计算、短语生成,下面详细展开介绍。

Step1:匹配位置计算。对搜索日志进行处理,重点计算查询与文档字段的详细匹配情况以及计算文档权重(比如点击率)。如图9所示,用户输入查询是“手工编织”,对于文档d1(搜索中就是POI),“手工”出现在字段“团单”,“编织”出现在字段“地址”。对于文档2,“手工编织”同时出现在“商家名”和“团单”。匹配开始位置、匹配结束位置分别对应有匹配的查询子串的开始位置以及结束位置。

2)模型结构

模型结构如图11所示,蓝色部分表示一层标准的LSTM网络(可以单独训练,也可以与其他模型组合),输入为字向量,橙色部分表示当前查询中所有词向量,红色部分表示当前查询中的通过Step1计算得到的所有短语向量。对于LSTM的隐状态输入,主要由两个层面的特征组成:当前文本语义特征,包括当前字向量输入和前一时刻字向量隐层输出;潜在的实体知识特征,包括当前字的短语特征和词特征。下面介绍当前时刻潜在知识特征的计算以及特征组合的方法:(下列公式中,σ表示sigmoid函数,⊙表示矩阵乘法)

4.2.2融合实体词典的两阶段NER

我们考虑将领域词典知识融合到模型中,提出了两阶段的NER识别方法。该方法是将NER任务拆分成实体边界识别和实体标签识别两个子任务。相较于传统的端到端的NER方法,这种方法的优势是实体切分可以跨领域复用。另外,在实体标签识别阶段可以充分使用已积累的实体数据和实体链接等技术提高标签识别准确率,缺点是会存在错误传播的问题。

在第一阶段,让BERT模型专注于实体边界的确定,而第二阶段将实体词典带来的信息增益融入到实体分类模型中。第二阶段的实体分类可以单独对每个实体进行预测,但这种做法会丢失实体上下文信息,我们的处理方法是:将实体词典用作训练数据训练一个IDCNN分类模型,该模型对第一阶段输出的切分结果进行编码,并将编码信息加入到第二阶段的标签识别模型中,联合上下文词汇完成解码。基于Benchmark标注数据进行评估,该模型相比于BERT-NER在Query粒度的准确率上获得了1%的提升。这里我们使用IDCNN主要是考虑到模型性能问题,大家可视使用场景替换成BERT或其他分类模型。

针对标注数据难获取问题,我们提出了一种弱监督方案,该方案包含两个流程,分别是弱监督标注数据生成、模型训练。下面详细描述下这两个流程。

Step1:弱监督标注样本生成

1)初版模型:利用已标注的小批量数据集训练实体识别模型,这里使用的是最新的BERT模型,得到初版模型ModelA。

2)词典数据预测:实体识别模块目前沉淀下百万量级的高质量实体数据作为词典,数据格式为实体文本、实体类型、属性信息。用上一步得到的ModelA预测改词典数据输出实体识别结果。

Step2:弱监督模型训练

弱监督模型训练方法包括两种:一是将生成的弱监督样本和标注样本进行混合不区分重新进行模型训练;二是在标注样本训练生成的ModelA基础上,用弱监督样本进行Fine-tuning训练。这两种方式我们都进行了尝试。从实验结果来看,Fine-tuning效果更好。

本文介绍了O2O搜索场景下NER任务的特点及技术选型,详述了在实体词典匹配和模型构建方面的探索与实践。

[1]AutomatedPhraseMiningfromMassiveTextCorpora.2018.

[2]LearningNamedEntityTaggerusingDomain-SpecificDictionary.2018.

[3]BidirectionalEncoderRepresentationsfromTransformers.2018

[6]Hintonetal.DistillingtheKnowledgeinaNeuralNetwork.2015.

[7]YewKenChiaetal.TransformertoCNN:Label-scarcedistillationforefficienttextclassification.2018.

[8]K-BERT:EnablingLanguageRepresentationwithKnowledgeGraph.2019.

[9]EnhancedLanguageRepresentationwithInformativeEntities.2019.

[10]ChineseNERUsingLatticeLSTM.2018.

丽红,星池,燕华,马璐,廖群,志安,刘亮,李超,张弓,云森,永超等,均来自美团搜索与NLP部。

美团搜索部,长期招聘搜索、推荐、NLP算法工程师,坐标北京。欢迎感兴趣的同学发送简历至:tech@meituan.com(邮件标题注明:搜索与NLP部)

THE END
1.c++/c学习相关实验平台搭建用纯C 语言写一个简单的 RISC-V 模拟器(支持基础整数指令集,乘法指令集与 CSR 指令)翻译?www.cnblogs.com/YjmStr/p/16697845.html 写某个ISA的简易的模拟器: https://github.com/d0iasm/rvemu?github.com/d0iasm/rvemu 编程的思维框架: 问题---算法(解题思路)---翻译成可执行的代码---运行调试https://zhuanlan.zhihu.com/p/616033461
2.“交互式学习”上线!量子计算触手可及算法编程界面设计本次上线的量子计算“交互式学习”涵盖了量子前世、量子力学、经典计算、量子计算、量子算法5大核心模块共240个知识点,内容设计循序渐进,即便是零基础的用户也能从最基础的概念开始,逐步深入到复杂的量子算法,全方位掌握量子计算的基础知识与应用技能。 二、交互学习轻松“解锁”量子复杂概念 https://www.163.com/dy/article/JJKNNB1B05385VQN.html
3.算法基础与在线实践(豆瓣)本书可作为高等学校计算机等相关专业算法设计类课程的教材,也可供对算法设计、程序设计竞赛感兴趣的读者自学使用。 算法基础与在线实践的创作者· ··· 郭炜作者 作者简介· ··· 刘家瑛,博士,北京大学计算机科学技术研究所副教授。2010年6月毕业于北京大学计算机应用技术专业,获理学博士学位。2007-2008年。赴https://book.douban.com/subject/27023415/
4.《算法基础与在线实践》(刘家瑛)简介书评在线阅读算法基础与在线实践 北京大学*受喜爱的青年教师,开设同步免费MOOC课程,一起学好算法吧! 作者:刘家瑛,郭炜,李文新出版社:高等教育出版社出版时间:2017年03月 手机专享价 ¥ 当当价降价通知 ¥25.80 定价 ¥30.40 配送至 北京市东城区 运费6元,满49元包邮http://product.dangdang.com/25062685.html
5.算法基础与在线实践带目录完整pdf[31MB]电子书下载算法基础与在线实践下载 投诉报错 书籍大小:31.2MB 书籍语言:简体中文 书籍类型:国产软件 书籍授权:免费软件 书籍类别:编程其它 应用平台:PDF 更新时间:2019-06-21 购买链接:京东异步社区 网友评分: 360通过腾讯通过金山通过 31.2MB 详情介绍 算法是程序设计的灵魂,代表着用系统的方法描述解决问题的策略与机制。《算https://www.jb51.net/books/679145.html
6.算法基础与在线实践算法基础与在线实践pdf算法基础与在线实践 一 简单计算与模拟问题 1装箱问题 //联系现实中尽可能装满箱子才用最少箱子 所以先大的后小的例如3*3中 先填了2*2的再填1*1的这样就可以装满并使箱子用的最少 #define _CRT_SECURE_NO_WARNINGS 1; #include<stdio.h> int main() https://blog.csdn.net/weixin_60402786/article/details/126944391
7.算法基础与在线实践北京大学.PDF算法基础与在线实践-北京大学.PDF 59页内容提供方:suijiazhuang 大小:929.87 KB 字数:约2.64万字 发布时间:2019-04-05发布于天津 浏览人气:1220 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)算法基础与在线实践-北京大学.PDF 关闭预览 想预览更多内容,点击免费在线预览https://max.book118.com/html/2019/0402/7155144034002016.shtm
8.算法基础与在线实践刘家瑛,郭炜,李文新高等教育出版社mobi(POJ 1011) 8.6 本章小结 8.7 练习题 习题8-1:踩方格(POJ 4103) 习题8-2:棋盘问题(POJl321) 习题8-3:马走日(POJ 4123) 习题8-4:海贼王之航路(PoJ 4124) 习题8-5:DNA(POJ 4126)第9章 广度优先搜索 9.1 基本思想 9 算法基础与在线实践 刘家瑛,郭炜,李文新 高等教育出版社 下载 mobi epub pdf https://book.qciss.net/books/30106175260
9.算法:计算机科学的灵魂算法:计算机科学的灵魂亲爱的2024级计算机这篇文章主要介绍了算法是计算机科学的灵魂,阐述了算法的定义、重要性及学习建议。算法是解决问题的步骤,其重要性体现在是解决问题的基础、影响效率与性能等方面。学习算法要理解基础、实践编程等。还推荐了几款免费的学习编程平台和二维码生成器。 关联问题:算法难不难学?算法应用在哪?算法如何创新? https://juejin.cn/post/7411046020840210467
10.学在兰大宅家“上兰大”!这里有一大波精品网课免费开放●课程简介:局部解剖学为临床医学生专业基础课程,主要研究器官和结构的位置、形态、体表标志与投影、层次和毗邻关系等的科学。通过解剖、观察人体标本,掌握解剖学的基础理论、基本知识和基本技能,为临床实践打下必要的形态学基础。 ●课程链接:http://www.xueyinonline.com/detail/205754515 https://news.lzu.edu.cn/zt/xxfyfk/66186.html
11.《程序与算法基础实践教程(新世纪应用型高等教育计算机类课程规划《办公软件精选案例实训教程(普通高等院校计算机基础教育十四五规划教材)》(编者:郑俊|责编:陆慧萍//李学敏) 价格:¥37.88 《SOLIDWORKS应用与案例教程(微课视频版)/CADCAMCAE工程应用与实践丛书》(编者:魏峥//高霞|责编:刘星) 价格:¥63.89 商品详情 商品名称:《程序与算法基础实践教程(新世纪应用型高等教育计算机类课https://www.netshop168.com/goods-429298.html
12.安徽省2019年度科学技术奖获奖名单公布(全名单)2.群体智能优化算法基础及应用 完成单位:淮北师范大学 完成人:陈得宝,邹锋 3.基因和环境因素调控哮喘发病的研究 完成单位:蚌埠医学院 完成人:宋传旺,钱中清,王亭,马华,郭术俊 4.氧化锌功能纳米材料的结构调控、生长机理及室温荧光调制 完成单位:合肥学院,安徽建筑大学 http://m.yz-sme.com/nd.jsp?id=936&id=936
13.算法工程师要学什么常见问题算法工程师必备七大技能:数据结构和算法编程语言数学基础算法设计与分析分布式系统机器学习和深度学习软件工程实践,助力解决计算机科学和工业中的复杂问题。 算法工程师必修技能 算法工程师是计算机科学领域的专业人员,负责设计、分析和实现高效算法来解决计算问题。要成为一名合格的算法工程师,需要掌握以下核心技能: 1. 数据https://m.php.cn/faq/816502.html
14.编程学习计划(优秀9篇)首先,尝试编写简单的程序,如输出 Hello World、计算机算术操作等。每个语言都应该有初学者所需的基础语法、流控制和基本算法等知识点。 5、阅读其他人的'代码 通过阅读其他程序员的代码,可以帮助我们更好地理解语言的使用方法,了解其他代码的优秀编程实践。 https://www.jy135.com/xuexijihua/2114834.html
15.全国高等院校计算机基础教育研究会计算机基础教育教学研究课题1.3 在线课程与混合教学方法研究与实践 以新工科、新文科、新农科、新医科培养为背景,顺应计算机技术发展趋势,从教学内容、教学形式、教育手段等方面探索计算机基础教育领域的新兴教学改革机会。围绕MOOC、SPOC、虚拟实验等方法,探讨适合计算机基础教育的教学新方法和新内容,突出探索具备激发学习兴趣、符合技术发展方向、高度http://www.afcec.com/Home/NewsDetail/10752
16.Java就业项目实战:从零基础到项目实战的进阶之路数据结构与算法基础 理解并实践常用的数据结构和算法对Java学习至关重要。例如,以下是一个简单的数组操作示例: public class ArrayExample { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; // 定义一个整型数组 for (int i = 0; i < numbers.length; i++) { Syshttps://www.imooc.com/article/350933
17.程序设计竞赛训练营:算法与实践考虑到篇幅限制,我将出版《程序设计竞赛训练营:基础与数学概念》《程序设计竞赛训练营:算法与实践》两本图书。本书包含回溯法、图遍历、图算法、动态规划、网格等章节,可以看作在《程序设计竞赛训练营:基础与数学概念》上的综合应用。回溯法本质上是暴力搜索,但根据题目条件的不同,可以应用剪枝技巧来提高程序运行效率https://www.epubit.com/bookDetails?code=UBc86ad1b8a0fd&id=UBc86ad1b8a0fd
18.希冀支撑所有人工智能专业的教学与实践,实现在线资源的统一管理。 支持各类题型(填空、选择、判断、文件上传、简答、编程等)、在线作业、在线实验、在线考试、在线答疑等课程管理功能,支持MOOC视频播放。 代码自动评判 利用代码自动评判功能支持人工智能专业基础课程(Python、Java等)编程语言教学,深入了解 https://www.educg.com/ai.html
19.算法平台在线服务体系的演进与实践51CTO博客图灵平台是美团配送技术团队搭建的一站式算法平台,图灵平台中的在线服务框架——图灵OS主要聚焦于机器学习和深度学习在线服务模块,为模型和算法策略的线上部署和计算提供统一的平台化解决方案,能够有效提升算法迭代效率。本文将与大家探讨图灵OS在建设和实践中的思考和优化思路,希望能对大家有所帮助或者启发。 https://blog.51cto.com/u_15730109/5855548
20.《计算思维与算法设计基础实验教程》电子书在线免费阅读《计算思维与算法设计基础实验教程》是作者肖晓霞 彭荧荧所著关于科学与自然内容的书籍,这本书2020年由人民邮电出版社出版,讲述了本书内容包括两部分,第一部分为8章实验,共22个实践活动;第二部分为与教材配套的习题解答。https://www.deshu.cn/ebook/l8xmj274wo6p.html
21.《算法零基础一本通(Python版)》小说在线阅读《算法零基础一本通(Python版)》使用Python指导读者从零开始学习算法:由基础数据结构开始,逐步解说信息安全算法,最后也讲解了人工智能入门领域的KNN和K-means算法。《算法零基础一本通(Python版)》包含约120个程序实例,使用约600张完整图例,深入讲解了7种数据结构和数十种算法,此外也针对国内外著名公司招聘程序员的算https://www.qidian.com/book/1034510052/
22.连接高校和企业蓝桥云课是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用。以就业为导向, 提供编程、运维、测试、云计算、大数据、数据库等全面的IT技术动手实践环境, 提供Linuxhttps://www.lanqiao.cn/
23.79强化学习基础算法及实践策略梯度强化学习方法实现上一个实验中,我们了解并实现了策略梯度算法。同时,使用 OpenAI 提供的 Gym 强化学习环境测试了算法。不过,受限于 Notebook 实验环境,我们无法可视化强化学习的过程,只能打印出学习参数和每个 Episode 学习的时间步长。 本次挑战,我们将利用实验楼提供的桌面在线环境,完成 CartPole 小游戏可视化学习过程。 https://www.jianshu.com/p/71eacadc41bf
24.大规模在线教育育人嘲构建研究:逻辑架构与实践形态疫情期间,国内高校也开展了一系列网上育人实践,改变了师生对于网络思政、网络育人的认识。可以说,大规模在线教育的育人实践领先于理论研究,当然其育人实效还有待检验,育人实践的探索也需要进一步总结提炼、形成理论,并在实践中不断予以检验与丰富。因此,在实践基础上,加强理论研究,强化理论对实践指导,提升育人实效,是当下https://www.eduwest.com/html/2021/qianyanlingyu_0709/607.html
25.Java基础视频教程推荐优质Java入门教程下载Java入门到起飞,含斯坦福大学练习题+力扣算法题+大厂java面试题 Java基础的天花板教程,面向0基础同学,有手就行。从0开始,到进阶,最后起飞,层层递进。课程中Sharding-JDBC框架的原理及使用方法, 本课程从思想原理、技术框架、案例实操三个方面去学习,可以快速的将分库分表技术应用到生产实践中,解决大数据存储与处理http://yun.itheima.com/course