龙空技术网

一看就会,手把手教你编程,批量文章标注拼音(附源码)

IT可达鸭 1197

前言:

今天咱们对“拼音标注在线”大致比较看重,各位老铁们都需要了解一些“拼音标注在线”的相关知识。那么小编也在网络上搜集了一些有关“拼音标注在线””的相关知识,希望我们能喜欢,你们一起来了解一下吧!

文/IT可达鸭

图/IT可达鸭、网络

前言

是不是学了Python之后,苦于没有项目练手?是不是看了很多关于编程视频,等到自己动手时,却怎么也做不出一个项目?

工作在一线的老程序员告诉你,别慌,让我手把手教你做项目。

本文将从以下几点入手,告诉大家做一个项目的流程:

项目背景,使用场景,就是需求分析;对接Python包,技术难点突破;代码架构梳理,画流程图;分模块编写代码;运行代码得到结果。

背景&使用场景

学前教育是一个非常热门的话题,很多家长不惜花重金,也要让自己的孩子赢在起跑线上。

其实,除了花钱给小孩报补习班,作为家长的我们也要花时间陪孩子学习。

身边很多朋友都有了小孩,大部分朋友的小孩都还在读幼儿园。这个年龄的小朋友应该还在识字学拼音的阶段,作为程序员老爹该怎么陪小朋友学习呢?

这里提出一个需求:如何快速地给一千篇童话故事标注拼音,并标注出现在童话故事中的所有多音字。

介绍python第三库

python提供了汉字转拼音的库,pypinpin

主要特性:

根据词组智能匹配最正确的拼音(需要对文本进行分词后,才能进行标注拼音);支持多音字;简单的繁体支持标注拼音;支持多种不同注音风格(包括拼音、注音符号)

pypinyin有非常多的操作,在本项目中,只介绍pypinyin的五个基本操作:

1 普通模式,输出正确的拼音。

2 多音字模式,在标注拼音时,会把这个字的所有读音都标注出来。

3 只输出拼音,不标注音调。(如果可以,后续可以开发一个标注音调试卷的软件。)

4 发现拼音有错误怎么办? 这里提供了自定义拼音字典,来调整词语的拼音。

5 采用数字的形式来标注拼音的音调。

代码架构介绍

在学校学习编程的时候,每次实验课之前都要画流程图。它是项目开始前的设计图,如果没有它,开发的过程的就容易出现问题。但是,是不是一定要画成像教科书那要的流程图?我觉得不一定。

标准式的流程图

在实际开发中,需求不断在变化,开发周期一再压缩。如果一直拘泥于标准式、教科书式的流程图,那样你的开发效率必然会下降。所以,小编的原则就是,看懂就行。随手拿张纸来画,整理一下开发的思路,只要跟我对接的同事看得懂,那就很不错。如果改需求怎么办?那我就再用手工重新画一个,效率非常高。

当然了,在学习的时候,标准的流程图还是认真学习。

来,直接上项目总体流程图!

设计图做好后,就把它“翻译”成代码骨架。这里使用惯用的代码架构,“类”的写法。

只要写函数名,函数体用pass代替。

就这样,可以说,整个项目完成了30%~40%了,后面就是专注每个功能点进行单独开发。

正式接入项目(批量文章标注拼音)

分模块实现,每个模块的讲解

导入相应的python包,编写程序的静态配置信息。

类的初始化函数,也就是生成对象

对一个文本的内容,进行单词切分,再对每个单词进行标注拼音。

这里考虑到有些特殊符号无法标注拼音,所以默认标注拼音为空格,方便后续的格式化输出。

标注好拼音的单词,继续拆分成单字,输出单字列表和对应的拼音。

多音字判断,很多字都存在多个读音。为了更好标注多音字,这里只标注在同一篇文章出现的多音字(一篇文章,同一个字,两个以上的读音)。

格式化输出处理,这里使用了制表符“\t”,就是类似一个表格,把文本和拼音进行对齐。但是没有显示表格线,在实际项目的输出排版经常会用到。

整理上述步骤,设计单个文本标注拼音的函数。从文本读取,到拼音标注,再到输出文本。

递归访问文件,逐个文件进行处理。这块是个难点,可以通过一个例子来学习递归,“汉诺塔”递归函数。如果你理解“汉诺塔”递归函数,下面这个递归访问文件的函数应该也很好理解。或者,可以使用单步调试,来理解这个递归函数。

主流程,做一些参数校验。例如,指定文件夹是否存在,参数是否正确等等。

运行结果

编写main函数,实例化对象进行调用。

左边是没有标注的文本,右边是已经标注拼音的文本。

到这里,程序已经全部做完。

结语

这个项目还存在一个优化的地方,就是输出格式。本文介绍的代码,是修改了原文本的格式排版,标注拼音后重新排版输出。

但是,实际开发,还需要适配多种排版。一种就是标注拼音后,按原来文本的排版格式输出,在文字上方标注了拼音。还有其他不同的排版,就交给读者去研究了,另外在分享的源码中,我也把这块独立做出来了。大家根据自己的想法开发后,可以跟小编的代码比对一下。

学习python,不需要一杯奶茶钱,只需要你点个关注。如果觉得小编的文章对你有帮助,记得点个赞,顺便帮我分享出去。如果想获取源码,可以关注后,私信:python拼音,我把源码发给你。最后,感谢大家的阅读,祝大家生活愉快。

本文由 IT可达鸭 原创,欢迎关注,带你一起长知识!

标签: #拼音标注在线