Thai-understanding
收藏资源简介:
Thai-Understanding是一个开源项目,提供了泰语语音理解的解决方案,包括Thai-SUP数据集和XLSR-Thai语音编码器。Thai-SUP是首个开源的泰语语音理解数据集,包含超过1000小时的数据,涵盖意图分类、命名实体识别和语音改写三个任务。XLSR-Thai是基于大规模泰语语音数据预训练的自监督学习语音编码器,能够有效捕捉泰语的语言结构和副语言线索,适用于多任务语音理解。
Thai-Understanding is an open-source project that provides solutions for Thai speech understanding, including the Thai-SUP dataset and the XLSR-Thai speech encoder. Thai-SUP is the first open-source Thai speech understanding dataset, containing over 1000 hours of data and covering three tasks: intent classification, named entity recognition, and speech paraphrasing. XLSR-Thai is a self-supervised learning speech encoder pre-trained on large-scale Thai speech data, which can effectively capture the linguistic structure and paralinguistic cues of Thai, and is suitable for multi-task speech understanding.
Thai-Understanding 数据集概述
数据集基本信息
- 许可证: Apache-2.0
- 语言: 泰语 (th)
- 标签: XLSR, SSL, speech, XLSR-Thai, Thai-SUP
数据集组成
Thai-SUP
首个开源的泰语语音理解数据集,包含三个任务:
- 意图分类 (IC): 648小时数据
- 命名实体识别 (NER): 175小时数据
- 语音重述 (SR): 250小时数据
XLSR-Thai
首个大规模自监督学习泰语语音编码器:
- 基于XLSR模型构建
- 预训练数据:36,000小时泰语语音数据(16,000小时开源数据 + 20,000小时内部数据)
数据生成方法
通过LLM增强、翻译和TTS合成技术,从英语文本语料库生成泰语语音理解数据:
- 源数据:SNIPS(IC)、WikiANN/CONLL-2023(NER)
- 数据增强:DeepSeek-v3生成10个变体/实例
- 质量过滤:Gemini-2.5-flash
- 语音合成:泰语微调LLaSa模型
技术特点
- 音频格式:FLAC压缩字节
- 采样率:16 kHz
- 通道数:1
- 包含时长信息
性能表现
ASR任务性能(CER%)
| 模型 | Giga2 Test | CV Test |
|---|---|---|
| XLSR-Thai-CTC | 13.91 | 3.97 |
多任务理解结果
最佳性能组合:
- IC准确率:89.68%
- NER-ALL准确率:53.77%
- SR评分:3.10(1-5分制)
- ASR CER:13.32%
使用方式
数据加载
python from datasets import load_dataset ds_ic = load_dataset( "mcshao/Thai-understanding", data_files={ "train": "Thai-SUP/IC/train/.parquet", "validation": "Thai-SUP/IC/dev/.parquet", "test": "Thai-SUP/IC/test/*.parquet", } )
音频解码
python import io, soundfile as sf audio_bytes = sample["audio_flac"] sr = sample["sampling_rate"] y, sr2 = sf.read(io.BytesIO(audio_bytes), dtype="float32")
模型加载
python import torch from fairseq.models.wav2vec import Wav2Vec2Model ckpt = torch.load("XLSR-Thai/checkpoint_best.pt") model, cfg, task = Wav2Vec2Model.build_model_and_task_from_checkpoint(ckpt)




