Requests to Zemberek gRPC server
Project description
Zemberek gRPC
Latest version 0.16.0
Zemberek-NLP provides some of its functions via a remote procedure call framework called gRPC. gRPC is a high performance, open-source universal RPC framework. Once Zemberek-NLP gRPC server is started, other applications can access remote services natively via automatically generated client libraries.
https://github.com/ahmetaa/zemberek-nlp
Start gRPC server with docker
You can use it from directly in your computer or run with in docker container.
https://hub.docker.com/r/ryts/zemberek-grpc
Run with docker
docker run -d --rm -p 6789:6789 --name zemberek-grpc ryts/zemberek-grpc
Check logs
docker logs -f zemberek-grpc
Install library and example
pip install zemberek-grpc
Python Client Example
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import grpc
import zemberek_grpc.language_id_pb2 as z_langid
import zemberek_grpc.language_id_pb2_grpc as z_langid_g
import zemberek_grpc.normalization_pb2 as z_normalization
import zemberek_grpc.normalization_pb2_grpc as z_normalization_g
import zemberek_grpc.preprocess_pb2 as z_preprocess
import zemberek_grpc.preprocess_pb2_grpc as z_preprocess_g
import zemberek_grpc.morphology_pb2 as z_morphology
import zemberek_grpc.morphology_pb2_grpc as z_morphology_g
channel = grpc.insecure_channel('localhost:6789')
langid_stub = z_langid_g.LanguageIdServiceStub(channel)
normalization_stub = z_normalization_g.NormalizationServiceStub(channel)
preprocess_stub = z_preprocess_g.PreprocessingServiceStub(channel)
morphology_stub = z_morphology_g.MorphologyServiceStub(channel)
def find_lang_id(i):
response = langid_stub.Detect(z_langid.LanguageIdRequest(input=i))
return response.langId
def tokenize(i):
response = preprocess_stub.Tokenize(z_preprocess.TokenizationRequest(input=i))
return response.tokens
def normalize(i):
response = normalization_stub.Normalize(z_normalization.NormalizationRequest(input=i))
return response
def analyze(i):
response = morphology_stub.AnalyzeSentence(z_morphology.SentenceAnalysisRequest(input=i))
return response;
def fix_decode(text):
"""Pass decode."""
if sys.version_info < (3, 0):
return text.decode('utf-8')
else:
return text
def run():
lang_detect_input = 'merhaba dünya'
lang_id = find_lang_id(lang_detect_input)
print("Language of [" + fix_decode(lang_detect_input) + "] is: " + lang_id)
print("")
tokenization_input = 'Merhaba dünya!'
print('Tokens for input : ' + fix_decode(tokenization_input))
tokens = tokenize(tokenization_input)
for t in tokens:
print(t.token + ':' + t.type)
print("")
normalization_input = 'Mrhaba dnya'
print('Normalization result for input : ' + fix_decode(normalization_input))
n_response = normalize(normalization_input)
if n_response.normalized_input:
print(n_response.normalized_input)
else:
print('Problem normalizing input : ' + n_response.error)
print("")
analysis_input = 'Kavanozun kapağını açamadım.'
print('Analysis result for input : ' + fix_decode(analysis_input))
analysis_result = analyze(analysis_input)
for a in analysis_result.results:
best = a.best
lemmas = ""
for l in best.lemmas:
lemmas = lemmas + " " + l
print("Word = " + a.token + ", Lemmas = " + lemmas + ", POS = [" + best.pos + "], Full Analysis = {" + best.analysis + "}")
if __name__ == '__main__':
run()
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zemberek_grpc-0.16.1.tar.gz.
File metadata
- Download URL: zemberek_grpc-0.16.1.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0a46b1999009cc94465ee360497586d152984cdd25005428d64eb4448b669e3
|
|
| MD5 |
6d545474318e3b2172fc1e71f6ed84d9
|
|
| BLAKE2b-256 |
d2f198cde4f1beee119e811a93c795576d9244a303ffb5922ca7667aa688f1da
|
File details
Details for the file zemberek_grpc-0.16.1-py2.py3-none-any.whl.
File metadata
- Download URL: zemberek_grpc-0.16.1-py2.py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6dee76201a45fecf8d94ef052eb53dae578ca92032e4a461bb8066dd78ff071f
|
|
| MD5 |
391986d6995ba3d7d292cb80a6d18766
|
|
| BLAKE2b-256 |
125bd0deebc56c4586e26c50a0b63697caa713045ed843b39b608fc46a182889
|