use lindera::LinderaResult;
fn main() -> LinderaResult<()> {
#[cfg(feature = "embed-ipadic")]
{
use std::path::PathBuf;
use lindera::tokenizer::TokenizerBuilder;
let path = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
.join("../resources")
.join("config")
.join("lindera.yml");
let builder = TokenizerBuilder::from_file(&path)?;
let tokenizer = builder.build()?;
let text = "Linderaは形態素解析エンジンです。ユーザー辞書も利用可能です。".to_string();
println!("text: {text}");
let tokens = tokenizer.tokenize(&text)?;
for token in tokens {
println!(
"token: {:?}, start: {:?}, end: {:?}, details: {:?}",
token.surface, token.byte_start, token.byte_end, token.details
);
}
}
#[cfg(not(feature = "embed-ipadic"))]
{
eprintln!("This example requires the 'embed-ipadic' feature to be enabled.");
eprintln!("Run with: cargo run --features embed-ipadic --example tokenize_with_config");
}
Ok(())
}