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.

しかし、このアプローチは完全に正しいわけではありません。これはこの質問の要求ではないため、このテキストからすべての可能な単語を形成します。したがって、このアプローチを修正するか、他の良いアプローチを提案するのを手伝ってください。

もう1つ疑問があります.Suffix配列についてネットでたくさん検索しましたが、良いチュートリアルはありませんでした. その概念を理解してもらうか、良いリンクを提案してください。前もって感謝します。

4

2 に答える 2

1

この問題は、自然言語処理における単語分割問題として知られています。この問題は英語ではめったに発生しませんが、アラビア語や中国語では非常に一般的です。この件に関する文献を確認し、いずれかの方法を自分のケースに適用することを検討してください。

アルゴリズムに関しては、アルゴリズムが生成する可能性のあるセグメンテーションを列挙し、言語モデルを使用して 1 つを選択するのが最も簡単です。簡単な文章ならバイグラムモデルで十分だと思います。

サフィックス ツリーを使用すると、可能性のあるセグメンテーションをより効率的に見つけることができますが、サフィックス ツリーに基づく言語モデルを使用しない限り、最も可能性の高いセグメンテーションを特定するのには役立ちません。

于 2012-08-28T19:54:43.853 に答える
0

のトライを構築しようとしましたStringか? それらについてはこちらをご覧ください。選択できる選択肢が複数ある場合を除いて、これは機能します。例:またはaneatにすることができます。a neatan eat

于 2012-08-28T19:46:47.543 に答える