欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

哈工大自然語言處理工具箱之ltp在windows10下的安裝使用教程

 更新時間:2020年05月07日 11:54:04   作者:自然語言處理  
這篇文章主要介紹了哈工大自然語言處理工具箱之ltp在windows10下的安裝使用教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

ltp是哈工大出品的自然語言處理工具箱, pyltp是python下對ltp(c++)的封裝.

在linux下我們很容易的安裝pyltp, 因為各種編譯工具比較方便. 但是在windows下需要安裝vs并且還得做一些配置, 因為我服務的人都是在windows下辦公, 需要讓他們能夠在windows下使用ltp, 所以才有了這篇筆記. 我的方案有兩個:

  • 在win10 的bash下安裝ltp, 然后啟動ltp的server, 通過http協(xié)議來實現(xiàn)在windows下python調(diào)用ltp的方法.
  • 安裝編譯好的wheel(目前只有python3.6/3.5 amd64)(我推薦這種方案)
  • 我在文章最下面還引用了一種方法, 就是使用官方已經(jīng)編譯好的可執(zhí)行exe文件, 直接在命令行(如cmd)下調(diào)用.

第一種方案: bash下安裝

基本環(huán)境

  • windows 10
  • bash for windows
  • python 3.6

安裝bash on ubuntu on windows

這個大家自行百度, 安裝很簡單.

安裝編譯環(huán)境

sudo apt install cmake
sudo apt install g++

安裝過程大概十幾分鐘.

下載ltp源碼

  • 下載源碼, 這是github地址.
  • 解壓到你能記住的位置

編譯

cd到源碼目錄, 比如我的目錄:

cd /mnt/d/bash-sites/ltp-3.4.0

運行編譯命令:

./configure
make

編譯過程大概花費十幾分鐘. 現(xiàn)在我的目錄里多了一個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

一開始我啟動server遇到了這個錯誤.

[INFO] 2018-01-31 15:54:39 Loading segmentor model from "ltp_data/cws.model" ...
[ERROR] 2018-01-31 15:54:39 /mnt/d/bash-sites/ltp-3.4.0/src/ltp/LTPResource.cpp: line 50: LoadSegmentorResource(): Failed to load segmentor model
[ERROR] 2018-01-31 15:54:39 /mnt/d/bash-sites/ltp-3.4.0/src/ltp/Ltp.cpp: line 78: load(): in LTP::wordseg, failed to load segmentor resource
[ERROR] 2018-01-31 15:54:39 /mnt/d/bash-sites/ltp-3.4.0/src/server/ltp_server.cpp: line 172: main(): Failed to setup LTP engine.

因為缺少了模型文件, 在這里下載最新的模型文件.

解壓到/mnt/d/bash-sites/ltp-3.4.0/ltp_data/下, 這是ltp默認的數(shù)據(jù)模型存放位置.

然后就能順利啟動服務器啦.

syd@DESKTOP-J02R2VJ:/mnt/d/bash-sites/ltp-3.4.0$ ./bin/ltp_server --port 9090
[INFO] 2018-01-31 15:56:36 Loading segmentor model from "ltp_data/cws.model" ...
[INFO] 2018-01-31 15:56:36 segmentor model is loaded.
[INFO] 2018-01-31 15:56:36 Loading postagger model from "ltp_data/pos.model" ...
[INFO] 2018-01-31 15:56:36 postagger model is loaded
[INFO] 2018-01-31 15:56:36 Loading NER resource from "ltp_data/ner.model"
[INFO] 2018-01-31 15:56:36 NER resource is loaded.
[INFO] 2018-01-31 15:56:36 Loading parser resource from "ltp_data/parser.model"
[INFO] 2018-01-31 15:56:37 parser is loaded.
[INFO] 2018-01-31 15:56:37 Loading srl resource from "ltp_data/pisrl.model"
[dynet] random seed: 493907432
[dynet] allocating memory: 2000MB
[dynet] memory allocation done.
[INFO] 2018-01-31 15:56:39 srl resource is loaded.
[INFO] 2018-01-31 15:56:39 Resources 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

下載wheels

下面兩個文件針對不同的python版本下載一個即可, 這是我在自己的電腦(win10)上編譯的,不知道你的系統(tǒng)是否能用,64bit的windows應該都可以,有問題在下面留言。

注意: 這兩個文件的區(qū)別是python版本號

安裝文件

下載好了以后, 在命令行下, cd到wheel文件所在的目錄, 然后使用命令pip install wheel文件名安裝.

測試

安裝好了以后, 打開python shell, 試用一下.

from pyltp import SentenceSplitter
sents = SentenceSplitter.split('元芳你怎么看?我就趴窗口上看唄!') # 分句
print('\n'.join(sents))

下載models數(shù)據(jù)

  • 下載models鏈接:https://pan.baidu.com/s/1o9vytmU 密碼:5ntf
  • 放到任意方便調(diào)用的地方即可, 因為程序里需要你自己主動調(diào)用的

第三種方案: 直接調(diào)用編譯好的ltp的可執(zhí)行文件
可以參考這篇文章, 但是我在3.4版本中測試不成功, 加載srl資源失敗. 但是在3.3.1版本上測試是成功的.

總結(jié)

到此這篇關(guān)于哈工大自然語言處理工具箱之ltp在windows10下的安裝使用教程的文章就介紹到這了,更多相關(guān)ltp在windows10下的安裝使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 通過實例了解Python異常處理機制底層實現(xiàn)

    通過實例了解Python異常處理機制底層實現(xiàn)

    這篇文章主要介紹了通過實例了解Python異常處理機制底層實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 講解Python中的遞歸函數(shù)

    講解Python中的遞歸函數(shù)

    這篇文章主要介紹了講解Python中的遞歸函數(shù),遞歸是學一門編程語言必須掌握的重要特性,需要的朋友可以參考下
    2015-04-04
  • Python圖像文字識別詳解(附實戰(zhàn)代碼)

    Python圖像文字識別詳解(附實戰(zhàn)代碼)

    這篇文章主要給大家介紹了關(guān)于Python圖像文字識別的相關(guān)資料,本文介紹使用python進行圖像的文字識別,將圖像中的文字提取出來,可以幫助我們完成很多有趣的事情,需要的朋友可以參考下
    2024-02-02
  • python opencv 檢測移動物體并截圖保存實例

    python opencv 檢測移動物體并截圖保存實例

    這篇文章主要介紹了python opencv 檢測移動物體并截圖保存實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 利用python畫出折線圖

    利用python畫出折線圖

    這篇文章主要為大家詳細介紹了利用python畫出折線圖的相關(guān)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python分類測試代碼實例匯總

    Python分類測試代碼實例匯總

    這篇文章主要介紹了Python分類測試代碼實例匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • PyTorch搭建一維線性回歸模型(二)

    PyTorch搭建一維線性回歸模型(二)

    這篇文章主要為大家詳細介紹了PyTorch搭建一維線性回歸模型,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Python中的數(shù)據(jù)分組統(tǒng)計、分組運算及透視方式

    Python中的數(shù)據(jù)分組統(tǒng)計、分組運算及透視方式

    這篇文章主要介紹了Python中的數(shù)據(jù)分組統(tǒng)計、分組運算及透視方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 關(guān)于Pytorch中模型的保存與遷移問題

    關(guān)于Pytorch中模型的保存與遷移問題

    在本篇文章中,筆者首先介紹了模型復用的幾種典型場景;然后介紹了如何查看Pytorch模型中的相關(guān)參數(shù)信息;接著介紹了如何載入模型、如何進行追加訓練以及進行模型的遷移學習等,需要的朋友可以參考下
    2021-10-10
  • 使用 Python 在京東上搶口罩的思路詳解

    使用 Python 在京東上搶口罩的思路詳解

    受疫情影響全民真的在搶口罩,而且還是搶不到的那種。這篇文章主要介紹了用 Python 在京東上搶口罩的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02

最新評論