NLP Academy · レッスン

タグパターンでフレーズを抽出する

名詞句と動詞を取り出す

レッスン 3/413 ステップ

「タグパターンでフレーズを抽出する」は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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 名詞、動詞、タグが重要な理由
  2. spaCy で単語にタグを付ける
  3. タグパターンでフレーズを抽出する
  4. 係り受け解析の基本
← NLP Academyに戻る