我的NLP学习进展
如何设计出一个更work的task-specific的网络?
自然语言处理(简称NLP),是研究计算机处理人类语言的一门技术,包括:
1.句法语义分析:对于给定的句子,进行分词、词性标记、命名实体识别和链接、句法分析、语义角色识别和多义词消歧。
2.信息抽取:从给定文本中抽取重要的信息,比如,时间、地点、人物、事件、原因、结果、数字、日期、货币、专有名词等等。通俗说来,就是要了解谁在什么时候、什么原因、对谁、做了什么事、有什么结果。涉及到实体识别、时间抽取、因果关系抽取等关键技术。
3.文本挖掘(或者文本数据挖掘):包括文本聚类、分类、信息抽取、摘要、情感分析以及对挖掘的信息和知识的可视化、交互式的表达界面。目前主流的技术都是基于统计机器学习的。
4.机器翻译:把输入的源语言文本通过自动翻译获得另外一种语言的文本。根据输入媒介不同,可以细分为文本翻译、语音翻译、手语翻译、图形翻译等。机器翻译从最早的基于规则的方法到二十年前的基于统计的方法,再到今天的基于神经网络(编码-解码)的方法,逐渐形成了一套比较严谨的方法体系。
5.信息检索:对大规模的文档进行索引。可简单对文档中的词汇,赋之以不同的权重来建立索引,也可利用1,2,3的技术来建立更加深层的索引。在查询的时候,对输入的查询表达式比如一个检索词或者一个句子进行分析,然后在索引里面查找匹配的候选文档,再根据一个排序机制把候选文档排序,最后输出排序得分最高的文档。
6.问答系统: 对一个自然语言表达的问题,由问答系统给出一个精准的答案。需要对自然语言查询语句进行某种程度的语义分析,包括实体链接、关系识别,形成逻辑表达式,然后到知识库中查找可能的候选答案并通过一个排序机制找出最佳的答案。
7.对话系统:系统通过一系列的对话,跟用户进行聊天、回答、完成某一项任务。涉及到用户意图理解、通用聊天引擎、问答引擎、对话管理等技术。此外,为了体现上下文相关,要具备多轮对话能力。同时,为了体现个性化,要开发用户画像以及基于用户画像的个性化回复。
- 简单的任务:拼写检查,关键词检索,同义词检索等
- 复杂一点的任务:信息提取(比如从网页中提取价格,产地,公司名等信息),情感分析,文本分类等
- 更复杂的任务:机器翻译,人机对话,QA系统
中英文差异:汉语重义合,英语重形合
Google Colab: [《Google Colab配置记录》](md/Google Colab配置记录.md)
深度学习服务器:《服务器运维知识整理》
Win10下的环境搭建:
Win10下安装Anaconda+CUDA+cudnn+TensorFlow+keras+PyTorch+Pycharm
NLP研究入门之道:https://github.com/zibuyu/research_tao
复旦NLP实验室NLP上手教程:https://github.com/FudanNLP/nlp-beginner
Information-Extraction-Chinese: 中文实体识别与关系提取
SnowNLP: Simplified Chinese Text Processing
NLP工具包大全 :https://github.com/fighting41love/funNLP
ChineseNER:https://github.com/zjy-ucas/ChineseNER
算法/深度学习/NLP面试笔记:https://github.com/imhuay/Algorithm_Interview_Notes-Chinese
NLP-BERT 谷歌自然语言处理模型:BERT-基于pytorch:https://github.com/Y1ran/NLP-BERT--ChineseVersion
text_classification:https://github.com/brightmart/text_classification
cocoNLP : https://github.com/fighting41love/cocoNLP
人名、地址、邮箱、手机号、手机归属地 等信息的抽取,rake短语抽取算法。
Chinese Word Vectors 中文词向量:https://github.com/Embedding/Chinese-Word-Vectors
基于医疗领域知识图谱的问答系统:https://github.com/zhihao-chen/QASystemOnMedicalGraph
https://github.com/zhihao-chen/QASystemOnMedicalKG
Eliyar.Blog:https://eliyar.biz/archives/
Kashgari:https://github.com/BrikerMan/Kashgari
bert-as-service :https://github.com/hanxiao/bert-as-service
CDCS 中国数据竞赛优胜解集锦:https://github.com/geekinglcq/CDCS
HanLP:https://github.com/hankcs/pyhanlp 词性标注
awesome-chinese-nlp:https://github.com/crownpku/Awesome-Chinese-NLP
all kinds of text classification models:https://github.com/brightmart/text_classification
刘焕勇:https://liuhuanyong.github.io/
Machine Learning Mastery 博客文章翻译:https://github.com/apachecn/ml-mastery-zh
Tensorflow练习:斗大的熊猫http://blog.topspeedsnail.com/
NER中文语料:https://github.com/yaleimeng/NER_corpus_chinese
CCKS2017电子病历实体标注:https://github.com/liuhuanyong/MedicalNamedEntityRecognition
100+ Chinese Word Vectors 上百种预训练中文词向量:https://github.com/Embedding/Chinese-Word-Vectors
天池瑞金知识图谱:https://github.com/ZhengZixiang/tianchi_ruijin_knowledge_graph
ChineseNLPCorpus:https://github.com/liuhuanyong/ChineseNLPCorpus
re: 用re.sub做文本预处理
jieba:《jieba知识整理》
word2vec: 《word2vec知识整理》
文本去重:《文本去重方法知识整理》
pyhanlp:https://github.com/hankcs/pyhanlp
词云:
itchat:
Neo4j:知识图谱工具Py2Neo Neo4j简介及Py2Neo的用法
Levenshtein Distance:字符串相似度算法,纠正错误拼写
爬虫:《爬虫学习笔记》
- 静觅:崔庆才的博客 https://cuiqingcai.com/
BERT:
- 团队预训练好的BERT-base Chinese模型(364.20MB)
- BERT
- 干货 | BERT fine-tune 终极实践教程
- 【NLP】BERT中文实战踩坑
- bert论文中文翻译: link
- bert原作者的slides: link 提取码: iarj
- 文本分类实践: github
- bert tutorial文本分类教程: github
- bert pytorch实现: github
- bert用于中文命名实体识别 tensorflow版本: github 说明文档
- 使用预训练语言模型BERT做中文NER:github
- BERT生成句向量,BERT做文本分类、文本相似度计算github BERT完全指南
- bert 基于 keras 的封装分类标注框架 Kashgari,几分钟即可搭建一个分类或者序列标注模型: github
- bert、ELMO的图解: github
- BERT: Pre-trained models and downstream applications: github
- 使用BERT生成句向量:link
- bert-as-service: github https://zhuanlan.zhihu.com/p/50582974
- 用BERT进行序列标记和文本分类的模板代码:github
文本表示:《文本表示知识整理》
中文聊天机器人:《聊天机器人知识整理》
-
DeepPavlov:https://github.com/deepmipt/DeepPavlov
智能问答算法
不同细分问题间存在交集,比如部分意图识别和情感分析问题也可归为文本分类问题来解决
NER (Named Entity Recognition,命名实体识别):
意图识别:《意图识别知识整理》
文本分类:《文本分类知识整理》
自然语言生成NLG:
- Ehud Reiter教授的博客 北大万小军教授强力推荐,该博客对NLG技术、评价与应用进行了深入的探讨与反思。
- 文本生成相关资源大列表
- 自然语言生成:让机器掌握自动创作的本领 - 开放域对话生成及在微软小冰中的实践
- 文本生成控制
Data Science Challenge / Competition Deadlines
Data competition Top Solution 数据竞赛Top解决方案开源整理
项目名称 | 中文名称 | 项目技术点 | 状态 |
---|---|---|---|
Biosan-service-upgrade-2019 | Biosan维修部维护效率提升项目 | 机器学习,文本挖掘 | 施工中 |
easyNER | 任务指向型端到端NER框架 | 命名实体识别 | 施工中 |
fatface5 | 给女朋友用的微信聊天机器人搭建 | 语义理解,知识图谱,意图识别,API | 施工中 |
douban-group-corpus-spider | 简易豆瓣小组语料爬虫 | 爬虫 | 施工中 |