a simple LTP service implemented in Python based on FastAPI
Project description
ltp_server
基于Python的用FastAPI简单封装的LTP服务
安装
pip install ltp_server
使用方式
方式一:Python库引用
示例:
from ltp_server import Server
if __name__ == '__main__':
model_path = r"/root/Data/NLP/Model/LTP"
# server = Server(model_path=model_path)
# server.run()
Server(model_path).run()
方式二:shell命令
示例:
ltp_server --model_path=/root/Data/NLP/Model/LTP
可用选项
参数名 | 是否可选 | 默认值 | 说明 |
---|---|---|---|
model_path | 否 | LTP模型路径(绝对路径) | |
dict_path | 是 | None | 用户词表路径(绝对路径) |
max_window | 是 | 4 | 前向分词最大窗口 |
host | 是 | 127.0.0.1 | 服务主机名 |
port | 是 | 8000 | 服务监听端口 |
服务概览
服务功能 | 服务路由 | 请求方式 |
---|---|---|
分句 | /sent_split | POST |
增加自定义词语 | /add_words | POST |
分词 | /seg | POST |
词性标注 | /pos | POST |
命名实体识别 | /ner | POST |
语义角色标注 | /srl | POST |
依存句法分析 | /dep | POST |
语义依存分析(树) | sdp | POST |
语义依存分析(图) | sdpg | POST |
请求示例
分句
### sent_split
POST http://localhost:8000/sent_split
Content-Type: application/json
{
"texts": ["曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"]
}
返回值:
{
"texts": [
"曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"
],
"sents": [
"曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"
],
"status": 0
}
增加自定义词语
### add_words
POST http://localhost:8000/add_words
Content-Type: application/json
{
"words": ["江大桥"]
}
返回值
{
"status": 0
}
分词
### seg
POST http://localhost:8000/seg
Content-Type: application/json
{
"texts": ["曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"]
}
返回值
{
"status": 0,
"texts": [
"曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"
],
"seg": [
[
"曹操",
"和",
"司马懿",
"去",
"赶集",
",",
"中途",
"遇",
"上",
"关羽",
",",
"一起",
"吃",
"了",
"个",
"饭",
"。"
]
]
}
命名实体识别
### ner
POST http://localhost:8000/ner
Content-Type: application/json
{
"texts": ["曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"]
}
返回值
{
"status": 0,
"texts": [
"曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"
],
"seg": [
[
"曹操",
"和",
"司马懿",
"去",
"赶集",
",",
"中途",
"遇",
"上",
"关羽",
",",
"一起",
"吃",
"了",
"个",
"饭",
"。"
]
],
"ner": [
[
[
"Nh",
0,
0
],
[
"Nh",
2,
2
],
[
"Nh",
9,
9
]
]
]
}
语义角色标注
### srl
POST http://localhost:8000/srl
Content-Type: application/json
{
"texts": ["曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"]
}
返回值
{
"status": 0,
"texts": [
"曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"
],
"seg": [
[
"曹操",
"和",
"司马懿",
"去",
"赶集",
",",
"中途",
"遇",
"上",
"关羽",
",",
"一起",
"吃",
"了",
"个",
"饭",
"。"
]
],
"srl": [
[
[],
[],
[],
[
[
"A0",
0,
2
]
],
[
[
"A0",
0,
2
]
],
[],
[],
[
[
"A0",
0,
2
],
[
"ADV",
6,
6
],
[
"A1",
9,
9
]
],
[],
[],
[],
[],
[
[
"A0",
0,
2
],
[
"ADV",
6,
6
],
[
"ADV",
11,
11
],
[
"A1",
14,
15
]
],
[],
[],
[],
[]
]
]
}
依存句法分析
### dep
POST http://localhost:8000/dep
Content-Type: application/json
{
"texts": ["曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"]
}
返回值
{
"status": 0,
"texts": [
"曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"
],
"seg": [
[
"曹操",
"和",
"司马懿",
"去",
"赶集",
",",
"中途",
"遇",
"上",
"关羽",
",",
"一起",
"吃",
"了",
"个",
"饭",
"。"
]
],
"dep": [
[
[
1,
4,
"SBV"
],
[
2,
3,
"LAD"
],
[
3,
1,
"COO"
],
[
4,
0,
"HED"
],
[
5,
4,
"COO"
],
[
6,
4,
"WP"
],
[
7,
8,
"ADV"
],
[
8,
4,
"COO"
],
[
9,
8,
"CMP"
],
[
10,
8,
"VOB"
],
[
11,
8,
"WP"
],
[
12,
13,
"ADV"
],
[
13,
8,
"COO"
],
[
14,
13,
"RAD"
],
[
15,
16,
"ATT"
],
[
16,
13,
"VOB"
],
[
17,
4,
"WP"
]
]
]
}
语义依存分析(树)
### sdp
POST http://localhost:8000/sdp
Content-Type: application/json
{
"texts": ["曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"]
}
返回值
{
"status": 0,
"texts": [
"曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"
],
"seg": [
[
"曹操",
"和",
"司马懿",
"去",
"赶集",
",",
"中途",
"遇",
"上",
"关羽",
",",
"一起",
"吃",
"了",
"个",
"饭",
"。"
]
],
"sdp": [
[
[
1,
4,
"AGT"
],
[
1,
5,
"AGT"
],
[
2,
3,
"mRELA"
],
[
3,
4,
"AGT"
],
[
4,
0,
"Root"
],
[
5,
4,
"eSUCC"
],
[
6,
5,
"mPUNC"
],
[
7,
8,
"MANN"
],
[
8,
5,
"eSUCC"
],
[
9,
8,
"mDEPD"
],
[
10,
8,
"DATV"
],
[
11,
8,
"mPUNC"
],
[
12,
13,
"MANN"
],
[
13,
8,
"eSUCC"
],
[
14,
13,
"mDEPD"
],
[
15,
16,
"MEAS"
],
[
16,
13,
"PAT"
],
[
17,
13,
"mPUNC"
]
]
]
}
语义依存分析(图)
### sdpg
POST http://localhost:8000/sdpg
Content-Type: application/json
{
"texts": ["曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"]
}
返回值
{
"status": 0,
"texts": [
"曹操和司马懿去赶集,中途遇上关羽,一起吃了个饭。"
],
"seg": [
[
"曹操",
"和",
"司马懿",
"去",
"赶集",
",",
"中途",
"遇",
"上",
"关羽",
",",
"一起",
"吃",
"了",
"个",
"饭",
"。"
]
],
"sdpg": [
[
[
1,
4,
"AGT"
],
[
1,
5,
"AGT"
],
[
2,
3,
"mRELA"
],
[
3,
4,
"AGT"
],
[
4,
0,
"Root"
],
[
5,
4,
"eSUCC"
],
[
6,
5,
"mPUNC"
],
[
7,
8,
"MANN"
],
[
8,
5,
"eSUCC"
],
[
9,
8,
"mDEPD"
],
[
10,
8,
"DATV"
],
[
11,
8,
"mPUNC"
],
[
12,
13,
"MANN"
],
[
13,
8,
"eSUCC"
],
[
14,
13,
"mDEPD"
],
[
15,
16,
"MEAS"
],
[
16,
13,
"PAT"
],
[
17,
13,
"mPUNC"
]
]
]
}
参考
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ltp_server-0.1.1.tar.gz
(7.6 kB
view hashes)
Built Distribution
Close
Hashes for ltp_server-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30ef55bf07e2a2edfa07f264828601a409bea000180cf4965ce51ce4cea8b5fd |
|
MD5 | 067d64b4158e71b5c07bba3fe63c29c6 |
|
BLAKE2b-256 | 9e6657059a4759282bdf7c264a5b878ce617e7e9a60ffdbccf11cbc24d08280f |