- 语言模型(Language Model, LM)的目的是建立一个能够描述给定词序列在语言中的出现的概率的分布。
语言模型最开始诞生在语音识别领域,识别给定的语音信号对应的词序列。语言模型的基本原理是
hi表示历史信息。随着hi取值的不同,衍生出几个模型 [1] :
l 一元模型(Unigram):
l 二元模型(Bigram):
l 三元模型(Trigram):
在实际中应用模型的时候,有一个取舍问题:
History
short
long
modeling
coarse
refined
Estimation
easy
difficult
根据资源规模和模型细致程度选择。
参数估计
模型的参数估计一般采用极大似然估计(Maximum Likilihood Estimation, MLE):
不过MLE有一个问题,那就是对出现的项估计很好,对于没有出现的项,则认为是概率为0的实践。如果直接采用MLE估计参数,效果可能会很不好。平滑(smoothing)技术是为了解决类是MLE的问题而提出的。Smoothing技术思想就是调整一下概率的分布,给语料中没有出现的项(认为是“事件”)一个小但不为零概率,降低语料中出现次数比较多的项的概率。
平滑技术
平滑常用的方法有多种。
调整出现概率的平滑方法:
n Laplace smoothing( add-onesmoothing )
n Good-Turing smoothing
以低阶模型相结合的方法
n Backoff (Katz)
n Interpolation (Jelinek-Mercer)
l 其他方法
n Combined with corpus
n Dirichlet
n Two-stage - 语言模型在信息检索中的应用
目前在IR(InformationRetrieval)中应用LM(LanguageModel),基本原理有4个:
l 原理 1
Document D
Language model P(wMD)
Query Q
sequence of words q1, q2,…, qn (uni-grams)
Matching
P(QMD)
l 原理2
Document D
Language model P(wMQ)
Query Q
sequence of words d1, d2,…, dn
Matching
P(DMQ)
l 原理3
Document D
Language model P(wMD)
Query Q
Language model P(wMQ)
Matching
comparison between P(wMD) and P(wMQ)
l 原理4(翻译模型)
Translate D to Q
原理1是[Ponte&Croft 1998]提出的,为经典的LM模型在IR中的应用。平滑中可能出现的问题:
l 文章太短(Short document)
l MD模型粗糙(Coarse MD)
l 没有出现的词(Unseen words)
[Ponte&Croft 1998]提出的平滑方案:
原理2应用不多,因为Query的包含信息太少,建立LM效果不好。
原理4将信息检索过程看成一个翻译过程,建立噪声信道模型,由“信息”到“接受”。
P(qiwj)是翻译模型的关键,表示两个词对应的翻译概率。估计参数的时候需要对齐的双语语料[Berger&Lafferty ]。 - 语言模型小结
l Can a query be generated from adocument model?
l Does a document become morelikely when a query is submitted (or reverse)?
l Is a query a"translation" of a document?
l Smoothing is crucial
l Often use uni-grams - 语言模型对信息检索的贡献
l 有良好的理论框架(Well founded theoretical framework)
l 有大量的可用数据(Exploit the mass of data available)
l 概率估计的参数平滑技术(Techniques of smoothing for probability estimation)
l 能够通过平滑解释一些经验和启发式方法(Explain some empirical and heuristic methods by smoothing)
l 令人兴奋的试验结果(Interesting experimental results)
l 使用LM的IR工具的诞生(Existing tools for IR using LM(Lemur))
2009年1月19日星期一
Collaborative Filtering
标签:协同过滤 推荐系统 it
这方面挺有意思,就随便看了看。总结下看的东西~~~
协同过滤的主要目标:由于网络信息量的增多,用户往往被淹没在信息的海洋里,很难很轻易的找到自己感兴趣的topic。协同过滤就是为了把用户最可能感兴趣的信息推送给用户(Recommer system)。
协同过滤的方法: model-base,user-base,item-base,content-base。
这方面挺有意思,就随便看了看。总结下看的东西~~~
协同过滤的主要目标:由于网络信息量的增多,用户往往被淹没在信息的海洋里,很难很轻易的找到自己感兴趣的topic。协同过滤就是为了把用户最可能感兴趣的信息推送给用户(Recommer system)。
协同过滤的方法: model-base,user-base,item-base,content-base。
- user-based:搜集用户profile。对于一个active user,找到跟其比较接近(或者相似)的几个neighbour。使用这些neibour对active user的interest进行预测,把那些潜在的interest推荐给active user。
- item-base:与user-based相对应。协同过滤推荐根据用户对相似项的评分预测该用户对目标项的评分,它基于这样一个假设:如果大部分用户对一些项的评分比较相似,则当前用户对这些项的评分也比较相似。对每个item寻找几个neighbour。譬如如果item A 与item B是一个neighbour pair,对于一个active user,如果其对A评价很高,或者有很高的兴趣,那么他极可能对B感兴趣,这样B就是一个潜在的inerest.
- content-based:根据item的内容与用户历史兴趣度进行分析关联,它的一个前提假设就是如果一个用户在过去一段时间对某item有较高的评价,那么在未来也会保持这种interest。这样就可以根据item之间的内容接近程度进行推荐。它有很大的缺陷,首先没有结合用户反馈,虽然一个item具有很高的可推荐性,但是如果大家都对其评价较差,那么这也许是一个不好的推荐item;其次就是其对item内容进行分析也只能是一个方面,不能全面深刻的描述一个item;再一个就是推荐的内容有限;当系统仅仅根据用户资料或项目描述来进行推荐的时候,用户被限制在只能得到与以往熟悉的内容相类似的项目。这样不利于挖掘用户潜在的兴趣。
协同过滤面临的问题:
- 数据稀疏问题(一个用户不可能对所有的商品都有过评价),例如:许多电子商务推荐系统要对大量的数据信息进行处理,而在这些系统中一般用户购买商品的总量占网站总商品量的1%左右,因此造成了评价矩阵(用户-项矩阵)非常稀疏。
- 再一个就是冷开始问题:cold start。它主要表现在一个新项目或者一个新用户的到来上。因为传统的协同过滤推荐是基于邻居用户资料得到目标用户的推荐,在一个新的项目首次出现的时候,因为没有用户对它作过评价,因此单纯的协同过滤无法对其进行预测评分和推荐。而且,由于新项目出现早期,用户评价较少,推荐的准确性也比较差。相似的,推荐系统对于新用户的推荐效果也很差。冷开始问题的极端的情况是:当一个协同过滤推荐系统刚开始运行的时候,每个用户在每个项目上都面临冷开始问题。
订阅:
博文 (Atom)