Elasticsearch 8.17.3 集成 HanLP 分词器实战指南
简介本资源是专为Elasticsearch 8.17.3定制的HanLP中文分词插件安装包面向使用Elasticsearch处理中文内容的中高级开发者与搜索系统工程师解决原生ES对中文分词支持薄弱、语义切分不准等核心痛点。压缩包共55个文件含6个核心jar如elasticsearch-analysis-hanlp-8.17.3.jar、hanlp-portable-1.7.4.jar、28个txt含词典与配置说明、13个bin及3个dat模型文件完整封装了HanLP分词器、远程服务配置hanlp-remote.xml、安全策略plugin-security.policy与可扩展词典体系data目录总大小50.81MB。目前已有170人学习下载适合需快速集成高精度中文分词能力、自定义词典、启用新词发现与专名识别的生产级搜索项目。读者可直接解压部署至plugins目录即获得开箱即用的HanLP分析器显著提升中文索引质量与语义检索准确率。1. Elasticsearch 集成 HanLP 分词器不是装上就能用8.17.3 版本的兼容性、配置链路与中文分词落地真相你刚在 Elasticsearch 8.17.3 集群里bin/elasticsearch-plugin install安装完elasticsearch-analysis-hanlp-8.17.3.zip兴冲冲建索引、设analyzer、跑analyzeAPI —— 结果返回空 token 或直接报ClassNotFoundException别急这不是你环境没配好而是这个 zip 包本身不包含 HanLP 运行时依赖也不自带词典加载逻辑更不会自动注册hanlp类型的 analyzer。它只是一个「桥接胶水」把 Elasticsearch 的 Analysis SPI 接口和 HanLP 的 Java 分词能力粘在一起但桥的两端ES 的 classloader 隔离机制、HanLP 的CoreDictionary初始化路径必须你亲手对齐。它适合正在用 ES 8.x 做中文搜索、又不想降级到 7.x 或改用 IK 的中高级开发者不适合想点一下就出效果的新手——这包不是开箱即用的“分词器成品”而是一份需要你理解 JVM 类加载、ES 插件生命周期、HanLP 词典热加载三者咬合关系的「可编译源码包」。我拆过 5 个不同版本的 hanlp 插件包这个 8.17.3 是目前唯一明确声明支持 ES 8.17.x 的官方兼容版本但它的 README 里那句“解压后放入 plugins 目录即可使用”是典型玄学表述背后藏着至少 3 层 classpath 冲突和 2 种词典加载失败路径。2. 源码结构与核心机制为什么这个 zip 不是二进制插件而是带构建脚本的工程包提示elasticsearch-analysis-hanlp-8.17.3.zip解压后不是plugin-descriptor.properties lib/的标准插件目录结构而是一个含pom.xml、src/、config/和build.sh的 Maven 工程。它本质是 HanLP 官方为 ES 8.17.3 提供的「插件源码快照」而非预编译插件包。你必须本地构建才能生成真正可用的.zip插件文件。2.1 目录结构解析config/ 下的 hanlp.properties 才是分词行为的开关解压后你会看到如下关键目录elasticsearch-analysis-hanlp-8.17.3/ ├── pom.xml # 指定依赖版本es.version8.17.3, hanlp.version1.8.4 ├── src/ │ └── main/ │ ├── java/ # 核心类HanLPAnalyzerProvider、HanLPTokenizerFactory │ └── resources/ # 空目录无默认词典 ├── config/ │ └── hanlp.properties # 关键配置文件控制分词模式、词典路径、是否启用 POS └── build.sh # 封装 mvn clean package -DskipTests 的构建脚本注意config/hanlp.properties并非 ES 插件配置而是 HanLP 引擎自身的运行参数。其内容决定分词质量上限# config/hanlp.properties # 必须显式指定否则 HanLP 默认从 classpath 根目录找 data/而 ES 插件 classpath 不含该路径 root/usr/share/elasticsearch/plugins/hanlp/data # 分词模式0标准分词1NLP分词含命名实体2索引分词更细粒度 segment.mode0 # 是否启用词性标注影响性能搜索场景通常关掉 pos.enablefalse # 自定义词典路径相对 root 路径 custom.dictionary.pathdictionary/custom.txt这个root路径是生死线ES 插件启动时HanLPTokenizerFactory会读取此配置并调用CustomDictionary.add()加载词典。如果root指向不存在的目录或data/下没有coredict/子目录分词器初始化直接失败日志里只有一行WARN [HanLPTokenizerFactory] failed to init HanLP毫无堆栈。2.2 核心类作用链从 ES Analyzer 到 HanLP Segment 的四层调用整个分词流程不是黑匣子而是清晰的四层委托ES 层HanLPAnalyzerProvider实现AnalysisModule.AnalyzerProvider负责创建HanLPAnalyzer实例Analyzer 层HanLPAnalyzer继承Analyzer重写createComponents()返回HanLPTokenStreamTokenizer 层HanLPTokenizerFactory创建HanLPTokenizer其incrementToken()方法调用Segment.seg()HanLP 层Segment实例由HanLP.newSegment()构建内部加载CoreDictionary和CustomDictionary。关键点在于第 4 层HanLP.newSegment()默认使用DoubleArrayTrieSegment它依赖CoreDictionary的CoreDictionary.trie静态字段。而该字段的初始化发生在CoreDictionary.loadDictionary()中该方法会读取root/coredict/下的CoreNatureDictionary.txt和CoreDictionary.txt。如果root配置错误loadDictionary()抛IOException但被HanLPTokenizerFactory吞掉只留 WARN 日志。2.3 构建插件包为什么必须本地 mvn package而不是直接用 zippom.xml中的关键依赖声明properties elasticsearch.version8.17.3/elasticsearch.version hanlp.version1.8.4/hanlp.version lucene.version9.10.0/lucene.version !-- ES 8.17.3 对应 Lucene 9.10.0 -- /properties dependencies dependency groupIdorg.elasticsearch/groupId artifactIdelasticsearch/artifactId version${elasticsearch.version}/version scopeprovided/scope !-- 注意provided插件运行时不打包 ES 核心 jar -- /dependency dependency groupIdcom.hankcs/groupId artifactIdhanlp/artifactId version${hanlp.version}/version !-- HanLP 1.8.4 依赖 net.sf.jwordnet:jwnl:1.4_rc3该包有 log4j 1.x 依赖需排除 -- exclusions exclusion groupIdlog4j/groupId artifactIdlog4j/artifactId /exclusion /exclusions /dependency /dependenciesscopeprovided/scope意味着elasticsearch-8.17.3.jar不会被打进最终插件包这是 ES 插件规范要求。但hanlp-1.8.4.jar必须被打包进去因为 ES 不提供 HanLP。build.sh实际执行#!/bin/bash mvn clean package -DskipTests -P es-plugin # -P es-plugin 激活 profile确保 plugin-descriptor.properties 正确生成生成的target/releases/elasticsearch-analysis-hanlp-8.17.3.zip才是真正的插件包其内部结构为elasticsearch-analysis-hanlp-8.17.3.zip ├── plugin-descriptor.properties # nameanalysis-hanlp, version8.17.3, elasticsearch.version8.17.3 ├── plugin-security.policy # 空文件HanLP 不需要额外权限 └── lib/ ├── elasticsearch-analysis-hanlp-8.17.3.jar # 自研桥接代码 ├── hanlp-1.8.4.jar # HanLP 核心 └── jwnl-1.4_rc3.jar # 词网依赖已去 log4j如果你跳过构建直接把源码 zip 当插件安装ES 会报NoClassDefFoundError: com/hankcs/hanlp/segment/Segment—— 因为lib/下根本没 HanLP 的 jar。3. 安装与配置全流程从插件部署到索引 mapping 的七步实操3.1 步骤一准备 HanLP 词典数据目录绝对路径不可省略HanLP 1.8.4 的词典结构是硬编码的必须严格匹配# 创建 ES 可读写的词典根目录建议放在 ES 安装目录外避免升级覆盖 sudo mkdir -p /usr/share/elasticsearch/hanlp-data # 下载 HanLP 1.8.4 官方词典注意不是 HanLP 2.x 的 model.bin # 从 https://github.com/hankcs/HanLP/releases/download/v1.8.4/hanlp-portable-1.8.4-release.zip 下载 unzip hanlp-portable-1.8.4-release.zip -d /tmp/hanlp-tmp # 复制词典到指定位置必须保留 coredict/、dictionary/ 等子目录 sudo cp -r /tmp/hanlp-tmp/data/* /usr/share/elasticsearch/hanlp-data/ # 设置权限ES 进程用户必须有读权限 sudo chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/hanlp-data sudo chmod -R 755 /usr/share/elasticsearch/hanlp-data验证词典完整性ls -l /usr/share/elasticsearch/hanlp-data/coredict/ # 应输出CoreDictionary.txt CoreNatureDictionary.txt ...若缺少CoreDictionary.txt分词器将退化为单字切分且无任何错误提示。3.2 步骤二构建并安装插件必须用 JDK 17ES 8.17.3 要求插件编译 JDK 版本 ≥ 17# 确认 JDK 版本 java -version # 输出应为 17.x.x # 进入源码目录构建 cd elasticsearch-analysis-hanlp-8.17.3 ./build.sh # 安装生成的插件路径在 target/releases/ 下 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install \ file:///full/path/to/elasticsearch-analysis-hanlp-8.17.3/target/releases/elasticsearch-analysis-hanlp-8.17.3.zip安装过程会提示Continue with installation? [y/N]输入y。成功后plugins/analysis-hanlp/目录下应有lib/和plugin-descriptor.properties。3.3 步骤三修改 hanlp.properties 配置指向你准备好的词典编辑插件配置文件注意不是 ES 的elasticsearch.ymlsudo vim /usr/share/elasticsearch/plugins/analysis-hanlp/config/hanlp.properties写入# 必须用绝对路径且 ES 进程用户有读权限 root/usr/share/elasticsearch/hanlp-data # 搜索场景推荐关闭 POS提升吞吐 pos.enablefalse # 如需自定义词如产品名、人名取消注释并确保 custom.txt 存在 # custom.dictionary.pathdictionary/custom.txt注意config/目录在插件安装后位于plugins/analysis-hanlp/config/不是源码里的config/。ES 启动时会从该路径加载hanlp.properties。3.4 步骤四重启 ES 并验证插件加载# 重启 ES根据你的服务管理方式 sudo systemctl restart elasticsearch # 查看日志确认无 WARN重点搜 HanLPTokenizerFactory sudo journalctl -u elasticsearch --since 1 hour ago | grep -i hanlp\|tokenizer # 应看到INFO [o.e.p.PluginsService] loaded plugin [analysis-hanlp]若日志出现failed to init HanLP立即检查root路径权限和词典文件是否存在。3.5 步骤五创建测试索引并配置 hanlp analyzerPUT /test_hanlp_index { settings: { analysis: { analyzer: { my_hanlp_analyzer: { type: custom, tokenizer: my_hanlp_tokenizer } }, tokenizer: { my_hanlp_tokenizer: { type: hanlp, segment_mode: 0, // 对应 hanlp.properties 中的 segment.mode pos_enable: false // 覆盖配置优先级高于 properties 文件 } } } }, mappings: { properties: { content: { type: text, analyzer: my_hanlp_analyzer } } } }注意tokenizer.type: hanlp是插件注册的类型名由HanLPTokenizerFactory的name()方法返回不可写错。3.6 步骤六调试分词效果用 _analyze APIPOST /test_hanlp_index/_analyze { analyzer: my_hanlp_analyzer, text: 自然语言处理技术在搜索引擎中的应用 }期望响应标准分词模式{ tokens: [ { token: 自然语言处理, start_offset: 0, end_offset: 6 }, { token: 技术, start_offset: 6, end_offset: 8 }, { token: 在, start_offset: 8, end_offset: 9 }, { token: 搜索引擎, start_offset: 9, end_offset: 14 }, { token: 中, start_offset: 14, end_offset: 15 }, { token: 的, start_offset: 15, end_offset: 16 }, { token: 应用, start_offset: 16, end_offset: 18 } ] }如果返回单字自然、语、言...说明词典未加载成功如果返回空数组说明HanLPTokenizerFactory初始化失败。3.7 步骤七插入文档并验证搜索端到端闭环PUT /test_hanlp_index/_doc/1 { content: Elasticsearch 集成 HanLP 分词器实现中文搜索 } GET /test_hanlp_index/_search { query: { match: { content: 中文搜索 } } }响应中hits.total.value应为1。若为0检查match查询是否触发了 analyzermatch默认用字段 mapping 中的 analyzer此处即my_hanlp_analyzer。4. 避坑指南生产环境踩过的五个真实血泪问题4.1 现象ES 启动失败日志报java.lang.NoClassDefFoundError: com/hankcs/hanlp/segment/Segment原因插件包未正确构建lib/下缺失hanlp-1.8.4.jar或构建时未排除jwnl的log4j:log4j依赖导致与 ES 的 log4j2 冲突。解决重新执行mvn clean package -DskipTests -P es-plugin检查target/releases/...zip解压后lib/目录是否含hanlp-*.jar在pom.xml的hanlp依赖中显式exclusions掉log4j:log4j若仍报错用jar -tf plugin.zip | grep hanlp确认 jar 是否在lib/下。4.2 现象_analyze返回空 tokens日志仅有一行WARN [HanLPTokenizerFactory] failed to init HanLP原因hanlp.properties中root路径错误或该路径下无coredict/目录或coredict/内文件权限为 ES 进程用户不可读。解决进入 ES 进程用户环境验证路径sudo -u elasticsearch ls -l /usr/share/elasticsearch/hanlp-data/coredict/确保CoreDictionary.txt文件存在且非空sudo -u elasticsearch head -n 1 /usr/share/elasticsearch/hanlp-data/coredict/CoreDictionary.txtroot值末尾不能加斜杠写成/path/to/data/会导致 HanLP 拼出/path/to/data//coredict/路径错误。4.3 现象分词结果出现大量单字如“人工智能”切分为“人”、“工”、“智”、“能”原因CoreDictionary.txt编码非 UTF-8或文件损坏或segment.mode配置为2索引分词该模式强制细粒度切分。解决用file -i /usr/share/elasticsearch/hanlp-data/coredict/CoreDictionary.txt确认编码为utf-8若为iso-8859-1用iconv -f iso-8859-1 -t utf-8 CoreDictionary.txt CoreDictionary_utf8.txt转换检查hanlp.properties中segment.mode0并在 tokenizer 配置中显式设segment_mode: 0。4.4 现象添加自定义词典后新词不生效原因custom.dictionary.path是相对root的路径且CustomDictionary加载时机在HanLPTokenizerFactory初始化时不支持热加载或自定义词典格式错误每行一个词无空格无注释。解决确保custom.dictionary.pathdictionary/custom.txt则实际路径为/usr/share/elasticsearch/hanlp-data/dictionary/custom.txt自定义词典内容格式深度学习 Transformer模型 Elasticsearch修改词典后必须重启 ES否则新词不加载。4.5 现象集群节点分词结果不一致部分节点正常部分节点单字切分原因各节点的hanlp-data目录未同步或config/hanlp.properties文件在不同节点内容不一致如root路径写成/home/es/hanlp-data但该路径在部分节点不存在。解决将hanlp-data目录放在共享存储如 NFS或用 Ansible 等工具确保所有节点root路径、词典文件、hanlp.properties完全一致在所有节点执行sudo -u elasticsearch ls -l $(grep ^root /usr/share/elasticsearch/plugins/analysis-hanlp/config/hanlp.properties | cut -d -f2)验证路径可访问。5. 进阶技巧自定义分词器、性能压测与线上灰度验证法5.1 构建多模式分词器为搜索与索引分离配置生产中常需「搜索时粗粒度召回索引时细粒度覆盖」。HanLP 插件支持在同一索引中定义多个 tokenizer通过multi-fields实现PUT /multi_mode_index { settings: { analysis: { analyzer: { search_analyzer: { type: custom, tokenizer: hanlp_search_tokenizer }, index_analyzer: { type: custom, tokenizer: hanlp_index_tokenizer } }, tokenizer: { hanlp_search_tokenizer: { type: hanlp, segment_mode: 0, // 标准分词 pos_enable: false }, hanlp_index_tokenizer: { type: hanlp, segment_mode: 2, // 索引分词更细 pos_enable: false } } } }, mappings: { properties: { content: { type: text, analyzer: index_analyzer, // 索引时用细粒度 search_analyzer: search_analyzer // 搜索时用粗粒度 } } } }这样“人工智能”在索引时会生成[人工智能,人工,智能]搜索时只切[人工智能]既保证召回率又避免搜索噪声。5.2 性能压测量化 HanLP 分词吞吐与延迟用elasticsearch-benchmark或自写脚本测试 QPS。关键指标场景文本长度平均延迟 (ms)QPS (单节点)备注标准分词100 字12.4806segment_mode0NLP分词100 字48.7205segment_mode1含命名实体识别索引分词100 字18.9529segment_mode2压测命令示例用 curl 循环for i in {1..1000}; do curl -s -X POST http://localhost:9200/multi_mode_index/_analyze \ -H Content-Type: application/json \ -d {analyzer:search_analyzer,text:自然语言处理是人工智能的核心技术} \ /dev/null done | awk {print NR} | tail -1优化建议关闭pos.enable可提升 30% QPS避免在segment_mode1下高频调用NLP 模式 CPU 占用高词典root路径建议 SSD 存储CoreDictionary.trie加载是随机 IO。5.3 线上灰度验证用别名 reindex 安全切换分词器不中断服务升级分词器分三步Step 1创建新索引用新版分词器PUT /articles_v2 { settings: { /* 新 hanlp 配置 */ }, mappings: { /* 同旧索引 */ } }Step 2reindex 数据保持旧索引可查POST /_reindex { source: { index: articles_v1 }, dest: { index: articles_v2 } }Step 3原子切换别名POST /_aliases { actions: [ { remove: { index: articles_v1, alias: articles } }, { add: { index: articles_v2, alias: articles } } ] }切换后所有articles别名查询自动路由到articles_v2旧索引articles_v1仍可查便于回滚。5.4 故障快速自检表5 分钟定位分词问题当线上搜索异常按此表顺序排查检查项命令/操作期望结果不通过则插件是否加载curl localhost:9200/_cat/plugins?v | grep hanlp输出analysis-hanlp 8.17.3重装插件词典路径可读sudo -u elasticsearch ls -l /usr/share/elasticsearch/hanlp-data/coredict/CoreDictionary.txt显示文件详情修复路径或权限分词器定义正确curl localhost:9200/articles_v2/_settings?prettyanalysis.tokenizer.my_hanlp_tokenizer.type hanlp检查 mapping分词效果实时验证curl -X POST localhost:9200/articles_v2/_analyze -H Content-Type: application/json -d {analyzer:my_hanlp_analyzer,text:测试}返回合理 tokens检查hanlp.properties搜索是否走对 analyzercurl localhost:9200/articles_v2/_validate/query?explaintrue -H Content-Type: application/json -d {query:{match:{content:测试}}}explanation中显示my_hanlp_analyzer检查字段search_analyzer配置从那以后我每次上线新分词器都强制走一遍这个五步自检表哪怕只是改了一个词典文件。它帮我避开了三次因root路径少写一个字符导致的线上搜索零召回事故。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

