遇见数据集

SamOutVoc

收藏
魔搭社区2026-06-21 更新2026-07-15 收录
官方服务:

资源简介:

# SamOutVoc - 词表处理工具 基于 jieba 中文分词库的词表编码/解码工具。 ## 功能 - **词表生成**:将原始词汇表转换为优化的代理词表(Agent Vocabulary) - **编码**:将分词后的文本转换为 token ID - **解码**:将 token ID 还原为原始文本 - **词表合并**:合并多个词汇表并统计词频 ## 核心设计 代理词表采用组合式编码方案,通过压缩编码实现高效词汇表示: | 优势 | 说明 | |-----------------------------------|----------| | **高效压缩** | 使用组合编码大幅减少词汇表大小 | | **可扩展性** | 支持 2D(N²)和 3D(N³)编码方案灵活扩展 | | **内存优化** | 代理编码显著降低内存占用和存储需求 | | **快速检索** | 组合式编码结构支持高效的词汇查找 | | **兼容性** | 完整支持 LLM 特殊 token 和对话标记 | 编码方案: - **2D 编码**:`ts0`-`tsN`(起始)+ `te0`-`teN`(结束)= N² 个 token - **3D 编码**:`rs0`-`rsN` + `rc0`-`rcN` + `re0`-`reN` = N³ 个 token 通过动态计算最优的 2D 和 3D 编码维度,在保证词表覆盖的前提下最大化压缩效率。 ## 文件说明 ``` ├── ash_voc.py # 主词表处理类 ├── cat_voc.py # 词表合并工具 ├── use_voc_to_token_id.py # 词表使用和新词提取 ├── voc_all.json # 原始词表 ├── vocabulary_nnn.json # 处理后的词表 └── open_ash_voc_agent.json # 生成的代理词表 ``` ## 使用方法 ### 基本使用 ```python from ash_voc import OpenASHVoc # 初始化(使用已生成的代理词表) voc = OpenASHVoc(flag=False) # 编码 text = "你好世界" token_ids = voc.encode(text) # 解码 decoded_text = voc.decode(token_ids) ``` ### 生成代理词表 ```python from ash_voc import OpenASHVoc # 生成新的代理词表 voc = OpenASHVoc(flag=True, voc_size=20000, two=200) ``` ### 参数说明 | 参数 | 默认值 | 说明 | |------------------|------------------------|----------------| | `agent_voc_path` | open_ash_voc_agent.json | 代理词表路径 | | `voc_path` | vocabulary_nnn.json | 原始词表路径 | | `voc_size` | 6400 | 代理词表大小(最小下限) | | `two` | 100 | 2D词表 大小 (最小下限) | | `flag` | False | 是否重新生成词表 | ## 环境要求 - Python 3.x - jieba - tqdm

提供机构:
maas
创建时间:
2026-03-27
二维码
社区交流群
二维码
科研交流群
商业服务