pip install pyaudio
- 在 GNU/Linux 系统上,首先安装
portaudio19-dev
,方法如下:
sudo apt-get update -y
sudo apt-get install -y portaudio19-dev
并且已经配置了 Python 3 开发环境,而后执行如下指令安装:
pip install pyaudio
也可以用下述指令直接安装,但不保证是最新版:
sudo apt install python3-pyaudio
- SpeechRecognition:这是一款实现语音识别的库,支持多种引擎,提供了在线和离线两种模式。安装方法如下:
pip install SpeechRecognition
以上模块安装完毕,创建一个 Python 程序(此处命名为 speech.py
),该程序代码如下:
#coding:utf-8
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
print(“Talk”)
audio_text = r.listen(source)
print(“Time over, thanks”)
try:
print(f"Text: {r.recognize_google(audio_text)}")
except:
print(“Sorry, I did not get that.”)
执行此程序,并在出现提示语 Talk
的时候,对着计算机的话筒说一句简短的话(仅限于说英语,这是由所用模块决定的) ,比如我在测试中说的是 What's your name
,而后程序就会把我说的这句话(语音)转化为文本,并打印出来。
code % python speech.py
Talk
Time over, thanks
Text: what’s your name
通过上述示例,初步体验到了 NLP 技术,特别是使用有关库和模块,自己也能完成有关技术的开发。诚然,自然语言处理所要解决的问题还很多,下面就具体介绍。
2.1.2 自然语言处理的任务
在实际的生活、生产等领域,NLP 能够完成的或者我们希望 NLP 完成的的任务有很多种,下面列出几项:
- 分词(Tokenization):一般认为,词是研究一个句子所表达含义的最小单位(即所谓最小“粒度”)。不同的自然语言,分词的难易程度不同。对于英文,会用空格区分句子中的词,如“I am an old coder”。但是,中文则不然,比如本书中的中文内容,每个字和每个字之间并没有天然的分隔符,更何况,不同的划分结果,还会出现对句子含义的不同理解。例如“打死老虎”,如果是“打死/老虎”,那么就显示了“武松”的气概;但在鲁迅先生的《坟·论“费厄泼赖”应该缓行》一文中,须为“打/死老虎”,才与后文的“装怯作勇,颇含滑稽,虽然不免有卑怯之嫌,却怯得令人可爱。”相匹配。故,中文分词有难度。
- 词义消歧(Word-sense Disambiguation,WSD):同一个词在不同句子中,会有不同的含义,这种现象在各类自然语言中都比较常见,比如“秋后算账”和“会计正在算账”中的“算账”,在两个句子中有不同的含义。WSD 的任务就在于识别词的正确含义。
- 命名实体识别(Named Entity Recognition,NER):所谓命名实体,是指可以用专有名词(或名称)标识的事物,在句子中,一般包括人名、地名、机构名、专有名词等,也包括时间、数字等。NER 的任务就是将这些词从句子中抽取出来。例如“《机器学习数学基础》是电子工业出版社2022年出版的”,其中的“机器学习数学基础”(作品)、“电子工业出版社”(组织机构)、“2022年”(时间)就是这句话中的命名实体。NER 是信息检索和知识表示的基础。
- 词性标注(Part-of-Speech(PoS)tagging):即用一个表示词性的标签标记句子中的词,如名词、动词、形容词、副词、介词等。
- 文本分类(Text Classification),也又称为“文本标注”(Text Tagging):指在给定的分类体系中,将文本划分到某个或某几个类别中。被分类的文本可能是短文本,例如句子、标题、商品评论等等;也可能是长文本,如文章等。分类体系一般是人为规定,比如新闻类别:政治、体育、军事等;商品评论的情感倾向:正向、负向;等等。
- 自然语言生成(Natural Language Generation,NLG):是指用大量文本组成的语料库训练深度学习模型,而后用该模型自动生成新的文本,比如“自动写新闻”、“聊天机器人”等,都是 NLG 的典型应用。
- 问答(Question Answering, QA):自动地为客户解答有关问题,是 NLP 在商业上的一个重要任务。一个智能化的 QA 系统涉及 NLP 的很多方面内容,比如信息检索、知识表示等,甚至于也与特定的商业内容息息相关。这也说明,开发智能化程度较高的 QA 系统是一项具有挑战性的工作。
- 机器翻译(Machine Translation,MT):由于操不同自然语言的人之间分享信息的需要,机器翻译也就很早即成为了科学家们的研究对象。自从 1954 年成功将 60 句俄文自动翻译为英文之后,研究者通过不同方法提升机器翻译的效果,并降低成本,直到现如今被普遍采用的在线翻译工具。当然,如今的 MT ,距离“如同真人一样”的目标仍有很大的发展空间。
以上几项,并非 NLP 的全部任务。一个能够协助人完成日常任务的 NLP 系统,往往是多项任务的组合。比如通过语音向电商平台的智能客服询问:请给我推荐一本不错的深度学习的书。而后智能客服也用语音回复:《飞桨:深度学习入门与实战》是读者反应很好的一本书。这个问答中至少包含了“语音和文本的相互转换”、“语义和情感分析”、“智能问答”等任务。
★
特别告知:我的个人网站资料已经都转移到 github 仓库,地址:https://github.com/qiwsir/,请诸位想办法访问。在其他地方发布的内容,均为权宜之计,可能不会及时更新。
”
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Go语言工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Go语言全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Golang知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Go)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-1713075306005)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!