汉字是记录汉语的文字。汉字对发展中华民族的优秀文化起了重大的作用。汉字是世界上最古老的文字之一。汉字以象形字为基础,形、音、义、结合于一体,成为独特的方块形的表意体系的文字。
汉字的特点:
- 汉字的主要特点是它属于表意体系的文字。一个汉字的读音是一个音节,但汉字不是一节文字。从汉字的象形、指事、会意等造字法可以证明汉字是从意义入手创造出来的。从甲骨文到楷书,一脉相承,字体改变了,但文字性质并没有改变。
- 汉字是形体复杂的方块结构。汉字不像拉丁字那样呈线形排列,有长有短。它无论笔画多的还是笔画少的,所有笔画都写在同样的方块字中。
- 汉字分化同音词能力强。汉字有同音语素比较多。汉字能使用千年,能不为容易读、容易写、容易排检的表音文字所代替,能分化同音词、辨义能力强是主要原因之一。
汉字字符特征提取器(featurizer)
在深度学习中,很多场合需要提取汉字的特征(发音特征、字形特征)。本项目提供了一个通用的字符特征提取框架,并内建了拼音、字形(四角编码)和部首拆解的特征。
特征提取器:
- 拼音特征提取器:提取汉字的拼音作为特征,发音相似的字在编码上应该相似。示例:胡->hú,福->fú
- 字形(四角编码)提取器:提取中文的外形作为特征,相似的汉字在编码上应该相近。示例:门->37001,闩->37101
- 部首拆解提取器:提取汉字的偏旁部首拆解作为特征,相似的汉字在编码上应该相近。示例:闩->[‘门’,’一’],闫->[‘门’,’三’]
项目地址:https://github.com/howl-anderson/hanzi_char_featurizer
SimilarCharacter
对常用的6700个汉字进行音、形比较,输出一个相近字的列表。
- Character文件是汉字总列表
- Dict存放了四角码、相似音和结构字典
- WriteNum是爬取和输出笔画数字典的爬虫
- writenumDict是笔画数字典
- Symbol_Structure是爬取结构代码的爬虫
- JudgeSimilarity根据字形和音加权计算相似度输出相近字,是主函数
- TransChar2Img将汉字转化为图片并保存
- ProcessWithCV2将汉字图片进行对比,近似度超过阈值则写入文件
结构字典中,1为左右结构,2为上下结构,3为左中右结构,4为上中下结构,5为全包围结构。
项目地址:https://github.com/contr4l/SimilarCharacter
汉字拆字
拆字是指將一文字,以筆畫、字形等基本組成單位分解成多個文字。汉字拆字让字型相似的字具有相似的拆解结果。这种特性可以被深度学习模型用来作为字的特征之一:字形的特征。
项目地址:https://github.com/howl-anderson/hanzi_chaizi
char_featurizer
char_featurizer是一个汉字字符特征提取工具,他可以提取汉字的字音(包括声母、韵母、声调)、字形(偏旁、部首)、四角符号等信息。同时可以将这些特征信息转换为tensor,作为模型的输入特征。这个项目是在安德森大佬的字符提取工具的基础上做了优化整合
目前char_featurizer支持的功能有:
- 字形特征提取
- 字音特征提取
- 四角编码提取
- tensor转换
项目地址:https://github.com/charlesXu86/char_featurizer
ChineseCixing
ChineseCixing,针对中文词语的笔画拆解,偏旁查询,拼音转换接口.在当前的中文信息处理当中,语言外部形式上的特征在各个任务中扮演着越来越重要的角色,本项目目的是为提供这一接口。
项目地址:https://github.com/liuhuanyong/ChineseCixing
zi
汉字数据集,包括约20000个汉字的相关信息,具体字段包括:
字段 | 说明 | 举例 |
zi | 汉字本身 | 李 |
stroke_count | 笔画数 | 7画 |
stroke_count_decomposed | 笔画数拆解 | 木+3 |
mandarin_pinyin | 普通话拼音 | lǐ |
cantonese_pinyin | 粤语拼音 | lei5 |
english | 英文 | plum;judge;surname |
radical | 部首 | 木 |
radical_stroke_count | 部首笔画数 | 4 |
radical_pinyin | 部首拼音 | mù |
radical_english | 部首英文 | tree |
variant | 变体,通常为对应繁体 | NaN |
fc_code | 四角码 | 4040.7 |
cj_code | 仓颉码 | DND |
zis_with_this_component | 包含该字的字,即以该字为部件的字,以英文逗号分隔,不包含本身 | NaN |
leaf_component | 叶子部件,即将该字拆分构成一个树后,其叶子节点便是叶子部件,用 / 拼接 | 木/子 |