0

我对如何将任何文本解析为有效句子有疑问。

假设给出一个文本iamjhamb并解析为i am jhamb

My approach: I solved this using Dynamic programmnig, 
             Make an array T[], where T[i] shows string from 0 to i made any valid setence or not
             formula is T[i] = 1 iff T[j] = 1 and substring(j+1, i) is a word in dictionary for all
             j < i.

但是这种方法并不完全正确,它给出了文本中所有可能的单词形式,因为这不是这个问题的要求。所以,请帮助我纠正这种方法,或提出任何其他好的方法。

我还有一个疑问,我在网上搜索了很多关于 Suffix 数组的信息,但没有得到任何好的教程。所以让我理解这个概念,或者提出任何好的链接。提前致谢。

4

2 回答 2

1

这个问题在自然语言处理中被称为分词问题。虽然这个问题很少出现在英语中,但在阿拉伯语或汉语中却很常见。您可以查看有关该主题的文献,并考虑根据您的案例调整其中一种方法。

至于您的算法,最简单的做法是枚举它产生的可能分段并使用语言模型选择一个。我认为对于简单的句子来说,二元模型可能就足够了。

后缀树可以让您更有效地找到可能的分割,但无助于识别最可能的分割,除非您使用基于后缀树的语言模型

于 2012-08-28T19:54:43.853 回答
0

您是否尝试过为 构建一个 trie String在这里阅读它们。除了有多种选择可供选择的情况外,它将起作用。示例:aneat可以是a neatan eat

于 2012-08-28T19:46:47.543 回答