PyDev of the Week: Ines Montani
本周我们欢迎Ines Montani(@_inesmontani)成为我们的PyDev of the Week!Ines是Explosion AI的创始人,也是spaCy包的核心开发者,这是一个用于自然语言处理的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代码库中,这非常令人满意。结合flake8和Visual Studio Code中的自动格式化和linting,它真正改变了我编写Python代码的方式。
- plac:我们为Python库编写了很多命令行界面——这在Prodigy中尤其突出。Plac提供了一种非常简洁的方式,用装饰器定义命令行界面。它适用于快速脚本,也是长期库代码的不错解决方案,因为它帮助确保CLI行为一致并具有适当的文档。
- FastAPI:我从来不喜欢Django或Rails等框架的服务器端模板开发风格,因为我一直想编写更交互式的单页应用程序。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!