跳转到主要内容

【转录实时音频流】使用OpenAI Whisper近乎实时地转录实时音频流,用于关键字监控

在这篇文章中,我演示了如何使用Python中的OpenAI Whisper近乎实时地转录实时音频流。我们这样做是为了监视流中的特定关键字。此外,转录后的文本会记录时间戳以供进一步使用。通过对转录的文本进行模糊匹配,我们可以找到对关键词的提及。然后,我们通过信号信使向包含口语段落相关部分的团体或个人触发一条信息。

背景

这是一个在周末建立的快速POC:为了赢得比赛,我想监控当地电台是否提到了一些关键词。这需要迅速完成,这产生了一个简单的解决方案。此外,它必须尽可能节约资源,以最大限度地降低基础设施成本。虽然它并不是以稳定性为主要关注点来构建的,但它实际上在几周内表现完美,没有任何停机时间。因此,目标实现了!

所有代码在此回购中都可用。在下文中,我将介绍解决方案的总体结构,并解释代码的一些相关部分。

概述

该解决方案由三部分组成:

save_stream.py从实时音频流中以30秒为单位连续保存.mp3文件

transcript.py使用OpenAI Whisper永久转录每个音频块。然后,它使用模糊匹配来监控口语中的关键词。在比赛中,它调用msg_group_via_signal.sh

【预测工具】Python中的开源预测工具

自从Rob Hyndman和Stephan Kolassa在2010年写了一篇关于“使用R进行免费开源预测”的前瞻性文章以来,已经发生了很多事情。R统计语言的预测包(Hyndman&Khandakar,2008),在下文中缩写为“R预测包”,是当时文章的主要焦点。现在,它是许多经典预测方法的参考实现,如指数平滑和ARIMA。但更多高质量的R软件包已经出现,如贝叶斯结构时间序列(BSTS,Scott&Varian,2014),Rob Hyndman和Mitchell O'Hara的一个名为Fable的新软件包正在着手取代R Forecast软件包,其他高质量的软件包如hts、tsintermitnet、wiger、smooth和tsutils也可用。在R生态系统之外,值得注意的新软件包包括Prophet、Tensorflow STS和Gloon时间序列。

与2010年的一个重要区别是,开源似乎已经进入了亚瑟·叔本华真相发现过程的第三阶段:

“所有真理都经历三个阶段。第一,它被嘲笑。第二,它被激烈反对。第三,它被认为是不言自明的。”

许多对开源的怀疑已经被克服,以至于闭源软件也遭到了怀疑。这在科学界尤其如此,尤其是在数据科学领域,对于大学毕业的一代学生来说。

【自然语言处理】用Python从文本中删除个人信息-第二部分

Python中隐私过滤器的实现,该过滤器通过命名实体识别(NER)删除个人身份信息(PII)

这是我上一篇关于从文本中删除个人信息的文章的后续内容。

GDPR是欧盟制定的《通用数据保护条例》。其目的是保护所有欧洲居民的数据。保护数据也是开发人员的内在价值。通过控制对列和行的访问,保护行/列数据结构中的数据相对容易。但是免费文本呢?

在我上一篇文章中,我描述了一个基于正则表达式用法和禁止词列表的解决方案。在本文中,我们添加了一个基于命名实体识别(NER)的实现。完整的实现可以在github PrivacyFilter项目中找到。

什么是命名实体识别?

根据维基百科,NER是:

命名实体识别(NER)(也称为(命名)实体识别、实体分块和实体提取)是信息提取的一个子任务,旨在定位非结构化文本中提到的命名实体,并将其分类为预定义的类别,如人名、组织、位置、医疗代码、时间表达式、数量、货币值、百分比等。

【隐私保护】使用Python从文本中删除个人信息

实现Python隐私文本过滤器,通过删除个人身份信息(PII)来保护用户的隐私。

GDPR是欧盟制定的《通用数据保护条例》。其目的是保护所有欧洲居民的数据。保护数据也是开发人员的内在价值。通过控制对列和行的访问,保护行/列数据结构中的数据相对容易。但是免费文本呢?

为了满足我们的隐私要求,我们可以调整自由文本字段的内容,用标签取代与隐私相关的信息。文本的含义没有改变,但不能通过匿名化与个人相关。目标是翻译以下文本(日期为荷兰语):

【LLM】LangChain入门:构建LLM驱动的应用程序入门指南

LangChain教程,用于在Python中使用大型语言模型构建任何东西

Two stochastic parrots sitting on a chain of large language models: LangChain

“What did the stochastic parrot say to the other?” (Image drawn by the author)

自从ChatGPT发布以来,大型语言模型(LLM)获得了很大的流行。尽管你可能没有足够的资金和计算资源在地下室从头开始训练LLM,但你仍然可以使用预先训练的LLM来构建一些很酷的东西,例如:

  • 可以根据您的数据与外界互动的个人助理
  • 为您的目的定制聊天机器人
  • 对您的文档或代码进行分析或总结

LLM正在改变我们构建人工智能产品的方式

【编程语言】TIOBE:C++在编程语言普及率上超过了Java

根据最新的TIOBE指数,C++在编程语言的流行程度上已经超过了Java。

TIOBE索引使用25个不同引擎的搜索来计算图灵完整语言的流行程度。该指数使用的方法经常受到批评,但它足以作为粗略的指导。

自2001年推出TIOBE索引以来,Java一直是前三大编程语言的中流砥柱。然而,这一令人印象深刻的连胜在本月结束。

C++第一次在排名上超过了Java。Java被挤出前三名,排在第四位。

Java粉丝会对C++(11.94%)和Java(11.82%)的收视率非常接近感到欣慰,同时在第五名中遥遥领先于C#(4.92%)。在整个2023年的月度TIOBE指数更新中,这两项指标的变化并不奇怪。

以下是2022年12月TIOBE指数中排名前10的语言:


Python、C和C++的迅速流行可能很难让其他语言赶上。在前50名中,除前四名外,没有一种语言的评分增长超过1%。

【开发语言】Python的创建者分享了他对Rust、Go、Julia和TypeScript的想法

Python创建者Guido van Rossum分享了他对其他一些编程语言的看法。

这位“仁慈的独裁者”本人在接受微软首席云拥护者经理弗朗切斯卡·拉泽里长达一小时的采访时分享了自己的观点。

“我热爱语言,至少在理论上是这样,”范·罗苏姆说。“我总是阅读语言教程,但我非常不擅长下载语言实现并尝试编写代码,因为说‘哦,我已经知道如何用Python实现’几乎总是很容易。”。

当然,这并不意味着Van Rossum对其他语言没有什么想法。

Van Rossum表示Rust“听起来像是一种很好的语言”,并且它在C++上有所改进,因为它更难绕过编译器中的检查,并以“近乎完美”的方式解决内存分配问题。

在谷歌设计的Go语言中,Van Rossum认为,在所有新的通用语言中,Go“可能是最具Python风格的”。

Julia是一种以命令式、函数式和面向对象编程为特色的编程语言,并为C、Fortran、C++、Python、R、Java和许多其他语言提供了外部函数接口。

【编程语言】最流行的编程语言及其学习地点

让我们仔细看看最流行的编程语言,这样您就可以决定哪种语言适合您。技术专业人士使用的顶级编程语言包括通用、面向对象和多范式语言。

促进职业发展的十大编程语言:我们的选择

这里的10种编程语言在难度级别和对不同角色的适用性方面有所不同。

为了确定要学习的最佳编程语言,我们考虑了两个主要因素。我们评估了现代软件专业人员在申请职位时应该了解的编程语言,以及他们在科技行业中使用率的提高。

你可以通过编程学位、编码训练营或练习编程问题的网站来学习和练习许多这些语言。

语言按字母顺序排列。

C类#

难度:中级

2001年,微软将C#作为高级语言开发,用于开发web、桌面和移动应用程序。C#是C族中的一种编程语言,其语法与C、C++和Java相似。

C#是通用的、多范式的、面向对象的。它在.Net框架上运行。它的起源意味着它是一种与微软集成的编程语言。C#的速度和效率使它成为游戏开发者的最爱。

需要考虑的课程: