Git Product home page Git Product logo

amirshnll / persian-swear-words Goto Github PK

View Code? Open in Web Editor NEW
258.0 4.0 34.0 1.42 MB

Persian Swear Dataset - you can use in your production to filter unwanted content. دیتاست کلمات نامناسب و بد فارسی برای فیلتر کردن متن ها

Home Page: https://www.kaggle.com/amirshnll/persian-swear-words

License: Apache License 2.0

PHP 1.95% Python 3.26% Jupyter Notebook 24.32% JavaScript 10.07% HTML 0.27% C# 45.49% Swift 6.04% Java 4.00% TypeScript 4.61%
persian dataset datasets persiandataset swearword swear persianswearword farsi farsiswear farsiswearword sweardataset nlp-dataset nlp

persian-swear-words's Introduction

Persian-Swear-Words

Persian (Farsi) Swear Words + ‍.json Datasets

Note: This is a to-be-complete list of Persian Swears you can use in your production to filter unwanted content. Wordlist is available in JSON format.

یادداشت‌ها:

این دیتاست شامل کلماتی است که ممکن است در برخی موارد نیاز به فیلترینگ داشته باشند. کاربران برای استفاده‌های خاص باید دیتاست را متناسب با نیازهای خود شخصی‌سازی کنند. تشویق می‌شود علاقه‌مندان در تکمیل این دیتاست مشارکت کنند و برای پروژه‌های خود از آن استفاده نمایند تا متون پاک و مناسبی داشته باشند. به جای ارسال PRهای کوچک، مشارکت‌های ارزشمندتری انجام دهید. همچنین، امکان اضافه کردن class یا function به زبان‌های برنامه‌نویسی مختلف با استفاده از این دیتاست وجود دارد.

در حال حاضر توابع مربوط به زبان های زیر موجود است:


موارد بیشتر:

  • CONTRIBUTING.md: دستورالعمل‌هایی برای مشارکت در مخزن این پروژه
  • CODE_OF_CONDUCT.md: کد اخلاقی برای مشارکت‌کنندگان در مخزن این پروژه

Installation | دستورالعمل‌های نصب

نصب با composer

composer require amirshnll/persian-swear-words

نصب با npm

npm i persian-swear-words

Usage | روش‌های استفاده

Java | جاوا

Code link: 🔗 Class

var persianSwear = new PersianSwear();

// add word(s) to DataSet
persianSwear.addWord("word");
persianSwear.addWords(new String[]{"word1", "word2"});

// remove word(s) from DataSet
persianSwear.removeWord("word");
persianSwear.removeWords(new String[]{"word1", "word2"});

// check single word
persianSwear.isBad("الا.غ "); // true
persianSwear.isBad("امروز"); // false

// check existing bad word in text
persianSwear.hasSwear("تو هیز هستی");     // true
persianSwear.hasSwear("تو دوست من هستی"); // false

// replace bad words in text
persianSwear.filterWords("تو هیز هستی");      // تو * هستی
persianSwear.filterWords("تو هیز هستی", "&"); // تو & هستی

PHP | پی‌اچ‌پی

Code link: 🔗 Class

require('PersianSwear.php');
$persianswear = new PersianSwear();

// is bad
if($persianswear->is_bad('خر'))
	echo 'is bad';
else
	echo 'not bad';

// not bad
if($persianswear->is_bad('امروز'))
	echo 'is bad';
else
	echo 'not bad';

// not bad
if($persianswear->is_bad('چرت و پرت'))
	echo 'is bad';
else
	echo 'not bad';

$persianswear->add_word('چرت و پرت');
// is bad

if($persianswear->is_bad('چرت و پرت'))
	echo 'is bad';
else
	echo 'not bad';

// is bad
if($persianswear->is_bad('گاو'))
	echo 'is bad';
else
	echo 'not bad';

$persianswear->remove_word('گاو');

// not bad
if($persianswear->is_bad('گاو'))
	echo 'is bad';
else
	echo 'not bad';

// not bad
if($persianswear->has_swear('تو دوست من هستی'))
	echo 'is bad';
else
	echo 'not bad';

// is bad
if($persianswear->has_swear('تو هیز هستی'))
	echo 'is bad';
else
	echo 'not bad';

echo $persianswear->filter_words('تو دوست من هستی'); // تو دوست من هستی
echo $persianswear->filter_words('تو هیز هستی'); // تو * هستی
echo $persianswear->filter_words('تو هیز هستی', "&"); // تو & هستی

echo $persianswear->tostring(); // show all swear words

Python | پایتون

Code link: 🔗 Class

persianswear = PersianSwear()

print(persianswear.is_bad('خر',ignoreOT=False )) # True

print(persianswear.is_bad('امروز',ignoreOT=False )) # False

print(persianswear.is_bad('چرت و پرت',ignoreOT=False )) # False

persianswear.add_word('چرت و پرت')
print(persianswear.is_bad('چرت و پرت' , ignoreOT=False )) # True

print(persianswear.has_swear('تو دوست من هستی' , ignoreOT=False )) # False

print(persianswear.has_swear('تو هیز هستی' , ignoreOT=False )) # True

print(persianswear.filter_words('تو دوست من هستی' , ignoreOT=False )) # تو دوست من هستی

print(persianswear.filter_words('تو هیز هستی' , ignoreOT=False )) # تو * هستی

print(persianswear.filter_words('تو هیز هستی', '&' , ignoreOT=False )) # تو & هستی


print(persianswear.is_bad('خ.ر' , ignoreOT=True )) # True

