主题模型

自然语言处理-主题模型

强颜欢笑 提交于 2020-04-08 12:06:01
主题模型理论(LDA): 一篇文章的每个词都是以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语而组成的。 P(单词|文档)=P(单词|主题)*P(主题|文档) 对于语料库中的每篇文档,LDA定义了如下生成过程(generative process): 1.对每篇文档,从主题分布中抽取一个主题; 2.从上述被抽到的主题所对应的单词分布中抽取一个单词; 3.重复上述过程直至文档中的每一个单词。 w代表单词,d代表文档,t代表主题;大写代表总集合,小写代表个体。 所以,LDA的核心公式如下: P(w|d)=P(w|t)*P(t|d) 直观地看这个公式,就是以Topic作为中间层,可以通过计算当前文档d中出现单词w的概率P(w|d)。实际应用中,更多的是求P(t|d),我们可以为一个文档中的一个单词计算它对应任意一个topic时的p(w|d),然后根据这些结果来更新这个词应该对应的topic。如果这个更新改变了这个单词所对应的topic,就会反过来影响P(w|t)和P(t|d)。 我们通过观测,得到了“知道主题是什么,就用什么单词”的文本生成模型,那么根据贝叶斯定律,我们就可以反过来推出“看见用什么单词,我就知道主题是什么”。 PLSA根LDA的本质区别就在于它们去估计未知参数所采用的思想不同,前者用的是频率派思想,后者用的是贝叶斯派思想。 来源: 51CTO 作者:

建模的技巧及优化

£可爱£侵袭症+ 提交于 2020-04-08 03:29:16
建立模型应该考虑的几个问题 数 据仓库建模质量直接影响数据仓库项目的质量,甚至成败。在进行建模之前,要对数据仓库的规模、组成及模型不同部分的功能定位有明确的定义。影响数据仓库建 模的因素众多,且根据不同项目的具体情况而变化口下面的几个问题是较为通用和常见的,远远不是建立模型应该考虑的全部问题。 数据仓库的业务特点对建模的要求 1 数据仓库的数据组织是面向主题的,而不是面向报表的 数据仓库是面向业务分析的主要主题领域的,进行形成数据模型的定义。典型的主题领域主要包括: · ·顾客购买行为 · ·产品销售情况 · ·企业生产事务 · ·原料采购 · ·合作伙伴关系 · ·会计科目余额 要 对现有的报表需求进行细致的分类、分析和调整,不能为了实现单个报表而进行大量的建模工作。要根据分析的不同内容和主题对报表进行分类,明确报表中每一个 数据的定义、统计口径及不同数据之间的关系,建立在整个数据仓库内统一的数据指标的定义,将数据指标按分析主题及分析维度进行归集,从而形成面向主题的数 据模型。 例如:我们的利润表报表,当业务部门发我们一个利润表 的报表,作为需求时,我们应该进行细致的分析,最终我们确定我们面向的主题不是利润表,而是比利润表更大的一个层次的所有科目业务量的主题,这样我们在做 别的报表,例如资产负债表,现金流量表等报表时,就不用重复建模的工作了,做到了软件工程中的可重用规则。 2.

02.JMS基础

北战南征 提交于 2020-04-06 11:35:55
1.面向消息的中间件(MOM) 1.什么是MOM 面向消息的中间件,Message Oriented Middleware,简称MOM,中文简称消息中间件,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。 一个MOM系统,通常会包括客户端(Clients)、消息(Message)和 MOM,客户端是发送或者接受消息的应用程序,消息封装了要传递的内容,MOM可以存储和转发消息。如下图所示,系统A和系统B之间的消息传递,不是直接通信,而是通过中间件来间接的传递 2.MOM的好处 降低系统间通信复杂度:有了MOM,系统间的通信,不用考虑系统是什么语言开发的,也不用考虑复杂的网络编程,各个系统只需要关心自身和MOM之间如何进行消息的接受和发送即可,这些操作通过简单的API就可以完成。 提高了消息的灵活性:系统A通过MOM向系统B发送消息,消息可以存储在MOM中,并由MOM转发。即使是系统B不在线,MOM会持有这个消息,直到系统B连接并处理消息。这就是说,系统A发完消息后,就可以执行其它操作,而不必阻塞等待,尤其是对那些时间无关或者并行处理的操作,非常适用。 松散耦合:有了MOM的存在,对于系统B而言,只要发送的消息没有变化,就不必考虑系统A的变化。A系统的代码改变,不会影响到B系统,反之亦然。 2.JMS基本概念 1.JMS是什么 Java消息服务

文本主题模型之潜在语义索引(LSI)

ぃ、小莉子 提交于 2020-03-29 07:43:42
    在文本挖掘中,主题模型是比较特殊的一块,它的思想不同于我们常用的机器学习算法,因此这里我们需要专门来总结文本主题模型的算法。本文关注于潜在语义索引算法(LSI)的原理。 1. 文本主题模型的问题特点     在数据分析中,我们经常会进行非监督学习的聚类算法,它可以对我们的特征数据进行非监督的聚类。而主题模型也是非监督的算法,目的是得到文本按照主题的概率分布。从这个方面来说,主题模型和普通的聚类算法非常的类似。但是两者其实还是有区别的。     聚类算法关注于从样本特征的相似度方面将数据聚类。比如通过数据样本之间的欧式距离,曼哈顿距离的大小聚类等。而主题模型,顾名思义,就是对文字中隐含主题的一种建模方法。比如从“人民的名义”和“达康书记”这两个词我们很容易发现对应的文本有很大的主题相关度,但是如果通过词特征来聚类的话则很难找出,因为聚类方法不能考虑到到隐含的主题这一块。     那么如何找到隐含的主题呢?这个一个大问题。常用的方法一般都是基于统计学的生成方法。即假设以一定的概率选择了一个主题,然后以一定的概率选择当前主题的词。最后这些词组成了我们当前的文本。所有词的统计概率分布可以从语料库获得,具体如何以“一定的概率选择”,这就是各种具体的主题模型算法的任务了。     当然还有一些不是基于统计的方法,比如我们下面讲到的LSI。 2. 潜在语义索引(LSI)概述    

Dialogue System Survey——Non-task-oriented 翻译

匆匆过客 提交于 2020-03-07 18:40:08
论文地址 参考文献请查看论文。 无任务导向对话系统 与旨在为用户完成特定任务的任务导向对话系统不同,无任务导向对话系统(也称为聊天机器人)集中于在多领域中与人类交谈[64]。总体上,聊天机器人有生成方法generative method或者基于检索的方法retrieval-based method。生成模型可以生成在语料库corpus中从未出现过的、更为合理的回复,而检索方法更注重流畅、信息丰富的回复[30],因为它们可以使用回复选择算法response selection algorithm从语料库中选择合适于当前对话的回复。在之后的部分中,我们首先探索近年来的最热门的话题之一——神经生成模型,讨论了他们的缺点和提升可能性。之后,我们介绍了在检索模型中深度学习取得的成就。 1. 神经生成模型 近年来,诸如推特、reddit等社交媒体网站存在大量的对话式交换,从而发展了数据驱动模型data-driven model。[64]给出了一种生成概率模型,建立在基于短语基础上的统计机器翻译statistical machine translation[118],去模拟微博上的对话。它视生成回复问题为翻译问题,将一条微博翻译成一个回复。但是,生成回复比不同语言之间的翻译更难。很大程度上是由于可行的回复范围过广,以及发布微博和回复之间缺乏短语校准phrase alignment

