基本的なトークン化タスクはスペースを想定しているため、これは通常のトークン化よりも困難です。基本的に、通常のトークン化で理解する必要があるのは、たとえば、句読点を単語の一部(「Mr.」のように)にするか、別の句読点(文の終わりのように)にするかです。これが必要な場合は、ルールベースのシステムでこのタスクを非常にうまく実行するStanfordCoreNLPパッケージをダウンロードできます。
あなたの仕事のために、あなたはスペースのどこに置くべきかを理解する必要があります。ベイズ推定に関するこのチュートリアルには、中国語の単語セグメンテーションに関する章があります(中国語の記述ではスペースを使用しません)。同じテクニックをスペースのない英語にも適用できます。
基本的な考え方は、言語モデルがあり(N-Gramで十分です)、言語モデルに従ってデータの確率を最大化する分割を選択することです。したがって、たとえば、「when」と「iwasakidiwantedtobeapilot」の間にスペースを入れると、「whe」と「niwasakidiwantedtobeapilot」の間に分割を置くよりも、言語モデルによる確率が高くなります。「when」は「whe」よりも優れた単語だからです。 "。何があなたに最も英語に見える文を与えたかを理解するまで、スペースを追加したり削除したりして、これを何度も行うことができます。
これを行うと、トークンの長いリストが得られます。次に、これらのトークンを文に分割する場合、実際には同じ手法を使用できますが、単語ベースの言語モデルを使用して単語間にスペースを追加する代わりに、文ベースの言語モデルを使用して、トークンを別々の文に。同じ考えですが、レベルが異なります。