语言模型
语言模型(Language Model, LM)的目的是建立一个能够描述给定词序列在语言中的出现的概率的分布。
语言模型最开始诞生在语音识别领域,识别给定的语音信号对应的词序列。
随着历史信取值的不同,衍生出:一元模型(Unigram),二元模型(Bigram),三元模型(Trigram)。
参数估计
模型的参数估计一般采用极大似然估计(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)
其他方法
n Combined with corpus
n Dirichlet
n Two-stage
语言模型在信息检索中的应用
目前在IR(InformationRetrieval)中应用LM(LanguageModel),基本原理有4个:
原理1是[Ponte&Croft 1998]提出的,为经典的LM模型在IR中的应用。平滑中可能出现的问题:
文章太短(Short document)
MD模型粗糙(Coarse MD)
没有出现的词(Unseen words)
原理2应用不多,因为Query的包含信息太少,建立LM效果不好。
原理4将信息检索过程看成一个翻译过程,建立噪声信道模型,由“信息”到“接受”。
P(qiwj)是翻译模型的关键,表示两个词对应的翻译概率。估计参数的时候需要对齐的双语语料[Berger&Lafferty ]。
语言模型小结
Can a query be generated from adocument model?
Does a document become morelikely when a query is submitted (or reverse)?
Is a query a"translation" of a document?
Smoothing is crucial
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))