Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nlp 如何理解和添加本例中的音节中断?_Nlp_Machine Learning - Fatal编程技术网

Nlp 如何理解和添加本例中的音节中断?

Nlp 如何理解和添加本例中的音节中断?,nlp,machine-learning,Nlp,Machine Learning,我是机器学习和计算概率方面的新手。这是通过训练数据在单词中添加音节 Given a source model p(h) for hyphenated words, and a channel model p(w|h) defined so that p(w|h) = 1 if w is equal to h with the hyphens removed and 0 otherwise. We then seek to find the most likely source message h

我是机器学习和计算概率方面的新手。这是通过训练数据在单词中添加音节

Given a source model p(h) for hyphenated words, and a channel model p(w|h) defined so that p(w|h) = 1 if w is equal to h with the hyphens removed and 0 otherwise. We then seek to find the most likely source message h to have produced message w by:

    ARGMAXh p(h|w) = ARGMAXh p(w|h) p(h) / p(w)
                   = ARGMAXh p(w|h) p(h)         
                   = ARGMAXh s.t. strip(h)=w p(h)

where we use strip(h) = w to mean that w is equal to h with the hyphenations stripped out (in Java terms, h.replaceAll(" ","").equals(w)). Thus with a deterministic channel, we wind up looking for the most likely hyphenation h according to p(h), restricting our search to h that produce w when the hyphens are stripped out. 
我不明白如何使用它来建立一个音节化模型

如果有包含以下内容的培训集:

a bid jan
a bide
a bie
a bil i ty
a bim e lech
如何建立一个将单词音节化的模型?我指的是为了找到一个新词可能的音节断裂而要计算的内容

首先计算什么?那么计算什么呢?你能举个具体的例子吗


非常感谢。

本文中描述的方法基于统计定律,允许通过观察噪声值来计算正确的值。换句话说,非音节化的单词是嘈杂的或不正确的,比如
野餐
,目标是找到一个可能正确的值,即
pic nic

这是一个非常好的视频课程,非常适合这个主题(滚动到1:25,但整套课程值得一看)

这种方法特别适用于单词定界,但也有一些用于音节化。中文只有逻辑结构的空格分隔符,但大多数单词没有分隔符。然而,每个字符都是一个音节,也不例外

还有其他一些语言的语法更复杂。例如,泰语单词之间没有空格,但每个音节可以由几个符号构成,例如
สวัสดี->
ส-วัส-ดี。基于规则的教学大纲可能很难,但也有可能

根据英语,我不想麻烦,而只是使用几个简单的规则,给出了相当好的匹配比率(但并不完美):

  • 两个元音之间的两个辅音
    VCCV
    -在它们之间分开
    VC-CV
    ,如Coffee,pic nic,除了表示单个声音的“集群辅音”:Method,Ro chester,hang out
  • 元音之间有三个或三个以上的辅音
    vccv
    -将混合音分开,就像在mon-ster或child-ren中一样(这似乎是最困难的,因为你无法避免字典)
  • 两个元音
    VCV
    之间的一个辅音-在第一个元音
    V-CV
    之后分开,如在ba-con,a-rid中
  • 上述规则也有一个基于混合的例外:cour年龄,播放时间
  • 两个元音合在一起
    VV
    -两个元音之间分开,除了它们代表一个“簇元音”:poem,但冰河,厄尔

  • 我会先从“主”规则开始,然后用“守护”规则来覆盖它们,以防止元音和辅音群分裂。此外,还有一个明显的保护规则,防止单个辅音变成音节。完成后,我会添加另一个基于词典的保护规则。

    非常感谢您如何将单词拆分为可能的音节。现在我大致了解了如何使用语言规则来完成您所解释的任务。你建议的链接也很有用。这项任务似乎不那么容易,因为发音中可能有很多例外或不规则之处。您能否建议或评论基于规则和基于机器学习的方法来处理将单词拆分成音节的问题?感谢您对我的回答的赞赏。我从未为英语开发过音节化工具,但我为泰语开发过。在算法上,它看起来很简单:(1)得到一个简单的
    单词|标点符号|空格
    ;(2) 对于每个单词,获得可能的中断位置列表;(3) 根据守卫规则清除一些位置。还有一个想法。Delphi很可能有免费的库来完成这项工作。对不起,我不能给出更具体的回答。如果您不介意函数方法,您可以使用
    Haskell
    parsec
    F
    fParsec