タグパターンでフレーズを抽出する
名詞句と動詞を取り出す
「タグパターンでフレーズを抽出する」はCoddyKit上の無料NLP Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNLP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 NLP Academyコースには全4レッスンが含まれています。
タグからフレーズへ
単一のタグも便利ですが、意味は単語のまとまりに含まれていることがよくあります。タグのpatternsを使えば、単独のトークンではなくフレーズ全体を取り出せます。🧩
名詞チャンクとは
名詞チャンクとは、the fluffy catのように、名詞とそれを説明する単語を組み合わせたものです。通常、文が扱う重要な物事を表します。
名詞チャンクを簡単に取得する
spaCyは名詞チャンクを自動的に見つけます。doc.noun_chunksを反復処理すれば、ルールを書かずにそれぞれをSpanとして取得できます。
for chunk in doc.noun_chunks:
print(chunk.text)チャンクはSpan
各名詞チャンクは、Docの一部分を表すSpanです。Spanにはテキスト、開始位置、終了位置が含まれるため、他のトークンのまとまりと同じように再利用できます。
chunk = list(doc.noun_chunks)[0]
print(chunk.start, chunk.end)すべての動詞を取り出す
動作を集めるには、pos_がVERBであるトークンを残します。リスト内包表記を使えば、すべてを読みやすい1行で集められます。
verbs = [t.text for t in doc if t.pos_ == "VERB"]カスタムパターンに一致させる
独自のルールにはMatcherを使います。トークン属性の並びを記述すると、spaCyがその並びが現れるすべての場所を見つけます。
from spacy.matcher import Matcher
matcher = Matcher(nlp.vocab)タグの並びを定義する
patternは、トークンごとに1つずつ辞書を並べたリストです。この例では、fluffy catのように、形容詞の後に名詞が続く並びに一致します。
pattern = [{"POS": "ADJ"}, {"POS": "NOUN"}]パターンを追加する
matcher.add()を使い、名前を付けてパターンを登録します。その名前によって、関連するルールをまとめたり、後で一致結果を識別したりできます。
matcher.add("ADJ_NOUN", [pattern])Matcherを実行する
Docに対してmatcherを呼び出すと、matchesを取得できます。各結果は、match idと開始・終了トークン位置からなるタプルです。
matches = matcher(doc)各一致結果を読む
開始位置と終了位置を使ってDocをスライスすると、一致結果を読みやすいテキストに変換できます。そのスライスが、パターンで取得したフレーズです。
for mid, start, end in matches:
print(doc[start:end].text)ここではパターンが正規表現に勝る
タグパターンは文法を理解するため、正規表現では見逃すフレーズも検出できます。POSで一致させるほうが、文字の完全一致を追いかけるよりはるかにすっきりします。
クイックチェック
名詞のまとまりをどのように抽出するか考えてみてください。
まとめ
組み込みのnoun_chunksと、Matcherを使ったカスタムタグパターンという2つの方法でフレーズを抽出しました。これで、単語だけでなく文法も取り出せます。🎉
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「タグパターンでフレーズを抽出する」レッスンは無料ですか?
はい。「タグパターンでフレーズを抽出する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、NLP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 NLP Academyコースには全4レッスンが含まれています。
「タグパターンでフレーズを抽出する」で何を学びますか?
名詞句と動詞を取り出す ブラウザで直接実行するハンズオンコードでNLP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
NLP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのNLP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「タグパターンでフレーズを抽出する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このNLP Academyレッスンでコードを書いて実行できますか?
はい。すべてのNLP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 名詞、動詞、タグが重要な理由
- spaCy で単語にタグを付ける
- タグパターンでフレーズを抽出する
- 係り受け解析の基本