pypinyin 是一个专门用于将中文文本转换为汉语拼音的第三方库,支持普通话拼音的多种输出格式,包括带声调、不带声调、数字声调、首字母输出、异体字处理、自定义词典等。它是处理中文分词、检索、语音标注、文本规范化的常用工具,尤其适用于 NLP 与中文文本预处理任务。

安装 :

pip install pypinyin

可选安装加速(基于 Cython 的扩展):

pip install pypinyin[speed]

常见应用场景:

(1)中文文本的标准化与拼音化(如用于文本对齐、国际化)。

(2)搜索与排序:按拼音排序联系人、地名、书名。

(3)自然语言处理(NLP):拼音特征工程、多音字 disambiguation。

(4)语音输入法或 TTS 前处理。

(5)文件名、URL、数据库字段的拼音安全转换。

◆ ◆

核心概念

1、拼音样式(Style)

pypinyin 通过 Style 枚举提供多种拼音格式:

• NORMAL:无声调(hao)

• TONE:带声调(hǎo)

• TONE2:数字声调(hao3)

• INITIALS:声母(h)

• FIRST_LETTER:拼音首字母(h)

• BOPOMOFO:注音符号

• CYRILLIC:西里尔拼音

• FINALS / FINALS_TONE:韵母格式

2、多音字处理

pypinyin 可使用内置词典进行多音词识别,例如:

“重庆” → chóng qìng

“乐器” → yuè qì

结合上下文比单字转换更精确。

3、自定义词典

支持用户通过:

from pypinyin import load_phrases_dic

添加或覆盖词语拼音,用于行业词语与专有名词。

◆ ◆

应用举例

例 1:基本拼音转换

# [['shàng'], ['hǎi']]

例 2:去声调格式

# [['zhong'], ['xin']]

例 3:数字表示声调

# [['yue4'], ['qi4']]

例 4:只输出首字母

# ['z', 'g']

例 5:自定义词典增强效果

# [['háng'], ['jia']]

◆ ◆

常用函数与类速览

lazy_pinyin(hans, style=Style.NORMAL, errors='default', strict=True)

直接返回一维列表形式的拼音,常用于快速处理。

参数

hans:字符串或可迭代对象。

style:拼音格式(如 Style.NORMAL)。

errors:遇到非汉字时的处理方式。

strict:是否使用严格拼音规则。

返回:列表,每项为拼音字符串

load_phrases_dict(phrases_dict)

加载自定义词典。

参数

phrases_dict:{词语: [[音节1], [音节2], ...]}。

返回:无。

load_single_dict(dict_data)

加载单字拼音自定义映射。

参数

dict_data:{汉字: [拼音1, 拼音2...]}

返回:无。

pinyin(hans, style=Style.TONE, heteronym=False, errors='default', strict=True)

返回二维列表形式拼音(为每个汉字返回列表)。

参数

hans:要转换的字符串。

style:拼音格式。

heteronym:是否启用多音字模式(返回所有可能拼音)。

errors:非汉字处理方式。

strict:严格拼音规则。

返回:二维列表,每个汉字对应一个拼音列表。

slug(hans, style=Style.NORMAL, separator='-', strict=True)

将文本转换为“适合 URL 的拼音 slug”。

参数

hans:输入中文。

style:拼音样式。

separator:分隔符(默认 -)。

strict:严格拼音。

返回:字符串(如:zhong-guo-ren-min)。

Style(枚举)

定义拼音格式常量。

主要常量:

NORMAL, TONE, TONE2, FIRST_LETTER, INITIALS, FINALS, FINALS_TONE, BOPOMOFO, CYRILLIC。

返回:枚举类型,用于控制 pinyin 的输出格式。

◆ ◆

补充说明

(1)pypinyin 不依赖外部拼音库,内部使用语言学数据构建结构化词典。

(2)如需更快速度,可安装 [speed] 版本,基于 Cython 加速。

(3)在投诉、评论、聊天机器人、搜索排序等 NLP 应用中,pypinyin 是常用的拼音特征工程工具。

(4)与 jieba 或 snownlp 搭配使用效果更佳。

小结

pypinyin 是一个成熟、易用、可扩展的中文转拼音库,适合 NLP、信息检索、语音处理等多种场景。它提供多种拼音格式、高准确度、多音字处理、自定义词典支持,是 Python 中文处理生态中最核心的实用工具之一。如果需要将中文转换为拼音格式,或希望构建基于拼音的应用,pypinyin 是可靠的 Python 选择。

打开网易新闻 查看精彩图片

点赞有美意,赞赏是鼓励