2 个版本
0.1.1 | 2023年3月4日 |
---|---|
0.1.0 | 2022年12月23日 |
#1528 在 文本处理
41KB
905 行
furigana
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 版本许可。