Python の高レベル自然言語処理ライブラリである SpaCy は、世界最速の構文解析ツールとして知られています。

Python の高レベル自然言語処理ライブラリである SpaCy は、世界最速の構文解析ツールとして知られています。

spaCy は、最先端の研究に基づいて構築され、実際の製品での使用のためにゼロから設計された、Python と Cython の高度な自然言語処理ライブラリです。 spaCy には、事前トレーニング済みの統計モデルと単語ベクトルが付属しており、現在 20 を超える言語でのトークン化をサポートしています。世界最速のパーサー、タグ付け、解析、固有表現認識のための畳み込みニューラル ネットワーク モデル、およびディープラーニングとの統合を特徴としています。これは、MIT ライセンスに基づいてリリースされた商用オープンソース ソフトウェアです。

spaCy プロジェクトは @honnibal と @ines によって管理されていますが、電子メールによる個人的なサポートは利用できません。しかし、オープンソース開発者は、公開して共有すれば、その支援の価値が高まり、より多くの人が恩恵を受けることができると考えています。 (公式 Github アドレス: https://github.com/explosion/spaCy#spacy-industrial-strength-nlp)

spaCyの特徴:

  • 世界最速のパーサー

  • エンティティ名の認識

  • 非破壊マーキング

  • 20以上の言語をサポート

  • 事前学習済みの統計モデルと単語ベクトル

  • ディープラーニングモデルの簡単な統合

  • 品詞記号

  • タグ依存性分析

  • 構文に基づく文の分割

  • 視覚的に文法とNERを構築する

  • 文字列からハッシュへのマッ​​ピングはより便利

  • NumPyデータ配列をエクスポートする

  • 効率的なバイナリシリアル化

  • モデルのパッケージ化と展開が簡単

  • 最速スピード

  • 強力かつ厳格な評価精度

spaCyのインストール

ピップ

pip を使用すると、spaCy バージョンは現在ソース パッケージとしてのみ利用できます。

  • pip インストール spacy

pip を使用する場合は、システム状態の変更を避けるために、通常、仮想環境にパッケージをインストールすることをお勧めします。

  • venv .envsource .env/bin/activate

  • pip インストール spacy

コンダ

コミュニティ開発者の努力により、conda サポートがようやく復活しました。 spaCy は conda-forge 経由でインストールできるようになりました。

  • conda config --add-channels conda-forge

  • conda インストール spacy

spaCyの更新

spaCy の一部のアップデートでは、新しい統計モデルのダウンロードが必要になる場合があります。spaCy v2.0 以降を実行している場合は、validate コマンドを使用して、インストールされているモデルに互換性があるかどうかを確認し、互換性がない場合は、アップデート方法の詳細を出力できます。

  • pip インストール -U スペース

  • スペイシー検証

独自のモデルをトレーニングした場合は、トレーニングと実行時の入力が一致する必要があることに注意してください。 spaCy を更新した後は、新しいバージョンでモデルを再トレーニングすることをお勧めします。

モデルをダウンロード

v1.7.0 以降では、spaCy のモデルを Python パッケージとしてインストールできます。つまり、他のモジュールと同様に、アプリケーションのコンポーネントになります。 モデルは、spaCy のダウンロード コマンドを使用するか、pip にパスまたは URL を指定して手動でインストールできます。

モデルの読み込みと使用

モデルをロードするには、モデルのショートカット リンクで spacec.load() を使用します。

すでに pip 経由でモデルをインストールしている場合は、それを直接インポートして load() メソッドを呼び出すこともできます。

旧バージョンのサポート

古いバージョン (v1.6.0 以下) を使用している場合でも、python -m spacy.en.download all または python -m spacy.de.download all を使用して、spaCy から古いモデルをダウンロードしてインストールできます。 v1.6.0 リリースには .tar.gz アーカイブも添付されています。モデルを手動でダウンロードしてインストールするには、アーカイブを解凍し、含まれているディレクトリを spacy/data に配置し、spacy.load('en') または spacy.load('de') でモデルをロードします。

ソースからのコンパイル

spaCy をインストールする別の方法は、GitHub リポジトリをクローンしてソースからビルドすることです。 コード ベースに変更を加える場合、一般的なアプローチは、ヘッダー ファイル、コンパイラ、pip、virtualenv、git を含む Python ディストリビューションで構成された開発環境を確保することです。コンパイラ部分が最も難しいです。これを実行する方法はシステムによって異なります。詳細については、Ubuntu、OS X、Windows の手順を参照してください。

pip による通常のインストールと比較して、requirements.txt では Cython などの開発者依存関係も追加でインストールされます。 詳細と手順については、ソースから spaCy をコンパイルするドキュメントと、プラットフォームと Python バージョンに適したコマンドのクイックスタート ウィジェットを参照してください。上記の詳細なコマンドの代わりに、以下の構造化されたコマンドを使用することもできます。すべてのコマンドは、仮想環境が .env というディレクトリにあることを前提としています。別のディレクトリを使用している場合は、環境変数 VENV_DIR を使用して変更できます。たとえば、VENV_DIR=".custom-env" fab clean make です。

ウブントゥ

apt-get 経由でシステムレベルの依存関係をインストールします。

  • sudo apt-get install build-essential python-dev git

macOS / OS X

いわゆる「コマンドライン ツール」を含む、最新バージョンの XCode をインストールします。 macOS と OS X には Python と git がプリインストールされています。

ウィンドウズ

Python インタープリターのコンパイルに使用したバージョンと一致する Visual Studio Express 以降のバージョンをインストールします。公式ディストリビューションは、VS 2008 (Python 2.7)、VS 2010 (Python 3.4)、VS 2015 (Python 3.5) です。

テストの実行

spaCy には広範なテスト スイートが付属しています。 まず、spaCy がインストールされている場所を確認します。

  • python -c "os をインポートします。spacy をインポートします。(os.path.dirname(spacy.__file__)) を印刷します"

次にそのディレクトリで実行します。 --vectors、--slow、および --model フラグはオプションであり、追加のテストを有効にします。

  • # 最新のpytestバージョンを使用していることを確認してください

  • python -m pip インストール -U pytest

  • python -m pytest <

<<:  TensorFlow とオートエンコーダー モデルを使用して手書き数字を生成する方法

>>:  単一画像超解像におけるディープラーニングの応用: SRCNN、知覚損失、SRResNet

ブログ    
ブログ    

推薦する

5G、自動運転、AIがどの段階に到達したかを示す曲線

最近、世界で最も権威のあるIT市場調査およびコンサルティング会社であるガートナーは、新しいテクノロジ...

多くの場所で違法な顔認識を禁止する法律が制定されています。ビッグデータは個人にどのような悪影響を及ぼすでしょうか?

先月、個人情報保護のため、「ヘルメットをかぶって家を眺める」男性の短い動画がネット上で拡散され、ネッ...

高度な自動運転システムの設計・開発からソフトウェアの導入まで

上記の記事では、SOA 全体のアーキテクチャ特性、実装基盤、アプリケーションの利点、開発プロセスにつ...

人工知能チュートリアル(II):人工知能の歴史とマトリックスの再考

このシリーズの最初の記事では、人工知能、機械学習、ディープラーニング、データサイエンスなどの分野間の...

民間ドローンの産業応用シナリオに関する簡単な議論

[[357620]]科学技術の発展に伴い、人類は機械工学、材料科学、電子技術、自動制御、コンピュータ...

ディープラーニングの父、ヒントン:次世代ニューラルネットワーク

ディープラーニングの父ヒントン氏:次世代ニューラルネットワーク SIGIRは、情報検索の分野における...

...

...

いくつかの典型的なアルゴリズム面接の質問に対する Java ソリューション

質問1:公共クラスtestClockwiseOutput { //行列を時計回りに印刷する @テスト...

復活したジャンルのトップ10を数えると、必ず気に入るジャンルが見つかる

統計モデルやその他のアルゴリズムに加えて、回帰は機械学習を正常に動作させるための重要な要素です。回帰...

Uni-TTS音声合成モデルのアップグレード:1つの音声、複数の言語、高忠実度、高効率

最近、マイクロソフトは最新の Azure ニューラル ネットワーク音声合成技術 Uni-TTSv3 ...

アルゴリズムの改善とハードウェアの反復、どちらがより収益性が高いでしょうか? MITの最新の研究結果がこの答えを提供している

コンピューターが登場する前には、アルゴリズムがありました。コンピュータの誕生により、コンピュータの強...