torsh-text 0.1.2

Natural language processing utilities for ToRSh deep learning framework
Documentation
//! # SequenceLabelingDataset - Trait Implementations
//!
//! This module contains trait implementations for `SequenceLabelingDataset`.
//!
//! ## Implemented Traits
//!
//! - `Dataset`
//!
//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)

use crate::{Result, TextError};

use super::functions::Dataset;
use super::types::SequenceLabelingDataset;

impl Dataset for SequenceLabelingDataset {
    type Item = (Vec<String>, Vec<String>);
    fn len(&self) -> usize {
        self.sequences.len()
    }
    fn get_item(&self, index: usize) -> Result<Self::Item> {
        if index < self.sequences.len() {
            Ok((self.sequences[index].clone(), self.labels[index].clone()))
        } else {
            Err(TextError::DatasetError(format!(
                "Index {} out of bounds",
                index
            )))
        }
    }
}