11 个稳定版本

2.1.6 2024年2月24日
2.1.5 2023年11月11日
2.1.4 2023年6月3日
2.1.3 2023年3月28日
0.1.0 2020年12月31日

#136文本处理

Download history 31/week @ 2024-04-02 1/week @ 2024-05-28 5/week @ 2024-06-04 3/week @ 2024-06-11 46/week @ 2024-06-18 215/week @ 2024-07-02

215 每月下载

MIT 许可证

19MB
425 代码行

chinese_dictionary

关于

一个可搜索的中英词典,包含实用的工具。

功能

  • 支持使用繁体中文、简体中文、带声调的拼音、带声数字的拼音、不带声调的拼音和英语进行搜索。
  • 将文本分类为英语、拼音或中文字符。
  • 在繁体中文和简体中文之间进行转换。
  • 使用基于词典的分割方法对中文字符进行分词。

用法

查询词典

extern crate chinese_dictionary;

use chinese_dictionary::query;

// Querying the dictionary returns an `Option<Vec<&WordEntry>>`
// Read more about the WordEntry struct below
let text = "to run";
let results = query(text).unwrap();
assert_eq!("执行", results[0].simplified);

分类一段文本

extern crate chinese_dictionary;

use chinese_dictionary::{ClassificationResult, classify};

// Read more about the ClassificationResult enum below 
assert_eq!(ClassificationResult::PY, classify("nihao"));

在繁体中文和简体中文之间转换

extern crate chinese_dictionary;

use chinese_dictionary::{simplified_to_traditional, traditional_to_simplified};

assert_eq!("简体字", traditional_to_simplified("簡體字"));
assert_eq!("繁體字", simplified_to_traditional("繁体字"));

分割字符串

extern crate chinese_dictionary;

use chinese_dictionary::{tokenize};

assert_eq!(vec!["今天", "天气", "不错"], tokenize("今天天气不错"));

WordEntry 结构体

extern crate chinese_dictionary;

use chinese_dictionary::{MeasureWord, WordEntry};

let example_measure_word = MeasureWord {
	traditional: "example_traditional".to_string(),
	simplified: "example_simplified".to_string(),
	pinyin_marks: "example_pinyin_marks".to_string(),
	pinyin_numbers: "example_pinyin_numbers".to_string(),
};

let example = WordEntry {
	traditional: "繁體字".to_string(),
	simplified: "繁体字".to_string(),
	pinyin_marks: "fán tǐ zì".to_string(),
	pinyin_numbers: "fan2 ti3 zi4".to_string(),
	english: vec!["traditional Chinese character".to_string()],
	tone_marks: vec![2 as u8, 3 as u8, 4 as u8],
	hash: 000000 as u64,
	measure_words: vec![example_measure_word],
	hsk: 6 as u8,
	word_id: 11111111 as u32,
};

ClassificationResult 枚举

ClassificationResult 枚举的可能值包括

  • PY:代表拼音
  • EN:代表英语
  • ZH:代表中文
  • UN:代表不确定的分类结果

许可证

本软件遵循MIT 许可证

本项目使用来自CC-CEDICT的数据,遵循Creative Commons Attribution-Share Alike 4.0 许可证。这些数据已被格式化以与本项目配合使用。位于 .dictionary 文件夹内的 data/ 目录下的文件遵循Creative Commons Attribution-Share Alike 4.0 许可证

依赖项

~7MB
~35K SLoC