深度学习,知识图谱,nlp学习经历                          
获取信息来源:英文paper研读,吴恩达公开课,Hiton公开课,北大nlp教材,英文最新学术论文,中科院院士技术博客,知识图谱专家课程
自学进修路线:基础理论---专业理论(公开课,讲义,教材,技术博客)---框架原理及使用:sparkMLlib,tensorflow---最新技术,专业理论提升(英文paper研读,算法改进)---NLP、LSTM(句子相似度,双向LSTM分词,语义分析理解,机器翻译)---聊天机器人技术研究
部分研究成果与原创技术博客,请登陆本人的技术博客:www.cnblogs.com/txq157(博客园)
生成式聊天机器人三种问题的解决方案:①上下文:Attention Model的引入②安全回答:更改损失函数为MMI③一致性问题(同义句敏感度问题):在Decoder阶段引入同义句
nlp研发经历
一、中文分词
实验背景:目前深度学习与nlp结合是大势所趋,在深度学习中占据统治地位的是BiLSTM和Attention Model在本人成功改造了IK中文分词,在模拟大容量文本分词时速度提升了30%(2016年初实现)的基础上,目前继续深入研究基于双向LSTM分词以及词性标注,全面取代CRF。
二、Kmeans聚类算法改进
实验背景:提取出文章的关键词,有很多方案。基于深度学习语义理解方向是目前热点,在使用w2v获取到词embedding后,进行词聚类,然后从每个簇中心中抽取出频率最高的词作为文章的关键词是比较不错的方案。基于"相同语境中出现的词语义相近"思想的w2v已经很成功,kmeans聚类算法由于损失函数的非凸性很容易陷入局部最优解,聚类中心的选取方式以及k值的最优解需要改进。
实验成果:经过本人长期不懈的努力,终于改进成功。改进后的效果:①能够使聚类中心的选取更加合理化,能够确定k值的隐式最优解,聚类结果准确率高且稳定②增加数据归一化处理③增加了聚类结果连续存储的归类算法。链接地址:http://www.cnblogs.com/txq157/p/6067098.html
三、文章摘要改进计划:siamese lstm 解决句子相似度                   
实验背景:文章摘要技术用在搜索领域,可以改进搜索性能,节约用户的搜索时间。运用传统的依赖于知识库方法摘取出文章的关键词效果不佳。文章摘要技术,不管采用何种手段,离不开三个核心问题:①计算句子相似度②文摘句抽取③文摘句排序。文章摘要比较理想的效果是抽取出文章中的中心句,而不是特征词的拼凑。因此从语义理解的角度出发,第一种方案,依赖于w2v获取到词embedding,然后累加embedding组成句子,继续累加组成文章语义表示,从中找出与文章语义最接近的句子语义表示。这个方案与传统的统计建模相比,效果显然好很多,但不是最佳方案。把CNN引入到nlp中也是一种方案,但不是最佳方案。语义理解的核心是以句子或者文章为单位进行高阶特征抽取。在垂直搜索领域,lucene底层的文档排重SimHash已经很成功,前提也是抽取文档的特征语句。现在提出一个更接近于理想效果的方案:运用siamese lstm获取到句子的向量(与标准的lstm比较,这些句子的向量具有语义关联),然后累加成文章的语义表示,从中找出与文章语义最相近的句子作为中心句。因此核心问题是siamese lstm解决句子相似度。
深度学习nlp实验
在nlp业内,语义理解和分析一直是难点,之前基于word2vector按照词向量选择每个词的候选词然后组合成语句的方案,时间复杂度高且准确度不够。此次实验目的是探索基于2015年国外最新的研究成果 siamese lstm(区别于标准的lstm),以句子对儿或者文档对儿为输入对象,以句子对儿的exp(-||h1-h2||)为输出,MSE构建loss function,基于ma结构,实验准确度提升到90%以上,如果样本足够科学,人工打分足够精准,准确度还会更高。
搭建tensorflow分布式环境,siamese lstm学术论文的转化,主要是tensorflow 代码实施,模型训练
基于句子对儿的siamese lstm的相似度解决方案的一次成功探索。

