开源 | 哈佛大学九大自然语言处理开源项目(附论文)

2024-01-28 00:10

本文主要是介绍开源 | 哈佛大学九大自然语言处理开源项目(附论文),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

选自 Github

机器之心编译

参与:杜夏德、李泽南、吴攀

在这篇文章中,我们盘点了哈佛大学开源的 9 大有关自然语言处理的项目。虽然里面的代码是研究代码(通常还有一些使用的注意事项),但也已经得到了哈佛研究团队之外的产业组织的应用,其相关项目的证书请参阅对应的 repo。

1.Sequence-to-Sequence Learning with Attentional Neural Networks(使用注意神经网络的序列到序列学习)

项目地址:https://github.com/harvardnlp/seq2seq-attn

在带有(可选)注意(attention)的标准 seq2seq 模型的 Torch 实现中,其编码器 - 解码器(encoder-decoder)模型是 LSTM。编码器可以是一个双向 LSTM。此外还能在字符嵌入(character embeddings)上运行一个卷积神经网络然后再运行一个 highway network,从而将字符(而不是输入的词嵌入)作为输入来使用。

该注意模型来源于发表于 EMNLP 2015 大会上的论文《Effective Approaches to Attention-based Neural Machine Translation》。我们使用该论文中的带有输入 - 反馈方式的全局通用注意力模型( global-general-attention model with the input-feeding approach)。输入 - 反馈作为可选项,也可去掉。

其中的字符模型来源于 AAAI 2016 上的论文《Character-Aware Neural Language Models》。

2.Visual Analysis for State Changes in RNNs(用于 RNN 中状态变化的视觉分析)

项目地址:https://github.com/HendrikStrobelt/lstmvis

循环神经网络(RNN),尤其是 LSTM,是学习一个隐藏其序列输入表征的密集黑箱测试的序列处理的有效工具。对这些模型有更好理解的研究者已经研究了隐藏状态表征中随时间发生的变化,并注意到有些可以解释但噪声明显的模式。

我们提出的 LSTMV 是用在 RNN 中的一款视觉分析工具,其关注的重点是理解这些隐藏的状态动态。这个工具允许用户选择一个关于局部状态变化的假设输入范围,以将这些状态变化匹配到一个大数据库中类似的模式上,并将这些结果与它们的域(domain)的结构注释(structural annotations)进行比对。我们为这个工具提供了数据来分析数据集上特定的隐藏状态属性,包括嵌套、短语结构、和弦进程(chord progressions)并展示如何使用这个工具为进一步的统计分析来隔离模式。

3.CNN for Text Classification(用于文本分类的 CNN)

项目地址::https://github.com/harvardnlp/sent-conv-torch

这个代码用 GPU 在 Torch 中实现了 Kim(2014)的句子卷积代码。它复制了现有数据库中的结果,并允许在任意其它的文本数据库上训练模型。

4.Im2Markup

项目地址:https://github.com/harvardnlp/im2markup

在最近图像字幕生成和光学字符识别(OCR)研究进展的基础上,我们提出了一个通用的基于深度学习的系统来将图像反编译成标识性置标语言(presentational markup)。虽然这个任务在 OCR 中已经得到了充分研究,但是我们用的是完全不同的数据驱动的方法。我们的模型不需要任何潜在的标记语言知识,仅在真实世界的样本数据中进行端到端(end-to-end)的训练即可。这个模型实现了一个卷积网络,该网络将文本和布局识别(text and layout recognition)与一个基于注意的神经机器翻译系统串联起来。为了训练和评估这个模型,我们引入了一个与 LaTeX 标记语言配对的经过了真实世界渲染的数学表达式的新数据库,以及一个与 HTML 代码片段配对的网页的合成数据库。试验结果显示该系统在两个数据集的精确标记生成上非常有效。而一个标准特定域的 LaTeX OCR 系统的精确度能达到 25%,我们的模型准确再现了样本中 75% 的渲染的图像。

5.ABS: Abstractive Summarization  

项目地址:https://github.com/harvardnlp/NAMAS

该项目包含了来自以下论文的 Abs. 神经抽象摘要系统(neural abstractive summarization system)。

这里发布的代码可以:

提取摘要数据集

训练神经摘要模型

用 ROUGE 构建评估集

调试提取的特征

6.LSTM Character-Aware Language Model

