数据API 产品矩阵 案例 关于
掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

spaCy:如何使用最快的NLP开发库结合Keras来进行深度学习

1.0 版的 spaCy 终于发布了,它是世界上最快的自然语言处理 NLP 库。 到目前为止,1.0 版的最好的特性是将定制化的模型集成到 spaCy 新系统中。 本文将向您介绍这些新特性,并向您展示如何使用新的自定义管道功能将 Keras 提供的 LSTM 情感分析模型添加到 spaCy 管道中。

之前的 spaCy 用户调查已经收到了很多对程序库的反馈。 最显而易见的是 spaCy 需要更多教程文档。 我们目前正在为该网站制作一个新的并改进的教程。 同时优先考虑新的 1.0 功能的教程,比如新的规则,实体感知匹配器,模型训练 API 和自定义管道。

自定义管道是特别令人兴奋的,因为他们你整合自己的深度学习模型进 spaCy。 所以,这里将说明如何使用 Keras 来训练 LSTM 情感分析模型,怎样使用 spaCy 的结果的注解。

如何在 spacy 中使用 Keras LSTM 模型来进行情感分析

有许多伟大的开源库用于研究,训练和评估神经网络。然而,这些库关注的问题通常止步于评估得分和模型文件。spaCy 一直被设计为协调多个文本注释模型,并帮助您在应用程序中一起使用它们。 spaCy 1.0 现在使用自己的自定义模型更容易计算这些注释。

在本文中,我们将使用 Keras,因为它是 Python 最受欢迎的深度学习库。让我们假设你写了一个自定义情感分析模型来预测文档是正面还是负面情绪。现在,您想要找到哪些实体通常与正面情绪文档或负面情绪文档相关联。这里有一个快速示例,可以看到运行时。


你需要做的是传递一个create_pipeline 回调函数到 spacy.load()。 该函数应该使用 spacy.language.Language 对象作为其唯一的参数,并返回一系列可调用对象。 每个可调用对象都应该接受一个 Doc 对象,对其进行修改,并返回None。

对单个文档的操作是低效的,特别是对于深度学习模型。通常我们要注释许多文本,并且我们想要并行处理它们。因此,您应该确保模型组件还支持.pipe()方法。.pipe()方法应该是一个良好的生成器函数,可以对任意大的序列进行操作。 pipe函数使用小文档缓冲区,并行处理它们,并一个一个地产生它们。



默认情况下,spaCy 1.0下载并使用 300 维 GloVe(Global Vectors for Word Representation 词表达全局向量)common crawl 向量。 也很容易用你自己训练的向量替换这些向量,或者完全禁用词向量(word vectors)。 如果你已经将你的词向量安装到 spaCy 的 Vocab 对象中,下面介绍如何在 Keras 模型中使用它们:



对于大多数应用程序,我建议使用预先训练的词嵌入(word embeddings,给出一个文档,文档就是一个单词序列比如 “A B A C B F G”, 希望对文档中每个不同的单词都得到一个对应的向量(往往是低维向量)表示)而不进行“微调”。 这意味着您将在不同的模型中使用相同的embeddings,并避免learning过程对您的训练数据进行调整。embeddings 表是大表,并且由预训练向量提供的值已经相当好。因此,微调嵌入表是浪费您的“参数预算”。通常最好使用其他方式扩大您的网络,例如通过添加另一个 LSTM 层,使用注意机制,使用字符特征等。

属性钩子(实验性质)

早些时候,我们看到了如何在新的通用user_data dict中存储数据。这可以接受,但不令人满意。理想情况下,我们希望让自定义数据驱动更多的“本地”行为。例如,考虑由spaCy的Doc,Token和Span对象提供的.similarity()方法:


默认情况下,这只是平均每个文档的向量,并计算其余弦。一般说来,spaCy 使你很容易安装自己的相似模型。这引入了棘手的设计挑战。当前的解决方案是向 Doc 对象添加三个 diction:



总而言之,这里是一个在自定义 .similarity() 方法中挂钩的例子:


下一步


属性钩子很可能会略微演变,并且肯定需要一些调整来达到完全一致。我也期待为标记器,解析器和实体识别器改进模型。在过去的十二个月中,研究表明,双向 LSTM 模型是这些任务的简单和有效的方法。结果模型耗费的内存也明显更小。

参考代码:explosion/spaCy

英文原文:spaCy v1.0: Deep Learning with custom pipelines and Keras

高可用架构

改变互联网的构建方式

长按二维码 关注「高可用架构」公众号

高可用架构主办 GIAC 全球互联网架构大会特别推出大数据及算法专题,议题方向覆盖大数据平台以及与电商、视频、人工智能等热点方向结合。在 11 月购买还可以享受 7 折早鸟票,点击阅读原文进入购买页面。

原文来自: 高可用架构

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务
spaCy:如何使用最快的NLP开发库结合Keras来进行深度学习
发布:2016-11-08 10:14:52

