이 프로젝트는 최첨단 정보 추출 도구를 무료로(상업적 용도로도) 제공합니다. 현재 릴리스에는 명명된 엔터티 추출 및 이진 관계 감지를 수행하기 위한 도구는 물론 사용자 지정 추출기 및 관계 감지기를 교육하기 위한 도구도 포함되어 있습니다.
MITIE는 고성능 기계 학습 라이브러리인 dlib를 기반으로 구축되었으며[1], MITIE는 분산 단어 임베딩[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 공유 라이브러리를 구축한 후에는 example/python 폴더로 이동하여 Python 스크립트 중 하나를 간단히 실행할 수 있습니다. 각 스크립트는 명명된 엔터티 인식 및 관계 추출, 사용자 정의 NER 도구 교육 또는 사용자 정의 관계 추출기 교육과 같은 MITIE의 일부 측면을 설명하는 튜토리얼입니다.
pip install git+https://github.com/mit-nlp/MITIE.git
명령을 사용하여 github에서 직접 mitie
설치할 수도 있습니다.
MITIE는 R 패키지로 설치할 수 있습니다. 자세한 내용은 README를 참조하세요.
example/C 폴더에 예제 C 프로그램이 있습니다. 이를 컴파일하려면 해당 폴더로 이동하여 make
실행하면 됩니다. 또는 다음과 같이 CMake를 사용하십시오.
cd examples/C/ner
mkdir build
cd build
cmake ..
cmake --build . --config Release
example/cpp 폴더에 예제 C++ 프로그램이 있습니다. 이들 중 하나를 컴파일하려면 해당 폴더로 이동하여 make
실행하면 됩니다. 또는 다음과 같이 CMake를 사용하십시오.
cd examples/cpp/ner
mkdir build
cd build
cmake ..
cmake --build . --config Release
example/java 폴더에 예제 Java 프로그램이 있습니다. 실행하기 전에 다음과 같이 MITIE의 Java 인터페이스를 컴파일해야 합니다.
cd mitielib/java
mkdir build
cd build
cmake ..
cmake --build . --config Release --target install
그러면 javamitie 공유 라이브러리와 jar 파일이 mitielib 폴더에 배치됩니다. 두 파일이 있으면 Windows의 경우 run_ner.bat를 실행하고 Linux 또는 OS X와 같은 POSIX 시스템의 경우 run_ner.sh를 실행하여 example/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에서 다운로드할 수 있습니다. 파일에는 example/java 폴더가 있습니다. 제공된 .bat 또는 .sh 파일을 실행하여 예제를 실행할 수 있습니다.
MITIE에 관한 구체적인 논문은 없습니다. 그러나 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 소프트웨어 라이센스 - 버전 1.0 - 2003년 8월 17일에 따라 라이센스가 부여되었습니다.
본 라이센스가 적용되는 소프트웨어 및 동봉 문서("소프트웨어")의 사본을 취득한 모든 개인 또는 조직에게 소프트웨어를 사용, 복제, 표시, 배포, 실행 및 전송할 수 있는 권한이 무료로 부여됩니다. 소프트웨어의 파생물을 준비하고 소프트웨어를 제공받은 제3자에게 그렇게 하도록 허용하는 데에는 모두 다음 사항이 적용됩니다.
소프트웨어의 저작권 표시와 위의 라이센스 부여, 이 제한 사항 및 다음 면책 조항을 포함한 이 전체 진술은 소프트웨어의 전체 또는 일부 사본과 소프트웨어의 모든 파생물에 포함되어야 합니다. 복사본 또는 파생 저작물은 소스 언어 프로세서에 의해 생성된 기계 실행 가능 개체 코드의 형태로만 되어 있습니다.
소프트웨어는 상품성, 특정 목적에의 적합성, 소유권 및 비침해에 대한 보증을 포함하되 이에 국한되지 않고 명시적이든 묵시적이든 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 저작권 보유자나 소프트웨어를 배포하는 사람은 소프트웨어나 소프트웨어의 사용 또는 기타 거래로 인해 발생하거나 이와 관련하여 발생하는 계약, 불법 행위 또는 기타 손해나 기타 책임에 대해 책임을 지지 않습니다.
[1] 데이비스 E. 킹. Dlib-ml: 기계 학습 툴킷. 기계 학습 연구 저널 10, pp. 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, 유춘남, 구조적 SVM의 절단면 훈련, 기계 학습, 77(1):27-59, 2009.