房东

作者: deepnlp | 来源:发表于2018-06-05 15:22 被阅读0次

    线性文本分类

    我们先来看下文本分类问题,现有一篇文章,给它分配一个标签XXXX, XX代表所有可能的标签集。文本分类有很多的应用,如垃圾邮件的过滤,电子病历的分析等等,同时也是构成更复杂自然语言处理的基本要素

    要完成这样一个任务,首先是如何表示每一篇文章。一个简单通用的方法就是把文章中每个词的个数构成一个向量,例如x=[0,1….],这里X表示词j的个数,x的长度就是词典的大小,X是所有可能词语的集合

    通常我们把这样一个向量称之为词袋(bag of words),因为它所包含的信息只有每个词的个数,不包含每个词的在文章中的词序,并且它丢失了语法,句子边界,段落等所有信息。尽管这样,词袋模型应用在文本分类上效果还是很好。如果你在一个邮件中看到freee,很容易判断为垃圾邮件,如果看到Bayesian?很多标签分类问题中,一些单个词可以有很大的预测能力。

    通过词袋去预测一个标签,我们可以给字表里的每个词语打分,来评估它们和标签的匹配度。在垃圾邮件分类应用里,当标签为SPAM时,freee这个词的打分是一个正值分数,而Bayesian就是一个负值分数。这些分数称之为权值(weights),通常把它们排成一个列向量XX

    假如你需要一个多分类器,也就是XXX。例如,我们想把新闻分为体育,名人,音乐和商业等类别。我们已知词袋向量x,通过权值向量theta来预测标签y。对每个标签y,我们计算XXX,这个公式衡量了x和y之间的匹配程度,在线性词袋分类器中,这个式子就是权值和特征函数(feature function)的内积

    XXXX

    式子可以看出,函数含有两个参数,词的个数和标签y。函数返回一个特征向量。例如,已知x y。特征向量的第j个元素就是

    XXXX

    当label为SPAM时,函数返回词freee的个数,否则返回0.对应的权值thetaj 就是衡量freee和SPAM之间的匹配程度。一个正值分数表示出现这个词的文章很有可能分成这个标签。

    更好地形式化这样一个特征函数,我们定义XXXX

    XXXX

    其中XXXX时一个长度为XX的零向量,分号表示垂直串接

    如果已知了权值向量theta,我们就可以计算XX

    这个内积式子清楚地把data(x和y)与参数theta分割开,并且它可以很自然地推广到结构化预测(structured prediction),Y的空间比较大,我们想把标签之间的共享子结构模型化。

    通常我们在词袋向量x后面加一个偏移特征(offset feature):1。为了统一向量的长度,向量的其他维度填充为0。这个特征向量XX的长度就是XXX。偏移特征的权值就可以看是作被分为对应标签的偏向程度。举个例子,如果我们希望大部分文章为垃圾邮件,那对应y=SPAM的权值就应该比y=HAM的权值大。

    问题来了,权值theta从哪里来?一个可能的办法就是人为手动设置。

    相关文章

      网友评论

          本文标题:房东

          本文链接:https://www.haomeiwen.com/subject/pgapsftx.html