关于nlp的一些探索的更多相关文章

  1. NLP点滴——文本相似度

    [TOC] 前言 在自然语言处理过程中,经常会涉及到如何度量两个文本之间的相似性,我们都知道文本是一种高维的语义空间,如何对其进行抽象分解,从而能够站在数学角度去量化其相似性.而有了文本之间相似性的度 ...

  2. NLP+语义分析(四)︱中文语义分析研究现状(CIPS2016、角色标注、篇章分析)

    摘录自:CIPS2016 中文信息处理报告<第二章 语义分析研究进展. 现状及趋势>P14 CIPS2016> 中文信息处理报告下载链接:http://cips-upload.bj. ...

  3. NLP︱词向量经验总结(功能作用、高维可视化、R语言实现、大规模语料、延伸拓展)

    R语言由于效率问题,实现自然语言处理的分析会受到一定的影响,如何提高效率以及提升词向量的精度是在当前软件环境下,比较需要解决的问题. 笔者认为还存在的问题有: 1.如何在R语言环境下,大规模语料提高运 ...

  4. 请收好这份NLP热门词汇解读

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 微软研究院AI头条 编者按:在过去的一段时间,自然语言处理领域取得了许多重要的进展,Tran ...

  5. NLP&深度学习:近期趋势概述

    NLP&深度学习:近期趋势概述 摘要:当NLP遇上深度学习,到底发生了什么样的变化呢? 在最近发表的论文中,Young及其同事汇总了基于深度学习的自然语言处理(NLP)系统和应用程序的一些最新 ...

  6. 图解BERT(NLP中的迁移学习)

    目录 一.例子:句子分类 二.模型架构 模型的输入 模型的输出 三.与卷积网络并行 四.嵌入表示的新时代 回顾一下词嵌入 ELMo: 语境的重要性 五.ULM-FiT:搞懂NLP中的迁移学习 六.Tr ...

  7. NLP入门(五)用深度学习实现命名实体识别(NER)

    前言   在文章:NLP入门(四)命名实体识别(NER)中,笔者介绍了两个实现命名实体识别的工具--NLTK和Stanford NLP.在本文中,我们将会学习到如何使用深度学习工具来自己一步步地实现N ...

  8. NLP是什么

    NLP是什么 而在计算机领域, NLP(Natural Language Processing),也就是人们常说的「自然语言处理」,就是研究如何让计算机读懂人类语言. 这包括,既要能让计算机理解自然语 ...

  9. 聊天机器人(chatbot)终极指南:自然语言处理(NLP)和深度机器学习(Deep Machine Learning)

    在过去的几个月中,我一直在收集自然语言处理(NLP)以及如何将NLP和深度学习(Deep Learning)应用到聊天机器人(Chatbots)方面的最好的资料. 时不时地我会发现一个出色的资源,因此 ...

随机推荐

  1. ForkJoin和流式操作

    Fork/Join框架:在必要的情况下,将一个大任务,进行拆分(fork) 成若干个子任务(拆到不能再拆,这里就是指我们制定的拆分的临界值),再将一个个小任务的结果进行join汇总. 采用juc包的f ...

  2. vue组件、自定义指令、路由

    1.vue组件 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的 ...

  3. docker系列之二:构建docker容器

    1.创建在FlaskApp/app中创建Flask项目: 2.生成web项目所需的运行环境:pip3 freeze > ../requirements.txt 3.编辑Dockerfile: # ...

  4. H5 选择图片上传及预览

    <div class="sctp"> <img src="img/sczp.png" id="photo" alt=&qu ...

  5. mvc5 源码解析2-2 mvchandler的执行

    我们从application获取的时候查看stepmanager的实现类 IHttpHandler applicationInstance = HttpApplicationFactory.GetAp ...

  6. 我为什么学习Haskell

    说起来,Haskell真是相当冷门而小众的一门语言.在我工作第一年的时候,我平时从网络的一些学习资料上时不时看到有人提到这门语言.那时候的认识就是除了我们平时用的“面向对象语言 (OOP: Objec ...

  7. 第一阶段:Java基础 1.JAVA开发介绍---1.常用的DOS命令

    一,DOS使用常识 DOS的概况:DOS(Disk Operating System)是一个使用得十分广泛的磁盘操作系统.DOS的概况 常见的DOS有两种:IBM公司的PC-DOS和微软公司的MS-D ...

  8. Spring事件监听机制

    前言 Spring中的事件机制其实就是设计模式中的观察者模式,主要由以下角色构成: 事件 事件监听器(监听并处理事件) 事件发布者(发布事件) 首先看一下监听器和发布者的接口定义 public int ...

  9. List转换数组 数组转换List

    数组转List package listtoArray; import java.util.ArrayList;import java.util.Arrays;import java.util.Col ...

  10. Game Engine Architecture 12

    [Game Engine Architecture 12] 1.the field of physics is vast, and what most of today’s game engines ...