Zy789kl/moonlabelkit/core does not have a README file

    GovernanceError

    pub(all) suberror GovernanceError {
    SchemaMismatch(String)
    InvalidAnnotation(String)
    ParserError(String, Int)
    ComputationError(String)
    } derive(Eq,
    Debug
    )

    数据治理统一错误类型定义

    Annotation

    pub(all) struct Annotation {
    annotator_id : String
    label : LabelValue
    timestamp : Int64
    confidence : Double?
    } derive(Eq,
    Debug
    )

    单次标注记录,关联标注人员ID、标签结果、时间戳及可选置信度

    Dataset

    pub(all) struct Dataset {
    name : String
    task_type : TaskType
    samples : Array[Sample]
    schema_labels : Array[String]
    } derive(Eq,
    Debug
    )

    数据集实体定义

    Dataset::add_sample

    fn Dataset::add_sample(self : Dataset, sample : Sample) -> Unit

    往数据集中追加单条样本

    Dataset::add_sample_or_merge

    fn Dataset::add_sample_or_merge(self : Dataset, sample : Sample) -> Unit

    往数据集中添加样本,如果ID已存在则合并标注记录(适用于多标注人员独立提交的记录)

    Dataset::filter_by_split

    fn Dataset::filter_by_split(self : Dataset, target_split : String) -> Dataset

    按照数据集切分类型(如 "train", "dev", "test")过滤返回子数据集

    Dataset::get_all_annotators

    fn Dataset::get_all_annotators(self : Dataset) -> Array[String]

    获取数据集中出现的所有不同标注人员ID列表

    Dataset::new

    fn Dataset::new(name : String, task_type : TaskType, schema_labels : Array[String]) -> Dataset

    创建全新空数据集实体

    DatasetSummary

    pub(all) struct DatasetSummary {
    sample_count : Int
    annotation_count : Int
    annotator_count : Int
    split_counts : Map[String, Int]
    labeled_sample_count : Int
    unlabeled_sample_count : Int
    } derive(Eq,
    Debug
    )

    Compact coverage summary for dashboards and reproducibility reports.

    EntitySpan

    pub(all) struct EntitySpan {
    start : Int
    end : Int
    label : String
    text : String
    } derive(Eq, ToJson,
    Debug
    )

    序列标注中的实体片段定义

    LabelValue

    pub(all) enum LabelValue {
    Single(String)
    Multi(Array[String])
    Spans(Array[EntitySpan])
    Scores(Map[String, Double])
    } derive(Eq,
    Debug
    )

    统一标签值表达,涵盖单类别、多类别、序列标注区间与置信评分

    Sample

    pub(all) struct Sample {
    id : String
    text : String
    metadata : Map[String, String]
    annotations : Array[Annotation]
    split : String
    } derive(Eq,
    Debug
    )

    数据集单条样本模型

    Sample::create_sequence

    fn Sample::create_sequence(id : String, text : String, spans : Array[EntitySpan], annotator? : String, split? : String) -> Sample

    构造基础序列标注样本

    Sample::create_simple

    fn Sample::create_simple(id : String, text : String, label : String, annotator? : String, split? : String) -> Sample

    构造基础单标注样本

    Sample::extract_category_labels

    fn Sample::extract_category_labels(self : Sample) -> Array[String]

    提取单条样本下的所有分类类别字符串(对单标签/多标签展开去重)

    TaskType

    pub(all) enum TaskType {
    Classification
    SequenceLabeling
    Tabular
    PromptResponse
    } derive(Eq, ToJson,
    Debug
    )

    任务类型枚举,支持分类、序列标注与表格化/大模型评测数据

    annotation_coverage

    fn annotation_coverage(summary : DatasetSummary) -> Double

    Fraction of samples that have at least one annotation.

    annotation_density

    fn annotation_density(summary : DatasetSummary) -> Double

    Average number of annotations per sample, including zero-annotation rows.

    has_required_splits

    fn has_required_splits(summary : DatasetSummary, required : Array[String]) -> Bool

    Whether every requested split exists and contains data.

    is_empty

    fn is_empty(summary : DatasetSummary) -> Bool

    Empty datasets cannot be released as training data.

    is_fully_annotated

    fn is_fully_annotated(summary : DatasetSummary) -> Bool

    Whether all samples have at least one annotation.

    passes_basic_coverage

    fn passes_basic_coverage(summary : DatasetSummary) -> Bool

    A compact release predicate combining coverage and non-empty input checks.

    raise_parser_error

    fn raise_parser_error(msg : String, line : Int) -> Unit raise GovernanceError

    抛出解析异常与具体行号

    raise_schema_error

    fn raise_schema_error(msg : String) -> Unit raise GovernanceError

    抛出Schema校验不通过异常

    split_count

    fn split_count(summary : DatasetSummary, split : String) -> Int

    Number of samples in a named split, returning zero for an absent split.

    split_exists

    fn split_exists(summary : DatasetSummary, split : String) -> Bool

    Whether a split has at least one sample.

    summarize_dataset

    fn summarize_dataset(dataset : Dataset) -> DatasetSummary

    Calculate counts without changing the source dataset.

    text_uniqueness_ratio

    fn text_uniqueness_ratio(summary : DatasetSummary, unique_texts : Int) -> Double

    Ratio of distinct text values to samples; lower values indicate repetition.