当前位置: 首页 > news >正文

为啥slmbuild的cutoff不能设得很大

在sim_slmbuilder.cpp的CSlmBuilder::AddNGram里:

if (fr > cut[nlevel]) {TLeafLevel& v = *(TLeafLevel*)(level[nlevel]);v.push_back(TLeaf(ngram[nlevel - 1], fr));
} else {nr[nlevel][0] += fr;nr[nlevel][fr] += fr;
}

相关代码:

FREQ_TYPE(*nr)[SLM_MAX_R]; //nr[1][SLM_MAX_R] is for 1-gram...
typedef unsigned int FREQ_TYPE;
typedef CSIMSlm::FREQ_TYPE FREQ_TYPE;
static const int SLM_MAX_R = 16;
nr = new FREQ_TYPE[n + 1][SLM_MAX_R];还有:
typedef unsigned int TWCHAR;
typedef TWCHAR TSIMWordId;

先别急着训练。

mmseg用fgetwc()读文件。getwc是fgetwc的宏版,应该更快。setvbuf也能加快读取速度。

字的n-gram,token ID不超过65536,可以输出uint_16而不是uint_32.

mmseg输出到stdout,用管道送给ids2ngram可取消中间文件。文件名为-时代表输出到stdout和从stdin读是标准做法。

所有的程序都没有开-O,-O2总该试一试吧。


 

比如语料是五个句号。。。。。 。的token id是71 (0x47). mmseg把每行看作一个句子,在最前和最后面插入了<stok>,其id为10 (0x0a)

mmseg再id2ngram后,得到一串uint_32,下面只显示它的最低字节并换了行:

0a 47 47 01
47 47 0a 01
47 47 47 03

01 02 03是频次。


 

slminfo可以把语言模型以文本文件模式导出。"thread"好像是sunpinyin独有的说法。tslminfo处理被slmthread加工过了的。

省事的方法是重新训练,瞎鼓捣已有的语言模型,动不动触发assert.

1.6GB的百科问答,8G内存的电脑的内存盘,就带不动了(尚未试验mmseg | ids2ngram).

上次的wiki_zh,是分目录处理再merge的,百科问答是一个大文件,wiki_zh是[a..m]×99个文件。

Linux命令行可以很长,wiki_zh/a/* 一句话搞定。


 

http://www.gsyq.cn/news/37781.html

相关文章:

  • 团队项目1-团队展示选题-图书管理系统
  • 第二天,学习部分快捷键位(重点加粗)
  • windows terminal 配置文件
  • VRP基本配置命令
  • 解码LVGL样式
  • 20231302邱之钊密码系统设计实验二一
  • 2025 年 11 月运动木地板厂家最新推荐,成分精纯与效能升级!—— 产能、专利、环保三维数据透视
  • 2025 年 11 月运动木地板厂家最新推荐,成分焕新与效能强化!—— 精准检测与稳定性能深度解析
  • JavaScript中的闭包:原理、应用与代码
  • React Hooks:提升前端开发效率的关键
  • 【图文详细】用HBuilder X写PHP并且能够在浏览器运行打开 - 昵
  • 题解:uoj695 【候选队互测2022】毛估估就行
  • 华为Matebook清灰之后扬声器没声音
  • string.replace替换null
  • 类和对象-多态project09
  • CF1730D Prefixes and Suffixes
  • 广告投放名词
  • [LangChain] Runnable接口 - 1
  • 初识目标检测
  • LVGLSharp:LVGL的C#绑定库介绍
  • 论文应该这样读(How to Read a Paper)
  • range()
  • MySQL数据库常用命令
  • Zabbix执行Ping脚本报错,Global script execution被禁用
  • 2025 年 11 月氨糖厂家最新推荐,高性能与可靠性兼具的优质品牌
  • 构建现代Web应用:使用React框架打造单页面应用
  • 面向院区病房的空间智能体新范式:下一代病房框架研究(上)
  • 实用指南:用 Go 并发优化用户中心 API:goroutine 和 errgroup 的实战魔法
  • 夸克网盘免费领取1TB空间的方法
  • 前端三剑客——javascript函数作用域与内置函数