基于Python的汉语多音字注音研究
源码下载地址:https://download.csdn.net/download/sheziqiong/87781091
源码下载地址:https://download.csdn.net/download/sheziqiong/87781091
汉语多音字注音研究
准确率
计算准确率的方法:
某个数据集上的准确率 = 该数据集中所有标注正确的多音字数 / 数据集中含有的多音字总数
4.10 更新
之前的准确率计算有些问题,将 <unk>
和 <pad>
也算作多音字了,改正之后准确率变为 85% - 88%。
我们试着增加了 LSTM 的层数,发现在当前情况下,随着层数增加,准确率有所降低。
调研阶段
查了一些国内外的论文,总结了一下其中用到的方法
见《问题认识》
数据统计
用到的数据见 Code 里的 data 目录。
pinyindata.txt
:汉字拼音库,使用《现代汉语词典》中的拼音数据,汉字数:11017,多音字个数:1217,来自 pinyin-data
polyphones.txt
:将汉字拼音库中的多音字全部提取出来,存入该文件中
统计了一下多音字的读音个数。
读音个数 | 多音字个数 |
---|---|
2 | 1072 |
3 | 124 |
4 | 13 |
5 | 4 |
6 | 3 |
7 | 1 |
polyphones.json
:将所有多音字和读音存储成 JSON 文件
198801.txt
:人民日报 1988 年一月的新闻语料,一共有 19374 条新闻,包含 5593 个多音字,其中有 85 种不同的多音字,来自 pkuopendata
198801output.txt
:存储每个多音字出现的次数,按出现频次从多到少排序
news.txt
:将所有包含多音字的新闻全部提取出来,存入该文件
phrase.txt
:带注音的中文短语,一共有 96809 条,来自 ChineseTone
poly_phrase.txt
:将所有含多音字的短语输出到该文件中,共有 47289 条含多音字的短语。每条短语前面的数字是多音字在短语中的位置(从 0 开始计算)。
对该文件中的所有句子按多音字出现次数的多少排序,并对每个句子中多音字的个数进行了统计。结果如下。
句子中包含的多音字个数 | 句子数量 |
---|---|
1 | 35072 |
2 | 10201 |
3 | 1686 |
4 | 265 |
5 | 50 |
6 | 12 |
7 | 3 |
phrase_frequency.txt
:输出包含多音字的短语中所有多音字出现的次数,按出现次数从多到少排序。
phrase.csv
:将短语和读音转换成特定格式 (text, label)
,text 为句子,label 为读音,非多音字编码为’NA’,多音字编码为其读音。
correct.csv
:标注正确的语句(只包含一句话中所有多音字均标注正确的句子)
wrong.csv
:标注错误的语句(一句话中只要有一个多音字标注错误,就输出到该文件中)
语料处理
主要是将语料划分为训练集、验证集与测试集,并将句子和读音做 tokenize,建立词典,设定 batchsize 与生成迭代器,使数据能送入模型进行训练。
在进行处理时使用了 torchtext 库,能方便的对文本进行处理,并且支持 CSV、tsv 等格式的读取。
最终生成的数据集:
train.csv
:训练集,有 29928 条短语,包含 30041 个多音字。
valid.csv
:验证集,有 8723 条短语,包含 12696 个多音字。
test.csv
:有 8638 条短语,包含 19198 个多音字。
模型搭建
目前想到用两种方法搭建模型。
两种方法模型大体一致,但在将 lstm 的输出喂进全连接层时的输入不一样。
说明:代码中的各种参数并不是最优的参数,只是一个示例。
按照多音字的读音的分类方法
这种方法将训练数据按照其中某个多音字的读音进行分类,如训练数据中含有多音字“都”的句子将分为以下两类:
- 句子中“都”的读音为
dū
的数据 - 句子中“都”的读音为
dōu
的数据
此方法最大的弊端就是需要对每个多音字单独训练一个模型并测试,另外当一句话中含有两个及以上的多音字时,该方法并不能完成所有多音字的注音。
仿照词性标注问题的分类方法
代码:code/PolyphoneDisambiguation/disambiguation_pos.py
这种方法仿照了词性标注的处理思路,将训练数据编码为如下格式:
(‘在古都西安’, ‘都’, [‘NA’, ‘NA’, ‘dū’, ‘NA’, ‘NA’])
其中“NA”代表非多音字,多音字则使用读音来编码。
目前主要使用该方法进行注音,已将短语数据送入模型并进行训练,然后使用测试集计算准确率,将标注正确的语句和标注错误的语句输出到相应文件中。
源码下载地址:https://download.csdn.net/download/sheziqiong/87781091
源码下载地址:https://download.csdn.net/download/sheziqiong/87781091
基于Python的汉语多音字注音研究相关推荐
- 毕业设计 汉语多音字注音研究与实现
文章目录 0 项目说明 1 准确率 2 调研阶段 3 数据统计 4 语料处理 5 模型搭建 6 按照多音字的读音的分类方法 7 仿照词性标注问题的分类方法 8 项目源码 9 最后 0 项目说明 汉语多 ...
- 计算机毕业设计 汉语多音字注音研究
文章目录 0 项目说明 1 准确率 2 调研阶段 3 数据统计 4 语料处理 5 模型搭建 6 按照多音字的读音的分类方法 7 仿照词性标注问题的分类方法 8 项目源码 0 项目说明 汉语多音字注音研 ...
- 【毕业设计_课程设计】汉语多音字注音研究
文章目录 0 项目说明 1 准确率 2 调研阶段 3 数据统计 4 语料处理 5 模型搭建 6 按照多音字的读音的分类方法 7 仿照词性标注问题的分类方法 8 项目源码 0 项目说明 汉语多音字注音研 ...
- 爬虫技术python流程图_基于Python的网络爬虫技术研究
基于 Python 的网络爬虫技术研究 王碧瑶 [摘 要] 摘要:专用型的网络爬虫能够得到想要的返回结果 , 本文就以拉勾网作 为例子 , 对基于 Python 的网络爬虫技术进行研究和分析. [期刊 ...
- python自动化测试平台方案_基于Python的软件测试自动化平台研究
基于 Python 的软件测试自动化平台研究 沈 啸 [摘 要] 摘要: 21 世纪是计算机和网络技术高速发展的时代,目前我国的软 件行业开发程度明显落后于欧美等发达国家,同时相对于开发工作而言,软件 ...
- python毕业设计开题报告-基于python爬虫的影评情感分析研究开题报告
论文(设计)题目 基于python爬虫的影评情感分析研究开题报告 选题的背景.意义及研究现状: 研究现状: 文本情感分析又称倾向性分析.情感挖掘,主观分析或评论挖掘,是对带有情感色彩的评论文本内容进行 ...
- 基于python的网站_基于Python的网站爬虫应用研究
基于 Python 的网站爬虫应用研究 陈清 [期刊名称] <通讯世界> [年 ( 卷 ), 期] 2020(027)001 [摘要] 如何于海量的互联网网站中获取有用资源信息 , 对网站 ...
- 基于python的学生成绩管理系统毕业设计源码071143
Django学生成绩管理 摘 要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革.多样性.质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化.依照这一现实为基础,设计一个快捷 ...
- 基于Python的毕业论文怎么写?
目前越来越多的科学研究开始运用技术手段,其中应用较多的是模型建立和数据分析,这就离不开计算机语言的使用,Python以其简单易学的特性,配合高度的适用性,在科研领域发挥越来越重要的作用,基于Pytho ...
最新文章
- 一篇来自网络的关于“enqueue”events的简短参考(转)
- Mule ESB 3.3与CloudHub
- 允許Linux的snmp服務被查詢
- 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集...
- nsfilemanager
- QQ音乐全新上线HiRes高解析音质 听歌体验再升级
- 2021 年 RISC-V 会有什么大变化?
- 2.Servlet(一)
- 桌面支持--teamviwer如果没装杀毒软件,会有警告
- (转)5分钟APIG实战: 使用Rust语言快速构建API能力开放
- linux解决蓝牙和网卡,完全用Deepin Linux娱乐、工作、学习(3)-- 无线网卡及蓝牙设备驱动篇...
- HQChart使用教程78-分时图集合竞价
- Mac删除并合并windows分区解决办法
- 解决:Connections could not be acquired from the unde
- 如何快速绘制一个等边三角形呢?
- android+怎么分享图片大小,Android微信分享图片大于32k进行压缩
- 使用pyautogui和inspect快速准确定位鼠标位置
- 真牛!如何才能更容易拿到大厂Offer?挥泪整理面经
- 年会活动必备微信墙3D签到配置教程
- 超越阿里达摩院成绩,这个斯坦福团队用“国产求解器”助中国企业实现智能决策|快公司...
热门文章
- 零碎知识——统计相关
- 添加背景音乐java,支持mp3
- 关于%02d %.10d %2d %.01f的值的区别
- apt-get update 报错 W: Unknown Multi-Arch type 'no' for package 'compiz-core'
- (附源码)计算机毕业设计ssm互联网直播管理系统
- Unity的基础小知识
- python-青春有你
- 什么是CAD?为什么要进行CAD格式转换?怎么转JPG图片?
- SOFTMAX回归模型
- C#上位机基础学习_基于SOCKET实现与PLC服务器的TCP通信(二)