经常有人问我:老大让我完成xxx,我不会,他也不会,但是很着急。这个任务怎么实现啊?这个任务需要什么技术啊?这种情况我遇到有100+次了,而且很多时候问得问题跟具体需要的技术简直是驴唇不对马嘴。所以今天整理了常见的30种NLP任务非常适合练手的Project,我觉得有俩作用:研究+练手,加深理解,做到更专业;收藏起来,以备不时之需,不敢保证涵盖工业界所有NLP业务场景,但是涵盖95+%以上是完全没问题的。
还有一个原因,马上周末了,我发现大部分人周五晚上开始到周一上午都不看技术相关的内容,今天本来不打算发,但是被催更,那就发点不用过多思考的实践类的吧。如果精力充沛或是单身,最好周末还是保持学习状态,毕竟技术是无止境的,真的需要积累。
首先声明下,今天发的这些Project都是类似论文实现那样的demo级的,也不是传统的工程实现,用的方法一般比工业界的高端,非常适合练手用。
1.分词 Word Segmentation
chqiwang/convseg ,基于CNN做中文分词,提供数据和代码。
对应的论文Convolutional Neural Network with Word Embeddings for Chinese Word Segmentation IJCNLP2017.
2.词预测 Word Prediction
Kyubyong/word_prediction ,基于CNN做词预测,提供数据和代码。
3. 文本蕴涵 Textual Entailment
Steven-Hewitt/Entailment-with-Tensorflow,基于Tensorflow做文本蕴涵,提供数据和代码。
4. 语音识别 Automatic Speech Recognition
buriburisuri/speech-to-text-wavenet,基于DeepMind WaveNet和Tensorflow做句子级语音识别。
5. 自动摘要 Automatic Summarisation
PKULCWM/PKUSUMSUM,北大万小军老师团队的自动摘要方法汇总,包含了他们大量paper的实现,支持单文档摘要、多文档摘要、topic-focused多文档摘要。
6. 文本纠错 Text Correct
atpaino/deep-text-corrector,基于深度学习做文本纠错,提供数据和代码。
7.字音转换 Grapheme to Phoneme
cmusphinx/g2p-seq2seq,基于网红transformer做, 提供数据和代码。
8. 复述检测 Paraphrase Detection 和 问答 Question Answering
Paraphrase-Driven Learning for Open Question Answering, 基于复述驱动学习的开放域问答。
9. 音汉互译 Pinyin-To-Chinese
Kyubyong/neural_chinese_transliterator,基于CNN做音汉互译。
10. 情感分析 Sentiment Analysis
情感分析包括的内容太多了,目前没发现比较全的。推荐两个适合练手的吧:Deeply Moving: Deep Learning for Sentiment Analysis,http://sentic.net/about/。
11. 手语识别 Sign Language Recognition
Home - SignAll, 该项目在手语识别做的非常成熟。
12. 词性标注(POS)、 命名实体识别(NER)、 句法分析(parser)、 语义角色标注(SRL) 等。
HIT-SCIR/ltp, 包括代码、模型、数据,还有详细的文档,而且效果还很好。
13. 词干 Word Stemming
snowballstem/snowball, 实现的词干效果还不错。
14. 语言识别 Language Identification
https://github.com/saffsd/langid.py,语言识别比较好的开源工具。
15. 机器翻译 Machine Translation
OpenNMT/OpenNMT-py, 基于PyTorch的神经机器翻译,很适合练手。
16. 复述生成 Paraphrase Generation
vsuthichai/paraphraser,基于Tensorflow的句子级复述生成,适合练手。
17. 关系抽取 Relationship Extraction
ankitp94/relationship-extraction,基于核方法的关系抽取。
18. 句子边界消歧 Sentence Boundary Disambiguation
https://github.com/Orekhov/SentenceBreaking,很有意思。
19.事件抽取 Event Extraction
liuhuanyong/ComplexEventExtraction, 中文复合事件抽取,包括条件事件、因果事件、顺承事件、反转事件等事件抽取,并形成事理图谱。
20. 词义消歧 Word Sense Disambiguation
alvations/pywsd,代码不多,方法简单,适合练手。
21. 命名实体消歧 Named Entity Disambiguation
dice-group/AGDISTIS,实体消歧是很重要的,尤其对于实体融合(比如知识图谱中多源数据融合)、实体链接。
22. 幽默检测 Humor Detection
23. 讽刺检测 Sarcasm Detection
AniSkywalker/SarcasmDetection,基于神经网络的讽刺检测。
24. 实体链接 Entity Linking
hasibi/EntityLinkingRetrieval-ELR, 实体链接用途非常广,非常适合练手。
25. 指代消歧 Coreference Resolution
huggingface/neuralcoref,基于神经网络的指代消歧。
26. 关键词/短语抽取和社会标签推荐 Keyphrase Extraction and Social Tag Suggestion
thunlp/THUTag, 用多种方法 实现了多种关键词/短语抽取和社会标签推荐。
常见26种NLP任务的练手项目的更多相关文章
-
新手必备|常见30种NLP任务的练手项目(文末福利)
1.分词 Word Segmentationchqiwang/convseg ,基于CNN做中文分词,提供数据和代码. 2.词预测 Word PredictionKyubyong/word_predi ...
-
适合Python的5大练手项目, 你练了么?
在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? 首先有两点建议: 最好不要写太应用的程序练手,要思考什么更像是知识,老只会写写爬虫是无用的,但是完全不写也不行. 对于练手的程序,要注意简化 ...
-
适合Python 新手的5大练手项目,你练了么?
接下来就给大家介绍几种适合新手的练手项目. 0.算法系列-排序与查找 Python写swap很方便,就一句话(a, b = b, a),于是写基于比较的排序能短小精悍.刚上手一门新语言练算法最合适不过 ...
-
web前端学习部落22群分享给需要前端练手项目
前端学习还是很有趣的,可以较快的上手然后自己开发一些好玩的项目来练手,网上也可以一抓一大把关于前端开发的小项目,可是还是有新手在学习的时候不知道可以做什么,以及怎么做,因此,就整理了一些前端项目教程, ...
-
练手项目之image caption问题记录
小白一个,刚刚费了老大的劲完成一个练手项目--image caption,虽然跑通了,但是评估结果却惨不忍睹.于是贴上大神的作品,留待日后慢慢消化.顺便记录下自己踩坑的一些问题. 先膜拜下大神的作品. ...
-
去哪找Java练手项目?
经常有读者在微信上问我: 在学编程的过程中,看了不少书.视频课程,但是看完.听完之后感觉还是不会编程,想找一些项目来练手,但是不知道去哪儿找? 类似的问题,有不少读者问,估计是大部分人的困惑. 练手项 ...
-
Python之路【第二十四篇】:Python学习路径及练手项目合集
Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Py ...
-
微信小程序初体验,入门练手项目--通讯录,后台是阿里云服务器(一)
内容: 一.前言 二.相关概念 三.开始工作 四.启动项目起来 五.项目结构 六.设计理念 七.路由 八.部署线上后端服务 同步交流学习社区: https://www.mwcxs.top/page/4 ...
-
推荐:一个适合于Python新手的入门练手项目
随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...
随机推荐
-
JavaScript之命名空间模式 浅析
来源于:http://www.cnblogs.com/syfwhu/p/4885628.html 前言 命名空间可以被认为是唯一标识符下代码的逻辑分组.为什么会出现命名空间这一概念呢?因为可用的单词数 ...
-
Java并发编程:进程和线程之由来
Java多线程基础:进程和线程之由来 在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程.当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通 ...
-
【iCore3 双核心板_FPGA】例程九:状态机实验——状态机使用
实验指导书及代码包下载: http://pan.baidu.com/s/1o72i3mq iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
-
Java管道流
管道流的主要作用可以用于两个线程之间的通信,有管道输出流 PipeOutputStream和管道输入流 PipeInputStream.然后通过connect将两个管道连接起来. import jav ...
-
spring依赖注入源码分析和mongodb自带连接本地mongodb服务逻辑分析
spring依赖注入本质是一个Map结构,key是beanId,value是bean对应的Object. autowired是怎么将定义的接口与对应的bean类建立联系? <bean name= ...
-
css中的列表样式
在网页设计中,我们经常将某些具有相似功能的标签放在同一组中,这时我们经常会用到列表标签(无序列表ul,有序列表ol),在列表标签中对列表样式的设计可以使我们的页面得到一定程度的美化. 在css中对列表 ...
-
【Solution】API测试工具,访问方式
1. post的时候,@requestBody 用 json的传递方式
-
Java Web开发中的乱码问题
POST方法乱码: 1:存在乱码的示例: 前端页面: <%@ page language="java" contentType="text/html; charse ...
-
rocketmq中的NettyRemotingClient类的简单分析
rocketmq中的NettyRemotingClient类的简单分析 Bootstrap handler = this.bootstrap.group(this.eventLoopGroupWork ...
-
vue国际化插件
1.安装 $ npm install vue-i18n 2.引入 import VueI18n from 'vue-i18n' Vue.use(VueI18n) const i18n = new Vu ...