字句解析とは
字句解析は、文字列(より単純にはテキスト)を取得し、トークンと呼ばれる意味のあるグループに変換するプロセスです。 この方法論は、コンピューター言語の解釈から書籍の分析まで、さまざまなアプリケーションで使用されています。 字句解析は解析と同義ではありません。 むしろ、これは完全な解析プロセスの最初のステップであり、後で使用するために原材料を作成します。
字句解析とも呼ばれるトークンの構成要素は、字句解析に必要な文法に応じて、さまざまな方法で生成できます。 これの一般的な例は、文を単語で分割することです。 これは、スペースの周りで文を分割することによって頻繁に行われます。 スペースなしで生成される連続した文字列はそれぞれ語彙素です。 テキスト文字列は、1つまたは多くの種類の文字で分割でき、さまざまな複雑さの語彙素の複数のバージョンを作成できます。 トークンは、各語彙素が評価され、対応する値とペアになった後に生成されます。 定義では、トークンは語彙素だけでなく、このペアを指します。
語彙分析は、多少直感に反して、そのコンテキストのテキスト文字列を取り除きます。 その目的は、さらなる調査のためにビルディングブロックを生成することのみであり、それらのピースが有効か無効かを判断することではありません。 コンピューター言語の解釈の場合、検証は構文分析によって行われ、テキストの検証はコンテキストまたはコンテンツの観点から実行できます。 入力文字列が適切な語彙素に完全に分割され、それらの各語彙素が適切な値を持っている場合、分析は成功したと見なされます。
コンテキストまたは検証を実行する機能がないと、字句解析を使用して入力のエラーを見つけることはできません。 字句文法には、特定の語彙素にエラー値が割り当てられている場合があり、そのような分析では、違法または不正なトークンも検出できます。 不正または不正なトークンを見つけることは無効な入力を通知しますが、他のトークンが有効であるかどうかには関係がないため、厳密に検証の一種ではありません。
字句解析は多くのアルゴリズムの不可欠な部分ですが、多くの場合、意味のある結果を作成するために他の方法論と組み合わせて使用する必要があります。 たとえば、頻度を決定するためにテキスト文字列を単語に分割すると、語彙素の作成が使用されますが、語彙素の作成だけでは特定の語彙素が入力に現れる回数を監視できません。 語彙分析は、語彙素自体が重要な場合にはそれ自体で有用かもしれませんが、大量の入力は、データ量のために生の語彙素の分析を困難にする可能性があります。