8月21日打卡
太棒了把知识整理成笔记是最高效的内化方式。这份笔记你不用死记硬背而是当成你的“武功秘籍”面试前看一遍思路瞬间清晰。我帮你把核心心法、完整代码已修Bug、执行流程图、面试话术全部整理成了一份极简笔记直接复制保存就行。 BERT WordPiece 分词 —— 终极笔记面试自救版一、核心思路面试时 30 秒讲清楚一句话概括WordPiece 是一种子词分词算法。它先把句子按空格切分成大词然后对每个大词采用贪心的最长匹配策略从右向左缩短尝试匹配词典。如果后半部分不是词的开头就加上##前缀表示它要粘在前面。实在找不到就标记为[UNK]。三个灵魂要点必须脱口而出为什么要用子词解决未登录词OOV问题平衡词表大小比如“睡觉”拆成“睡”和“##觉”。##是什么表示该子词不是单词的开头必须跟在别的词后面帮助模型理解词根。匹配规则是什么从长到短最长优先词典里有谁就切谁。二、完整可运行代码纯手工版已修复原图所有 Bug# 1. 预处理清洗空格defwhitespace(text):iftextisNone:return[]# 去掉前后空格按空白切分returntext.strip().split()# 2. 主函数WordPiece 分词deftokenize(text,vocab):final_output[]# 存最终所有碎片fortokeninwhitespace(text):# 遍历每个大词charslist(token)# 拆成字符列表如 吃 苹 果start0# 指针当前切到哪了is_badFalse# 标记这个词是否切失败了sub_parts[]# 存当前这个词切出的小碎片whilestartlen(chars):# 只要没切完就继续endlen(chars)# 【修复Bug1】从末尾开始尝试原图写成了 endlen错foundNone# 假设当前没找到匹配的词# 内层循环从长到短尝试匹配whilestartend:# 取出 [start:end] 这一段cur_substr.join(chars[start:end])# 关键逻辑如果不是开头的部分加 ##ifstart0:cur_substr##cur_substr# 查词典ifcur_substrinvocab:foundcur_substrbreak# 找到了立刻停止缩短end-1# 没找到缩短一位再试# 处理匹配结果iffoundisNone:# 试到单个字都没有is_badTrue# 标记为坏词break# 跳出循环这个词废了else:sub_parts.append(found)# 存下这个碎片startend# 指针后移切下一段# 收尾把当前词的结果装进总结果ifis_bad:final_output.append(unk)# 整个词变成未知else:final_output.extend(sub_parts)# 把碎片展开加入总结果returnfinal_output# ---------- 测试用例 ----------if__name____main__:# 模拟词典vocab{我,喜欢,吃,##果,苹果,机器}# 测试1正常情况result1tokenize( 我喜欢吃苹果 ,vocab)print(result1)# 输出: [我, 喜欢, 吃, 苹果]# 测试2有未知词的情况假设词典没有榴莲vocab2{我,喜欢,吃}result2tokenize(我喜欢吃榴莲,vocab2)print(result2)# 输出: [我, 喜欢, 吃, unk]三、手动推导示例面试手撕题大概率考这个给定词典{我, 喜欢, 大白, ##猫, 机器}输入句子我喜欢大白机器人推导步骤大脑里过一遍whitespace切完[我喜欢, 大白机器人]切我喜欢试“我喜欢”没有 → 试“我喜”没有 → 试“我”有 → 再试“喜欢”有 → 得[我, 喜欢]切大白机器人试“大白机器人”没有 → “大白机器”没有 → “大白机”没有 → “大白”有切剩下的“机器人”试“机器人”没有 → “机器”有剩下“人”词典没有 →is_badTrue→ 输出unk最终结果[我, 喜欢, 大白, 机器, unk]四、面试必问的两个 Bug原图里的坑如果面试官把原图你那道题给你看必须立刻指出以下两点这是最大加分项原图错误代码为什么会报错正确写法endlenchars这是一个无效语句只有加法没有赋值Python 直接报SyntaxErrorend len(chars)if is bad:is bad中间有空格Python 无法识别变量名报NameErrorif is_bad:五、如果面试官让你“手撕简化版”最长匹配直接写这个模板很多时候不需要你写##逻辑只需要写核心切分这个模板最通用defmax_match_cut(text,vocab):result[]i0whileilen(text):endlen(text)wordNone# 从最长到最短尝试whileiend:curtext[i:end]ifcurinvocab:wordcurbreakend-1ifwordisNone:# 找不到就保留单字或标记为 UNKresult.append(text[i])i1else:result.append(word)ilen(word)returnresult六、考试/面试时的“标准话术”直接背“这段代码本质上是一个基于词典的贪心最长匹配分词器。它的主要流程分为三步1. 按空格分大词2. 对每个大词从后往前缩短匹配词典3. 匹配失败时回退为unk。其中最关键的设计是为了应对未登录词通过##前缀将长词拆成有意义的子词单元从而保证模型不会因为遇到生僻词而瘫痪。如果我来优化这段代码我会修复end没赋值的致命错误并建议用 Trie 树优化匹配效率避免频繁的字符串拼接。”最后送你的“考场锦囊”写代码时内心默念start和end的移动确保不会死循环。看到##立刻想到“这不是开头要粘前面”。看到unk立刻想到“词典里没有”。这份笔记你现在已经理解了80%剩下的20%靠你闭上眼睛在脑海里把“我喜欢吃苹果”推导一遍。推完这一遍你明天上考场这把稳如泰山 需要我把这份笔记整理成 Markdown 或者 PDF 格式方便你打印吗

