mozillazg / python-pinyin

汉字转拼音(pypinyin)

Home Page:https://pypinyin.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

单字拼音预测有误

JohnHerry opened this issue · comments

运行环境

  • 操作系统(Linux/macOS/Windows): CentOS7
  • Python 版本:3.6.5
  • pypinyin 版本:0.4.3

问题描述

pypinyin 给出整个句子的拼音,跟单个字单个字给出的拼音不一样。有时候错误的非常厉害,不只是多音字错误问题。

问题复现步骤

pypinyin.pinyin("淡豆豉")
pypinyin.pinyin("豉") ---> shi4

豉不是多音字,应该没有 shi4这种读音的。

单个汉字的拼音数据来自这个项目 https://github.com/mozillazg/pinyin-data

至于你说的【豉】,是有那个音的:

image

https://www.homeinmists.com/hd/orgpage.html?page=3803
https://www.zdic.net/hans/%E8%B1%89

 《广韵》成书于1000多年前的宋朝,61韵110多个韵母。现代汉语拼音读法才39个韵母。两者的音韵完全是两个系统。现代音韵肯定继承了《广韵》的东西,但是现代汉语应用就应该遵照现代汉语的读法。您的截图里也说,它还有读chu的音呢。如果纠结于这些,就类似“回字有四种写法”的求全了。 个人理解这个项目还是以现代汉语言环境,普通话语境下的文字拼音转换为主。而现代的一般字词典里,是不包含除了 chi3 以外的拼音的。那么我们就不应该把它当成多音字看待,否则可能徒增出错的概率。回到这个例子: 豆豉, 豉油,我们现代汉语常用。 而shi4这种读法我们一般人都不知道,遑论是使用了。
   最近在搞多音字相关的东西,发现无论如何也搞不理想,总有预测错的。后来发现我们常用的多音字根本没有那么多,一些逐渐不再使用的多音字词,只有研究古文学的人关注的多音字词,我们根本不需要关注那么多。把我们平时用的,两百来个多音字都搞好了,准确率能保证9成5以上,已经非常非常不容易了【实际那些深度模型都是骗鬼的,实验数据上写的花一样,实际使用的时候九成预测正确都达不到】。所以现在也不敢那么贪婪了。该淘汰一些就淘汰一些吧,文字,音韵都是历史文化的范畴,只能跟着时代走。我们上小学还学的是铁骑【tie3 ji4】, 说客【shui4 ke4】呢,现在我看到pypinyin不也跟着时代改了?个人意见,现代汉语不当它是多音字了,那就不必求它的那个淘汰的读音。

对于你的这个需求,可以考虑选择性的使用 https://github.com/mozillazg/pinyin-data 这个项目里的某些拼音数据覆盖默认的单字拼音数据,方法可以参考 #198 (comment)

对于你的这个需求,可以考虑选择性的使用 https://github.com/mozillazg/pinyin-data 这个项目里的某些拼音数据覆盖默认的单字拼音数据,方法可以参考 #198 (comment)

谢谢,那么我们现代汉语普通话所需的字库文件是哪个呢?

谢谢,那么我们现代汉语普通话所需的字库文件是哪个呢?

可以看一下 cc_cedict.txt 。

BTW,并没有一个完全符合普通话标准的拼音数据,因为获取不到一份最新版准确无误的文本格式的标准普通话拼音数据,教育部好像也没有提供一个所谓的常用汉字标准普通话拼音数据库,似乎都是各大字典/词典编撰者自己维护自己的标准。

谢谢,那么我们现代汉语普通话所需的字库文件是哪个呢?

可以看一下 cc_cedict.txt 。

BTW,并没有一个完全符合普通话标准的拼音数据,因为获取不到一份最新版准确无误的文本格式的标准普通话拼音数据,教育部好像也没有提供一个所谓的常用汉字标准普通话拼音数据库,似乎都是各大字典/词典编撰者自己维护自己的标准。

那就是至今没有一份统一标准的现代汉语普通话拼音字词典? 类似社科院语言所这类权威机构是否有释出相关数据?

那就是至今没有一份统一标准的现代汉语普通话拼音字词典? 类似社科院语言所这类权威机构是否有释出相关数据?

他们的标准就是他们编撰的《新华字典》、《现代汉语词典》。但是我们没法把它电子化为程序可解析的数据,严格来说是没有一个无版权限制的文本化可供编程使用的统一标准的现代汉语普通话拼音字/词典。