five

eson/cc100-samples

收藏
Hugging Face2024-05-23 更新2024-05-25 收录
下载链接:
https://hf-mirror.com/datasets/eson/cc100-samples
下载链接
链接失效反馈
官方服务:
资源简介:
--- annotations_creators: - no-annotation language_creators: - found language: - af - am - ar - as - az - be - bg - bn - br - bs - ca - cs - cy - da - de - el - en - eo - es - et - eu - fa - ff - fi - fr - fy - ga - gd - gl - gn - gu - ha - he - hi - hr - ht - hu - hy - id - ig - is - it - ja - jv - ka - kk - km - kn - ko - ku - ky - la - lg - li - ln - lo - lt - lv - mg - mk - ml - mn - mr - ms - my - ne - nl - 'no' - ns - om - or - pa - pl - ps - pt - qu - rm - ro - ru - sa - sc - sd - si - sk - sl - so - sq - sr - ss - su - sv - sw - ta - te - th - tl - tn - tr - ug - uk - ur - uz - vi - wo - xh - yi - yo - zh - zu language_bcp47: - bn-Latn - hi-Latn - my-x-zawgyi - ta-Latn - te-Latn - ur-Latn - zh-Hans - zh-Hant license: - unknown multilinguality: - multilingual size_categories: - 1K<n<10K source_datasets: - original task_categories: - text-generation - fill-mask task_ids: - language-modeling - masked-language-modeling paperswithcode_id: cc100 pretty_name: CC100 configs: - config_name: am data_files: - split: train path: data/am.txt - config_name: ar data_files: - split: train path: data/ar.txt - config_name: as data_files: - split: train path: data/as.txt - config_name: az data_files: - split: train path: data/az.txt - config_name: be data_files: - split: train path: data/be.txt - config_name: bg data_files: - split: train path: data/bg.txt - config_name: bn data_files: - split: train path: data/bn.txt - config_name: bn_rom data_files: - split: train path: data/bn_rom.txt - config_name: br data_files: - split: train path: data/br.txt - config_name: bs data_files: - split: train path: data/bs.txt - config_name: ca data_files: - split: train path: data/ca.txt - config_name: cs data_files: - split: train path: data/cs.txt - config_name: cy data_files: - split: train path: data/cy.txt - config_name: da data_files: - split: train path: data/da.txt - config_name: de data_files: - split: train path: data/de.txt - config_name: el data_files: - split: train path: data/el.txt - config_name: en data_files: - split: train path: data/en.txt - config_name: eo data_files: - split: train path: data/eo.txt - config_name: es data_files: - split: train path: data/es.txt - config_name: et data_files: - split: train path: data/et.txt - config_name: eu data_files: - split: train path: data/eu.txt - config_name: fa data_files: - split: train path: data/fa.txt - config_name: ff data_files: - split: train path: data/ff.txt - config_name: fi data_files: - split: train path: data/fi.txt - config_name: fr data_files: - split: train path: data/fr.txt - config_name: fy data_files: - split: train path: data/fy.txt - config_name: ga data_files: - split: train path: data/ga.txt - config_name: gd data_files: - split: train path: data/gd.txt - config_name: gl data_files: - split: train path: data/gl.txt - config_name: gn data_files: - split: train path: data/gn.txt - config_name: gu data_files: - split: train path: data/gu.txt - config_name: ha data_files: - split: train path: data/ha.txt - config_name: he data_files: - split: train path: data/he.txt - config_name: hi data_files: - split: train path: data/hi.txt - config_name: hi_rom data_files: - split: train path: data/hi_rom.txt - config_name: hr data_files: - split: train path: data/hr.txt - config_name: ht data_files: - split: train path: data/ht.txt - config_name: hu data_files: - split: train path: data/hu.txt - config_name: hy data_files: - split: train path: data/hy.txt - config_name: id data_files: - split: train path: data/id.txt - config_name: ig data_files: - split: train path: data/ig.txt - config_name: is data_files: - split: train path: data/is.txt - config_name: it data_files: - split: train path: data/it.txt - config_name: ja data_files: - split: train path: data/ja.txt - config_name: jv data_files: - split: train path: data/jv.txt - config_name: ka data_files: - split: train path: data/ka.txt - config_name: kk data_files: - split: train path: data/kk.txt - config_name: km data_files: - split: train path: data/km.txt - config_name: kn data_files: - split: train path: data/kn.txt - config_name: ko data_files: - split: train path: data/ko.txt - config_name: ku data_files: - split: train path: data/ku.txt - config_name: ky data_files: - split: train path: data/ky.txt - config_name: la data_files: - split: train path: data/la.txt - config_name: lg data_files: - split: train path: data/lg.txt - config_name: li data_files: - split: train path: data/li.txt - config_name: ln data_files: - split: train path: data/ln.txt - config_name: lo data_files: - split: train path: data/lo.txt - config_name: lt data_files: - split: train path: data/lt.txt - config_name: lv data_files: - split: train path: data/lv.txt - config_name: mg data_files: - split: train path: data/mg.txt - config_name: mk data_files: - split: train path: data/mk.txt - config_name: ml data_files: - split: train path: data/ml.txt - config_name: mn data_files: - split: train path: data/mn.txt - config_name: mr data_files: - split: train path: data/mr.txt - config_name: ms data_files: - split: train path: data/ms.txt - config_name: my data_files: - split: train path: data/my.txt - config_name: my_zaw data_files: - split: train path: data/my_zaw.txt - config_name: ne data_files: - split: train path: data/ne.txt - config_name: nl data_files: - split: train path: data/nl.txt - config_name: 'no' data_files: - split: train path: data/no.txt - config_name: ns data_files: - split: train path: data/ns.txt - config_name: om data_files: - split: train path: data/om.txt - config_name: or data_files: - split: train path: data/or.txt - config_name: pa data_files: - split: train path: data/pa.txt - config_name: pl data_files: - split: train path: data/pl.txt - config_name: ps data_files: - split: train path: data/ps.txt - config_name: pt data_files: - split: train path: data/pt.txt - config_name: qu data_files: - split: train path: data/qu.txt - config_name: rm data_files: - split: train path: data/rm.txt - config_name: ro data_files: - split: train path: data/ro.txt - config_name: ru data_files: - split: train path: data/ru.txt - config_name: sa data_files: - split: train path: data/sa.txt - config_name: si data_files: - split: train path: data/si.txt - config_name: sc data_files: - split: train path: data/sc.txt - config_name: sd data_files: - split: train path: data/sd.txt - config_name: sk data_files: - split: train path: data/sk.txt - config_name: sl data_files: - split: train path: data/sl.txt - config_name: so data_files: - split: train path: data/so.txt - config_name: sq data_files: - split: train path: data/sq.txt - config_name: sr data_files: - split: train path: data/sr.txt - config_name: ss data_files: - split: train path: data/ss.txt - config_name: su data_files: - split: train path: data/su.txt - config_name: sv data_files: - split: train path: data/sv.txt - config_name: sw data_files: - split: train path: data/sw.txt - config_name: ta data_files: - split: train path: data/ta.txt - config_name: ta_rom data_files: - split: train path: data/ta_rom.txt - config_name: te data_files: - split: train path: data/te.txt - config_name: te_rom data_files: - split: train path: data/te_rom.txt - config_name: th data_files: - split: train path: data/th.txt - config_name: tl data_files: - split: train path: data/tl.txt - config_name: tn data_files: - split: train path: data/tn.txt - config_name: tr data_files: - split: train path: data/tr.txt - config_name: ug data_files: - split: train path: data/ug.txt - config_name: uk data_files: - split: train path: data/uk.txt - config_name: ur data_files: - split: train path: data/ur.txt - config_name: ur_rom data_files: - split: train path: data/ur_rom.txt - config_name: uz data_files: - split: train path: data/uz.txt - config_name: vi data_files: - split: train path: data/vi.txt - config_name: wo data_files: - split: train path: data/wo.txt - config_name: xh data_files: - split: train path: data/xh.txt - config_name: yi data_files: - split: train path: data/yi.txt - config_name: yo data_files: - split: train path: data/yo.txt - config_name: zh-Hans data_files: - split: train path: data/zh-Hans.txt - config_name: zh-Hant data_files: - split: train path: data/zh-Hant.txt - config_name: zu data_files: - split: train path: data/zu.txt --- The cc100-samples is a subset which contains first 10,000 lines of [cc100](https://huggingface.co/datasets/cc100). ### Languages To load a language which isn't part of the config, all you need to do is specify the language code in the config. You can find the valid languages in Homepage section of Dataset Description: https://data.statmt.org/cc-100/ E.g. `dataset = load_dataset("cc100-samples", lang="en")` ```py VALID_CODES = [ "am", "ar", "as", "az", "be", "bg", "bn", "bn_rom", "br", "bs", "ca", "cs", "cy", "da", "de", "el", "en", "eo", "es", "et", "eu", "fa", "ff", "fi", "fr", "fy", "ga", "gd", "gl", "gn", "gu", "ha", "he", "hi", "hi_rom", "hr", "ht", "hu", "hy", "id", "ig", "is", "it", "ja", "jv", "ka", "kk", "km", "kn", "ko", "ku", "ky", "la", "lg", "li", "ln", "lo", "lt", "lv", "mg", "mk", "ml", "mn", "mr", "ms", "my", "my_zaw", "ne", "nl", "no", "ns", "om", "or", "pa", "pl", "ps", "pt", "qu", "rm", "ro", "ru", "sa", "si", "sc", "sd", "sk", "sl", "so", "sq", "sr", "ss", "su", "sv", "sw", "ta", "ta_rom", "te", "te_rom", "th", "tl", "tn", "tr", "ug", "uk", "ur", "ur_rom", "uz", "vi", "wo", "xh", "yi", "yo", "zh-Hans", "zh-Hant", "zu", ] ``` ## Dataset Structure ### Data Instances An example from the `am` configuration: ``` {'id': '0', 'text': 'ተለዋዋጭ የግድግዳ አንግል ሙቅ አንቀሳቅሷል ቲ-አሞሌ አጥቅሼ ...\n'} ``` Each data point is a paragraph of text. The paragraphs are presented in the original (unshuffled) order. Documents are separated by a data point consisting of a single newline character. ### Data Fields The data fields are: - id: id of the example - text: content as a string
提供机构:
eson
原始信息汇总

数据集概述

数据集名称: CC100

别名: cc100

语言: 多语言,包括但不限于 af, am, ar, as, az, be, bg, bn, br, bs, ca, cs, cy, da, de, el, en, eo, es, et, eu, fa, ff, fi, fr, fy, ga, gd, gl, gn, gu, ha, he, hi, hr, ht, hu, hy, id, ig, is, it, ja, jv, ka, kk, km, kn, ko, ku, ky, la, lg, li, ln, lo, lt, lv, mg, mk, ml, mn, mr, ms, my, ne, nl, no, ns, om, or, pa, pl, ps, pt, qu, rm, ro, ru, sa, sc, sd, si, sk, sl, so, sq, sr, ss, su, sv, sw, ta, te, th, tl, tn, tr, ug, uk, ur, uz, vi, wo, xh, yi, yo, zh, zu

BCP47语言代码: bn-Latn, hi-Latn, my-x-zawgyi, ta-Latn, te-Latn, ur-Latn, zh-Hans, zh-Hant

许可证: 未知

多语言性: 多语言

大小类别: 1K<n<10K

源数据集: 原始

任务类别:

  • 文本生成
  • 填充掩码

任务ID:

  • 语言建模
  • 掩码语言建模

Paperswithcode ID: cc100

数据集结构

数据实例

每个数据点包含以下字段:

  • id: 示例的ID
  • text: 文本内容

示例数据点(以am配置为例):

{id: 0, text: ተለዋዋጭ የግድግዳ አንግል ሙቅ አንቀሳቅሷል ቲ-አሞሌ አጥቅሼ ... }

数据文件配置

数据集包含多种语言的配置,每个配置对应一个数据文件,例如:

  • config_name: am
    • data_files:
      • split: train path: data/am.txt
  • config_name: ar
    • data_files:
      • split: train path: data/ar.txt
  • config_name: as
    • data_files:
      • split: train path: data/as.txt
  • config_name: az
    • data_files:
      • split: train path: data/az.txt
  • config_name: be
    • data_files:
      • split: train path: data/be.txt
  • config_name: bg
    • data_files:
      • split: train path: data/bg.txt
  • config_name: bn
    • data_files:
      • split: train path: data/bn.txt
  • config_name: bn_rom
    • data_files:
      • split: train path: data/bn_rom.txt
  • config_name: br
    • data_files:
      • split: train path: data/br.txt
  • config_name: bs
    • data_files:
      • split: train path: data/bs.txt
  • config_name: ca
    • data_files:
      • split: train path: data/ca.txt
  • config_name: cs
    • data_files:
      • split: train path: data/cs.txt
  • config_name: cy
    • data_files:
      • split: train path: data/cy.txt
  • config_name: da
    • data_files:
      • split: train path: data/da.txt
  • config_name: de
    • data_files:
      • split: train path: data/de.txt
  • config_name: el
    • data_files:
      • split: train path: data/el.txt
  • config_name: en
    • data_files:
      • split: train path: data/en.txt
  • config_name: eo
    • data_files:
      • split: train path: data/eo.txt
  • config_name: es
    • data_files:
      • split: train path: data/es.txt
  • config_name: et
    • data_files:
      • split: train path: data/et.txt
  • config_name: eu
    • data_files:
      • split: train path: data/eu.txt
  • config_name: fa
    • data_files:
      • split: train path: data/fa.txt
  • config_name: ff
    • data_files:
      • split: train path: data/ff.txt
  • config_name: fi
    • data_files:
      • split: train path: data/fi.txt
  • config_name: fr
    • data_files:
      • split: train path: data/fr.txt
  • config_name: fy
    • data_files:
      • split: train path: data/fy.txt
  • config_name: ga
    • data_files:
      • split: train path: data/ga.txt
  • config_name: gd
    • data_files:
      • split: train path: data/gd.txt
  • config_name: gl
    • data_files:
      • split: train path: data/gl.txt
  • config_name: gn
    • data_files:
      • split: train path: data/gn.txt
  • config_name: gu
    • data_files:
      • split: train path: data/gu.txt
  • config_name: ha
    • data_files:
      • split: train path: data/ha.txt
  • config_name: he
    • data_files:
      • split: train path: data/he.txt
  • config_name: hi
    • data_files:
      • split: train path: data/hi.txt
  • config_name: hi_rom
    • data_files:
      • split: train path: data/hi_rom.txt
  • config_name: hr
    • data_files:
      • split: train path: data/hr.txt
  • config_name: ht
    • data_files:
      • split: train path: data/ht.txt
  • config_name: hu
    • data_files:
      • split: train path: data/hu.txt
  • config_name: hy
    • data_files:
      • split: train path: data/hy.txt
  • config_name: id
    • data_files:
      • split: train path: data/id.txt
  • config_name: ig
    • data_files:
      • split: train path: data/ig.txt
  • config_name: is
    • data_files:
      • split: train path: data/is.txt
  • config_name: it
    • data_files:
      • split: train path: data/it.txt
  • config_name: ja
    • data_files:
      • split: train path: data/ja.txt
  • config_name: jv
    • data_files:
      • split: train path: data/jv.txt
  • config_name: ka
    • data_files:
      • split: train path: data/ka.txt
  • config_name: kk
    • data_files:
      • split: train path: data/kk.txt
  • config_name: km
    • data_files:
      • split: train path: data/km.txt
  • config_name: kn
    • data_files:
      • split: train path: data/kn.txt
  • config_name: ko
    • data_files:
      • split: train path: data/ko.txt
  • config_name: ku
    • data_files:
      • split: train path: data/ku.txt
  • config_name: ky
    • data_files:
      • split: train path: data/ky.txt
  • config_name: la
    • data_files:
      • split: train path: data/la.txt
  • config_name: lg
    • data_files:
      • split: train path: data/lg.txt
  • config_name: li
    • data_files:
      • split: train path: data/li.txt
  • config_name: ln
    • data_files:
      • split: train path: data/ln.txt
  • config_name: lo
    • data_files:
      • split: train path: data/lo.txt
  • config_name: lt
    • data_files:
      • split: train path: data/lt.txt
  • config_name: lv
    • data_files:
      • split: train path: data/lv.txt
  • config_name: mg
    • data_files:
      • split: train path: data/mg.txt
  • config_name: mk
    • data_files:
      • split: train path: data/mk.txt
  • config_name: ml
    • data_files:
      • split: train path: data/ml.txt
  • config_name: mn
    • data_files:
      • split: train path: data/mn.txt
  • config_name: mr
    • data_files:
      • split: train path: data/mr.txt
  • config_name: ms
    • data_files:
      • split: train path: data/ms.txt
  • config_name: my
    • data_files:
      • split: train path: data/my.txt
  • config_name: my_zaw
    • data_files:
      • split: train path: data/my_zaw.txt
  • config_name: ne
    • data_files:
      • split: train path: data/ne.txt
  • config_name: nl
    • data_files:
      • split: train path: data/nl.txt
  • config_name: no
    • data_files:
      • split: train path: data/no.txt
  • config_name: ns
    • data_files:
      • split: train path: data/ns.txt
  • config_name: om
    • data_files:
      • split: train path: data/om.txt
  • config_name: or
    • data_files:
      • split: train path: data/or.txt
  • config_name: pa
    • data_files:
      • split: train path: data/pa.txt
  • config_name: pl
    • data_files:
      • split: train path: data/pl.txt
  • config_name: ps
    • data_files:
      • split: train path: data/ps.txt
  • config_name: pt
    • data_files:
      • split: train path: data/pt.txt
  • config_name: qu
    • data_files:
      • split: train path: data/qu.txt
  • config_name: rm
    • data_files:
      • split: train path: data/rm.txt
  • config_name: ro
    • data_files:
      • split: train path: data/ro.txt
  • config_name: ru
    • data_files:
      • split: train path: data/ru.txt
  • config_name: sa
    • data_files:
      • split: train path: data/sa.txt
  • config_name: si
    • data_files:
      • split: train path: data/si.txt
  • config_name: sc
    • data_files:
      • split: train path: data/sc.txt
  • config_name: sd
    • data_files:
      • split: train path: data/sd.txt
  • config_name: sk
    • data_files:
      • split: train path: data/sk.txt
  • config_name: sl
    • data_files:
      • split: train path: data/sl.txt
  • config_name: so
    • data_files:
      • split: train path: data/so.txt
  • config_name: sq
    • data_files:
      • split: train path: data/sq.txt
  • config_name: sr
    • data_files:
      • split: train path: data/sr.txt
  • config_name: ss
    • data_files:
      • split: train path: data/ss.txt
  • config_name: su
    • data_files:
      • split: train path: data/su.txt
  • config_name: sv
    • data_files:
      • split: train path: data/sv.txt
  • config_name: sw
    • data_files:
      • split: train path: data/sw.txt
  • config_name: ta
    • data_files:
      • split: train path: data/ta.txt
  • config_name: ta_rom
    • data_files:
      • split: train path: data/ta_rom.txt
  • config_name: te
    • data_files:
      • split: train path: data/te.txt
  • config_name: te_rom
    • data_files:
      • split: train path: data/te_rom.txt
  • config_name: th
    • data_files:
      • split: train path: data/th.txt
  • config_name: tl
    • data_files:
      • split: train path: data/tl.txt
  • config_name: tn
    • data_files:
      • split: train path: data/tn.txt
  • config_name: tr
    • data_files:
      • split: train path: data/tr.txt
  • config_name: ug
    • data_files:
      • split: train path: data/ug.txt
  • config_name: uk
    • data_files:
      • split: train path: data/uk.txt
  • config_name: ur
    • data_files:
      • split: train path: data/ur.txt
  • config_name: ur_rom
    • data_files:
      • split: train path: data/ur_rom.txt
  • config_name: uz
    • data_files:
      • split: train path: data/uz.txt
  • config_name: vi
    • data_files:
      • split: train path: data/vi.txt
  • config_name: wo
    • data_files:
      • split: train path: data/wo.txt
  • config_name: xh
    • data_files:
      • split: train path: data/xh.txt
  • config_name: yi
    • data_files:
      • split: train path: data/yi.txt
  • config_name: yo
    • data_files:
      • split: train path: data/yo.txt
  • config_name: zh-Hans
    • data_files:
      • split: train path: data/zh-Hans.txt
  • config_name: zh-Hant
    • data_files:
      • split: train path: data/zh-Hant.txt
  • config_name: zu
    • data_files:
      • split: train path: data/zu.txt
搜集汇总
数据集介绍
main_image_url
构建方式
在自然语言处理领域,大规模多语言语料库的构建是推动跨语言模型发展的基石。CC100-samples数据集作为CC100语料库的精简子集,其构建过程体现了对原始数据的系统性采样。该数据集从涵盖百余种语言的原始CC100语料中,为每种语言提取了前一万行文本,形成一个小规模但语言覆盖广泛的样本集合。这种构建方式确保了每种语言数据的独立性与完整性,同时通过统一的采样策略,为研究者提供了一个轻量级、便于快速实验和原型验证的多语言基准。
特点
该数据集的核心特征在于其卓越的多语言覆盖广度与精炼的数据规模。它囊括了从阿姆哈拉语到祖鲁语等超过一百种语言,甚至包含了特定语言的罗马化变体,如孟加拉语、印地语、缅甸语等语言的拉丁字母转写版本,这为研究不同文字系统的表示提供了独特视角。数据以纯文本段落形式组织,每个样本包含唯一的ID和对应的文本内容,文档之间以空行分隔,结构清晰简洁。其规模控制在数千到一万行之间,既保留了语言的多样性,又避免了处理海量数据带来的计算负担。
使用方法
针对多语言文本建模任务,该数据集提供了便捷的加载与调用接口。用户可通过Hugging Face的`datasets`库,使用`load_dataset`函数并指定目标语言的配置代码来加载特定语种的数据。例如,加载英语数据只需执行`load_dataset("cc100-samples", lang="en")`。数据加载后,其结构呈现为包含‘id’和‘text’两个字段的数据集对象,可直接用于语言模型预训练、掩码语言建模等任务的训练或评估。这种设计使得研究者能够灵活地选取单一或多种语言进行实验,高效地探索多语言环境下的模型行为。
背景与挑战
背景概述
在自然语言处理领域,多语言模型的训练长期受限于高质量、大规模语料库的稀缺性,尤其是对于资源匮乏的语言。CC100数据集由Meta AI的研究团队于2020年构建,旨在通过从Common Crawl网络爬虫中提取和清洗文本,为超过100种语言提供统一的预训练语料。该数据集的核心研究问题聚焦于解决跨语言表示学习中的数据不平衡问题,推动多语言语言模型如XLM-R的发展,显著提升了低资源语言的处理能力,对全球化人工智能应用产生了深远影响。
当前挑战
CC100数据集致力于应对多语言自然语言处理中的核心挑战,即如何为众多语言,特别是低资源语言,提供充足且高质量的文本数据以支持模型训练。然而,该领域面临数据质量参差不齐的难题,网络来源文本包含大量噪声、重复及非正式内容,影响模型泛化性能。在构建过程中,研究团队需克服语言识别、文本清洗与格式标准化的技术障碍,同时平衡不同语言的数据量以缓解资源倾斜问题,这些挑战共同制约了多语言模型的均衡发展。
常用场景
经典使用场景
在自然语言处理领域,多语言文本语料库的构建与评估是推动模型泛化能力的关键。CC100-samples作为CC100数据集的子集,其经典使用场景集中于大规模多语言预训练模型的开发与测试。研究者利用其涵盖的近百种语言文本,对语言模型进行跨语言表示学习,尤其在低资源语言环境下,该数据集提供了宝贵的训练样本,助力模型捕捉不同语言间的共性与特性,为后续的机器翻译、文本生成等任务奠定基础。
解决学术问题
面对全球语言多样性带来的数据稀缺挑战,CC100-samples有效缓解了低资源语言在自然语言处理研究中的样本不足问题。该数据集通过整合多种语言的平行文本,支持跨语言迁移学习与多语言模型对齐的研究,促进了语言理解技术的公平性与包容性发展。其意义在于打破了传统以英语为中心的研究范式,为探索语言普适表示与语言特异性建模提供了实证基础,推动了计算语言学向更广泛语言覆盖的演进。
衍生相关工作
基于CC100-samples的丰富语料,学术界衍生了一系列经典研究工作。例如,多语言BERT(mBERT)和XLM-R等预训练模型在其基础上进行了扩展训练,显著提升了跨语言任务的性能。此外,该数据集还支撑了关于语言模型偏见分析、低资源语言机器翻译优化以及多语言词向量对齐方法的研究,这些工作共同推动了多语言自然语言处理技术的进步与创新。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作