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

可否考滤支持数字

Open onsunsl opened this issue 7 years ago • 6 comments

如: 12个 : shi er ge 1234号房间: yi er san si hao fang jian 现在是12:20: xian zai shi shi er dian er shi fen .......................

这个涉及分词和词分析。

onsunsl avatar May 31 '17 08:05 onsunsl

@onsunsl 谢谢你的建议!这个功能不是这个模块的目标,应该是另一个模块来实现这个功能。

mozillazg avatar May 31 '17 14:05 mozillazg

1234号 这里的 1234 应该是 yi er san si 还是 yi qian er bai san shi si 这个不好判断吧?

mozillazg avatar May 31 '17 14:05 mozillazg

之前写的数字转汉字 https://github.com/The-Orizon/nlputils/blob/master/zhutil.py#L223

gumblex avatar May 31 '17 14:05 gumblex

有没有单纯支持数字的pinyin,输出。比如上面说到的“1234号房间: yi er san si hao fang jian”

zhuangh avatar Aug 02 '17 18:08 zhuangh

@zhuangh @onsunsl 这里有个问题不好判断: 1234 应该是 yi er san si 还是 yi qian er bai san shi si

目前想实现的话,可以通过自定义 errors 函数的方式:

In [1]: from pypinyin import lazy_pinyin

In [2]: def fix_number(s):
   ...:     s = num2chinese(s)
   ...:     return lazy_pinyin(s)
   ...:

In [3]: def num2chinese(s):
   ...:     return '一二三四'   # 通过 @gumblex 提供的方法转换数字为汉字
   ...:

In [4]: lazy_pinyin('1234号房间', errors=fix_number)
Out[4]: ['yi', 'er', 'san', 'si', 'hao', 'fang', 'jian']

mozillazg avatar Aug 02 '17 23:08 mozillazg

数字发音是个问题,也是个难点; 谁有解决方案?

freecui avatar Jan 16 '20 10:01 freecui