首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >spaCy开发者谈NLP与Python工具

spaCy开发者谈NLP与Python工具

原创
作者头像
用户11764306
发布2026-05-18 07:06:26
发布2026-05-18 07:06:26
70
举报

本周 PyDev:Ines Montani

本周欢迎 Ines Montani(@_inesmontani)成为我们的“本周 PyDev”!Ines 是某机构(原 Explosion AI)的创始人,也是 spaCy 包的核心开发者——spaCy 是一个用于自然语言处理(NLP)的 Python 包。如需了解更多关于 Ines 的信息,可以访问她的网站或 GitHub 个人资料。让我们花点时间更好地了解她!

能否告诉我们一些关于你自己的情况(爱好、教育背景等)?

你好,我是 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 以及自动格式化和 linting,它确实改变了我编写 Python 代码的方式。
  • plac:我们为 Python 库编写了很多命令行接口——这在 Prodigy 中是一个特别突出的特性。Plac 提供了一种非常简洁的方式来定义带有装饰器的命令行接口。它适用于快速脚本,但对于长期维护的库代码来说也是一个很好的解决方案,因为它有助于确保 CLI 行为一致并拥有良好的文档。
  • FastAPI:我从来不喜欢使用 Django 或 Rails 等框架进行 web 开发时的那种服务器端模板风格,因为我一直想编写更具交互性的单页应用程序。FastAPI 是纯 REST 框架中的一个新步骤,它真正利用了 Python 的新特性,如类型提示和 async/await。我们已将所有服务切换到这个框架,到目前为止体验非常棒。

虽然严格来说它不是一个 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 归档