交易文本数据:情感分析 -另类数据交易- 舆情数据

交易文本数据:情感分析

这是三章中的第一章,专门介绍使用自然语言处理(NLP)和机器学习从文本数据中提取交易策略信号。

文本数据内容丰富但高度非结构化,因此需要更多预处理才能使ML算法提取相关信息。一个关键挑战是在不丢失其含义的情况下将文本转换为数值格式。我们将介绍几种能够捕捉语言细微差异的技术,以便将其用作ML算法的输入。

在本章中,我们将介绍专注于个别语义单元(即单词或称为标记的短语组)的基本特征提取技术。我们将展示如何通过创建文档-术语矩阵来表示文档作为标记计数向量,然后将其用作新闻分类和情感分析的输入。我们还将介绍流行的朴素贝叶斯算法。

在接下来的两章中,我们将在这些技术的基础上使用主题建模和词向量嵌入等ML算法,以捕获更广泛上下文中包含的信息。

内容

  1. 使用文本数据的机器学习 - 从语言到特征
    • 自然语言处理的挑战
    • 应用场景
    • NLP工作流程
  2. 从文本到标记 - NLP管道
    • 代码示例:使用spaCy和textacy的NLP管道
      • 数据
    • 代码示例:使用TextBlob进行NLP
  3. 计算标记 - 文档-术语矩阵
    • 代码示例:使用scikit-learn的文档-术语矩阵
  4. 交易中的NLP:文本分类和情感分析
    • 朴素贝叶斯分类器
    • 代码示例:新闻文章分类
    • 代码示例:情感分析
      • 二分类:Twitter数据
      • 在大型多类Yelp数据集上比较不同的ML算法

使用文本数据的机器学习 - 从语言到特征

鉴于人类使用自然语言进行大量信息交流和存储,文本数据可能非常有价值。与投资相关的数据源范围从公司报表、合同或专利等正式文件,到新闻、观点和分析师研究或评论,再到各种社交媒体帖子或消息。

有用的资源包括:

  • 语音和语言处理, Daniel Jurafsky & James H. Martin, 第3版, 草稿, 2018
  • 统计自然语言处理和基于语料库的计算语言学, 斯坦福大学注释资源列表
  • NLP数据源

自然语言处理的挑战

将非结构化文本转换为机器可读格式需要仔细的预处理,以保留数据的有价值语义方面。人类如何从语言中获取意义并理解内容并不完全被理解,通过机器提高语言理解仍然是一个非常活跃的研究领域。

NLP具有挑战性,因为将文本数据有效用于机器学习需要理解语言的内部工作原理,以及它所指的世界知识。主要挑战包括:

  • 由于多义性导致的歧义(“Local High School Dropouts Cut in Half”)
  • 非标准和不断发展的语言使用,特别是在社交媒体中
  • 习语:“throw in the towel”
  • 实体名称可能很棘手:“Where is A Bug’s Life playing?”
  • 需要对世界的知识:“Mary and Sue are sisters” vs “Mary and Sue are mothers”

应用场景

应用场景描述示例
聊天机器人理解用户的自然语言并返回智能响应Api.ai
信息检索找到相关结果和相似结果Google
信息提取从非结构化文档中提取结构化信息从Gmail中提取事件
机器翻译一种语言到另一种语言Google翻译
文本简化保留文本的含义,但简化语法和词汇Rewordify, 简体中文维基百科
预测性文本输入更快或更容易输入短语补全, 一个更好的应用
情感分析说话者的态度Hater News
自动摘要提取式或抽象式摘要reddit的autotldr算法, autotldr示例
自然语言生成从数据生成文本计算机如何描述体育比赛, 发表者撤回120多篇胡言乱语论文
语音识别和合成语音转文本,文本转语音Google的Web语音API演示, Vocalware文本转语音演示
问答确定问题的意图,将查询与知识库匹配,评估假设Watson如何击败Jeopardy冠军Ken Jennings?, Watson Trivia Challenge, Watson背后的AI

NLP工作流程

使用机器学习从文本数据中提取信号以用于算法交易的一个关键目标是从文档中提取信号。文档是相关文本数据源(如公司报告、标题或新闻文章、推文)的单个样本。语料库是文档的集合。
下图概述了将文档转换为可用于训练能够做出可操作预测的监督机器学习算法的数据集的关键步骤。

从文本到标记 - NLP管道

下表总结了NLP管道的关键任务:

