自然语言处理从入门到进阶资代码资源库

RunMews 2023-05-02 20:33:34

6.1 基础教程

6.1.1 以NLP为主题的教程:DeepLearningForNLPInPytorch

6.1.2 从RNN出发的NLP教程:Practial Pytorch with Topic RNN & NLP

6.1.3 资源集合:Deep Learning for NLP resources

6.1.4 NLP解决方案集合:Solving NLP tasks using Deep Learning

6.2 工具

6.2.1 清华大学NLP实验室GitHub小站

6.2.2 复旦大学NLP实验室GitHub小站

6.2.3 中科院Kaggle全球文本匹配获奖项目

6.2.4 汉语处理工具包:Han Language Processing

6.2.5 Ansj中文分词

6.2.6 语句相似度计算:FuzzyWuzzy

6.3 机器翻译

6.3.1 基于PyTorch的机器翻译系统:PyOpenNMT

6.3.2 谷歌的注意力机制模型:Attention is all you need

6.3.3 可复用Seq2Seq模型:Sequence to Sequence Learning with Keras

6.3.4 机器翻译中的自动对齐方法

6.4 可交谈机器人

6.4.1 维基百科问答机器人:DrQA

6.4.2 剑桥的餐厅推荐机器人:NNDIAL

6.4.3 一个中文聊天机器人:chatbot-zh-torch7

6.4.4 一个英文聊天机器人:Deep Q&A

6.4.5 脸书的谈判机器人:Deal or No Deal?

6.4.6 可推理问答机器人:memnn

6.4.7 用端到端的记忆做QA:End-To-End Memory Networks

6.4.8 建立在人工数据集上的问答系统:bAbI tasks

6.4.9 问我啥都行:Dynamic Memory Networks for NLP

6.4.10 基于强化学习的聊天机器人:KB-InfoBot

基础教程

以NLP为主题的教程:DeepLearningForNLPInPytorch

一套以 NLP 为主题的 PyTorch 基础教程。本教程使用Ipython Notebook编写,看起来很直观,方便学习。

从RNN出发的NLP教程:Practial Pytorch with Topic RNN & NLP

以 RNN for NLP 为出发点的 PyTorch 基础教程,分为“RNNs for NLP”和“RNNs for timeseries data”两个部分。

资源集合:Deep Learning for NLP resources

一套以NLP为主题的资源集合,其中包括了大量NLP相关的文章、博客。

NLP解决方案集合:Solving NLP tasks using Deep Learning

一些使用深度学习解决自然语言处理问题的集合,内容包主体识别、文本理解、机器翻译等,有相当的参考价值

工具

清华大学NLP实验室GitHub小站

著名的清华大学NLP实验室的GitHub站点,其中有知识图谱TransX的模型实现,一些必读的NLP Paper资源,以及一些中文语言处理的工具。

复旦大学NLP实验室GitHub小站

著名的福大大学NLP实验室的GitHub站点,其中提供了一套用于中文语言处理的工具,以及一个2016年微博分词的数据集

中科院Kaggle全球文本匹配获奖项目

16-中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程。

汉语处理工具包:Han Language Processing

HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。

Ansj中文分词

ansj分词.ict的真正java实现.分词效果速度都超过开源版的ict. 中文分词,人名识别,词性标注,用户自定义词典

语句相似度计算:FuzzyWuzzy

可以在多种尺度上比较两句话的相似度,比如fuzz.ratio("this is a test", "this is a test!") output:97。

机器翻译

基于PyTorch的机器翻译系统:PyOpenNMT

一套由PyTorch实现的机器翻译系统。

谷歌的注意力机制模型:Attention is all you need

Google Research 著名论文《Attention is all you need》的PyTorch实现。

可复用Seq2Seq模型:Sequence to Sequence Learning with Keras

一套可以结合到自己网络中的Seq2Seq模型,使用起来非常灵活,可以直接使用,也可以集成在自己的网络中,且有多级别的Seq2Seq模型可以选择使用。

机器翻译中的自动对齐方法

不同于传统的统计机器翻译系统,神经机器翻译完全采用大规模的神经网络模型。而大多数神经机器翻译方法均采用encoder-decoder模式,将源文本编码成固定长度的向量化表示。问题是随着句子长度增长,基于此模式的翻译性能大幅度恶化。为避免此问题,本方法在encoder-decoder模式中融入一种自动对齐策略。相关论文:《Neural Machine Translation by Jointly Learning to Align and Translate》。

可交谈机器人

维基百科问答机器人:DrQA

一个基于维基百科的开放域问题问答系统

剑桥的餐厅推荐机器人:NNDIAL

一个中文聊天机器人:chatbot-zh-torch7

一个开放领域的聊天机器人,使用中文训练。

一个英文聊天机器人:Deep Q&A

一个基于论文《A neural conversational model》实现的聊天机器人,在GitHub上挺有名的。

脸书的谈判机器人:Deal or No Deal?

Facebook AI Research 论文《Deal or No Deal? End-to-End Learning for Negotiation Dialogues》的 PyTorch 实现。开放了数据集,支持使用自然语言与人谈判,还支持以强化学习的方式自我学习。

可推理问答机器人:memnn

memnn的一个官方实现。可以根据文字描述,针对描述中的实体进行推理问答。

用端到端的记忆做QA:End-To-End Memory Networks