LDA主题模型学习相关的书籍介绍

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-25 15:33:05
关于LDA主题模型,一度是NLP领域一个非常火的模型,后来深度学习大放异彩,它的热度才慢慢降了下来。 由于数学基础很差,一直没有理解LDA的整个核心。到目前为止,也只是理解了皮毛。记录一下关于LDA主题模型相关的学习资料。 LDA主题模型属于编码简单,但是数学功底要求较高的一个机器学习模型,在搜索引擎和广告领域有用到。按照《LDA 数学八卦》作者靳志辉老师的说法,是一个比较简单的模型,前提是需要数学功底扎实。如果统计学基础扎实,理解LDA主题模型基本是一马平川。 理解LDA主题模型,其实包含4大块的内容: 微积分基础,概率论与数理统计基础, 随机模拟算法, 文本建模思路。LDA数学八卦讲解的思路就是微积分-分布函数-随机模拟-文本建模这条主线的。个人认为,如果数学基础比较差的话,光靠《LDA数学八卦》是很难理解清楚LDA主题模型的。出于弥补数学短板的目的,也是出于兴趣,我前后看了一些书。如下的书籍我觉得还是不错的。 微积分基础 《普林斯顿微积分读本》 这本书从高中数学的基本函数开始,到微积分的各种技巧。讲解细致,学习曲线平缓。 如果这本书觉得枯燥,可以配合如下的4本科普入门。 《数学悖论与三次数学危机》 《天才引导的历程:数学中的伟大定理》 《微积分的历程:从牛顿到勒贝格》 《简单微积分 : 学校未教过的超简易入门技巧》 这几本书下来,不敢说理解微积分了

Java消息服务

心不动则不痛 提交于 2020-02-24 23:03:18
一、 消息传送机制基础 1 、消息传送机制的优点 ①异构集成:在完全不同的平台上实现应用程序和系统请求调用服务。消息传送机制提供跨应用程序和子系统共享数据和功能的去耦方案。 ②缓解系统瓶颈:与一个同步组件处理众多请求时,众多请求一个接一个地积聚阻塞不同,这时候请求会发送到一个消息传送系统,该系统将该请求分发给多个消息侦听器组件 ( 增加漏斗 ) 。如此一来,就缓解了单独采用点对点同步连接带来的系统瓶颈。 ③提高可伸缩性:通过引入能够并发处理不同消息的多个消息接收者 ( 消息侦听器 ) ,消息传送系统的可伸缩性得以实现。 ④提高最终用户生产率:通过使用异步消息传送机制,用户可以在向系统发出请求后,继续做其他事情。 ⑤ 体系结构灵活性和敏捷性:消息传送机制抽象和去耦组件,能快速地响应软硬件和业务的变化。使用消息传送机制方式,消息生产者或是客户端组件都不会知道接收 组件使用的是哪种编程语言或平台,组件或服务位于何处,组件或服务实现的名称是什么,甚至用于访问该组件或服务的是哪种协议。 2 、企业消息传送 消息是通过网络从一个系统异步传送给其他系统的。在异步消息传送机制中,应用程序使用一个简单的 API 来构建一条消息,然后再将该消息转发给面向消息的中间件,以便传送给一个或多个的预定接收者。一条消息就是一个业务数据包,它通过网络从一个应用程序发送给其他应用程序。消息应该是自描述的

1 入门篇!大白话带你认识 Kafka

守給你的承諾、 提交于 2020-02-21 05:51:48
前言 Kafka 是我在疫情期间在游戏之余学的。虽然之前用过 ActiveMQ 和 RabbitMQ,但是在 Kafka 这门技术面前我也算是一个初学者。文章中若有说法有点完善或者不准确的地方敬请指出。 今天我们来聊聊 Kafka ,主要是带你重新认识一下 Kafka,聊一下 Kafka 中比较重要的概念和问题。在后面的文章中我会介绍: Kafka 的一些高级特性比如工作流程。 使用 Docker 安装 Kafka 并简单使用其发送和消费消息。 Spring Boot 程序如何使用 Kafka 作为消息队列。 我们现在经常提到 Kafka 的时候就已经默认它是一个非常优秀的消息队列了,我们也会经常拿它给 RocketMQ、RabbitMQ 对比。我觉得 Kafka 相比其他消息队列主要的优势如下: 极致的性能 :基于 Scala 和 Java 语言开发,设计中大量使用了批量处理和异步的思想,最高可以每秒处理千万级别的消息。 生态系统兼容性无可匹敌 :Kafka 与周边生态系统的兼容性是最好的没有之一,尤其在大数据和流计算领域。 实际上在早期的时候 Kafka 并不是一个合格的消息队列,早期的 Kafka 在消息队列领域就像是一个衣衫褴褛的孩子一样,功能不完备并且有一些小问题比如丢失消息、不保证消息可靠性等等。当然,这也和 LinkedIn 最早开发 Kafka

