博客
关于我
ELMo算法
阅读量:767 次
发布时间:2019-03-23

本文共 1487 字,大约阅读时间需要 4 分钟。

LSTM 和 BiLSTM 介绍

1.1 情感分类任务

在自然语言处理领域,情感分类任务是对给定文本进行情感倾向的分类。可以将其视为分类任务中的一种,主要目标是对文本进行情感分析。通常的做法是先对词或短语进行表示,再通过某种组合方式将句子中词的表示组合成句子的表示,最后利用句子表示进行情感分类。

例子:褒贬二分类

  • 句子:我爱赛尔
  • 情感标签:褒义

情感分类不仅是简单的二分类,还可能涉及多分类,如褒义、弱褒义、中性、弱贬义、强贬义等。模型需要捕捉词语之间的深层语义关系和上下文依赖。


1.2 LSTM 和 BiLSTM 的基本概念

LSTM(Long Short-Term Memory)是循环神经网络(RNN)的一种,擅长处理时序数据。其核心特点是通过门控机制(遗忘门、记忆门、输出门)控制信息流,不像传统RNN容易耗尽短期记忆,适合建模长距离依赖关系。

BiLSTM(Bidirectional Long Short-Term Memory)将前向LSTM和后向LSTM结合,兼顾了顺序和逆序信息。两者共同建模上下文信息,使模型能够从前后上下文中捕捉更丰富的语义依赖。


1.4 使用 LSTM 和 BiLSTM 的优势

传统方法如词加和或取平均无法充分捕捉词语顺序影响。LSTM可以通过学习机制记忆有用信息,捕捉长距离依赖,解决上述问题。此外,BiLSTM通过双向建模,能够捕捉前后上下文信息,从而在复杂的分类任务中表现更好。

例子:句子语义依赖

  • 句子:这个餐厅脏得不行,没有隔壁好
  • 情感标签:贬义

BiLSTM能够捕捉“不”和“脏”之间的否定关系,以及“不行”和“好”之间的程度差异,性能优于单向LSTM。


二、BiLSTM 原理

2.1 LSTM 计算过程

LSTM模型通过门控机制进行信息管理:

  • 遗忘门:控制是否遗忘前一时刻的状态。
  • 记忆门:选择当前输入信息中的有用信息并存储到细胞状态。
  • 输出门:决定何时输出特征信息。
  • 整个过程通过前一时刻的隐层状态、当前输入和门控结果计算得到。


    2.2 BiLSTM 结构

    BiLSTM由前向LSTM和后向LSTM组成,分别从左到右和从右到左处理输入序列。最终将两者输出拼接,形成双向上下文表示。

    示例:双向LSTM编码

    • 输入句子:我爱中国
    • 前向LSTM编码:我、爱、中国 → [隐向1, 隐向2, 隐向3]
    • 后向LSTM编码:中国、爱、我 → [隐向4, 隐向5, 隐向6]
    • 拼接后:[隐向1, 隐向2, 隐向3, 隐向4, 隐向5, 隐向6]

    双向拼接提供了丰富的语义信息,便于情感分类任务。


    三、ELMo 双向LSTM语言模型

    1. ELMo 预训练阶段

    ELMo是“Embedding from Language Models”的缩写,其核心思想是通过预训练语言模型,在上下文调整中动态更新词嵌入表示。与传统静态词嵌入不同,ELMo的词嵌入能够根据上下文语义进行动态调整。

    2. ELMo 预训练过程

  • 预训练阶段:利用双层双向LSTM语言模型训练,目标是根据单词和上下文预测下一单词。
  • 下游任务阶段:提取预训练网络中各层的Word Embedding作为新特征,补充到任务模型中。
  • 3. ELMo 的优势

    • 多义词处理:通过上下文调整词嵌入,解决多义词问题。
    • 实验效果:在6个NLP任务中性能显著提升,适用范围广。

    总结

    LSTM 和 BiLSTM 在情感分类和多义词处理方面具有显著优势,而 ELMo 则通过预训练语言模型提供动态上下文调整的词嵌入,更好地解决了多义词问题。这些技术为自然语言处理任务提供了强大的工具。

    转载地址:http://ssnzk.baihongyu.com/

    你可能感兴趣的文章
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询数据库所有表的字段信息
    查看>>
    【Java基础】什么是面向对象?
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>