特征描述
标记化将文本分割为单词、标点符号等。
词性标注为标记分配词类型,如动词或名词。
依赖解析标记语法标记依赖关系,如主语<=>宾语。
词干化和词形还原分配单词的基本形式:“was” => “be”, “rats” => “rat”。
句子边界检测找到并分割单个句子。
命名实体识别标记"真实世界"对象,如人物、公司或地点。
相似性评估单词、文本段和文档的相似性。

代码示例:使用spaCy和textacy的NLP管道

笔记本nlp_pipeline_with_spaCy演示了如何使用开源Python库spaCy构建NLP管道。textacy库建立在spaCy之上,提供了对spaCy属性和其他功能的简单访问。

  • spaCy 文档和安装说明
  • textacy依赖于spaCy来解决其他NLP任务 - 参见文档
数据
  • BBC文章,使用原始文本文件
  • TED2013,15种语言的TED演讲字幕的平行语料库

代码示例:使用TextBlob进行NLP

TextBlob库提供了一个简化的界面,用于执行常见的NLP任务,包括词性标注、名词短语提取、情感分析、分类、翻译等。

笔记本nlp_with_textblob说明了它的功能。

  • 文档
  • 情感分析

一个很好的替代方案是NLTK,这是一个用于处理人类语言数据的Python程序的领先平台。它提供了易于使用的接口,可访问50多个语料库和词汇资源,如WordNet,以及用于分类、标记化、词干化、标注、解析和语义推理的一套文本处理库,以及工业级NLP库的包装器,以及一个活跃的讨论论坛。

  • 自然语言工具包(NLTK) 文档

计算标记 - 文档-术语矩阵

本节介绍了词袋模型,它将文本数据转换为数字向量空间表示,允许使用它们的距离比较文档。我们演示了如何使用sklearn库创建文档-术语矩阵。

  • TF-IDF是关于什么重要

代码示例:使用scikit-learn的文档-术语矩阵

scikit-learn预处理模块提供了两种创建文档-术语矩阵的工具。

  1. CountVectorizer使用二进制或绝对计数来测量每个文档d和标记t的术语频率tf(d, t)。
  2. TfIDFVectorizer则将(绝对)术语频率加权为逆文档频率(idf)。因此,在更多文档中出现的术语将比具有相同频率但在所有文档中频率较低的标记获得较低的权重。

笔记本document_term_matrix演示了用法和配置。

交易中的NLP:文本分类和情感分析

一旦使用前几节讨论的自然语言处理技术将文本数据转换为数值特征,文本分类就像任何其他分类任务一样工作。

在本节中,我们将将这些预处理技术应用于新闻文章、产品评论和Twitter数据,并教会各种分类器预测离散新闻类别、评论分数和情感极性。

首先,我们将介绍朴素贝叶斯模型,这是一种概率分类算法,在处理词袋模型生成的文本特征时表现良好。

  • 每日市场新闻情感和股票价格, David E. Allen & Michael McAleer & Abhay K. Singh, 2015, Tinbergen Institute讨论文件
  • 使用情感合成预测经济指标, Abby Levenberg等, 2014
  • 摩根大通NLP研究结果

朴素贝叶斯分类器

朴素贝叶斯算法在文本分类中非常流行,因为其低计算成本和内存需求使其能够在非常大和高维的数据集上进行训练。它的预测性能可以与更复杂的模型相媲美,提供了一个良好的基线,并以成功的垃圾邮件检测而闻名。

该模型依赖于贝叶斯定理和特征彼此独立的假设,给定结果类。换句话说,对于给定的结果,知道一个特征的值(例如文档中标记的存在)不会提供关于另一个特征值的任何信息。

代码示例:新闻文章分类

我们从一个说明朴素贝叶斯模型对2,225篇BBC新闻文章进行分类的例子开始,这些文章我们知道属于五个不同的类别。

笔记本text_classification包含相关示例。

代码示例:情感分析

情感分析是自然语言处理和机器学习在交易中最受欢迎的用途之一,因为资产或其他价格驱动因素的正面或负面观点很可能影响收益。

一般来说,情感分析的建模方法依赖于词典,如TextBlob库,或针对特定领域训练的模型。后者更可取,因为它允许更有针对性的标记,例如将文本特征与随后的价格变化联系起来,而不是间接的情感得分。

请参见data目录中有关获取数据的说明。

二分类:Twitter数据

我们使用一个带有二元极性标签的Twitter数据集以及一个带有五点结果尺度的大型Yelp商业评论数据集,说明情感分析的机器学习。

