首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你知道哪些文本表示模型?

自然语言处理(NLP)是机器学习的一个重要的研究领域,如何表示文本这种非结构化的数据又是NLP的一个重要的方向。

常见的文本表示模型有词袋模型,主题模型和词嵌入模型:

词袋模型是最简单最基础的文本表示模型,它把每一篇文章看做是一袋子的词,而且忽略其中的顺序。具体的说就是将整段文本以词为单位切分开,然后每篇文章可以用一个长向量表示,向量中每个维度代表一个单词,该维度对应的权重则反映了这个词在文中的重要性。

常用TF-IDF来计算权重,公式为TF-ID(t,d)=TF(t,d)xIDF(t),其中TF(t,d)为单词t在文档d中出现的频率,IDF(t)是逆文档频率,用来衡量单词t对表达语义所起的重要性,表示为IDF(t)=log(文章总数/(包含单词的文章总数+1))。直观的解释是,如果一个单词在非常多的文章里面都出现了,那它可能是一个比较通用的词汇,对于区分某篇文章特殊语义的贡献较小,所以对权重做一定惩罚。

主题模型用户从文本库中发现有代表性的主题,并能够计算出每篇文章的主题分布。主题模型主要有pLSA和LDA,以后我们会详细的聊一聊这两个主题模型,现在先简单一过。

词嵌入是一类将词向量化的模型的统称,核心思想是将每个词都映射成低维空间(一般K在50-300维)上的一个稠密向量。K为空间的每一维也可以看做是隐含的主题,但不像主题模型中的那样直观。由于词嵌入将每个词映射成一个K维的向量,如果一篇文档有N个词,就可以用一个NxK维的矩阵来表示这篇文档,但这样的表示会过于底层。在实际应用中,如果仅仅把矩阵作为原文本的表示特征输入到机器学习模型中,通常很难得到令人满意的结果。所以,还需要在此基础之上加工出更高层的特征。在传统的浅层机器学习模型中,一个好的特征工程往往可以带来算法效果的显著提升。而深度学习模型正好为我们提供了一种自动的进行特征工程的方式,模型中每个隐层都可以认为对应着不同抽象层次的特征。从这个角度来讲,深度学习模型能够打败浅层模型也是顺理成章了。卷积神经网络和循环神经网络的结构在文本表示中取得了很好的效果。与全连接的网络结构相比,卷积神经网络和循环神经网络一方面很好的抓住了文本的特性,另一方面又减少了网络中待学习的参数,提高了训练速度,并且降低了过拟合的风险。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181009A0BZFJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券