ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SegmentIt: 浏览器可用的中文分词库,三行代码拆词还带词性

SegmentIt: 浏览器可用的中文分词库,三行代码拆词还带词性 SegmentIt: 浏览器可用的中文分词库三行代码拆词还带词性【免费下载链接】segmentit任何 JS 环境可用的中文分词包fork from leizongmin/node-segment项目地址: https://gitcode.com/gh_mirrors/se/segmentitSegmentIt 是适用于任何 JavaScript 环境的中文分词包把连续的句子拆成一个个有意义的词并可给每个词标注词性。它不依赖原生模块Node、浏览器、Electron 用同一套代码前端做搜索高亮、关键词提取时不用再为分词单独调服务端接口。为什么 Node 分词库进不了浏览器segment、nodejieba这类库在 Node 下好用但依赖原生模块在浏览器和 Electron 渲染进程中跑不起来SegmentIt 把代码重构为 ES2015字典文件用 babel 插件直接内联进包里纯 JS 加载免编译内联后仍支持 tree shaking全量字典 3.8M只引需要的字典时体积明显更小分词流程拆成两类中间件Tokenizer 负责识别切分Optimizer 负责启发式修正实现集中在 src/module/从安装到第一次分词只要三行代码安装一行npm i segmentit浏览器环境引入 umd 产物后把调用前加上Segmentit.即可默认返回{ w, p }对象数组w 是词p 是词性传simple: true直接得到字符串数组可选参数stripPunctuation去标点、stripStopword去停用词、convertSynonym做同义词归一import { Segment, useDefault } from segmentit; const segmentit useDefault(new Segment()); const result segmentit.doSegment(工信处女干事每月经过下属科室); // [{ w: 工信处, p: ... }, { w: 女, p: ... }, ...]三行代码拿到 jieba 风格的词性标注cnPOSTag输出中文词性描述enPOSTag输出结巴风格的单字母标记同一个 token 两种视角做关键词加权、语法分析时这是名词还是动词的判断就不用自己写规则了import { cnPOSTag, enPOSTag } from segmentit; console.log( segmentit.doSegment(一人得道鸡犬升天) .map(i ${i.w} ${cnPOSTag(i.p)} ${enPOSTag(i.p)}), ); // [一人得道 习语,数词 数语素 l,m, 标点符号 w, 鸡犬升天 成语 i]什么场景用 segmentit什么场景别硬上适合前端 / Electron 应用内的搜索高亮、关键词提取、文本统计、NLP 预处理自定义loadDict接受字符串或数组可直接挂入行业术语停用词、同义词等内置词典在 src/knowledge/注意单次分词的文本别太长中间件按 token 数组接力文本过长内存开销大注意内置词典偏老口语和新造词需自行补充先执行npm i segmentit拿一句真实业务文本调用doSegment就能验证它在你项目里的分词效果。【免费下载链接】segmentit任何 JS 环境可用的中文分词包fork from leizongmin/node-segment项目地址: https://gitcode.com/gh_mirrors/se/segmentit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进