1

次のタスクの解決策を探しています。私は英語のランダムな本からいくつかのランダムなページを取り、すべての非文字文字を削除し、すべての文字を小文字に変換します。その結果、私は次のようなものを持っています:

wheniwasakidiwantedtobeapilot..。

今私が探しているのは、そのプロセスを非常に正確に逆転させることができるものです。単語と文の区切り文字を見つける必要があります。この問題に取り組む方法について何かアイデアはありますか?車輪の再発明をせずにベースにできる既存のソリューションはありますか?

4

2 に答える 2

4

基本的なトークン化タスクはスペースを想定しているため、これは通常のトークン化よりも困難です。基本的に、通常のトークン化で理解する必要があるのは、たとえば、句読点を単語の一部(「Mr.」のように)にするか、別の句読点(文の終わりのように)にするかです。これが必要な場合は、ルールベースのシステムでこのタスクを非常にうまく実行するStanfordCoreNLPパッケージをダウンロードできます。

あなたの仕事のために、あなたはスペースのどこに置くべきかを理解する必要があります。ベイズ推定に関するこのチュートリアルには、中国語の単語セグメンテーションに関する章があります(中国語の記述ではスペースを使用しません)。同じテクニックをスペースのない英語にも適用できます。

基本的な考え方は、言語モデルがあり(N-Gramで十分です)、言語モデルに従ってデータの確率を最大化する分割を選択することです。したがって、たとえば、「when」と「iwasakidiwantedtobeapilot」の間にスペースを入れると、「whe」と「niwasakidiwantedtobeapilot」の間に分割を置くよりも、言語モデルによる確率が高くなります。「when」は「whe」よりも優れた単語だからです。 "。何があなたに最も英語に見える文を与えたかを理解するまで、スペースを追加したり削除したりして、これを何度も行うことができます。

これを行うと、トークンの長いリストが得られます。次に、これらのトークンを文に分割する場合、実際には同じ手法を使用できますが、単語ベースの言語モデルを使用して単語間にスペースを追加する代わりに、文ベースの言語モデルを使用して、トークンを別々の文に。同じ考えですが、レベルが異なります。

于 2012-08-19T16:52:37.417 に答える
0

説明するタスクは、「単語のトークン化」および「文のセグメンテーション」と呼ばれます。NLPにはそれらに関する多くの文献があります。それらには、非常に単純で単純なソリューションと、言語モデルに基づく高度な確率論的アプローチがあります。どちらを選択するかは、正確な目標によって異なります。

于 2012-08-19T14:43:49.693 に答える