zoukankan      html  css  js  c++  java
  • 自然语言处理4-1:语言模型之Noisy Channel Model

    Noisy Channel Model其实就是指的下面这个公式:

    $$ P(text|source) = frac{P(source|text)P(text)}{P(source)}  $$

    因为P(source)是一个固定的值,所以又可以写成:

    $$ P(text|source)  propto P(source|text)P(text)$$

    在上式中,source是一个信号源,text是我们需要转换成的文本,例如在拼写纠错中,source是输入的单词,text是正确的单词;在机器翻译中,source是待翻译的语言,text是翻译的目标语言;语音识别中,source是语音信号,text是对应的文本。很容易理解, P(source|text)可以看成是文本和信号的相似度,称为“翻译模型”或者“识别模型”,例如,在拼写纠错中,P(source|text)可以表示编辑距离,或者可以表示,当一个人想要输入text结果输入成了source的概率。而P(text)可以看成text这个文本是否常见,例如,在拼写纠错中,我们要寻找输入单词对应的正确的单词,除了需要和输入单词的编辑距离越小越好,还需要正确单词越常见越好。例如,如果有个人输入“jappy”,那么他有可能是想输入“happy”,也有可能是想输入“pappy”,虽然“happy”,“pappy”和“jappy”的编辑距离一样,但是由于happy更常用,所以正确单词是happy更有可能。P(text)就是衡量文本的正确性或者常用概率的,称为“语言模型”

    其一个具体的应用就是在前面写到的拼写纠错。在拼写纠错中,

    $$ P(正确单词|输入单词)  propto P(输入单词|正确单词)P(正确单词)$$

  • 相关阅读:
    从汇编看c++中的placement operator new
    从汇编看c++的new和delete
    从汇编看c++中全局对象和全局变量
    javascript中的this
    好工具
    js压缩解压工具
    IE的documentMode属性
    77. sqlserver 锁表解决方式
    75. ID重新走过,备份表
    5. Java中序列化的serialVersionUID作用
  • 原文地址:https://www.cnblogs.com/loubin/p/13704777.html
Copyright © 2011-2022 走看看