首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >自然语言处理专家谈Python技术栈

自然语言处理专家谈Python技术栈

原创
作者头像
用户11764306
发布2026-05-24 22:24:17
发布2026-05-24 22:24:17
390
举报

本周Python开发者:Ines Montani

本周我们欢迎 Ines Montani(@_inesmontani)成为我们的“本周Python开发者”!Ines 是 Explosion AI 的创始人,也是 spaCy 包的核心开发者,spaCy 是一个用于自然语言处理的 Python 包。让我们花点时间来更好地了解她!

你能介绍一下你自己吗(爱好、教育经历等)?

你好,我是 Ines!我基本上是在互联网上长大的,11 岁时就开始制作网站。我记得在学校里坐立不安,数着小时盼着回家继续做我的网站。有时当我正在做特别令人兴奋的事情时,我仍然会有这种感觉。

我不太确定自己的人生该做什么,所以我最终攻读了媒体科学和语言学的联合学位,并继续在媒体行业工作了几年,负责市场营销和销售。但我一直坚持编程,并在业余时间构建东西。

2016 年,我和联合创始人 Matt 一起创立了 Explosion。我们专注于机器学习的开发者工具,特别是自然语言处理——基本上就是处理大量文本并从中提取信息。我们的开源库 spaCy 是一个流行的包,用于构建工业级、可投入生产的 NLP 管道。我们还开发了 Prodigy,这是一个用于为机器学习模型创建训练数据的标注工具。

我住在德国柏林,如果不在编程,我喜欢抱石攀岩、享用美食,以及和我的宠物鼠共度时光。

你为什么开始使用 Python?

这其实很自然而然……我从来没有坐下来对自己说,嘿,我想学 Python。实际上,我很不擅长坐下来专门学习东西。我总是需要一个项目或一个更高层次的目标。当我开始接触自然语言处理时,我想使用和开发的许多工具都是用 Python 编写的。所以我最终在这个过程中学会了 Python。作为一种语言,它也很吸引我,因为它非常易用、直接,而且我喜欢它的语法。

你还知道哪些其他编程语言,你最喜欢哪个?

最近我主要使用 Python 和 Cython。我也精通 JavaScript,最近开始更多地使用 TypeScript,早些年还做过一些 PHP 和 Perl。

我不想纠结于“编程语言”的定义,但就编写代码而言,我也非常喜欢为 Web 构建东西。一旦你了解了 CSS,它就变得相当优雅,它实际上是我最喜欢编写的东西之一。

你目前在做什么项目?

我最近完成了一堆已经筹备了很长时间的东西!上个月,我们终于发布了开源库 spaCy 的 v2.1 版本。我还与一个用于构建交互式在线课程的开源框架一起,发布了一个关于使用 spaCy 进行高级 NLP 的免费交互式在线课程。

目前,我们正在开发 Prodigy Scale,这将是我们标注工具 Prodigy 的一个扩展产品,专门面向希望扩大标注项目规模的大型团队。我对通过自托管集群实现的数据隐私聚焦架构,以及用于审查数据、衡量标注者一致性以及交互式构建标注和模型训练流程的新功能感到特别兴奋。

最后,我还在柏林组织我们的第一个线下活动,面向使用 spaCy 和更广泛 NLP 的人们。我们邀请了一系列非常酷的演讲者,所以这将非常有趣。这个活动叫做“spaCy IRL”,于 7 月 6 日举行。

你最喜欢的 Python 库是哪些(核心库或第三方库)?

  • IPython shell:必须承认,我经常使用普通的 Python 解释器——主要是为了尝试新东西、快速测试和运行一些代码、用 spaCy 解析一些文本等等。当我发现 IPython 包含了一个具有语法高亮、自动补全和各种其他很酷功能的增强型交互式 shell 时,那真是“醍醐灌顶”的时刻。
  • black:我们一直在慢慢地将 Black 自动格式化器添加到我们的 Python 代码库中,这非常令人满意。结合 Visual Studio Code 中的 flake8、自动格式化和代码检查,它确实改变了我编写 Python 代码的方式。
  • plac:我们为 Python 库编写了许多命令行接口——这在 Prodigy 中是一个特别突出的特性。Plac 提供了一种非常简洁的方式来使用装饰器定义命令行接口。它适用于快速脚本,但对于长期维护的库代码也是一个很好的解决方案,因为它有助于确保 CLI 行为一致并拥有良好的文档。
  • FastAPI:我从来不喜欢使用 Django 或 Rails 等框架进行 Web 开发时的服务器端模板风格,因为我一直想编写更具交互性的单页应用。FastAPI 是纯 REST 框架领域的新一步,它充分利用了类型提示和 async/await 等新的 Python 特性。我们已将所有服务切换到它,到目前为止体验非常好。

虽然它严格来说不是一个 Python 库,但我也想特别提一下 Binder(以及相关的 Jupyter 生态系统)。它们的组件和构建块完全改变了我对在 Web 上执行 Python 代码的看法,并使我能够构建许多很酷的东西,包括 spaCy 的交互式文档和我的在线课程框架。

你能告诉我们你的公司 Explosion AI 是如何成立的吗?

我的联合创始人 Matt 于 2014 年离开学术界,开始编写 spaCy。随着他所研究的技术变得越来越可行,公司对他的研究代码越来越感兴趣。当时真正缺少的是一个库,它能够将研究中有效的东西提取出来,并将其作为可用于生产的实现提供。我和 Matt 是在他在柏林编写第一个版本的 spaCy 时认识的。不久之后我们就开始合作。我构建的第一个东西是一个交互式可视化工具,用于显示统计模型预测的文本的语法。

2016 年,我们创立了 Explosion,专注于为 NLP 和机器学习构建开发者工具。最初的几个月,我们通过咨询业务来支撑公司发展,之后才全职专注于我们的产品。我们很高兴地避免了许多新兴软件公司在风险投资生态系统驱动下会遇到的干扰。我实际上在 EuroPython 2018 上就我们运营开源软件公司的方式发表了主题演讲,这仍然很好地总结了我的感受。

Explosion 现在非常稳定,完全基于我们第一个产品 Prodigy 的收入。我们也即将推出第二个产品 Prodigy Scale,并且一直在与一些优秀的开发者合作,包括一些即将加入我们团队的新员工。所有这些都意味着 spaCy 未来将获得充足的资金支持,并有许多很酷的新功能值得期待。

感谢您接受采访,Ines!FINISHED

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档