哈工大自然言語処理ツールボックスのltpはwindows 10のインストールに教程を使います。
9716 ワード
ltpは哈工大製品の自然言語処理ツールボックスで、pyltpはpythonの下でltp(c++)に対するパッケージです。
linuxの下で私たちは簡単にpylotpをインストールします。いろいろなコンパイルツールが便利です。しかし、windowsの下でvsをインストールして配置をしなければなりません。私がサービスしている人はみんなwindowsの下で仕事をしていますので、彼らがwindowsの下でltpを使うことができるようにします。だからこのノートがあります。私の計画は二つがあります。はwin 10のbashの下にltpをインストールし、ltpのserverを起動し、httpプロトコルを通じてwindowsの下でpythonがltpを呼び出す方法を実現します。 にコンパイルされたwheelをインストールします。(現在はpython 3.6/3.5 amd 64しかありません。) 私は文章の一番下にまた一つの方法を引用しました。公式でコンパイルされた実行可能なexeファイルを使って、直接コマンドライン(cmdなど)で呼び出します。
第一案:bash下設置
基本的な環境 windows 10 bash for windows python 3.6 bash on uuntu on windowsをインストールします。
これはみんな自分で作って、インストールは簡単です。
コンパイル環境のインストール
ltpソースをダウンロードソースをダウンロードします。これはgithubアドレスです。 です。は、覚えられる位置まで解凍します。
コンパイル
cdからソースディレクトリ、例えば私のディレクトリ:
最初に私はserverを起動してこのエラーに出会いました。
[INFO]2018-01-31 15:54:39 Loading segmentor model from"ltp_data/cws.model「…
[ERROR]2018-01-31 15:54/mnt/d/bash-sites/ltp-3.0/src/ltp/LTCPResource.cpp:line 50:LoadSegmentorResource():Failed to load segmentor model
[ERROR]2018-01-31:54:39/mnt/d/bash-sites/ltp-3.0/src/ltp/Ltp.cpp:line 78:load():wodseg,failed to load segmentor reource
[ERROR]2018-01-31 15:54/mnt/d/bash-sites/ltp-34.0/src/server/ltp_server.cpp:line 172:main():Failed to setup LTCP engine.
モデルファイルが足りないので、ここで最新のモデルファイルをダウンロードします。
解消/
そしてサーバーをスムーズに起動できます。
syd@DESKTOP-J 02 R 2 VJ:/mnt/d/bash-sites/ltp-34.0$./bin/ltp_server-port 9090
[INFO]2018-01-31 15:56 Loading segmentor model from"ltp_data/cws.model「…
[INFO]2018-01-31:56:36 segmentor model is loaded.
[INFO]2018-01-31 15:56 Loading postaggar model from"ltp_data/pos.model「…
[INFO]2018-01-31 15:56:36 postaggar model is loaded
[INFO]2018-01-31 15:56 Loading NER resource from"ltp_data/ner.model"
[INFO]2018-01-31:56 NER resource is loaded.
[INFO]2018-01-31 15:56 Loading parser resource from"ltp_data/parser.model"
[INFO]2018-01-31:56:37 parser is loaded.
[INFO]2018-01-31 15:56 Loading srl resource from「ltp_」data/pisrl.model"
[dynet]random seed:49390432
[dynet]allocating memory:2000 MB
[dynet]memory allocation done.
[INFO]2018-01-31:56:39 srl resource is loaded.
[INFO]2018-01-31:56:39 Resource loading finished.
[INFO]2018-01-31 15:56:39 Start listening on port[9090]…
テスト
勝手にお願いを書いて、効果を見てください。
ダウンロード
次の二つのファイルはそれぞれのpythonバージョンに対して一つをダウンロードすればいいです。これは私が自分のコンピュータ(win 10)でコンパイルしたものです。あなたのシステムが使えるかどうかは分かりません。64 bitのwindowsは全部できます。問題があったら下のメッセージに残してください。 pylot p-00.2-cp 35-win_amd 64.whl pylot p-000.21-cp 36 m-win_amd 64.whl
この二つのファイルの違いはpythonバージョンです。
ファイルをインストール
ダウンロードが完了したら、コマンドラインの下で、cdからwheelファイルのあるディレクトリに、コマンドpip install wheelファイル名でインストールします。
テスト
インストールが完了したら、python shellを開けて、試してみます。 modelsリンクをダウンロードする:https://pan.baidu.com/s/1o9vytmUパスワード:5 ntf は任意の便利なところに置いてもいいです。プログラムの中では自分から起動する が必要です。
第三の案:良いltpをコンパイルした実行可能ファイルを直接呼び出します。
この文章を参照してもいいですが、3.4バージョンではテストが失敗して、srlリソースをロードできませんでした。しかし、3.3.1バージョンでテストは成功しました。
締め括りをつける
以上で、哈工大自然言語処理ツールボックスのltpはwindows 10でインストールして使用する教程の文章を紹介しました。もっと関連するltpはwindows 10でインストールして使っています。以前の文章を検索してください。または続けて下記の関連記事をご覧ください。これからもよろしくお願いします。
linuxの下で私たちは簡単にpylotpをインストールします。いろいろなコンパイルツールが便利です。しかし、windowsの下でvsをインストールして配置をしなければなりません。私がサービスしている人はみんなwindowsの下で仕事をしていますので、彼らがwindowsの下でltpを使うことができるようにします。だからこのノートがあります。私の計画は二つがあります。
基本的な環境
これはみんな自分で作って、インストールは簡単です。
コンパイル環境のインストール
sudo apt install cmake
sudo apt install g++
インストールは10分ぐらいかかります。ltpソースをダウンロード
コンパイル
cdからソースディレクトリ、例えば私のディレクトリ:
cd /mnt/d/bash-sites/ltp-3.4.0
コンパイルコマンドを実行:
./configure
make
コンパイルには10分ぐらいかかります。今のカタログにはもう一つのbinフォルダがあります。
drwxrwxrwx 0 root root 512 Jan 31 15:42 ./
drwxrwxrwx 0 root root 512 Jan 31 15:30 ../
-rwxrwxrwx 1 root root 800 Jan 31 15:30 appveyor.yml*
-rwxrwxrwx 1 root root 0 Jan 31 15:30 AUTHORS*
drwxrwxrwx 0 root root 512 Jan 31 15:53 bin/
drwxrwxrwx 0 root root 512 Jan 31 15:42 build/
-rwxrwxrwx 1 root root 29301 Jan 31 15:30 ChangeLog.md*
drwxrwxrwx 0 root root 512 Jan 31 15:30 cmake/
-rwxrwxrwx 1 root root 1439 Jan 31 15:30 CMakeLists.txt*
drwxrwxrwx 0 root root 512 Jan 31 15:30 conf/
-rwxrwxrwx 1 root root 131 Jan 31 15:30 configure*
-rwxrwxrwx 1 root root 902 Jan 31 15:30 COPYING*
drwxrwxrwx 0 root root 512 Jan 31 15:30 doc/
-rwxrwxrwx 1 root root 79976 Jan 31 15:30 Doxyfile*
drwxrwxrwx 0 root root 512 Jan 31 15:30 examples/
-rwxrwxrwx 1 root root 1028 Jan 31 15:30 .gitignore*
drwxrwxrwx 0 root root 512 Jan 31 15:42 include/
-rwxrwxrwx 1 root root 85 Jan 31 15:30 INSTALL*
drwxrwxrwx 0 root root 512 Jan 31 15:53 lib/
-rwxrwxrwx 1 root root 965 Jan 31 15:30 Makefile*
-rwxrwxrwx 1 root root 6639 Jan 31 15:30 NEWS.md*
-rwxrwxrwx 1 root root 4750 Jan 31 15:30 README.md*
drwxrwxrwx 0 root root 512 Jan 31 15:30 src/
-rwxrwxrwx 1 root root 3048 Jan 31 15:30 subproject.d.json*
drwxrwxrwx 0 root root 512 Jan 31 15:31 thirdparty/
drwxrwxrwx 0 root root 512 Jan 31 15:31 tools/
-rwxrwxrwx 1 root root 1372 Jan 31 15:30 .travis.yml*
セットセーバー最初に私はserverを起動してこのエラーに出会いました。
[INFO]2018-01-31 15:54:39 Loading segmentor model from"ltp_data/cws.model「…
[ERROR]2018-01-31 15:54/mnt/d/bash-sites/ltp-3.0/src/ltp/LTCPResource.cpp:line 50:LoadSegmentorResource():Failed to load segmentor model
[ERROR]2018-01-31:54:39/mnt/d/bash-sites/ltp-3.0/src/ltp/Ltp.cpp:line 78:load():wodseg,failed to load segmentor reource
[ERROR]2018-01-31 15:54/mnt/d/bash-sites/ltp-34.0/src/server/ltp_server.cpp:line 172:main():Failed to setup LTCP engine.
モデルファイルが足りないので、ここで最新のモデルファイルをダウンロードします。
解消/
mnt/d/bash-sites/ltp-3.4.0/ltp_data/
の下で、これはltpのデフォルトのデータモデルの保存位置です。そしてサーバーをスムーズに起動できます。
syd@DESKTOP-J 02 R 2 VJ:/mnt/d/bash-sites/ltp-34.0$./bin/ltp_server-port 9090
[INFO]2018-01-31 15:56 Loading segmentor model from"ltp_data/cws.model「…
[INFO]2018-01-31:56:36 segmentor model is loaded.
[INFO]2018-01-31 15:56 Loading postaggar model from"ltp_data/pos.model「…
[INFO]2018-01-31 15:56:36 postaggar model is loaded
[INFO]2018-01-31 15:56 Loading NER resource from"ltp_data/ner.model"
[INFO]2018-01-31:56 NER resource is loaded.
[INFO]2018-01-31 15:56 Loading parser resource from"ltp_data/parser.model"
[INFO]2018-01-31:56:37 parser is loaded.
[INFO]2018-01-31 15:56 Loading srl resource from「ltp_」data/pisrl.model"
[dynet]random seed:49390432
[dynet]allocating memory:2000 MB
[dynet]memory allocation done.
[INFO]2018-01-31:56:39 srl resource is loaded.
[INFO]2018-01-31:56:39 Resource loading finished.
[INFO]2018-01-31 15:56:39 Start listening on port[9090]…
テスト
勝手にお願いを書いて、効果を見てください。
import requests
import json
uri_base = "http://127.0.0.1:9090/ltp"
data = {'s': ' 。', 'x': 'n', 't': 'srl'}
response = requests.get(uri_base, data=data)
rdata = response.json()
print(json.dumps(rdata, indent=4, ensure_ascii=False))
[
[
[
{
"arg": [],
"cont": " ",
"id": 0,
"ne": "O",
"parent": 1,
"pos": "r",
"relate": "SBV"
},
{
"arg": [
{
"beg": 0,
"end": 0,
"id": 0,
"type": "A0"
},
{
"beg": 2,
"end": 9,
"id": 1,
"type": "A1"
}
],
"cont": " ",
"id": 1,
"ne": "O",
"parent": -1,
"pos": "v",
"relate": "HED"
},
{
"arg": [],
"cont": " ",
"id": 2,
"ne": "O",
"parent": 3,
"pos": "r",
"relate": "SBV"
},
{
"arg": [
{
"beg": 2,
"end": 2,
"id": 0,
"type": "A0"
},
{
"beg": 4,
"end": 4,
"id": 1,
"type": "A1"
},
{
"beg": 5,
"end": 9,
"id": 2,
"type": "A2"
}
],
"cont": " ",
"id": 3,
"ne": "O",
"parent": 1,
"pos": "v",
"relate": "VOB"
},
{
"arg": [],
"cont": " ",
"id": 4,
"ne": "S-Nh",
"parent": 3,
"pos": "nh",
"relate": "DBL"
},
{
"arg": [],
"cont": " ",
"id": 5,
"ne": "O",
"parent": 6,
"pos": "v",
"relate": "ADV"
},
{
"arg": [
{
"beg": 7,
"end": 9,
"id": 0,
"type": "A1"
}
],
"cont": " ",
"id": 6,
"ne": "O",
"parent": 3,
"pos": "v",
"relate": "VOB"
},
{
"arg": [],
"cont": " ",
"id": 7,
"ne": "O",
"parent": 6,
"pos": "n",
"relate": "VOB"
},
{
"arg": [],
"cont": " ",
"id": 8,
"ne": "O",
"parent": 9,
"pos": "c",
"relate": "LAD"
},
{
"arg": [],
"cont": " ",
"id": 9,
"ne": "O",
"parent": 7,
"pos": "n",
"relate": "COO"
},
{
"arg": [],
"cont": "。",
"id": 10,
"ne": "O",
"parent": 1,
"pos": "wp",
"relate": "WP"
}
]
]
]
第二の案:wheelの設置ダウンロード
次の二つのファイルはそれぞれのpythonバージョンに対して一つをダウンロードすればいいです。これは私が自分のコンピュータ(win 10)でコンパイルしたものです。あなたのシステムが使えるかどうかは分かりません。64 bitのwindowsは全部できます。問題があったら下のメッセージに残してください。
ファイルをインストール
ダウンロードが完了したら、コマンドラインの下で、cdからwheelファイルのあるディレクトリに、コマンドpip install wheelファイル名でインストールします。
テスト
インストールが完了したら、python shellを開けて、試してみます。
from pyltp import SentenceSplitter
sents = SentenceSplitter.split(' ? !') #
print('
'.join(sents))
modelsデータをダウンロードします第三の案:良いltpをコンパイルした実行可能ファイルを直接呼び出します。
この文章を参照してもいいですが、3.4バージョンではテストが失敗して、srlリソースをロードできませんでした。しかし、3.3.1バージョンでテストは成功しました。
締め括りをつける
以上で、哈工大自然言語処理ツールボックスのltpはwindows 10でインストールして使用する教程の文章を紹介しました。もっと関連するltpはwindows 10でインストールして使っています。以前の文章を検索してください。または続けて下記の関連記事をご覧ください。これからもよろしくお願いします。