1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶ音声言語処理

Connected

演習

spaCy でカスタム固有表現を作成する

spaCy の標準の固有表現だけでは足りない場合は、spaCy の EntityRuler() クラスを使って独自に作成できます。

EntityRuler() を使うと、独自のエンティティを作成して spaCy のパイプラインに追加できます。

まず、EntityRuler() のインスタンスを作成し、現在のパイプラインである nlp を渡します。

次に、そのインスタンスで add_patterns() を呼び出し、エンティティとしてラベル付けしたいテキストの pattern を含むディクショナリを渡します。

パターンを設定したら、add_pipe() を使って nlp パイプラインに追加できます。

Acme はテクノロジー企業なので、パターン "smartphone" に "PRODUCT" というエンティティタグを付けることにします。

spaCy はインポート済みで、call_4_channel_2.wav file) から書き起こしたテキストを含む doc がすでに用意されています。

指示

100 XP
  • spacy.pipeline から EntityRuler をインポートします。
  • "pattern" キーの値として "smartphone" を追加します。
  • EntityRuler() のインスタンス ruler を nlp パイプラインに追加します。
  • doc に含まれるエンティティの属性を出力します。