このプロジェクトは、最先端の情報抽出ツールを無料で (商用利用も可能) 提供します。現在のリリースには、名前付きエンティティの抽出とバイナリ関係の検出を実行するためのツールに加え、カスタム抽出と関係検出をトレーニングするためのツールが含まれています。
MITIE は、高性能機械学習ライブラリ [1] である dlib 上に構築されており、分散型単語埋め込み [2] や構造サポート ベクター マシン [3] の使用を含むいくつかの最先端技術を利用しています。 ]。 MITIE は、さまざまな言語リソース (CoNLL 2003、ACE、Wikipedia、Freebase、Gigaword など) を使用してトレーニングされた、英語、スペイン語、ドイツ語の両方に対してさまざまなレベルのサポートを提供するいくつかの事前トレーニング済みモデルを提供しています。コアの MITIE ソフトウェアは C++ で書かれていますが、Python、R、Java、C、MATLAB などの他のいくつかのソフトウェア言語のバインディングにより、ユーザーは MITIE を自分のアプリケーションに迅速に統合できます。
外部プロジェクトは、OCaml、.NET、.NET Core、PHP、および Ruby の API バインディングを作成しました。データのラベル付けと MITIE のトレーニングのための対話型ツールもあります。
MITIE の主要な API は、mitie.h ヘッダー ファイルに文書化されている C API です。これ以外にも、C、C++、Java、R、または Python 2.7 から MITIE を使用する方法を示すサンプル プログラムが多数あります。
提供されたサンプルを実行する前に、トレーニングされたモデル ファイルをダウンロードする必要があります。ダウンロードするには、次のコマンドを実行します。
make MITIE-models
または、単純に MITIE-models-v0.2.tar.bz2 ファイルをダウンロードし、MITIE フォルダーに解凍します。スペイン語とドイツ語のモデルは個別のダウンロードで提供されることに注意してください。したがって、スペイン語の NER モデルを使用したい場合は、MITIE-models-v0.2-Spanish.zip をダウンロードして、MITIE フォルダーに解凍します。ドイツのモデルについても同様です: MITIE-models-v0.2-German.tar.bz2
MITIE には、基本的なストリーミング NER ツールが付属しています。したがって、次のコマンドを使用して、テキスト ファイルの各行を個別に処理し、マークアップされたテキストを出力するように MITIE に指示できます。
cat sample_text.txt | ./ner_stream MITIE-models/english/ner_model.dat
ner_stream 実行可能ファイルは、最上位の MITIE フォルダーでmake
を実行するか、tools/ner_stream フォルダーに移動してmake
実行するか、CMake を使用してビルドすることでコンパイルできます。これは次のコマンドで実行できます。
cd tools/ner_stream
mkdir build
cd build
cmake ..
cmake --build . --config Release
UNIX のようなシステムでは、最上位の MITIE フォルダーでmake
実行するか、次のコマンドを実行することでこれを実行できます。
cd mitielib
make
これにより、mitielib フォルダーに共有ライブラリ ファイルと静的ライブラリ ファイルが作成されます。または、次のように入力して、CMake を使用して共有ライブラリをコンパイルすることもできます。
cd mitielib
mkdir build
cd build
cmake ..
cmake --build . --config Release --target install
これらの方法のいずれでも、mitielib フォルダーに MITIE 共有ライブラリが作成されます。
cmake を使用して MITIE をコンパイルすると、マシン上で最適化された BLAS ライブラリが自動的に検索され、使用されます。ただし、通常の make を使用してコンパイルする場合は、BLAS ライブラリを手動で見つける必要があります。そうしないと、DLIB はデフォルトで組み込みの BLAS 実装になりますが、速度は遅くなります。したがって、cmake を使用せずにコンパイルするときに OpenBLAS を使用するには、 libopenblas.a
とlibgfortran.a
を見つけて、次のようにmake
を実行します。
cd mitielib
make BLAS_PATH=/path/to/openblas.a LIBGFORTRAN_PATH=/path/to/libfortran.a
BLAS ライブラリが標準の場所にない場合、cmake はライブラリを見つけることができないことに注意してください。ただし、 cmake ..
次のようなステートメントに置き換えることで、どのフォルダーを調べるかを指定できます。
cmake -DCMAKE_LIBRARY_PATH=/home/me/place/i/put/blas/lib ..
MITIE 共有ライブラリを構築したら、examples/python フォルダーに移動して、任意の Python スクリプトを実行するだけです。各スクリプトは、MITIE のいくつかの側面 (固有表現の認識と関係抽出、カスタム NER ツールのトレーニング、またはカスタム関係エクストラクターのトレーニング) を説明するチュートリアルです。
次のコマンドを使用して、github からmitie
直接インストールすることもできます: pip install git+https://github.com/mit-nlp/MITIE.git
。
MITIE は R パッケージとしてインストールできます。詳細については、README を参照してください。
C プログラムのサンプルは、examples/C フォルダーにあります。これらをコンパイルするには、それらのフォルダーに移動してmake
実行するだけです。または、次のように CMake を使用します。
cd examples/C/ner
mkdir build
cd build
cmake ..
cmake --build . --config Release
C++ プログラムのサンプルは、examples/cpp フォルダーにあります。これらのいずれかをコンパイルするには、それらのフォルダーに移動してmake
実行するだけです。または、次のように CMake を使用します。
cd examples/cpp/ner
mkdir build
cd build
cmake ..
cmake --build . --config Release
Java プログラムのサンプルは、examples/java フォルダーにあります。実行する前に、次のように MITIE の Java インターフェースをコンパイルする必要があります。
cd mitielib/java
mkdir build
cd build
cmake ..
cmake --build . --config Release --target install
これにより、javamtie 共有ライブラリと jar ファイルが mitielib フォルダーに配置されます。これら 2 つのファイルを取得したら、Windows の場合は run_ner.bat を実行し、Linux や OS X などの POSIX システムの場合は run_ner.sh を実行して、examples/java 内のサンプル プログラムを実行できます。
また、MITIE インターフェイスをコンパイルするには、Swig 1.3.40 以降、CMake 2.8.4 以降、および Java JDK がインストールされている必要があることにも注意してください。最後に、Windows で 64 ビット Java を使用している場合は、次のようなコマンドを使用する必要があることに注意してください。
cmake -G "Visual Studio 10 Win64" ..
cmake ..
の代わりに、Visual Studio が 64 ビット ライブラリを作成することを認識できるようにします。
簡単な回帰テストを実行してビルドを検証できます。これを行うには、最上位の MITIE フォルダーから次のコマンドを実行します。
make test
make test
サンプル プログラムをビルドし、必要なサンプル モデルをダウンロードします。非標準の C++ コンパイラが必要な場合は、 examples/C/makefile
およびtools/ner_stream/makefile
のCC
変更します。
64 ビット Linux および Windows (Python の 32 ビット バージョンと 64 ビット バージョンの両方) 用のサンプル モデルをパッケージ化した Python 2.7 バイナリを構築しました。プリコンパイル済みパッケージはここからダウンロードできます: プリコンパイル済み MITIE 0.2
Linux および Windows 上で動作する 64 ビット JVM 用の Java バイナリを構築しました。プリコンパイル済みパッケージは、プリコンパイル済み Java MITIE 0.3 からダウンロードできます。ファイル内には、examples/java フォルダーがあります。提供された .bat または .sh ファイルを実行することで、この例を実行できます。
通商産業省に特化した論文はありません。ただし、MITIE は基本的に dlib の薄いラッパーにすぎないため、研究で MITIE を使用する場合は、dlib の JMLR 論文を引用してください。
Davis E. King. Dlib-ml: A Machine Learning Toolkit. Journal of Machine Learning Research 10, pp. 1755-1758, 2009
@Article{dlib09,
author = {Davis E. King},
title = {Dlib-ml: A Machine Learning Toolkit},
journal = {Journal of Machine Learning Research},
year = {2009},
volume = {10},
pages = {1755-1758},
}
MITIE は、Boost Software License - バージョン 1.0 - 2003 年 8 月 17 日に基づいてライセンスを取得しています。
本ライセンスの対象となるソフトウェアおよび付随文書(以下「ソフトウェア」)のコピーを入手した個人または組織に対し、ソフトウェアを使用、複製、表示、配布、実行、送信する許可を無償で付与します。ソフトウェアの二次的著作物を作成すること、およびソフトウェアが提供されるサードパーティにそのような著作物を作成することを許可すること。これらはすべて以下の条件に従います。
ソフトウェア内の著作権表示と、上記のライセンス付与、この制限および以下の免責条項を含むこの声明全体は、ソフトウェアのすべてのコピー(全体または一部)、およびソフトウェアのすべての派生作品に含める必要があります。コピーまたは派生著作物は、ソース言語プロセッサによって生成された機械実行可能なオブジェクト コードの形式のみです。
ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、権原および非侵害の保証を含むがこれらに限定されない、いかなる種類の保証も行われません。いかなる場合においても、著作権所有者またはソフトウェアの配布者は、契約上、不法行為その他のいずれかを問わず、ソフトウェアまたはソフトウェアの使用またはその他の取引に起因または関連して生じる損害またはその他の責任に対して責任を負わないものとします。
[1] デイビス E. キング。 Dlib-ml: 機械学習ツールキット。 Journal of Machine Learning Research 10、1755-1758 ページ、2009 年。
[2] Paramveer Dhillon、Dean Foster、Lyle Ungar、Eigenwords: Spectral Word Embeddings、Journal of Machine Learning Research (JMLR)、16、2015。
[3] T. Joachims、T. Finley、Chun-Nam Yu、構造 SVM の切断面トレーニング、機械学習、77(1):27-59、2009。