项目地址:https://github.com/yoonkim/lstm-char-cnn

代码来自 AAAI 2016 论文《Character-Aware Neural Language Models》。

这是一个仅建立在字符输入上的一个神经语言模型(NLM)。预测还是在词水平上进行。当输入一个 LSTM 循环神经网络语言模型(RNN-LM)时,该模型在字符上启用了一个卷积神经网络(CNN)。也可选择让该 CNN 的输出通过一个 Highway Network,这能提升表现。

多数基础代码来源于 Andrej Karpathy 的字符 RNN 实现:https://github.com/karpathy/char-rnn。

7.Neural Coreference Resolution (神经指代消解)

项目地址:https://github.com/swiseman/nn_coref

神经指代模型(Neural Coref Models),在论文 Learning Global Features for Coreference Resolution(Sam Wiseman, Alexander M. Rush, and Stuart M. Shieber, NAACL 2015)和 Learning Anaphoricity and Antecedent Ranking Features for Coreference Resolution(Sam Wiseman, Alexander M. Rush, Stuart M. Shieber, and Jason Weston. ACL 2015)中有所描述。

8.PAD: Phrase-structure After Dependencies  

项目地址:https://github.com/ikekonglp/PAD

PAD 是一款免费软件;你可以遵照由 Free Software Foundation 公布的 GNU 宽通用公共许可来修改 / 重发它;也可以二版的许可,或者后面其他版本的许可(看你自己的选择)。

发布 PAD 是希望它能变得有用,但是我们并不担保;

你应该会收到一份连同这个程序的 GNU 通用公共许可证;如果没有,写信给 Free Software Foundation,地址是 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA。

目标:

依存分析器(dependency parsers)快速、精确,并可以产生易于解释的结果,短语结构分析虽然很便捷但在很多语言处理任务中需要输入。

该 PAD 分析器能产生依存分析后的词组(phrases-after-dependencies)。给它依存分析的输出,它将会产生优化的约束短语结构分析。

9. 安卓系统中的神经机器翻译

项目地址:https://github.com/harvardnlp/nmt-android

基于 Sequence-to-Sequence Learning with Attentional Neural Networks 项目: http://github.com/harvardnlp/seq2seq-attn。和一篇文献:

http://www.people.fas.harvard.edu/~yoonkim/data/emnlp_2016.pdf

神经机器翻译(NMT)在翻译中提供了统计方式之外的另一种方式,同时也更加简便。然而,如果想要达到有竞争力的表现,神经机器翻译模型会变得非常巨大。本论文中我们考虑了将知识提炼(knowledge distillation)方式(Bucila 等人,2006;Hinton 等人,2015)加入机器神经翻译中,以解决其体量问题,这种方式已在其他领域中被证明能够成功减小神经模型的尺寸。我们证明了适用于词级预测的标准知识提炼方式在神经机器翻译中是有效的,同时也介绍了两种新的序列级知识提炼方式,它们可以进一步提升性能。令人有些惊讶的是,这些方式可以消除对定向搜索(beam search)的需求(即使应用在原始教师模型(teacher model)上)。我们最好的学生模型(student model)在性能稍有损失的情况下运行速度比最好的教师模型速度快 10 倍。它同时大大优于没有知识提炼的基准模型,在贪婪解码(greedy decoding)/ 定向搜索中达到 4.2/1.7 的 BLEU。当学生模型应用了权重修剪(weight pruning)的知识提炼结果时,其参数相比教师模型小 13 倍,同时 BLEU 减少 0.4。

教程

如果你是 Torch 新手,我们准备了 NLP 机器学习研究生班 CS287 的一套教材。这些笔记是由 Sam Wiseman 和 Saketh Rama 准备的,你可以由此获得对 Torch 核心方面的基本了解,接着快速转向一些高级的话题,比如内存使用、神经网络模块的细节和循环神经网络。

© 本文由机器之心编译,转载请联系本公众号获得授权

✄ ------------------------------------------------

加入机器之心(全职记者 / 实习生):hr@almosthuman.cn

投稿或寻求报道:editor@almosthuman.cn

广告 & 商务合作:bd@almosthuman.cn

转载于:https://my.oschina.net/airship/blog/1517707

这篇关于开源 | 哈佛大学九大自然语言处理开源项目(附论文)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/651924

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