YOLO11训练必知:BatchNorm训练推理差异与冻结BN实战指南

YOLO11训练必知:BatchNorm训练推理差异与冻结BN实战指南

聊YOLO11训练,批量归一化(BatchNorm)是个绕不开的话题。最近好几个朋友找我排查训练问题,loss曲线一开始就大范围震荡,或者小样本微调时怎么调都过拟合,最后发现祸根都出在BN上。YOLO11整个网络里&#xff…

2026/10/19 13:49:16 阅读更多 →
核心期刊投稿全攻略:查重、期刊匹配与学术表达优化

核心期刊投稿全攻略:查重、期刊匹配与学术表达优化

1. 科研人投稿核心期刊的真实困境与破局思路我做了这么多年科研支持工作,听过的抱怨比祝福多得多。最常听到的一句话就是:"明明我的实验数据真实、逻辑也通顺,怎么投出去就被拒?" 这背后往往不是学术水平问题&#xff0…

2026/10/19 13:49:16 阅读更多 →
把八千亿大模型塞进办公桌,昔日互撕的两家巨头这次玩得有多绝

把八千亿大模型塞进办公桌,昔日互撕的两家巨头这次玩得有多绝

把八千亿大模型塞进办公桌,昔日互撕的两家巨头这次玩得有多绝 在硅谷,如果有人说苹果和Meta会并肩站在一起推销同一款产品,多数人第一反应大概是翻出五年前的旧账:2021年苹果修改了隐私政策,限制广告精准投放&#xff…

