mozillazg / python-pinyin

汉字转拼音(pypinyin)

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

可能存在部分字的多音字拼音乱入问题

yangpc170 opened this issue · comments

运行环境

  • 操作系统(macOS):
  • Python 版本:3.9.4
  • pypinyin 版本:0.44.0

问题描述

有些常见字,多音字好像多了。比如:
【王】,可以是wang,但好像多了一个“yu”的多音字
【覃】,可以是tan,可以是qin,但好像这边多了一个“yan”
等等...
总感觉我当前这个版本的包,出现了多音字拼音乱入的问题
注:可能是我查的资料不够多,如果你们找到,麻烦告诉我,谢谢!

问题复现步骤

print(pinyin('覃', heteronym=True)) --> [['tán', 'qín', 'yǎn']]
print(pinyin('王', heteronym=True)) --> [['wáng', 'wàng', 'yù']]
print(pinyin('朝', heteronym=True)) --> [['cháo', 'zhāo', 'zhū']]
print(pinyin('汪, heteronym=True)) --> [['wāng', 'wǎng', 'hóng']]

感谢反馈!

你可以先看一下这个,这里有说明对应的数据来源:https://github.com/mozillazg/python-pinyin#id9

果然这边数据来源有问题,我在这边 pinyin-data,其中的pinyin.txt文件中,找到如上几个字【覃】、【王】、【朝】和【汪】等的多音字,确实出现了我说的那种情况。这边我反馈了,但没有直接修改文件,不知道他们会不会去排查全部的多音字,感觉还有不少字存在这些情况

@yangpc170 你的需求是否跟 #198 这个是一样的?可以看一下这个 issue 里的方法

非常感谢,使用上述的方法就可以实现不需要的拼音不显示了。确实有效,再次感谢

from pypinyin import pinyin
print(pinyin('朝', heteronym=True))
[['cháo', 'zhāo', 'zhū']]

如下可以去掉用不到的拼音

from pypinyin_dict.pinyin_data import kxhc1983
kxhc1983.load()
print(pinyin('朝', heteronym=True))
[['cháo', 'zhāo']]