python-pinyin icon indicating copy to clipboard operation
python-pinyin copied to clipboard

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

Open gezimonkey opened this issue 4 years ago • 6 comments

运行环境

  • 操作系统(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 数字

gezimonkey avatar Dec 04 '20 13:12 gezimonkey

感谢建议!看起来好像是类似这个 https://github.com/mozillazg/python-pinyin/issues/133#issuecomment-406913070 ?

mozillazg avatar Dec 05 '20 06:12 mozillazg

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

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

gezimonkey avatar Dec 09 '20 00:12 gezimonkey

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

JohnHerry avatar Nov 12 '21 08:11 JohnHerry

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

JohnHerry avatar Dec 31 '21 02:12 JohnHerry

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

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

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

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

JohnHerry avatar Dec 31 '21 03:12 JohnHerry

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

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

mozillazg avatar Jan 02 '22 06:01 mozillazg