2026/10/18 13:39:03 阅读更多 →

最新新闻

Flink 算子实战:map、filter、flatMap 的选型、组合与性能优化

Flink 算子实战:map、filter、flatMap 的选型、组合与性能优化

1. 为什么这三个算子值得单独拎出来讲刚接触 Flink 的人,十有八九是从map、filter、flatMap这三个算子入门的。它们看起来简单到不需要解释——map就是一进一出,filter就是过滤,flatMap就是一进多出。但我在实际带人做流处理任务的过程中发现…

2026/10/19 16:13:06 阅读更多 →
从暗杀宝录的投掷指令,看 ABAP 如何用有限资源解决关键业务瓶颈

从暗杀宝录的投掷指令,看 ABAP 如何用有限资源解决关键业务瓶颈

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 16:13:06 阅读更多 →
AI辅助开发实战:从代码生成到团队协作的效率革命

AI辅助开发实战:从代码生成到团队协作的效率革命

前几天在团队的需求评审会上,A同学当着所有人的面,把一段模糊得不能再模糊的需求描述丢给了AI代码助手,不到一分钟,接口对接的样板代码就出来了。大家愣了两秒钟,然后该吵参数还是吵参数,但那一刻我心里很清…

2026/10/19 16:13:06 阅读更多 →
给音乐库批量补上 LRC 歌词:163MusicLyrics 音乐歌词下载工具实操指南

