
Delft ( de ep l獲得F ramework for t ext)は、テキスト処理のためのkerasおよびtensorflowフレームワークであり、シーケンスラベル(例えば、エンティティタグ付け、情報抽出など)およびテキスト分類(コメント分類など)に焦点を当てています。このライブラリは、テキスト処理タスクに関連する標準の最先端の深い学習アーキテクチャを再刻みます。
デルフトには3つの主な目的があります。
テキストと豊富なテキストのカバー:NLPの既存のディープラーニング作品のほとんどは、単純なテキストのみを入力と見なすだけです。単純なテキストに加えて、トークンがレイアウト情報(フォントスタイルなど)、構造化されたドキュメントの位置、および場合によっては他の語彙または象徴的なコンテキスト情報に関連付けられているリッチテキストもターゲットにします。テキストは通常、文や段落などのセグメントからだけでなく、PDFやHTMLなどの大規模なドキュメントから来ています。豊富なテキストは、人間がコミュニケーションと作業に使用する最も一般的なテキストコンテンツです。
再現性とベンチマーク:シーケンスラベル付けとテキスト分類タスクの両方にいくつかの参照/最先端モデルを実装することにより、報告された結果を簡単に検証し、同じ条件と基準に基づいていくつかの方法をベンチマークする能力を提供したいと思います。
生産レベルは、最適化されたパフォーマンス、堅牢性、統合の可能性を提供することにより、より良いエンジニアリングの決定/トレードオフと成功した生産レベルのアプリケーションをサポートすることを目指しています。
いくつかの貢献には以下が含まれます。
RNN、ELMO、トランスなど、同じAPIおよび入力形式に従って使用するさまざまな最新のNLPアーキテクチャとタスクが使用されます。
特に、RNNモデルからのサイズの縮小。たとえば、Toxic Comment分類器のモデルは、埋め込みの230 MBから1.8 MBに低下しました。実際には、Delftのすべてのモデルのサイズは2 MB未満ですが、Ontonotes 5.0 NERモデルは4.7 MBです。
さまざまなアーキテクチャで利用できるカテゴリ機能の一般的なサポートの実装。
動的データジェネレーターの使用により、トレーニングデータが完全にメモリに立つ必要がないようにします。
静的な事前訓練を受けた埋め込みの無制限の量の効率的な負荷と管理。
N倍の相互検証を含む、シーケンスラベル付けと分類タスクの標準メトリックを備えた包括的な評価フレームワーク。
ケラス層としてのハギングフェイストランスの統合。
図書館のネイティブJava統合がGrobidでJEPを介して実現されています。
最新のデルフトリリース0.3.4は、Python 3.8およびTensorflow 2.9.3で正常にテストされています。いつものように、GPUは適切なトレーニング時間に必要です。たとえば、GeForce GTX 1050 Ti(4GB)は、RNNモデルとBertまたはRobertaのベースモデルを実行するために非常にうまく機能しています。 Bert Largeモデルを使用すると、GEFORCE GTX 1080 TI(11GB)では問題ありません。これには、適度なバッチサイズのトレーニングが含まれます。複数のGPU(トレーニングと推論)を使用することがサポートされています。
インストール、使用法、モデルの詳細については、Delftドキュメントをご覧ください。
Pypiパッケージは、安定したバージョンで使用できます。最新の安定バージョンは0.3.4です:
python3 -m pip install delft==0.3.4
Delftをインストールして現在のマスターバージョンを使用するには、GitHubリポジトリを入手してください。
git clone https://github.com/kermitt2/delft
cd delftこれらの暗いPython依存湿地の1つに陥らないように、最初に仮想環境をセットアップすることをお勧めします。
virtualenv --system-site-packages -p python3.8 env
source env/bin/activate依存関係をインストールします。
python3 -m pip install -r requirements.txt最後に、できれば編集可能な状態にプロジェクトをインストールします
python3 -m pip install -e .使用については、Delftドキュメントを参照してください。
Apache 2.0ライセンスの下で配布。プロジェクトで使用される依存関係は、それ自体がApache 2.0ライセンスの下で配布されるか、互換性のあるライセンスの下で配布されます。
デルフトに貢献した場合、これらのライセンスに従って貢献を共有することに同意します。
連絡先:Patrice Lopez([email protected])およびLuca Foppiano(@lfoppiano)。
この仕事をしたい場合は、Software Heritage Project-Revel Permanent Identifierとともに、現在のGitHubプロジェクトを参照してください。たとえば、bibtexで:
@misc { DeLFT ,
title = { DeLFT } ,
howpublished = { url{https://github.com/kermitt2/delft} } ,
publisher = { GitHub } ,
year = { 2018--2024 } ,
archivePrefix = { swh } ,
eprint = { 1:dir:54eb292e1c0af764e27dd179596f64679e44d06e }
}