Skip to main content

A package for working with Kazakh language text processing.

Project description

QazNLTK

A Python library for Kazakh language text processing.

PyPI Downloads

pip install qaznltk

Features

# Feature Method
1 Tokenization by frequency tokenize(text)
2 Sentence segmentation sent_tokenize(text)
3 Text similarity score calc_similarity(a, b)
4 Cyrillic → Latin (ISO-9) convert2latin_iso9(text)
5 Latin → Cyrillic (ISO-9) convert2cyrillic_iso9(text)
6 Sentiment analysis sentimize(text)-1 / 0 / 1
7 Number to words num2word(n)
8 IIN parser get_info_from_iin(iin)
9 Stop words list get_stop_words()
10 Kazakh alphabet get_kaz_alphabet()
11 TF-IDF + KNN search QazNLTKVectorizer + KNN
12 Kazakh LLM (QazPerry) via HuggingFace

Usage

from qaznltk import QazNLTK
qn = QazNLTK()

Tokenize

qn.tokenize("Біздің өміріміз үлкен өзен іспетті.")
# [('өміріміз', 1), ('үлкен', 1), ('өзен', 1), ('іспетті', 1)]

Sentence split

qn.sent_tokenize("Сәлем. Қалайсың?")
# ['Сәлем.', 'Қалайсың?']

Similarity

qn.calc_similarity("Еңбегіне қарай — құрмет.", "Еңбегіне қарай табысы.")
# 0.368

Transliteration

qn.convert2latin_iso9("Бүгін керемет күн!")   # Bùgìn keremet kùn!
qn.convert2cyrillic_iso9("Bùgìn keremet kùn!")  # Бүгін керемет күн!

Sentiment (-1 negative, 0 neutral, 1 positive)

qn.sentimize("Бұл мақала өте нашар жазылған.")  # -1.0

Number to words

qn.num2word(1465)  # 'бір мың төрт жүз алпыс бес'

IIN parser

qn.get_info_from_iin("990408482390")
# {'status': 'success', 'date_of_birth': '08.04.1999', 'gender': 'female', ...}

Stop words

qn.get_stop_words()
# ['біздің', 'бұл', 'және', 'мен', 'не', ...]

Kazakh alphabet

qn.get_kaz_alphabet()
# ['а', 'ә', 'б', 'в', 'г', 'ғ', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й',
#  'к', 'қ', 'л', 'м', 'н', 'ң', 'о', 'ө', 'п', 'р', 'с', 'т', 'у',
#  'ү', 'ұ', 'ф', 'х', 'һ', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'і', 'ь', 'э', 'ю', 'я']

TF-IDF + KNN

from qaznltk import QazNLTKVectorizer
 
vectorizer = QazNLTKVectorizer()
matrix = vectorizer.fit_transform(documents)
knn = vectorizer.KNN(matrix)
 
query_vector = vectorizer.transform(["Еліміздің алтын күні жарық күн."])[0]
results = knn.search(query_vector, k=3)
# [(idx, distance), ...]

QazPerry (Kazakh LLM)

pip install keras-nlp huggingface_hub
from huggingface_hub import hf_hub_download
import keras, keras_nlp
 
model_path = hf_hub_download("silvermete0r/Gemma2_2B_QazPerry", "Gemma2_2B_QazPerry.keras")
model = keras.models.load_model(model_path, custom_objects={"GemmaCausalLM": keras_nlp.models.GemmaCausalLM})
 
print(model.generate("Instruction:\nҚазақша бірдеңе айтшы?\n\nResponse:\n"))

HuggingFace: silvermete0r/Gemma2_2B_QazPerry


License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qaznltk-1.3.0.0.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qaznltk-1.3.0.0-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file qaznltk-1.3.0.0.tar.gz.

File metadata

  • Download URL: qaznltk-1.3.0.0.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for qaznltk-1.3.0.0.tar.gz
Algorithm Hash digest
SHA256 6274d233248f8f6780f5e9ae3d1c27317ba8787f41f5b80314daeded9426b926
MD5 84845424c3fdd47b358540e86922655d
BLAKE2b-256 4c1c18284caf92e856929c5353460aa770f9806f4a155c04fdbc44276cc69e24

See more details on using hashes here.

File details

Details for the file qaznltk-1.3.0.0-py3-none-any.whl.

File metadata

  • Download URL: qaznltk-1.3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for qaznltk-1.3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d29b17ebf850577f88d216c9b03a093d037014d98d02a5e300db79616f284c48
MD5 e9eb93a55e2995037bb0db983501a800
BLAKE2b-256 991c5a63d3afae9c0098b9182db5c7d7d97b11357e7a9f866d04588d2e238430

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page