笔记本sentiment_analysis_twitter包含相关示例。

  • Cheng-Caverlee-Lee 2009年9月 - 2010年1月 Twitter数据抓取
在大型多类Yelp数据集上比较不同的ML算法

为了说明大规模文本处理和分类,我们还使用了Yelp数据集。

笔记本sentiment_analysis_yelp包含相关示例。

  • Yelp数据集挑战赛

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/852907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第J7周:对于ResNeXt-50算法的思考

本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 &#x1f680; 文章来源&#xff1a;K同学的学习圈子深度学习第J6周&#xff1a;ResNeXt-50实战解析K同学的学习圈子 在 ResNeXt 网络中&#xff0c;如果…

LeRobot——Hugging Face打造的机器人领域的Transformer架构

前言 如友人邓博士所说&#xff0c;“用 Stanford aloha 课题组提供的训练数据&#xff0c;训练他们研发的 Action Chunking Transformer 动作规划模型&#xff0c;训练结果&#xff0c;能用&#xff0c;但是稳定性有待提高 要提高稳定性&#xff0c;看来必须修改 Stanford a…

STM32学习笔记(三)--EXTI外部中断详解

&#xff08;1&#xff09;配置步骤1.配置RCC 打开外设时钟2.配置GPIO 选择端口输入模式3.配置AFIO 选择要用的一路GPIO 连接至EXTI 4.配置EXTI 选择边沿触发方式 上升沿 下降沿 双边沿 选择触发响应方式 中断响应 事件响应 5.配置NVIC 选择一个合适的优先…

喜讯:NetMarvel 深度合作伙伴「点金石」斩获2024·MAMA 营销增长奖

全球市场瞬息万变&#xff0c;如何让增长做到有迹可循&#xff1f; 5月20日&#xff0c;由 AppsFlyer 举办的「2024 MAMA 移动互联网高层峰会」在三亚拉开序幕。在本届颁奖典礼上&#xff0c;NetMarvel 深度合作伙伴——点金石&#xff08;GameGoing&#xff09; 荣获「营销增长…

PyQt5学习系列之新项目创建并使用widget

PyQt5学习系列之新项目创建并使用widget 前言报错新建项目程序完整程序总结 前言 新建项目&#xff0c;再使用ui转py&#xff0c;无论怎么样都打不开py文件&#xff0c;直接报错。 报错 Connected to pydev debugger (build 233.11799.298)新建项目程序 # Press ShiftF10 to…

【计算机视觉】人脸算法之图像处理基础知识(一)

图像处理基础知识&#xff08;一&#xff09; 1.图像的构成 图像的构成可以包括以下几方面知识&#xff1a; 1.像素&#xff1a;图像的基本单位&#xff0c;是图像中的一个点。每个像素都有特定的位置和色彩值。在数字图像中&#xff0c;像素的颜色通常由红、绿、蓝&#xf…

本地密码记录工具-KeePass

文章目录 软件界面软件下载KeePass配置KeePass修改中文创建数据库配置数据库锁定配置账户密码为不同应用配置账号密码插件安装及使用 数据库同步 在此之前&#xff0c;没有使用过类似的账户密码记录工具&#xff0c;甚至完全没有接触过&#xff0c;由于Edge浏览器自带保存密码并…

el-date-picker 有效时间精确到时分秒 且给有效时间添加标记

el-date-picker实现有效日期做标记且时分秒限制选择范围 代码如下&#xff1a; // html部分 <el-date-pickerv-model"dateTime"type"datetime":picker-options"pickerOptions" > </el-date-picker>// js部分 /*** 回放有效日期开始时…

通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器。通过对比三个算法可知&#xff0c;采用滑模控制算法&#xff0c;其具有最快的收敛性能&#xff0c;较强的鲁棒性&…

链路追踪-微服务小白入门(6)

背景 什么是链路追踪 随着微服务分布式系统变得日趋复杂&#xff0c;越来越多的组件开始走向分布式化&#xff0c;如分布式服务、分布式数据库、分布式缓存等&#xff0c;使得后台服务构成了一种复杂的分布式网络。在服务能力提升的同时&#xff0c;复杂的网络结构也使问题定…

Java语言+前端框架html+Thymeleaf +后端框架springboot开发的UWB智能定位系统源码 UWB三维可视化人员定位系统源码

