From 61c50ae4765a7139d27bd5530a52513efde1bd33 Mon Sep 17 00:00:00 2001 From: ajokar Date: Sat, 16 Aug 2025 15:40:27 +0330 Subject: [PATCH] kw readme --- do_nlp_processes.py | 2 +- p5_simplifier.py => p5_representer.py | 0 readme/readme-keyword-extractor-en.md | 38 +++++++++++++++++++++++++++ readme/readme-keyword-extractor-fa.md | 38 +++++++++++++++++++++++++++ readme/readme-ner-recognizer-en.md | 1 - readme/readme-ner-recognizer-fa.md | 1 - 6 files changed, 77 insertions(+), 3 deletions(-) rename p5_simplifier.py => p5_representer.py (100%) create mode 100644 readme/readme-keyword-extractor-en.md create mode 100644 readme/readme-keyword-extractor-fa.md diff --git a/do_nlp_processes.py b/do_nlp_processes.py index 4a41a78..ca971bb 100644 --- a/do_nlp_processes.py +++ b/do_nlp_processes.py @@ -7,7 +7,7 @@ from p1_classifier import do_classify from p2_ner_recognizer import do_ner_recognize from p3_words_embedder import do_word_embedder from p4_keyword_extractor import do_keyword_extract -from p5_simplifier import do_representation +from p5_representer import do_representation from elastic_helper import ElasticHelper import json diff --git a/p5_simplifier.py b/p5_representer.py similarity index 100% rename from p5_simplifier.py rename to p5_representer.py diff --git a/readme/readme-keyword-extractor-en.md b/readme/readme-keyword-extractor-en.md new file mode 100644 index 0000000..f45d73b --- /dev/null +++ b/readme/readme-keyword-extractor-en.md @@ -0,0 +1,38 @@ +# Keyword Extractor + +This project is a simple script for extracting keywords from text using Natural Language Processing (NLP). + +## How it works +The script processes input text and extracts the most relevant keywords using a **pre-trained transformer model** (e.g., `bert-base-uncased` or a similar NLP model). +It is designed to be lightweight, easy to run, and customizable. + +## Requirements +- Python 3.8+ +- NLP libraries (transformers, torch, etc.) +- Other utilities as listed in the requirements file + +For exact versions of the libraries, please check the **`requirements.txt`** file. + +## Usage +1. Clone the repository. +2. Install dependencies: + ```bash + pip install -r requirements.txt + ``` +3. Run the script: + ```bash + python keyword_extractor.py + ``` + +## Main Methods +- `load_model()`: Loads the pre-trained transformer model for text processing. This is the main method for model initialization. +- `preprocess_text(text)`: Cleans and prepares the input text (e.g., lowercasing, removing stopwords, etc.). +- `extract_keywords(text, top_n=10)`: The core method that applies the model and retrieves the top keywords from the input text. +- `display_results(keywords)`: Prints or saves the extracted keywords for further use. + +## Model +The script uses a **transformer-based model** for keyword extraction. The exact model can be changed in the code if needed. + +## Notes +- Works with English (and potentially other languages, depending on the model). +- Results may vary based on the model and input text. diff --git a/readme/readme-keyword-extractor-fa.md b/readme/readme-keyword-extractor-fa.md new file mode 100644 index 0000000..852f5b9 --- /dev/null +++ b/readme/readme-keyword-extractor-fa.md @@ -0,0 +1,38 @@ +# استخراج‌گر کلمات کلیدی + +این پروژه یک اسکریپت ساده برای استخراج کلمات کلیدی از متن با استفاده از **پردازش زبان طبیعی (NLP)** است. + +## نحوه عملکرد +این اسکریپت متن ورودی را پردازش کرده و مرتبط‌ترین کلمات کلیدی را با استفاده از یک **مدل از پیش آموزش‌دیده (Transformer Model)** (مانند `bert-base-uncased` یا مدل مشابه) استخراج می‌کند. +طراحی آن ساده، سبک و قابل تغییر است. + +## پیش‌نیازها +- پایتون 3.8 یا بالاتر +- کتابخانه‌های NLP (مانند transformers، torch و …) +- سایر ابزارهای مورد نیاز در فایل requirements.txt + +برای مشاهده نسخه دقیق کتابخانه‌ها به فایل **`requirements.txt`** مراجعه کنید. + +## روش اجرا +1. مخزن (repository) را کلون کنید. +2. پیش‌نیازها را نصب کنید: + ```bash + pip install -r requirements.txt + ``` +3. اسکریپت را اجرا کنید: + ```bash + python keyword_extractor.py + ``` + +## متدهای اصلی +- `load_model()`: بارگذاری مدل از پیش آموزش‌دیده برای پردازش متن. این متد اصلی برای آماده‌سازی مدل است. +- `preprocess_text(text)`: پاک‌سازی و آماده‌سازی متن ورودی (مانند کوچک‌سازی حروف، حذف توقف‌واژه‌ها و ...). +- `extract_keywords(text, top_n=10)`: متد اصلی استخراج که کلمات کلیدی را با استفاده از مدل انتخاب کرده و n کلمه برتر را برمی‌گرداند. +- `display_results(keywords)`: نمایش یا ذخیره‌سازی کلمات کلیدی استخراج‌شده برای استفاده‌های بعدی. + +## مدل +این اسکریپت از یک **مدل مبتنی بر Transformer** برای استخراج کلمات کلیدی استفاده می‌کند. در صورت نیاز می‌توانید مدل را در کد تغییر دهید. + +## نکات +- با زبان انگلیسی (و در صورت پشتیبانی مدل، سایر زبان‌ها) کار می‌کند. +- کیفیت نتایج به مدل و متن ورودی وابسته است. diff --git a/readme/readme-ner-recognizer-en.md b/readme/readme-ner-recognizer-en.md index b4780b4..a6075a7 100644 --- a/readme/readme-ner-recognizer-en.md +++ b/readme/readme-ner-recognizer-en.md @@ -61,5 +61,4 @@ Each section will have a new field `ners_v2` with the extracted entities: ## Notes - Make sure the model path is correct and the model file is available. -- The script supports Persian language if the model is trained for it. - The output JSON file will be saved in `./data/ner/`. diff --git a/readme/readme-ner-recognizer-fa.md b/readme/readme-ner-recognizer-fa.md index ddc5d0c..8bd0d6b 100644 --- a/readme/readme-ner-recognizer-fa.md +++ b/readme/readme-ner-recognizer-fa.md @@ -61,5 +61,4 @@ result = do_ner_recognize(sections) ## نکات - مطمئن شوید مسیر مدل صحیح است و فایل مدل در دسترس است. -- اگر مدل برای زبان فارسی آموزش دیده باشد، اسکریپت از زبان فارسی پشتیبانی می‌کند. - فایل خروجی JSON در مسیر `./data/ner/` ذخیره خواهد شد.