1.0 版的 spaCy 终于发布了,它是世界上最快的自然语言处理 NLP 库。 到目前为止,1.0 版的最好的特性是将定制化的模型集成到 spaCy 新系统中。 本文将向您介绍这些新特性,并向您展示如何使用新的自定义管道功能将 Keras 提供的 LSTM 情感分析模型添加到 spaCy 管道中。

之前的 spaCy 用户调查已经收到了很多对程序库的反馈。 最显而易见的是 spaCy 需要更多教程文档。 我们目前正在为该网站制作一个新的并改进的教程。 同时优先考虑新的 1.0 功能的教程,比如新的规则,实体感知匹配器,模型训练 API 和自定义管道。

自定义管道是特别令人兴奋的,因为他们你整合自己的深度学习模型进 spaCy。 所以,这里将说明如何使用 Keras 来训练 LSTM 情感分析模型,怎样使用 spaCy 的结果的注解。

如何在 spacy 中使用 Keras LSTM 模型来进行情感分析

有许多伟大的开源库用于研究,训练和评估神经网络。然而,这些库关注的问题通常止步于评估得分和模型文件。spaCy 一直被设计为协调多个文本注释模型,并帮助您在应用程序中一起使用它们。 spaCy 1.0 现在使用自己的自定义模型更容易计算这些注释。

在本文中,我们将使用 Keras,因为它是 Python 最受欢迎的深度学习库。让我们假设你写了一个自定义情感分析模型来预测文档是正面还是负面情绪。现在,您想要找到哪些实体通常与正面情绪文档或负面情绪文档相关联。这里有一个快速示例,可以看到运行时。


你需要做的是传递一个create_pipeline 回调函数到 spacy.load()。 该函数应该使用 spacy.language.Language 对象作为其唯一的参数,并返回一系列可调用对象。 每个可调用对象都应该接受一个 Doc 对象,对其进行修改,并返回None。

对单个文档的操作是低效的,特别是对于深度学习模型。通常我们要注释许多文本,并且我们想要并行处理它们。因此,您应该确保模型组件还支持.pipe()方法。.pipe()方法应该是一个良好的生成器函数,可以对任意大的序列进行操作。 pipe函数使用小文档缓冲区,并行处理它们,并一个一个地产生它们。



默认情况下,spaCy 1.0下载并使用 300 维 GloVe(Global Vectors for Word Representation 词表达全局向量)common crawl 向量。 也很容易用你自己训练的向量替换这些向量,或者完全禁用词向量(word vectors)。 如果你已经将你的词向量安装到 spaCy 的 Vocab 对象中,下面介绍如何在 Keras 模型中使用它们:



对于大多数应用程序,我建议使用预先训练的词嵌入(word embeddings,给出一个文档,文档就是一个单词序列比如 “A B A C B F G”, 希望对文档中每个不同的单词都得到一个对应的向量(往往是低维向量)表示)而不进行“微调”。 这意味着您将在不同的模型中使用相同的embeddings,并避免learning过程对您的训练数据进行调整。embeddings 表是大表,并且由预训练向量提供的值已经相当好。因此,微调嵌入表是浪费您的“参数预算”。通常最好使用其他方式扩大您的网络,例如通过添加另一个 LSTM 层,使用注意机制,使用字符特征等。

属性钩子(实验性质)

早些时候,我们看到了如何在新的通用user_data dict中存储数据。这可以接受,但不令人满意。理想情况下,我们希望让自定义数据驱动更多的“本地”行为。例如,考虑由spaCy的Doc,Token和Span对象提供的.similarity()方法:


默认情况下,这只是平均每个文档的向量,并计算其余弦。一般说来,spaCy 使你很容易安装自己的相似模型。这引入了棘手的设计挑战。当前的解决方案是向 Doc 对象添加三个 diction:



总而言之,这里是一个在自定义 .similarity() 方法中挂钩的例子:


下一步


属性钩子很可能会略微演变,并且肯定需要一些调整来达到完全一致。我也期待为标记器,解析器和实体识别器改进模型。在过去的十二个月中,研究表明,双向 LSTM 模型是这些任务的简单和有效的方法。结果模型耗费的内存也明显更小。

参考代码:explosion/spaCy

英文原文:spaCy v1.0: Deep Learning with custom pipelines and Keras

高可用架构

改变互联网的构建方式

长按二维码 关注「高可用架构」公众号

高可用架构主办 GIAC 全球互联网架构大会特别推出大数据及算法专题,议题方向覆盖大数据平台以及与电商、视频、人工智能等热点方向结合。在 11 月购买还可以享受 7 折早鸟票,点击阅读原文进入购买页面。

原文来自: 高可用架构

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

选择想要的接口, 看看能免费获取多少次调用 选择(单选)或填写想要的接口
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
短信API服务
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
  • 确定
选择您的身份
请选择寻找接口的目的
预计每月调用量
请选择预计每月调用量
产品研发的阶段
请选择产品研发的阶段
×

前往领取
电话 0512-88869195
×
企业用户认证,
可获得1000次免费调用
注册登录 > 企业账户认证 > 领取接口包
企业用户认证领取接口包 立即领取
× 企业用户认证,
可获得1000次免费调用,立即领取>
数 据 驱 动 未 来
Data Drives The Future