类似于《Memory Networks》的工作,采用Recurrent attention model + large external memory,然而本工作采用一种End-to-end模式进行训练,无需知道背景信息中哪些是支撑事实。更适用于实际场景。采用一种神经机器翻译策略的扩展方法。该模型可灵活地解决QA问题(对比Memory Networks)及语言建模问题(对比RNN和LSTM)。

建立在人工数据集上的问答系统:bAbI tasks

Facebook Research 认为QA系统应该先在人造数据集上取得突破性进展才能比较好的应用于开放域非人造数据集中。当现实数据不够大时,研究方法通常会设计较为复杂的方法并陷入局部收敛问题中,而设计一种人造数据是避免此问题一种比较好的途径。

传统的对话是很难评估的,这是AI的长远问题,而问答系统中对问题的响应是比较容易评估的。

传统的QA方法是基于大规模知识库,并采用人工构造模版及特征。

对之前的MemNNs的一些问题进行改进。

问我啥都行:Dynamic Memory Networks for NLP

提出了一个Dynamic Memory Network,

Input:所有evidence句子作为sequence过GRU,有几个句子就生成几个hidden state;

Question:一句话,过GRU;

Episode: 以question output作为初始化,每次(共TM[Math Processing Error]次)过一轮GRU;

Answer:用mTM[Math Processing Error]作为初始化,根据具体情况决定输出y1...yn[Math Processing Error]还是yn[Math Processing Error]。

基于强化学习的聊天机器人:KB-InfoBot


每一个HTML文档中,都有一个不可或缺的标签:<head>,在几乎所有的HTML文档里, 我们都可以看到类似下面这段代码:

html{color:#000;overflow-y:scroll;overflow:-moz-scrollbars}
body,button,input,select,textarea{font-size:12px;font-family:Arial,sans-serif}
h1,h2,h3,h4,h5,h6{font-size:100%}
em{font-style:normal}
small{font-size:12px}
ol,ul{list-style:none}
a{text-decoration:none}
a:hover{text-decoration:underline}
legend{color:#000}
fieldset,img{border:0}
button,input,select,textarea{font-size:100%}
table{border-collapse:collapse;border-spacing:0}
img{-ms-interpolation-mode:bicubic}
textarea{resize:vertical}
.left{float:left}
.right{float:right}
.overflow{overflow:hidden}
.hide{display:none}
.block{display:block}
.inline{display:inline}
.error{color:red;font-size:12px}
button,label{cursor:pointer}
.clearfix:after{content:'\20';display:block;height:0;clear:both}
.clearfix{zoom:1}
.clear{clear:both;height:0;line-height:0;font-size:0;visibility:hidden;overflow:hidden}
.wordwrap{word-break:break-all;word-wrap:break-word}
.s-yahei{font-family:arial,'Microsoft Yahei','微软雅黑'}
pre.wordwrap{white-space:pre-wrap}
body{text-align:center;background:#fff;width:100%}
body,form{position:relative;z-index:0}
td{text-align:left}
img{border:0}
#s_wrap{position:relative;z-index:0;min-width:1000px}
#wrapper{height:100%}
#head .s-ps-islite{_padding-bottom:370px}
#head_wrapper.s-ps-islite{padding-bottom:370px}#head_wrapper.s-ps-islite #s_lm_wrap{bottom:298px;background:0 0!important;filter:none!important}#head_wrapper.s-ps-islite .s_form{position:relative;z-index:1}#head_wrapper.s-ps-islite .fm{position:absolute;bottom:0}#head_wrapper.s-ps-islite .s-p-top{position:absolute;bottom:40px;width:100%;height:181px}#head_wrapper.s-ps-islite #s_lg_img,#head_wrapper.s-ps-islite#s_lg_img_aging,#head_wrapper.s-ps-islite #s_lg_img_new{position:static;margin:33px auto 0 auto}.s_lm_hide{display:none!important}#head_wrapper.s-down #s_lm_wrap{display:none}.s-lite-version #m{padding-top:125px}#s_lg_img,#s_lg_img_aging,#s_lg_img_new{position:absolute;bottom:10px;left:50%;margin-left:-135px}<head><meta charset=utf-8><meta http-equiv=content-type content=text/html; charset=utf-8><meta name=renderer content=webkit/><meta name=force-rendering content=webkit/><meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1/><metahttp-equiv=Content-Typecontent=www.zyhsqjfw.com;charset=gb2312><meta name=viewport content=width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no></head>.s-ps-sug table{width:100%;background:#fff;cursor:default}.s-ps-sug td{color:#000;font:14px arial;height:25px;line-height:25px;padding:0 8px}.s-ps-sug td b{color:#000}.s-ps-sug .mo{background:#ebebeb;cursor:pointer}.s-ps-sug .ml{background:#fff}.s-ps-sug td.sug_storage{color:#7a77c8}.s-ps-sug td.sug_storage b{color:#7a77c8}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .mo .sug_del{display:block}
.s-ps-sug .sug_ala{border-bottom:1px solid #e6e6e6}

head标签作为一个容器,主要包含了用于描述 HTML 文档自身信息(元数据)的标签,这些标签一般不会在页面中被显示出来。

...全文
12 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

19

社区成员

发帖
与我相关
我的任务
社区描述
关注我,ITX带你飞( •̀ ω •́ )
社区管理员
  • InterspaceITX
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