Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

对“一”这个最简单的字的声调的建议 #221

Open
gezimonkey opened this issue Dec 4, 2020 · 6 comments
Open

对“一”这个最简单的字的声调的建议 #221

gezimonkey opened this issue Dec 4, 2020 · 6 comments
Labels

Comments

@gezimonkey
Copy link

运行环境

  • 操作系统(Linux/macOS/Windows):Linux
  • Python 版本:3.7.9
  • pypinyin 版本:0.40.0

问题描述

在识别过程中发现大部分“一”都识别成了1声,我觉得这好像并不符合日常口语习惯

识别:企鹅挑了一块冰 qi3 e2 tiao1 le5 yi1 kuai4 bing1
建议:yi2
识别:他看见叶子上爬着一些蚜虫 ta1 kan4 jian4 ye4 zi5 shang4 pa2 zhe5 yi1 xie1 ya2 chong2
建议:yi4
等等......

我总结出一些规律(未经权威验证),看是否能加到程序中
“一”的声调有三种:1,2,4声,与后一个字的声调有密切关系(无单位的数字除外)
一块:2 4
一堆:4 1
一平方:4 2
一起:4 3
一九四二:1 数字

@mozillazg
Copy link
Owner

mozillazg commented Dec 5, 2020

感谢建议!看起来好像是类似这个 #133 (comment)

@gezimonkey
Copy link
Author

感谢建议!看起来好像是类似这个 #133 (comment)

是的,但我觉得并不是后面接量词才变调,例如 一边,一会这种词,也产生了变调

@JohnHerry
Copy link

变调是考虑了口读特点,汉字的标准拼音,字典里没有那么多种拼音。
变调是个很困难的事情。虽然有人总结了一些变调规则,具有某种意义上的指导作用,但是都不全对,都有特例。
另外有些变调规则需要考虑上下文语义,词性,做起来很麻烦,但是还不保证都对。

@JohnHerry
Copy link

0.44 版本是不是已经包含了“一”的变调了?好多错的,哈哈。

@JohnHerry
Copy link

“一” 有四种音调。
原调 yi1,表示数字一的时候,或者排序一的时候。例如 第一、 一号、一栋一单元、三十一、一点五,一比四、三对一
轻声 yi5,回文词的中间时,例如: 走一走,看一看,瞅一瞅
变调yi2,同一词条时,当‘一’后的字读四声时, 一遍,一个,一次,一概而论,一笑而过
变调 yi4,同一词条时,当‘一’后的字读一二三声时: 一杯,一行,一把,一枝,一轮,一桶
当“一”独立成词时,一般是读原调的: 他是一孩子、快来一帮手、国外一男子

但是没有绝对的变调规则,
比如 看一(yi5|yi2)看,大多数语境下应该都是可以的。
再比如 国外一(yi1|yi4)男子, 大多数语境下也都是对的。
身高一(yi1|yi4)点七米,体重六十千克。
还比如 一元钱, 按变调规则读 yi4, 但是为了规避 "亿"的误会听感,一般建议不变调,读 yi1

楼主说的例子:
他看见叶子上爬着一些蚜虫。
个人感觉,只有标准普通话朗读的时候,才会要求拿腔作调, 做标准的变调读法。而一般的口头说话交流,是不在乎这个是否变调过的。平时说话的时候,这个字发音很快,没有变调的感觉,原调就可以。

   变调规则比较复杂,得考虑语义语境场景,所以没有有效的方法保证变调准确率之前,还是不要变的好。毕竟字典上就这么一个读音,不变调,可能读法不自然,但不会算错。

@mozillazg
Copy link
Owner

0.44 版本是不是已经包含了“一”的变调了?好多错的,哈哈。

变调是通过一个参数控制的,默认没开启。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants