器→工具, 开源项目, 数据, 术→技巧

自然语言分析之汉字拆解

钱魏Way · · 0 次浏览

汉字是记录汉语的文字。汉字对发展中华民族的优秀文化起了重大的作用。汉字是世界上最古老的文字之一。汉字以象形字为基础,形、音、义、结合于一体,成为独特的方块形的表意体系的文字。

汉字的特点:

  • 汉字的主要特点是它属于表意体系的文字。 一个汉字的读音是一个音节,但汉字不是一节文字。从汉字的象形、指事、会意等造字法可以证明汉字是从意义入手创造出来的。从甲骨文到楷书,一脉相承,字体改变了,但文字性质并没有改变。
  • 汉字是形体复杂的方块结构。汉字不像拉丁字那样呈线形排列,有长有短。它无论笔画多的还是笔画少的,所有笔画都写在同样的方块字中。
  • 汉字分化同音词能力强。汉字有同音语素比较多。汉字能使用千年,能不为容易读、容易写、容易排检的表音文字所代替,能分化同音词、辨义能力强是主要原因之一。

汉字字符特征提取器(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 普通话拼音
cantonese_pinyin 粤语拼音 lei5
english 英文 plum; judge; surname
radical 部首
radical_stroke_count 部首笔画数 4
radical_pinyin 部首拼音
radical_english 部首英文 tree
variant 变体,通常为对应繁体 NaN
fc_code 四角码 4040.7
cj_code 仓颉码 DND
zis_with_this_component 包含该字的字,即以该字为部件的字,以英文逗号分隔,不包含本身 NaN
leaf_component 叶子部件,即将该字拆分构成一个树后,其叶子节点便是叶子部件,用 / 拼接 木/子

项目地址:https://github.com/secsilm/zi-dataset

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注