Natural-language-processing-word-level-analysis
NLP-単語レベル分析
この章では、自然言語処理における世界レベルの分析を理解します。
正規表現
正規表現(RE)は、テキスト検索文字列を指定するための言語です。 REは、パターンに保持されている特殊な構文を使用して、他の文字列または文字列のセットを一致または検索するのに役立ちます。 正規表現は、UNIXと同様にMS WORDでテキストを検索するために使用されます。 多くのRE機能を使用したさまざまな検索エンジンがあります。
正規表現のプロパティ
以下はREの重要な特性の一部です-
- アメリカの数学者Stephen Cole Kleeneは、正規表現言語を形式化しました。
- REは特別な言語の式で、単純なクラスの文字列、一連のシンボルを指定するために使用できます。 言い換えれば、REは一連の文字列を特徴付ける代数表記法であると言えます。
- 正規表現には2つのことが必要です。1つは検索するパターンであり、もう1つは検索する必要があるテキストのコーパスです。
数学的には、正規表現は次のように定義することができます-
- *ε*は正規表現で、言語に空の文字列があることを示します。
- *φ*は、空の言語であることを示す正規表現です。
- X および Y が正規表現の場合、
- X、Y
- * X.Y(XYの連結)*
- * X + Y(XとYの結合)*
- X 、Y (XおよびYのクリーン閉包)
正規表現でもあります。
- 文字列が上記のルールから派生した場合、それは正規表現にもなります。
正規表現の例
次の表は、正規表現のいくつかの例を示しています-
Regular Expressions | Regular Set |
---|---|
(0 + 10*) | \{0, 1, 10, 100, 1000, 10000, … } |
(0*10*) | \{1, 01, 10, 010, 0010, …} |
(0 + ε)(1 + ε) | \{ε, 0, 1, 01} |
(a+b)* | It would be set of strings of a’s and b’s of any length which also includes the null string i.e. \{ε, a, b, aa , ab , bb , ba, aaa…….} |
(a+b)*abb | It would be set of strings of a’s and b’s ending with the string abb i.e. \{abb, aabb, babb, aaabb, ababb, …………..} |
(11)* | It would be set consisting of even number of 1’s which also includes an empty string i.e. \{ε, 11, 1111, 111111, ……….} |
(aa)*(bb)*b | It would be set of strings consisting of even number of a’s followed by odd number of b’s i.e. \{b, aab, aabbb, aabbbbb, aaaab, aaaabbb, …………..} |
(aa + ab + ba + bb)* | It would be string of a’s and b’s of even length that can be obtained by concatenating any combination of the strings aa, ab, ba and bb including null i.e. \{aa, ab, ba, bb, aaab, aaba, …………..} |
通常のセットとそのプロパティ
正規表現の値を表し、特定のプロパティで構成されるセットとして定義できます。
通常のセットのプロパティ
- 2つの通常のセットを結合すると、結果のセットもレギュラになります。
- 2つの通常のセットの交差を行うと、結果のセットも通常になります。
- 通常のセットの補完を行うと、結果セットも通常になります。
- 2つの通常のセットの違いを行うと、結果のセットも通常になります。
- 通常のセットの反転を行うと、結果のセットも通常になります。
- 通常のセットのクロージャを取ると、結果のセットも通常になります。
- 2つの正規セットを連結すると、結果セットも正規になります。
有限状態オートマトン
「自動動作」を意味するギリシャ語の「αὐτόματα」に由来するオートマタという用語は、複数のオートマトンであり、自動的に所定の操作シーケンスに従う抽象的な自己推進コンピューティングデバイスとして定義できます。
有限数の状態を持つオートマトンは、有限オートマトン(FA)または有限状態オートマトン(FSA)と呼ばれます。
数学的には、オートマトンは5タプル(Q、Σ、δ、q0、F)で表すことができます。ここで、
- Qは状態の有限集合です。
- Σは、オートマトンのアルファベットと呼ばれる有限のシンボルセットです。
- δは遷移関数です
- q0は、入力が処理される初期状態です(q0∈Q)。
- Fは、Qの最終状態/状態のセットです(F⊆Q)。
有限オートマトン、正規文法、正規表現の関係
以下の点は、有限オートマトン、正規文法、正規表現の間の関係について明確な見解を与えてくれます-
- 私たちが知っているように、有限オートマトンは計算作業の理論的基礎であり、正規表現はそれらを記述する1つの方法です。
- 正規表現はFSAとして実装でき、FSAは正規表現で記述できると言えます。
- 一方、正規表現は、正規言語と呼ばれる一種の言語を特徴付ける方法です。 したがって、FSAと正規表現の両方の助けを借りて、正規言語を記述することができると言えます。
- 正規文法は、正則または左正規の正式な文法であり、正規言語を特徴付ける別の方法です。
次の図は、有限オートマトン、正規表現、および正規文法が正規言語を記述する同等の方法であることを示しています。
有限状態自動化(FSA)のタイプ
有限状態の自動化には2つのタイプがあります。 タイプが何であるかを見てみましょう。
確定的有限自動化(DFA)
これは、すべての入力シンボルについて、マシンが移動する状態を決定できる有限自動化のタイプとして定義できます。 状態の数が有限であるため、マシンが確定的有限オートマトン(DFA)と呼ばれます。
数学的には、DFAは5タプル(Q、Σ、δ、q0、F)で表すことができます。ここで、
- Qは状態の有限集合です。
- Σは、オートマトンのアルファベットと呼ばれる有限のシンボルセットです。
- δは遷移関数で、δ:Q×Σ→Qです。
- q0は、入力が処理される初期状態です(q0∈Q)。
- Fは、Qの最終状態/状態のセットです(F⊆Q)。
一方、グラフィカルには、DFAは状態図と呼ばれるダイアグラフで表すことができます。
- 状態は*頂点*で表されます。
- 遷移は、 arcs というラベルで示されています。
- 初期状態は、*空の着信アーク*で表されます。
- 最終状態は*二重丸*で表されます。
DFAの例
DFAが
- Q = \ {a、b、c}、
- Σ= \ {0、1}、
- q〜0〜= \ {a}、
- F = \ {c}、
- 遷移関数δは次のように表に示されています-
Current State | Next State for Input 0 | Next State for Input 1 |
---|---|---|
A | a | B |
B | b | A |
C | c | C |
このDFAのグラフィカルな表現は次のようになります-
非決定性有限自動化(NDFA)
これは、すべての入力シンボルについて、マシンが移動する状態を判断できない有限自動化のタイプとして定義できます。 マシンは状態の任意の組み合わせに移動できます。 状態の数が有限であるため、マシンは非決定性有限自動化(NDFA)と呼ばれます。
数学的には、NDFAは5タプル(Q、Σ、δ、q0、F)で表すことができます。ここで、
- Qは状態の有限集合です。
- Σは、オートマトンのアルファベットと呼ばれる有限のシンボルセットです。
- δ:-は、δ:Q×Σ→2 ^ Q ^の遷移関数です。
- q0:-は、入力が処理される初期状態です(q0∈Q)。
- F:-は、Qの最終的な状態(F is Q)のセットです。
グラフィカルに(DFAと同じ)、NDFAは状態図と呼ばれるダイアグラフで表すことができます。
- 状態は*頂点*で表されます。
- 遷移は、 arcs というラベルで示されています。
- 初期状態は、*空の着信アーク*で表されます。
- 最終状態は二重の*円*で表されます。
NDFAの例
NDFAが
- Q = \ {a、b、c}、
- Σ= \ {0、1}、
- q [.small] 0 = \ {a}、
- F = \ {c}、
- 遷移関数δは次のように表に示されています-
Current State | Next State for Input 0 | Next State for Input 1 |
---|---|---|
A | a, b | B |
B | C | a, c |
C | b, c | C |
このNDFAのグラフィカルな表現は次のようになります-
形態素解析
形態学的解析という用語は、形態素の解析に関連しています。 形態素解析は、単語が形態素と呼ばれるより意味のある小さな単位に分解され、何らかの言語構造を生成することを認識する問題として定義できます。 たとえば、foxes_という単語を_fox_と-es_の2つに分けることができます。 foxes_という単語は2つの形態素で構成されていることがわかります。1つは_fox_で、もう1つは-es_です。
他の意味では、形態学の研究であると言うことができます-
- 言葉の形成。
- 言葉の起源。
- 単語の文法形式。
- 単語の形成における接頭辞と接尾辞の使用。
- 言語の品詞(PoS)がどのように形成されるか。
形態素の種類
最小意味を持つユニットである形態素は、2つのタイプに分けることができます-
- 茎
- 語順
茎
これは、単語の中核となる意味のある単位です。 また、それが単語の語源であると言うこともできます。 たとえば、単語foxesでは、語幹はfoxです。
- 接辞-名前が示すように、単語にいくつかの追加の意味と文法機能を追加します。 たとえば、単語foxesでは、接辞は-esです。
さらに、接辞も次の4つのタイプに分けることができます-
- 接頭辞-名前が示すように、接頭辞は語幹に先行します。 たとえば、単語unbuckleでは、unがプレフィックスです。
- 接尾辞-名前が示すように、接尾辞は語幹に続きます。 たとえば、catsという単語では、-sが接尾辞です。
- 挿入物-名前が示すように、挿入物はステムの内側に挿入されます。 たとえば、単語cupfulは、-sを中置として使用することでcupsfulとして複数形にできます。
- 環-幹の前後にあります。 英語のサーカムフィックスの例はほとんどありません。 非常に一般的な例は「A-ing」で、ステムの前に-Aを、-ingを後に使用できます。
語順
単語の順序は、形態素解析によって決定されます。 形態学的パーサーを構築するための要件を見てみましょう-
語彙集
形態学的パーサーを構築するための最初の要件は、語彙です。これには、ステムと接辞のリストとそれらに関する基本情報が含まれています。 たとえば、語幹が名詞語幹か動詞語幹かなどの情報。
形態形成
基本的には形態素順序付けのモデルです。 他の意味では、どの形態素のクラスが単語内の他の形態素のクラスに従うことができるかを説明するモデル。 たとえば、形態素性の事実は、英語の複数形の形態素が名詞の前ではなく常に名詞の後に続くということです。
正書法の規則
これらのスペルルールは、単語に発生する変更をモデル化するために使用されます。 たとえば、yを、city + s = citysではなくcitysなどの単語に変換するルール。