Skip to main content

basic/
basic.rs

1use novel_segment::{DoSegmentOptions, Segment};
2
3fn main() -> Result<(), novel_segment::Error> {
4    let mut seg = Segment::new(novel_segment::SegmentOptions {
5        auto_cjk: true,
6        ..Default::default()
7    });
8    seg.use_default()?;
9    let text = "这是一个基于Rust的中文分词模块。";
10    let words = seg.do_segment(text, DoSegmentOptions::default());
11    println!("{text}");
12    println!(
13        "{}",
14        words
15            .iter()
16            .map(|w| format!("{}:{:x}", w.w, w.p.unwrap_or(0)))
17            .collect::<Vec<_>>()
18            .join(" / ")
19    );
20
21    let simple = seg.do_segment_simple(text, DoSegmentOptions::default());
22    println!("{}", simple.join(" / "));
23
24    seg.add_word("專有名詞", Some(novel_segment::POSTAG::D_N), Some(100.0))?;
25    Ok(())
26}