2017-10-19 12 views
0

私は最近、SpaCyを使用してNLPの旅を始めました。ラベルを付ける5,500文字の文字列があります。最初の100の場合は、カスタム列を含むスプレッドシートを使用してこれを行い、スクリプトを実行してPython辞書を生成しました。このシートでは、文字列、ラベルタイプ、ラベル値を取得しました。スクリプトは、文字列内のラベル値の位置を計算します。SpaCyモデルのトレーニングデータを作成する方法は?

トレーニングデータをこのようにプロダクトするのは時間がかかりますが、エラーが発生する可能性があります。

これを支援するツールはありますか?文字通り、部分文字列を強調表示してから、ラベルの種類を選択するだけで済みます。私はそれを自分で作ることができましたが、すでに存在するかもしれないと感じています。

答えて

1

私はspaCyのメンテナーの一人で、実際にこの問題について多くのことを考えてきました。そこで、Prodigyを作成しました。これは、spaCyと統合されたアノテーションツールで、モデルをループに入れて、モデルをより早くトレーニングしたり評価したりするのに役立ちます。現在ベータ版ですが、無料の招待状を申し込むことができます。 Prodigyは、他の注釈ツールのクリック・ドラッグ・ハイライト・セレクト・コンセプトにやや異なるアプローチを採用しています。ループのモデルを使用して、トレーニングに最も関連性の高いグラデーションを使用してアノテーションを提案し、単純なバイナリフィードバックのみを受け入れるか拒否するかを尋ねます。これにより、サンプルをすばやく移動できます。注釈を付けると、ループ内のモデルが更新され、その予測がProdigyが次に求めるものに影響します。

これは、あなたのspaCyモデルに存在する既存のエンティティタイプを改善したい場合や、注釈に使用するサンプルテキストの大きなコーパスを使用している場合に特に効果的です。

テキストを強調表示して注釈を付けるための具体的なツールをお探しの場合は、Bratもご覧ください。私は出力がどのように見えるかは100%確信していませんが、あなたは間違いなくspaCyのトレーニングフォーマットに変換できるはずです。コミュニティの誰かによって開発されたtrainable version of the displaCy ENT visualizerもあります。

+0

お返事ありがとうございました。私は実際に受け入れられるのを待って、昨日ベータ版にサインアップしました。 –

+1

ああクール!小さなバッチで招待状を送り出して、バグをすばやく修正できるようにしました。もしあなたが好きなら、あなたは私にメールを送ってあなたの人を知っているので、招待状の次のバッチにあなたを追加することができます:) –

+0

素晴らしいメールが送られました。ありがとうございました! –

関連する問題