Appearance
IOAI 2025 GAITE Combinatorial Word Segmentation
- 来源:
noai-mis/IOAI/IOAI-2025/GAITE-Contest/Word_Segmentation - 类型:NLP
- 原始资料:Task Description、Baseline、Ref Result notebook、
metrics.py - 题面完整性:完整
- 解法资料完整性:有 reference solution
题面大意
给定德语复合词,预测每个字符位置是否为一个子词结尾,从而把复合词切分成短词。例如 Autobahnanschlussstelle 应切成 Autobahn Anschluss Stelle。训练集 94306 条,验证/测试各约 11788 条。输出 submissionval.json 和 submissiontest.json,每个词对应 0/1 边界数组。评分为每个词 F1 的平均。
数据特点
输入是字符序列,输出是同长度二进制序列。德语复合词存在大小写、词干变化和连接成分。训练量足够大,字符级深度模型可行。边界 1 相对稀疏,但最后一个字符通常为 1。
考点
核心考点是字符级序列标注。模型要判断每个字符是否为词边界,类似分词/BIO 标注,但输出直接是边界位。F1 指标要求 precision 和 recall 平衡。
涉及知识点
- Character vocabulary 和 padding。
- LSTM/GRU/Transformer 序列标注。
- BCE loss / class imbalance。
- 阈值调优。
- 字符 n-gram 和词典匹配。
解法思路
参考 solution 构建字符词表,用 Dataset 将单词编码为字符 id 序列和边界标签,训练字符级模型输出每个位置的 boundary probability。推理时对每个词逐字符预测,使用阈值(参考中约 0.6)转成 0/1,再写回 JSON。
可加入规则:最后一位强制为 1;过短片段边界可抑制;训练集中出现过的子词可构建词典,用动态规划辅助神经模型。
可选/多种解法
BiLSTM 序列标注:强基线,训练快。
字符 Transformer:长复合词建模更强,但需控制时间。
词典 + DP:用训练分词构造子词词典,结合神经边界概率。
特殊技巧
最后一位必须是边界,强制设为 1 可避免无意义错误。边界阈值不要固定 0.5,可在 validation 上调 F1。德语大小写和连接字母(如 s)可能暗示边界,需要保留原字符。
调参优化
题解已有约 0.6 的边界阈值,这是最值得调的参数。建议保存每个字符位置的 boundary probability,在验证集上扫描阈值,并强制最后一位为 1 后重新评估。模型侧可调字符 embedding 维度、RNN/CNN 隐层宽度、dropout、学习率、batch size、正类权重和最大词长截断。若模型倾向切得太碎,提高阈值或加大非边界权重;若漏切复合词边界,则降低阈值或增强连接字母相关特征。
注意事项
提交 notebook 必须包含训练和测试过程,不能只提交权重。执行时间 20 分钟内。JSON 格式必须与训练集格式一致,value 长度必须等于 key 字符数。
推广意义
这题是分词、断词和形态学分析的简化版。字符级序列标注可迁移到中文分词、URL/hashtag 切分、OCR 后处理和代码 token 边界预测。