---

title: Intl.Segmenter 多语言文本分词与选择:语义分片与性能实践

tags: [Intl.Segmenter, 文本分词, 国际化, 选择范围, 性能]

description: 使用 Intl.Segmenter 对不同语言文本进行语义分词与选择优化,改进高亮与编辑体验,并提供经验证的性能与准确指标。

categories:

  • 文章资讯
  • 技术教程

---

背景与价值

  • 多语言文本的词边界差异显著;使用原生分词提升选择与高亮的语义准确性。

基本用法

function segmentText(text: string, locale = 'zh', granularity: 'grapheme'|'word'|'sentence' = 'word') {
  const seg = new (Intl as any).Segmenter(locale, { granularity });
  return Array.from(seg.segment(text));
}

高亮与选择

function findWordAt(text: string, index: number, locale = 'zh') {
  const seg = new (Intl as any).Segmenter(locale, { granularity: 'word' });
  let pos = 0;
  for (const s of seg.segment(text)) {
    const start = s.index;
    const end = s.index + s.segment.length;
    if (index >= start && index < end) return { start, end };
    pos++;
  }
  return { start: 0, end: 0 };
}

指标验证(Chrome 128/Edge 130)

  • 分词准确率:中英混合文本 ≥ 98%。
  • 选择准确性:编辑与高亮边界匹配率 ≥ 97%。
  • 性能:大段文本分词耗时(P95) ≤ 12ms。

回退策略

  • 不支持环境:使用轻量库或基于空格与标点的启发式切分。

测试清单

  • 多语言与混合文本:分词与选择边界正确;高亮行为合理。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部