当前位置:   article > 正文

基于Python的汉语多音字注音研究_python给课文注音多音字调整

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:将汉字拼音库中的多音字全部提取出来,存入该文件中

统计了一下多音字的读音个数。

读音个数多音字个数
21072
3124
413
54
63
71

polyphones.json:将所有多音字和读音存储成 JSON 文件

198801.txt:人民日报 1988 年一月的新闻语料,一共有 19374 条新闻,包含 5593 个多音字,其中有 85 种不同的多音字,来自 pkuopendata

198801output.txt:存储每个多音字出现的次数,按出现频次从多到少排序

news.txt:将所有包含多音字的新闻全部提取出来,存入该文件

phrase.txt:带注音的中文短语,一共有 96809 条,来自 ChineseTone

poly_phrase.txt:将所有含多音字的短语输出到该文件中,共有 47289 条含多音字的短语。每条短语前面的数字是多音字在短语中的位置(从 0 开始计算)。

对该文件中的所有句子按多音字出现次数的多少排序,并对每个句子中多音字的个数进行了统计。结果如下。

句子中包含的多音字个数句子数量
135072
210201
31686
4265
550
612
73

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 的输出喂进全连接层时的输入不一样。

说明:代码中的各种参数并不是最优的参数,只是一个示例。

按照多音字的读音的分类方法

这种方法将训练数据按照其中某个多音字的读音进行分类,如训练数据中含有多音字“都”的句子将分为以下两类:

  1. 句子中“都”的读音为 的数据
  2. 句子中“都”的读音为 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/354949
推荐阅读
相关标签
  

闽ICP备14008679号