- POS Tagging
- 品詞タグの例に含まれるステップ:
- NLP におけるチャンキングとは?
- チャンキングのルール:
- チャンキングの使用例
- Code to Demonstrate Use Case
- 概要 NLTK の POS タグは、定義とコンテキストに基づいて、音声の特定の部分に対してテキスト形式の単語をマークアップするプロセスです。 CC、CD、EX、JJ、MD、NNP、PDT、PRP$、TO など。 POS タグ付け器は、文の各単語の文法情報を割り当てるために使用されます。 NLTKによる品詞タグ付けのすべてのパッケージのインストール、インポート、ダウンロードが完了しました。 自然言語処理におけるチャンキングは、小さな情報の断片を取り出し、大きな単位にまとめる処理です。 あらかじめ決められた規則はありませんが、必要性と要件に応じて組み合わせることができます。 チャンキングはエンティティ検知に使用されています。 チャンキングは、異なるトークンを同じチャンクに分類するために使用されます。
POS Tagging
POS Tagging (Parts of Speech Tagging) は、定義と文脈に基づいてテキスト形式の言葉を特定の部分にマークアップするプロセスである。 これは、ある言語でテキストを読み、各単語にいくつかの特定のトークン(品詞)を割り当てる役割を担っている。 文法的なタグ付けとも呼ばれる。
NLTKのPart of Speechの例で学びましょう。
入力します。 私たちを許可するすべてのもの。
Output:
品詞タグの例に含まれるステップ:
- テキストをトークン化する (word_tokenize)
- apply pos_tag to above step that is nltk.pos_tag(tokenize_text)
NLTK POSタグの例として、以下がある。
略語 | 意味 |
---|---|
CC | 調整接続 |
CD | cardinal digit |
DT | determiner |
EX | existent there |
FW | 外来語 |
IN | 前置/従属接続詞 |
JJ | このNLTK POSタグは形容詞(大きい) |
JR | 形容詞だそうです。 比較級(大きい) |
JS | 形容詞, 最上級(最大) |
LS | list market |
MD | modal (could, will) |
NN | noun.を使用することができます。 単数(猫、木) |
NNS | 名詞 複数(机) |
NNP | 普通名詞, 単数(サラ) |
NNPS | 固有名詞、複数(インディアンまたはアメリカ人) |
PDT | 限定詞(all, both, half) |
POS | possessive ending (parent ‘s) |
PRP | personal pronoun (hers, herself, him,himself) |
PRP$ | possessive pronoun (her, his, mine, my, our ) |
RB | adverb (occasionally, swiftly) |
RBR | 副詞、比較級(大きい) |
RBS | 副詞。 最上級(最大) |
RP | 分詞(約) |
TO | 不定詞(不定詞 マーカー(to) |
UH | 挿入語(さようなら) |
VB | 動詞(ask). |
VBG | verb gerund (判断) |
VBD | verb 過去形 (pleaded) |
VBN | verb 過去分詞(reunified) |
VBP | verb, 三人称単数(ラップ)ではない現在形 |
VBZ | 動詞、三人称単数(ベース)の現在形 |
WDT | 語尾定数(that, what) |
WP | wh- 代名詞 (who) |
WRB | wh- 副詞 (how) |
以上のNLTK POSタグリストで全てのNLTK POSタグが確認できます。 NLTKのPOSタグは、文の各単語の文法情報を付与するために使用されます。 POS NLTKのすべてのパッケージのインストール、インポート、ダウンロードは完了です。
NLP におけるチャンキングとは?
NLP におけるチャンキングとは、小さな情報の断片を取り出して大きなユニットにグループ化する処理です。 チャンキングの主な用途は、”名詞句” のグループを作ることです。 正規表現と組み合わせた品詞タグ付けに従って、文に構造を追加するために使用される。 その結果できた単語のグループを “チャンク” と呼ぶ。 浅い構文解析とも呼ばれる。
浅い構文解析では、根と葉の間のレベルは最大1つですが、深い構文解析では2つ以上のレベルで構成されます。 浅い構文解析は軽い構文解析またはチャンキングとも呼ばれます。
チャンキングのルール:
定義されたルールはありませんが、必要性と要件に応じて組み合わせることができます。
たとえば、文中の名詞、動詞(過去形)、形容詞、および接続詞をタグ付けする必要があるとします。 この場合、次のルールを使用します。
chunk:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?};
chunk:{<NN.?*<VBD.?
以下の表は、それぞれの記号の意味を示しています。
記号の名前 | 説明 |
---|---|
. | 改行以外の文字 |
* | 0回以上の繰り返しにマッチ |
? | Match 0 or 1 repetitions |
Now Let us write the code to understand rule better
from nltk import pos_tagfrom nltk import RegexpParsertext ="learn php from guru99 and make study easy".split()print("After Split:",text)tokens_tag = pos_tag(text)print("After Token:",tokens_tag)patterns= """mychunk:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?}"""chunker = RegexpParser(patterns)print("After Regex:",chunker)output = chunker.parse(tokens_tag)print("After Chunking",output)
Output
After Split: After Token: After Regex: chunk.RegexpParser with 1 stages:RegexpChunkParser with 1 rules: <ChunkRule: '<NN.?>*<VBD.?>*<JJ.?>*<CC>?'>After Chunking (S (mychunk learn/JJ) (mychunk php/NN) from/IN (mychunk guru99/NN and/CC) make/VB (mychunk study/NN easy/JJ))
The conclusion from the above Part of Speech tagging Python examples: 「make “はルールに含まれない動詞なので、mychunkとしてタグ付けされない
チャンキングの使用例
チャンキングはエンティティ検知に使用されます。 エンティティとは、機械が何らかの意図の値を取得する文の部分です
Example: Temperature of New York. Here Temperature is the intention and New York is an entity.
つまり、チャンキングはトークンのサブセットを選択するために使用されます。 以下のコードでチャンキングがどのように使われ、トークンが選択されるかを理解することができる。 この例では、名詞句のチャンクに対応するグラフを見ることができます。 理解を深めるために、コードを書き、グラフを描くことにします。
Code to Demonstrate Use Case
import nltktext = "learn php from guru99"tokens = nltk.word_tokenize(text)print(tokens)tag = nltk.pos_tag(tokens)print(tag)grammar = "NP: {<DT>?<JJ>*<NN>}"cp =nltk.RegexpParser(grammar)result = cp.parse(tag)print(result)result.draw() # It will draw the pattern graphically which can be seen in Noun Phrase chunking
Output:
-- These are the tokens -- These are the pos_tag(S (NP learn/JJ php/NN) from/IN (NP guru99/NN)) -- Noun Phrase Chunking
グラフ
Noun Phrase chunking Graph
グラフから、learn と guru99 は異なるトークンですが Noun Phrase として分類され、一方 from は Noun Phrase に属さないと結論付けられます。
チャンキングは、異なるトークンを同じチャンクに分類するために使用されます。 結果は、選択されている文法に依存します。 さらにチャンキング NLTK は、パターンにタグ付けし、テキスト コーポラを探索するために使用されます。