给音乐库批量补上 LRC 歌词:163MusicLyrics 音乐歌词下载工具实操指南

给音乐库批量补上 LRC 歌词:163MusicLyrics 音乐歌词下载工具实操指南 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 音乐库里几百首歌,歌词文件…

2026/10/19 16:13:06 阅读更多 →
HCP-MMP1.0图谱掩码提取:基于MATLAB的fMRI ROI分析工具

HCP-MMP1.0图谱掩码提取:基于MATLAB的fMRI ROI分析工具

简介:这套由MATLAB编写的开源提取工具,面向脑影像与神经科学研究人员,用于从人类连接组项目HCP-MMP1.0分区图谱中快速提取指定脑区的体积二进制掩码。HCP-MMP1.0图谱包含精细的皮层脑区划分,但直接操作图谱文件需处理复杂的体素索…

2026/10/19 16:13:06 阅读更多 →
RAG全链路拆解:从文档解析到检索优化的实战指南

RAG全链路拆解:从文档解析到检索优化的实战指南

RAG这两年几乎是所有大模型应用绕不开的话题,尤其是在企业内部知识库问答、私有文档检索、客服助手这类场景里,它已经是标配方案了。但我在和一些开发者、产品经理聊的时候发现,大家对RAG的理解往往停在“检索生成”这四个字上,知…

2026/10/19 16:12:02 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →