用户工具

站点工具


现有语料格式

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
现有语料格式 [2023/11/11 10:54] MNBVC项目组现有语料格式 [2025/06/02 15:17] (当前版本) – 外部编辑 127.0.0.1
行 18: 行 18:
 平行语料格式 平行语料格式
 [[https://github.com/liyongsea/parallel_corpus_mnbvc]] [[https://github.com/liyongsea/parallel_corpus_mnbvc]]
 +
 +多模态语料
 +[[https://huggingface.co/datasets/wanng/example_mmdata_mnbvc]]
  
 ====== MNBVC语料格式检查工具 ====== ====== MNBVC语料格式检查工具 ======
 未来所有MNBVC语料都会统一格式,请提交数据的同学都执行下格式检查工具:[[https://github.com/X94521/DataCheck_MNBVC|DataCheck_MNBVC]] 未来所有MNBVC语料都会统一格式,请提交数据的同学都执行下格式检查工具:[[https://github.com/X94521/DataCheck_MNBVC|DataCheck_MNBVC]]
  
-====== MNBVC语料格式详情 ======+======MNBVC语料格式详情 ======
  
  
 对于语料格式的每个jsonl文件,其大小略大于500MB。 对于语料格式的每个jsonl文件,其大小略大于500MB。
 +
 +==== 关于“时间” ====
 +时间字段所有语料格式中都有,必填,代表本语料出现的最早时间,统一采用字符串的 yyyymmdd 格式,具体规则如下:
 +  - 年份固定为4位,月份和日固定为两位,例如2024年1月1日记为 '20240101'
 +  - 年份不足4位需要在前面补0至4位,如738年3月3日记为 '07380303'
 +  - 不能具体到日或月份,统一记为01,如公元738年记为 '07390101'
 +  - 公元前则在前面加上负号,如公元前5000年记为 '-50000101'
 +
 +补充:补零4位python代码只需要加上:04d为 f'{$year:04d}',如需将补零4位字符串转换为int,python中 int() 函数会自动识别转换,如 int('0001') 则为整数 1。
  
 ==== 通用文本输出jsonl格式说明 ==== ==== 通用文本输出jsonl格式说明 ====
  
-1.对于每一个文件,他的json结构层次如下:+1.对于每一个文件,时间格式为yyyymmdd,具体参考前面的内容,他的json结构层次如下:
  
 <code>  <code> 
行 42: 行 54:
     '去重段落数': 0,     '去重段落数': 0,
     '低质量段落数': 0,     '低质量段落数': 0,
-    '段落': []+    '段落': []
 +    '扩展字段': json_str, 
 +    '时间': str(yyyymmdd),
 } }
 </code> </code>
行 54: 行 68:
     '是否跨文件重复': False,     '是否跨文件重复': False,
     'md5': md5,     'md5': md5,
-    '内容': line+    '内容': line
 +    '扩展字段': json_str
 } }
 </code> </code>
行 77: 行 92:
                 '是否跨文件重复': False,                 '是否跨文件重复': False,
                 'md5': 'md5hash1',                 'md5': 'md5hash1',
-                '内容': '这是第一段文字。' +                '内容': '这是第一段文字。'
-            }+                '扩展字段': json_str 
 +            }
 +        '扩展字段': json_str, 
 +        '时间': str(yyyymmdd),
         ]         ]
     }     }
行 98: 行 116:
         "回答明细":"",         "回答明细":"",
         "扩展字段":""         "扩展字段":""
-    }+    }
 +    "时间": str(yyyymmdd),
 } }
 </code> </code>
行 131: 行 150:
     "答": "1. 了解基础知识 ...",     "答": "1. 了解基础知识 ...",
     "来源": "来源",     "来源": "来源",
 +    "时间": str(yyyymmdd),
     "元数据": {     "元数据": {
         "create_time": "20230517 06:47:18",         "create_time": "20230517 06:47:18",
行 178: 行 198:
     "原始编码":"GBK",     "原始编码":"GBK",
     "md5":"文件的md5值",     "md5":"文件的md5值",
-    "text": "文件的内容,utf8格式"+    "text": "文件的内容,utf8格式"
 +    "时间": str(yyyymmdd),
  
 </code>  </code> 
行 194: 行 215:
         "原始编码":"GBK",         "原始编码":"GBK",
         "md5":"文件的md5值",         "md5":"文件的md5值",
-        "text": "文件的内容,utf8格式"+        "text": "文件的内容,utf8格式"
 +        "时间": str(yyyymmdd),
     }     }
 </code> </code>
 +
 +==== 代码commit语料输出jsonl格式说明 =====
 +1.每行是一个文本的数据,对应一个代码仓库里的一个文本文件的变更。
 +
 +2.对于每一行数据,其最高层次结构如下。
 +<code>
 +{
 +    "来源":"github",
 +    "仓库名":"esbatmop/MNBVC",
 +    "path":"/main/README.md",
 +    "文件名":"README.md",
 +    "ext": "md",
 +    "index": "abc1234..def5678",
 +    "message": "Update with new content",
 +    "diff": "@@ -1,3 +1,4 @@
 +             This is the first line.
 +            -This is the second line.
 +            +This line has been modified.
 +             @@ -5,2 +6,3 @@
 +            +This line has been modified again.
 +            +This is another new line added.",
 +    "原始编码":"GBK",
 +    "md5":"差异的md5值",
 +    "时间": str(yyyymmdd),
 +    '扩展字段': "json_string",
 +
 +</code> 
  
 ==== 多轮对话输出jsonl格式说明 ===== ==== 多轮对话输出jsonl格式说明 =====
行 208: 行 257:
     "答":"他们相遇,又别离。岁月如梭,情感却不减。",     "答":"他们相遇,又别离。岁月如梭,情感却不减。",
     "来源":"ShareGPT",     "来源":"ShareGPT",
 +    "时间": str(yyyymmdd),
     "元数据":{     "元数据":{
         "create_time":"20230511 15:56:03",         "create_time":"20230511 15:56:03",
行 246: 行 296:
         "答": "Sure, here's a Shakespearean script about a girl who c...",         "答": "Sure, here's a Shakespearean script about a girl who c...",
         "来源": "ShareGPT",         "来源": "ShareGPT",
 +        "时间": str(yyyymmdd),
         "元数据": {         "元数据": {
             "create_time": "20230517 10:41:58",             "create_time": "20230517 10:41:58",
             "问题明细":"\"from\": \"human\"",             "问题明细":"\"from\": \"human\"",
             "回答明细":"\"from\": \"gpt\"",             "回答明细":"\"from\": \"gpt\"",
-            "扩展字段": {+            "扩展字段": "{
                         "会话": "yOKd88p",                         "会话": "yOKd88p",
                         "多轮序号": 1,                         "多轮序号": 1,
                         "解析模型": "gpt4"                         "解析模型": "gpt4"
-                        }+                        }"
         }         }
     }     }
行 269: 行 320:
     "来源": "清华树洞",     "来源": "清华树洞",
     "回复": [],     "回复": [],
 +    "时间": str(yyyymmdd),
     "元数据": {     "元数据": {
         "发帖时间": "20200628 06:38:34",         "发帖时间": "20200628 06:38:34",
行 325: 行 377:
         "主题": "出一张今晚七点贝多芬专场作品音乐会的票,一楼18排4座,原价60出。",         "主题": "出一张今晚七点贝多芬专场作品音乐会的票,一楼18排4座,原价60出。",
         "来源": "北大树洞",         "来源": "北大树洞",
 +        "时间": str(yyyymmdd),
         "回复": [         "回复": [
             {             {
行 351: 行 404:
  
 ==== 平行语料输出jsonl格式说明 ==== ==== 平行语料输出jsonl格式说明 ====
-1.对于每一个文件,的json结构层次如下+语料文件是多行 jsonl 格式这是其中一行样例(实际上一行即为一个json,不需要缩进打印)
 <code>  <code> 
 { {
-    '文件名''文件.txt'+    "文件名""Terraria-workshop-localization_test2.jsonl"
-    '是否待查文件'False+    "是否待查文件"false
-    '是否重复文件'False+    "是否重复文件"false
-    '段落数'0+    "段落数"17944
-    '去重段落数': 0, +    "去重段落数": 0, 
-    '低质量段落数': 0, +    "低质量段落数": 0, 
-    '段落': [] +    "行号"1
-+    "是否重复"false
-</code>  +    "是否跨文件重复"false
- +    "it_text"""
-2.将每一行为一个段落,段落的json结构层次如下: +    "zh_text""正在生成海洋沙"
-<code>  +    "en_text""Generating ocean sand"
-+    "ar_text"""
-    '行号'line_number+    "nl_text"""
-    '是否重复'False+    "de_text"""
-    '是否跨文件重复'False+    "eo_text"""
-    'zh_text_md5'zh_text_md5+    "fr_text": "Génération du sable de l'océan"
-    'zh_text'中文+    "he_text"""
-    'en_text'英语+    "ja_text"""
-    'ar_text'阿拉伯语+    "pt_text""Gerando areia do oceano"
-    'nl_text'荷兰语+    "ru_text""Создание песка в океане"
-    'de_text'德语+    "es_text"""
-    'eo_text'世界语+    "sv_text"""
-    'fr_text': 法语+    "ko_text"""
-    'he_text'希伯来文+    "th_text"""
-    'it_text': 意大利语, +    "id_text":""
-    'ja_text'日语+    "cht_text":"", 
-    'pt_text'葡萄牙语+    "vi_text":"", 
-    'ru_text'俄语+    "扩展字段": "{\"other_texts\": {\"cs\": \"Generování mořského písku\", \"pl\": \"Generowanie piasku morskiego\", \"hu\": \"Tengeri homok elhelyezése\", \"uk\": \"Генерація океанського піску\", \"tr\": \"Okyanus kumu üretme\"}}", 
-    'es_text'西班牙语+    "时间": "20240316", 
-    'sv_text'瑞典语+    "zh_text_md5": "b656579704c6ca5acc29f2aa36159ce2"
-    'ko_text'韩语+
-    'th_text'泰语+
-    'other1_text'小语种1+
-    'other2_text'小语种2,+
 } }
 </code> </code>
  
-3.结果示例+如果语料格式与平行语料小组的github主仓库有差异,**以仓库内的README所展示的为准**。https://github.com/mnbvc-parallel-corpus-team/parallel_corpus_mnbvc 
 + 
 +字段说明: 
 + 
 +**文件名**: 建议和输出的 jsonl 文件名保持一致。对于每份独立的语料,以文件名为唯一依据。每份文件独立计算的 `时间`, `是否待查文件`, `是否跨文件重复`, `是否重复`, `是否重复文件`, `段落数`,  `低质量段落数`,  `去重段落数` 会随文件名冗余多份,保证文件名相等的情况下这几个字段结果相等。所以建议取一个**能够精确描述这份语料来源**的文件名。 
 + 
 +**是否待查文件**: 如果是 True 就是不怎么靠谱,告诉大家尽量别用,平行语料小组收录的语料的此字段若无特殊情况将**全部给 False** 
 + 
 +**是否重复文件**: 留给其它小组的进行去重工作的字段,平行语料小组收录的语料的此字段将**全部给 False** 
 + 
 +**段落数**: 等于整份文件中jsonl的行数 
 + 
 +**去重段落数**: 以 `zh_text` 为依据,“重复了的段落”的个数,注意**不是去重后不同的段落个数** 
 + 
 +**低质量段落数**: `zh_text` 或者 `en_text` 有缺(为空字符串)的段落数量 
 + 
 +**行号**: 段落下标,是一个取值范围在 `[1, 段落数]` 之间的整数 
 + 
 +**是否重复**: 由 `zh_text` 是否重复来决定,每个非重复段落第一次出现时是 False, 此后再次出现发现已重复时是 True 
 + 
 +**是否跨文件重复**: 留给其它小组的进行去重工作的字段,平行语料小组收录的语料的此字段将**全部给 False** 
 + 
 +**时间**: `yyyymmdd` 格式的日期字符串,表这份语料被转换为本文所定义的标准平行语料格式的时间。可以参考样 
 + 
  
-<code>  
-{ 
-        '文件名': '文件.txt', 
-        '是否待查文件': False, 
-        '是否重复文件': False, 
-        '段落数': 0, 
-        '去重段落数': 0, 
-        '低质量段落数': 0, 
-        '段落': [{ 
-            '行号': 1, 
-            '是否重复': False, 
-            '是否跨文件重复': False, 
-            'zh_text_md5': 'zh_text_md5', 
-            'zh_text': '中文', 
-            'en_text': '英语', 
-            'ar_text': '阿拉伯语', 
-            'nl_text': '荷兰语', 
-            'de_text': '德语', 
-            'eo_text': '世界语', 
-            'fr_text': '法语', 
-            'he_text': '希伯来文', 
-            'it_text': '意大利语', 
-            'ja_text': '日语', 
-            'pt_text': '葡萄牙语', 
-            'ru_text': '俄语', 
-            'es_text': '西班牙语', 
-            'sv_text': '瑞典语', 
-            'ko_text': '韩语', 
-            'th_text': '泰语', 
-            'other1_text': '小语种1', 
-            'other2_text': '小语种2', 
-        }] 
-    } 
-</code> 
现有语料格式.1699671249.txt.gz · 最后更改: (外部编辑)