油管最火十分钟机器学习数学课-隐狄利克雷模型

孤街醉人 提交于 2020-02-18 20:49:55
让我们来训练一个人工智能程序,来给我们提供的任意新闻文稿生成一组主题。我们可以把机器学习主题分为几类,有标签学习、无标签学习学习如何对持续数据进行操作的强化学习,但有更注重实际应用的分类方法,分别是判别的或者生成的。判别模型告诉我们一些数据是什么,它能够判别/区分/分类,例如这是什么电影、这类事物是什么等,生成模型,它们能够生成新的数据、图像、视频、音乐和文本。大多数机器学习的进展都在判别模型中,我们估算一个叫后验概率的函数,即给定x条件下y的概率,例如给定一个图片x,y是图片中物体是苹果,求给定图像模型多大程度相信是个评估。生成模型则估算一个叫做联合概率的函数,即x和y的概率,x是个图像,同时图中有个苹果的概率。因为用生成模型可以生成苹果图像,通过从x和y的概率中,对水果类型y和新图像进行采样。如今,有许多生成模型可供学习,自编码器尝试重建输入数据,接着我们用所学的密集式表示来生成一组相似的数据。 生成对抗网络由两个神经网络组成,其中一个通过呈现一组看上去真实,事实上是伪造的数据来骗过另外一个。当判别器改善时,生成器也一样直到数据与真实数据难以区分。 我们先从相对基础的生成模型讲起,叫做隐狄利克雷模型或LDA。隐狄利克雷是一种分布就像高斯分布,由包含每个主题对于变量的向量参数指定。是一种词袋模型,它认为文档是一组词构成的集合,词与词之间是无序的。一篇文档可以包含多个主题

主题模型

拈花ヽ惹草 提交于 2020-02-12 05:12:14
主题模型(topic modeling)是一种常见的机器学习应用,主要用于对文本进行分类。传统的文本分类器,例如贝叶斯、KNN和SVM分类器,只能将测试对象分到某一个类别中,假设我给出三个分类:“算法”、“网络”和“编译”让其判断,这些分类器往往将对象归到某一类中。 但是如果一个外行完全给不出备选类别,有没有分类器能够自动给出类别判断呢? 有,这样的分类器就是主题模型。 潜在狄立克雷分配(Latent Dirichlet Allocation,LDA)主题模型是最简单的主题模型,它描述的是一篇文章是如何产生的。其原理如下图所示: 从左往右看,一个主题是由一些词语的分布定义的,比如蓝色主题是由2%几率的data,2%的number……构成的。一篇文章则是由一些主题构成的,比如右边的直方图。具体产生过程是,从主题集合中按概率分布选取一些主题,从该主题中按概率分布选取一些词语,这些词语构成了最终的文档(LDA模型中,词语的无序集合构成文档,也就是说词语的顺序没有关系)。 如果我们能将上述两个概率分布计算清楚,那么我们就得到了一个模型,该模型可以根据某篇文档推断出它的主题分布,即分类。由文档推断主题是文档生成过程的逆过程。 在《LDA数学八卦》一文中,对文档的生成过程有个很形象的描述: LDA是一种使用联合分布来计算在给定观测变量下隐藏变量的条件分布(后验分布)的概率模型