Я новичок в компьютерном обучении и вычислительных вероятностях. Это an example from Lingpipe для добавления слога в слово по данным обучения.Как понять и добавить слог в этом примере?
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
Как иметь модель, которая будет разделять на слоги слова? Я имею в виду, что нужно вычислить, чтобы найти возможные слоговые перерывы нового слова.
Сначала вычислите что? затем вычислить что? Можете ли вы указать конкретный пример?
Большое спасибо.
Большое вам спасибо за то, как разбить слово на возможные слоги. Теперь у меня есть общее представление о том, как использовать лингвистическое правило для этого, как вы объяснили. Рекомендуемая ссылка также полезна. Эта задача кажется не такой простой, поскольку в произношении может быть много исключений или нерегулярностей. Можете ли вы предложить или прокомментировать основанные на правилах и основанные на машинах подходы к решению проблемы разделения слов на слоги? – Dylan
Благодарим вас за вашу оценку моего ответа. Я никогда не разрабатывал инструменты для написания английского языка, но я сделал это для тайского языка. Алгоритмически это выглядит просто: ** (1) ** получить простой список «Word | PunctuationMark | Space»; ** (2) ** Для каждого Слова, получите список * возможных * сломанных позиций; ** (3) ** Исключить некоторые позиции по правилам охраны. И еще одна мысль. Вполне возможно, что для Delphi существуют бесплатные библиотеки для работы. Извините, я не могу дать более конкретного ответа. Если вы не против функционального подхода, вы можете использовать 'Haskell' и' parsec' или 'F #' и 'fParsec'. – bytebuster
Еще раз спасибо. – Dylan