#日语 #阅读 #单词 #映射 #汉字 #地图 #精确度

furigana

根据读音将平假名注音映射到单词

2 个版本

0.1.1 2023年3月4日
0.1.0 2022年12月23日

#1528文本处理

MPL-2.0 许可协议

41KB
905

furigana

Crates.io docs.rs Crates.io GitHub

furigana 是一个 Rust 库,包含将平假名注音映射到单词的功能,可选地包括汉字读音数据。

使用方法

for mapping in furigana::map_naive("物の怪", "もののけ") {
    println!("{mapping}");
}

打印以下映射

のけ

もの

只有第一个读音实际上是有效的,但仅基于单词及其读音,无法知道这一点。

如果提供了关于汉字读音的信息(例如,来自 KANJIDIC2),则 furigana::map 能够评估潜在映射

let mut kanji_to_readings = HashMap::new();
kanji_to_readings.insert("".to_string(), vec!["もの".to_string()]);
kanji_to_readings.insert("".to_string(), vec!["".to_string()]);
let mapping = furigana::map("物の怪", "もののけ", &kanji_to_readings)
    .into_iter()
    .max_by_key(|f| f.accuracy)
    .unwrap();
println!("{mapping}");

将高精确度值分配给正确的读音,将低值分配给其他读音,因此只打印正确的映射

もの

注意

  • 使用的算法是递归的且未优化,因此对于长且包含大量汉字的输入可能效率不高。

  • 如果库无法生成正确的映射,或者其精确度低于错误映射的精确度,非常欢迎在 GitHub 上提交问题!

许可协议

根据 Mozilla 公共许可协议第 2.0 版本许可。

无运行时依赖