This project aims to develop a lexical cleansing program using Natural Language Processing (NLP) techniques. The program detects and censors vulgar words in a given text while preserving the original context and the author's intent.
- Detection of vulgar words: Using a predefined list of vulgar words.
- Partial word censorship: Replacing part of the word with asterisks to preserve the general meaning of the text.
- Word similarity check: Detecting words similar to vulgar ones by comparing letters.
- Dictionary consultation: Using WordsAPI to verify if a word is real and its usage frequency.
- Handling special cases: Managing rare words and attempts to bypass censorship.
-
Clone this repository:
git clone https://github.com/alexjilavu29/Text-Cleaner-NLP-Python cd repo
-
Set environment variables:
- Create a
.env
file in the main directory of the project. - Add your WordsAPI key to the
.env
file:WORDSAPI_KEY=your_api_key
- Create a
-
Run the script:
python main.py
- main.py: Contains the main logic of the program.
- input.txt: Input file containing the text to be processed.
- output.txt: Output file where the censored text will be saved.
- .env: File for environment variables (not included in the repository, must be created manually).
- citeste_text_din_fisier(nume_fisier): Reads text from a file.
- proceseaza_text(text, cuvinte_vulgare, explicit): Processes the text and censors vulgar words.
- cenzureaza_cuvant(cuvant): Partially censors a word.
- verifica_cuvant(cuvant, api_key): Checks if a word exists in the English dictionary using WordsAPI.
- test_similitudine(cuvant): Checks the similarity of a word to those in the vulgar words list.
- Insert the text into the
input.txt
file. - Run the
main.py
script. - Check the result in the
output.txt
file.
This project demonstrates an efficient way to clean texts of vulgar language using NLP techniques while preserving the original context and format of the text. The program can be extended to include a larger variety of words and expressions, as well as to improve the similarity detection algorithm.
Realizarea unui algoritm de sanitizare a unui text folosind metode de procesare a limbajului natural
Acest proiect are ca scop dezvoltarea unui program de curățare lexicală folosind tehnici de Procesare a Limbajului Natural (NLP). Programul detectează și cenzurează cuvintele vulgare dintr-un text dat, păstrând contextul original și intenția autorului.
- Detectarea cuvintelor vulgare: Utilizând o listă de cuvinte vulgare predefinite.
- Cenzurarea parțială a cuvintelor: Înlocuirea unei părți din cuvânt cu asteriscuri pentru a păstra înțelesul general al textului.
- Verificarea similitudinii cuvintelor: Detectarea cuvintelor similare cu cele vulgare prin compararea literelor.
- Consultarea unui dicționar: Utilizarea WordsAPI pentru a verifica dacă un cuvânt este real și frecvența de utilizare a acestuia.
- Gestionarea cazurilor speciale: Tratarea cuvintelor rare și a tentativelor de ocolire a cenzurii.
-
Clonează acest repository:
git clone https://github.com/alexjilavu29/Text-Cleaner-NLP-Python cd repo
-
Setează variabilele de mediu:
- Creează un fișier
.env
în directorul principal al proiectului. - Adaugă cheia API pentru WordsAPI în fișierul
.env
:WORDSAPI_KEY=cheia_ta_api
- Creează un fișier
-
Rulează scriptul:
python main.py
- main.py: Conține logica principală a programului.
- input.txt: Fișierul de intrare care conține textul ce urmează a fi procesat.
- output.txt: Fișierul de ieșire în care va fi salvat textul cenzurat.
- .env: Fișierul pentru variabile de mediu (nu este inclus în repository, trebuie creat manual).
- citeste_text_din_fisier(nume_fisier): Citește textul dintr-un fișier.
- proceseaza_text(text, cuvinte_vulgare, explicit): Procesează textul și cenzurează cuvintele vulgare.
- cenzureaza_cuvant(cuvant): Cenzurează parțial un cuvânt.
- verifica_cuvant(cuvant, api_key): Verifică dacă un cuvânt există în dicționarul limbii engleze folosind WordsAPI.
- test_similitudine(cuvant): Verifică similitudinea unui cuvânt cu cele din lista de cuvinte vulgare.
- Introduceți textul în fișierul
input.txt
. - Rulați scriptul
main.py
. - Verificați rezultatul în fișierul
output.txt
.
Acest proiect demonstrează un mod eficient de a curăța texte de limbaj vulgar folosind tehnici de NLP, păstrând contextul original și formatul textului. Programul poate fi extins pentru a include o varietate mai mare de cuvinte și expresii, precum și pentru a îmbunătăți algoritmul de detectare a similarităților.