Java语言前端框架htmlThymeleaf 后端框架springboot开发的UWB智能定位系统源码 UWB三维可视化人员定位系统源码 UWB定位系统基于B/S架构的软件和嵌入式硬件都具有很好的扩展性和兼容性&#xff0c;可以与其他系统接口&#xff08;比如&#xff1a;围界、AB门、高压电网、报警、…

对抗式生成模仿学习(GAIL)

目录 1 预先基础知识 1.1 对抗生成网络&#xff08;GAN&#xff09; 1.1.1 基本概念 1.1.2 损失函数 1.1.2.1 固定G&#xff0c;求解令损失函数最大的D 1.1.2.2 固定D&#xff0c;求解令损失函数最小的G 1.2 对抗式生成模仿学习特点 2 对抗式生成模仿学习&#xff08;…

【CS.PL】Lua 编程之道: 简介与环境设置 - 进度8%

1 初级阶段 —— 简介与环境设置 文章目录 1 初级阶段 —— 简介与环境设置1.1 什么是 Lua&#xff1f;特点?1.2 Lua 的应用领域1.3 安装 Lua 解释器1.3.1 安装1.3.2 Lua解释器的结构 1.4 Lua执行方式1.4.0 程序段1.4.1 使用 Lua REPL&#xff08;Read-Eval-Print Loop&#x…

【Gradio】Building With Blocks 控制布局

默认情况下&#xff0c;块中的组件垂直排列。让我们看看如何重新排列组件。在底层&#xff0c;这种布局结构使用了网页开发的 flexbox 模型。 行 在 with gr.Row 子句中的元素将全部水平显示。例如&#xff0c;要并排显示两个按钮&#xff1a; with gr.Blocks() as demo:with g…

JAVA云HIS医院管理系统源码 云HIS运维平台源码 SaaS模式支撑电子病历4级,HIS与电子病历系统均拥有自主知识产权

JAVA云HIS医院管理系统源码 云HIS运维平台源码 SaaS模式支撑电子病历4级&#xff0c;HIS与电子病历系统均拥有自主知识产权 系统简介&#xff1a; SaaS模式Java版云HIS系统&#xff0c;在公立二甲医院应用三年&#xff0c;经过多年持续优化和打磨&#xff0c;系统运行稳定、功…

SSH密钥认证:实现远程服务器免密登录的两种方法|Linux scp命令详解:高效实现文件与目录的远程传输

简介&#xff1a; 服务器之间经常需要有一些跨服务器的操作&#xff0c;此时就需要我们在一台服务器上登录到另外一台服务器&#xff0c;若是人为操作时我们都可以每次输入密码进行远程登录&#xff0c;但要是程序需要跨服务器时&#xff0c;每次输入密码就不现实了&#xff0c…

最新Sublime Text软件安装包分享(汉化版本)

Sublime Text 是一款广受欢迎的跨平台文本编辑器&#xff0c;专为代码、标记和散文编辑而设计。它以其简洁的用户界面、强大的功能和高性能而著称&#xff0c;深受开发者和写作者的喜爱。 一、下载地址 链接&#xff1a;https://pan.baidu.com/s/1kErSkvc7WnML7fljQZlcOg?pwdk…

解决:安装MySQL 5.7 的时候报错:unknown variable ‘mysqlx_port=0.0‘

目录 1. 背景2. 解决步骤 1. 背景 吐槽1&#xff0c;没被收购之前可以随便下载&#xff0c;现在下载要注册登录吐槽2&#xff0c;5.7安装到初始化数据库的时候就会报错&#xff0c;而8.x的可以一镜到底&#xff0c;一开始以为是国区的特色问题&#xff0c;google了一圈&#x…

[Algorithm][贪心][最长递增子序列][递增的三元子序列][最长连续递增序列][买卖股票的最佳时机][买卖股票的最佳时机Ⅱ]详细讲解

目录 1.最长递增子序列1.题目链接2.算法原理详解3.代码实现 2.递增的三元子序列1.题目链接2.算法原理详解3.题目链接 3.最长连续递增序列1.题目链接2.算法原理详解3.代码实现 4.买卖股票的最佳时机1.题目链接2.算法原理详解3.代码实现 5.买卖股票的最佳时机 II1.题目链接2.算法…

厂里资讯之总体架构介绍以及环境搭建

本项目是本人根据黑马程序员的微服务项目黑马头条进行包装改造&#xff0c;作为实习简历上面的项目&#xff0c;为了进一步熟悉深挖这个项目&#xff0c;写了这一系列的博客来加深自己对项目的理解。 概述 项目背景 本项目主要着手于使用户获取学校最新最热的资讯&#xff0c…