西宁市网站建设_网站建设公司_C#_seo优化
2026/1/18 18:30:44 网站建设 项目流程

Python自然语言处理的未来(主题演讲,PyCon哥伦比亚 2020)

视频:https://www.youtube.com/watch?v=YDAgQO1DX0Q
Twitter 主题讨论:https://twitter.com/_inesmontani/status/1226501968832671744

核心技术组件

SPACY- 用于工业级自然语言处理的开源库,拥有超过 100,000 名用户。

PRODIGY- 为机器学习模型创建训练数据的注释工具,拥有超过 3000 名用户。

THINC- 用于通过函数式类型检查API组合模型的轻量级深度学习库(新版本)。

为什么选择Python?

Python 因其广泛的适用性而持续增长。

  • C扩展
  • 动态语言
  • 通用目的

相较于专门的“AI语言”,Python更适合开发者扩展技能。它是一个通用目的的语言。

人才结构:通才与专才

通才与专才是互补的。

技能形状:从T型(广度与深度)到树型(多领域广度与深度)。

你的产出反映了你的组织结构:通才与专才互补,形成树型技能结构。

处理流水线

处理流水线包括:

  • 词性标注器
  • 命名实体识别器
  • 句法依存关系解析器

输入:文本 -> 文档 -> 处理后的文档(例如,识别出“人物”实体)。

迁移学习

任务特定模型 + 文本 + 通用语言模型 = 迁移学习。

Transformer模型:准确且可重用的子网络,在不同的工作流程中(如在张量级别操作)都能发挥作用。

面临的技术问题

问题 #1:本地某中心初创公司的代码库“有点难读”

一位高级工程师面对代码array[:, ..., :4]发出疑问:“这到底是什么意思?”

核心挑战:维度混淆。
示例:判断张量是2维还是1维。

类型错误示例
Y: Floats3d不兼容的返回值类型(得到“Tuple[Floats3d, Callable[[Any], Any]]”,预期是“Tuple[Floats1d, Callable[…, Any]]”)。
Relu: Relu层输出类型为 (thinc.types.Floats2d),但下一层期望输入为 (thinc.types.Ragged)。

问题 #2:配置管理

模型代码、超参数、权重和其他设置通常与机器学习库紧密耦合。
解决方案方向指向THINC.AI

问题 #3:构建一个包含价格和股票代码的公司收购数据库

需求:预测包含价格和股票代码的公司收购。
流程步骤:

  1. 文本分类器:判断是否收购新闻。
  2. 实体识别器:识别收购方、被收购方。
  3. 实体链接器:链接到知识库。
  4. 属性查找:查找价格、股票代码。
  5. 货币标准化器:统一货币单位。

问题 #4:实践与理论的差距

理论:数据 -> 代码。
实践:代码 -> 数据。

标注不一致示例:“Pope Francis visits U.S.” 中,“Pope Francis”应该被标注为一个人物实体(PER)还是两个?

语义相似度挑战:“I love cats.” 和 “I hate cats.” 是相似还是不同?

迭代式数据开发方法

解决方案方向指向PRODIGY.AI

典型的机器学习项目在投入(训练数据大小、时间、实验)与效果(准确性、质量)的关系中,常经历几个阶段:

  1. 希望之山:初期快速提升。
  2. 不确定性沼泽:进展缓慢,效果提升不明显。
  3. 沮丧高原:投入大量资源,但效果停滞。

未来的项目应采用迭代式开发,创造“不确定性稍减的湿地”,明确设置停止点,最终通向“成功的草地”。

未来展望

  • 参与者(WHO):大量开发者,包括通才和专才。
  • 技术内容(WHAT):迁移学习与组件化流水线。
  • 方法论(HOW):迭代式的内部数据开发流程。
    更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
    对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询