相关新闻

9万+免费AI提示词仓库与工程化应用指南

9万+免费AI提示词仓库与工程化应用指南

你是不是也遇到过这样的场景:想用 AI 生成一张精美的产品图,或者一段符合品牌调性的视频,但对着输入框憋了半天,只写出“一个科技感的产品图”这样苍白无力的描述?结果 AI 生成的图片要么平平无奇,要么离题…

2026/8/23 7:06:39 阅读更多 →
告别捆绑与弹窗:使用Office部署工具(ODT)纯净安装Office 2016

告别捆绑与弹窗:使用Office部署工具(ODT)纯净安装Office 2016

上周帮一个准备计算机二级考试的朋友装 Office 2016,过程比预想的要“热闹”。他先是下载了一个号称“一键安装”的包,结果弹出一堆捆绑软件;好不容易装上了,又提示需要激活,网上找的密钥要么无效,要么用几…

2026/8/23 7:06:39 阅读更多 →
Apache Druid集群硬件选型实战指南:从节点角色到配置计算

Apache Druid集群硬件选型实战指南:从节点角色到配置计算

1. 从零开始:为什么Druid集群的硬件选型是成败关键如果你正在规划一个大数据实时分析系统,并且把目光投向了Apache Druid,那么恭喜你,你选择了一个在实时摄入与亚秒级查询方面表现出色的引擎。但很多团队在迈出第一步——集群部署…

2026/8/23 7:06:39 阅读更多 →

最新新闻

Flink CDC 3.x实战:构建MySQL到Doris的实时数据同步管道

Flink CDC 3.x实战:构建MySQL到Doris的实时数据同步管道

在数据驱动的业务场景中,如何高效、低延迟地将数据库的变更数据同步到数据湖或数据仓库,一直是数据架构师和开发工程师面临的挑战。传统基于查询的批处理方式延迟高、资源消耗大,而自研CDC(Change Data Capture)组件又…

2026/8/23 8:01:58 阅读更多 →
服务器存储管理利器:StorCLI命令行工具从入门到实战

服务器存储管理利器:StorCLI命令行工具从入门到实战

1. 从命令行到存储阵列的“手术刀”:为什么你需要了解storcli如果你管理过服务器,尤其是那些搭载了LSI(现为Broadcom旗下)或Avago RAID控制卡的机器,那么你一定对“黑盒子”式的存储管理感到过头疼。图形界面的管理工具…

2026/8/23 8:01:58 阅读更多 →
乘数比较大时溢出处理(二)

乘数比较大时溢出处理(二)

目录 1、数学原理拆解 2、映射到你 ISP 直方图场景 ✅最关键溢出安全点 3、分步数值实例演算 使用拆分公式分步算 4、纯 32‑bit 无 64 位依赖 C 标准实现 5、边界极限测试(total 取最大 32bit 值) 6、算法适用边界 & 注意事项(I…

2026/8/23 8:01:58 阅读更多 →
C++模板分离编译问题解析:从链接错误到模板特化实战

C++模板分离编译问题解析:从链接错误到模板特化实战

1. 从一次编译报错说起:为什么我的模板函数链接失败了? 最近在重构一个C项目时,我又一次掉进了那个熟悉的“坑”里。场景是这样的:我有一个通用的日志工具类,里面用到了函数模板来处理不同类型的日志格式化。为了代码结…

2026/8/23 8:01:58 阅读更多 →
IPD各阶段流程_5生命周期阶段-详细操作活动说明

IPD各阶段流程_5生命周期阶段-详细操作活动说明

绑定资源目录: 2024版基于华为IPD与质量管理体系融合的研发质量管理【63页】.pptx IPD产品开发流程.ppt IPD流程操作细则(55页).pdf IPD的基础知识培训方案(54页).ppt 华为IPD如何做需求管理【96页】.pptx 华为IPD流程体系设计方法论【123页】.pptx 华为IPD流程各阶段370…

2026/8/23 8:01:58 阅读更多 →
Java 程序员第 46 阶段12:大模型调用链路追踪,SkyWalking 排查线上性能,自定义标签与日志联动Trace与Log关联排查上下文

Java 程序员第 46 阶段12:大模型调用链路追踪,SkyWalking 排查线上性能,自定义标签与日志联动Trace与Log关联排查上下文

上篇我们解决了"大模型调用慢在哪一段"的问题。但慢只是表象,真正排障时你更常遇到的是:"这条慢链路对应的业务上下文是什么?" —— 比如用户问了什么、命中了哪个知识库、模型返回了什么敏感内容、当时的租户 ID 是多少…

2026/8/23 8:00:58 阅读更多 →

日新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:00:50 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:00:50 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:00:50 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:00:50 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:00:50 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:00:50 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/22 18:08:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/22 7:31:03 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →