python呼叫crf介面 資訊抽取

2021-10-11 20:20:09 字數 2239 閱讀 1184

1、crf++的python介面安裝

在crf++-0.58\python路徑下進入命令列,執行以下命令

python setup.py build

python setup.py install

2、介面呼叫

報錯:importerror: dll load failed: %1 不是有效的 win32 應用程式。

import crfpp

file "d:\anaconda3\lib\site-packages\crfpp.py", line 26, in _crfpp = swig_import_helper()

file "d:\anaconda3\lib\site-packages\crfpp.py", line 22, in swig_import_helper

_mod = imp.load_module('_crfpp', fp, pathname, description)

file "d:\anaconda3\lib\imp.py", line 243, in load_module

return load_dynamic(name, filename, file)

file "d:\anaconda3\lib\imp.py", line 343, in load_dynamic

return _load(spec)

importerror: dll load failed: %1 不是有效的 win32 應用程式。

網上搜尋後沒有解決,想到libcrfpp.dll這個檔案,複製放到\anaconda3\lib\site-packages下面就沒報錯了。

3、模型呼叫及資訊抽取

def singlesentence(sentence,modelname):#單句執行

print("句子:",sentence)

customdictionary.add("%", "q 0") # 自定義詞性

customdictionary.add("%", "q 0") # 自定義詞性

sentence_seged = hanlp.segment(sentence) # 分詞、詞性

tagger = crfpp.tagger("-m"+modelname)

tagger.clear()

for x in sentence_seged:

tagger.add(str(x.word)+ "\t"+str(x.nature))

tagger.parse()

size = tagger.size()

xsize = tagger.xsize()

prearr=#儲存**

for i in range(0, size):

temparr=

for j in range(0, xsize):

char = tagger.x(i, j)

tag = tagger.y2(i)

# print(prearr)

starr=#儲存實體

numarr=#儲存數值

dwarr=#儲存單位

for i in range(len(prearr)):

# 搜尋實體

tempstr = ""

if prearr[i][2] == "w":

if prearr[i][2] == "b":

tempstr = tempstr + prearr[i][0]

for j in range(i + 1, len(prearr)):

if prearr[j][2] == "m" or prearr[j][2] == "e":

tempstr = tempstr + prearr[j][0]

else:

break

if prearr[i][1] == "m":

if prearr[i-1][1]=='v':

else:

if prearr[i][1] == "q" :

print("實體:",starr)

print("數值:",numarr)

print("單位:",dwarr)

SpringBoot呼叫python介面的實現步驟

目錄 springboot作為後端開發框架,有強大且方便的處理能力。但是作為乙個結合資料分析 前台展示的 來說,後端的資料處理模組使用python指令碼要更加方便。axefjqghe本文主要介紹如何利用springboot框架呼叫python指令碼 其實一句話來說就是利用springboot j a...

salt的python介面呼叫

salt的python api python指令碼呼叫salt命令 指令碼要在master機器上執行,執行使用者需要是master使用者 1 獲取master配置檔案 salt.config.client config path,env var salt client config defaults...

Python呼叫遠端Socket介面

web應用通訊通常都喜歡用http介面,但不排除直接socket通訊的情況。socket除了server端構建麻煩些 需要考慮很多實際情況 對於呼叫者來說構建個client端其實不比http麻煩多少。usr bin env python coding utf 8 auther linvo impor...