print(persianswear.is_bad( 'ام.روز' , ignoreOT=True )) # False

print(persianswear.has_swear('تو دو.ست من هستی' , ignoreOT=True )) # False

print(persianswear.has_swear('تو اسک.ل هستی' , ignoreOT=True )) # True

print(persianswear.filter_words('تو دو.ست من هستی',ignoreOT=True )) # تو دو.ست من هستی

print(persianswear.filter_words('تو هی.ز هستی',ignoreOT=True )) # تو * هستی

print(persianswear.filter_words('تو هی.ز هس.تی' , ignoreOT=True )) # تو * هس.تی

print(persianswear.tostring()) # show all swear words

JavaScript | جاواسکریپت

Code link: 🔗 Function

import PersianSwear from './PersianSwear.js';

const text1 = 'تو دوست من هستی';
console.log(PersianSwear.hasSwear(text1)); // Output: false

const text2 = 'تو هیز هستی';
console.log(PersianSwear.hasSwear(text2)); // Output: true

const text3 = 'تو هیز هستی';
const filteredText = PersianSwear.filterWords(text3);
console.log(filteredText); // Output: تو * هستی

const word = 'خر';
console.log(PersianSwear.isBad(word)); // Output: true

TypeScript | تایپ‌اسکریپت

Code link: 🔗 Function

import { test, expect } from "@jest/globals";

import { PersianSwear } from "../src";

test("test check bad word", () => {
  expect(PersianSwear.isBad("آشغال")).toBe(true);
});
test("test check not bad word", () => {
  expect(PersianSwear.isBad("سلام")).toBe(false);
});

test("test check text no has bad word", () => {
  expect(PersianSwear.hasSwear("سلام عزیزم")).toBe(false);
});
test("test check text has bad word", () => {
  expect(PersianSwear.hasSwear("سلام کصافت")).toBe(true);
});
test("test check text has bad word and replace with symbol", () => {
  expect(PersianSwear.filterWords("سلام کصافت خوبی", "*")).toBe("سلام * خوبی");
});

Csharp | سی‌شارپ

Code link: 🔗 Helper

Create Filter

First of All You Need To Create Instance of FilterPersianWords

var filter = new FilterPersianWords();

if you have any optional json file path you can pass it down to constructor.

Use Functions

  • Is a single word bad? var isBadWord = filter.IsBadWord("yourWord");

  • Is a multi line string bad? var isBadSentence = filter.IsBadSentence("your long sentence");

  • Get all bad words inside of string

var badList = filter.GetBadWords("your long sentence");

  • Remove All Bad words From String var clearedString = filter.RemoveBadWords("your bad sentence");

This Method Will not change any data from string except the bad words.



Swift | سوئیفت

Code link: 🔗 Classes and Protocol

کلاس اصلی PersianSwear هست، که متدها داخل آن پیاده‌سازی شده است:
// add word(s) to DataSet
PersianSwear.shared.addWord("bad-word")
PersianSwear.shared.addWords(["bad-word-1", "bad-word-2"])

// remove word(s) from DataSet
PersianSwear.shared.removeWord("bad-word")
PersianSwear.shared.removeWords(["bad-word-1", "bad-word-2"])

// check single word
let isBadWord = PersianSwear.shared.isBadWord("single word")

// check existing bad word in text
let hasBadWord = PersianSwear.shared.hasBadWord("long text")

// existing bad word in text
let badWords = PersianSwear.shared.badWords(in: "long text")

// replace bad words in text
let newText = PersianSwear.shared.replaceBadWords(in: "long text", with: "****")

یک پروتکل با اسم PersianSwearDataLoader که کارایی آن لود کردن کلمات هست وجود دارد:


protocol PersianSwearDataLoader {
	func loadWords(
		_ completion: @escaping (Result<PersianSwear.Words, Error>) -> Void
	)
}

برای نمونه، تایپ لود کننده کلمات از روی گیت‌هاب پیاده‌سازی شده. نمونه استفاده هم بصورت زیر هست:


let loader = GithubPersianSwearDataLoader()
PersianSwear.shared.loadWords(using: loader) { result in
	switch result {
	case .failure(let error):
		print("Error:", error.localizedDescription)
	case .success(let words):
		print("Words:", words.count)
	}
}



Related Link |‌ لینک‌های مرتبط با پروژه

persian-swear-words's People

Contributors

adolfmacro avatar amirhp-com avatar amirshnll avatar armanyazdi avatar erfanbahramali avatar mahdisml avatar mralisalehi avatar nimaw avatar omidgolparvar avatar revisto avatar sherafat79 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

persian-swear-words's Issues

تکرار کلمات چند بخشی

سلام و خسته نباشید
ببخشید برای کلمات چند بخشی نظیر (دیوث، دیوث خان، دیوث هستی، دیوث بزرگ) فقط مورد اول کافی نیست؟
منظورم اینه که سه کلمه بعدی همشون کلمه دیوث رو دارن، پس وقتی داره سرچ میشه همون کلمه‌ی (دیوث) پیدا میشه، و نیازی نیست که ترکیبات اون کلمه توی لیست تکرار بشه.

یعنی لیست (دیوث، دیوث خان، دیوث هستی، دیوث بزرگ) میتونه به لیست (دیوث) تبدیل بشه و همچنان کار کنه

البته منظورم کلمات چسبیده مثل ( دیوث، دیوثی، دیوثک) نیست.

Time complexity

What is the time complexity in a n letter text?
Does it open and close the data file every time?
I need to use in real time chat filter with thousands of users. Is it effective enough in this case?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.