Skip to main content

PEACE method Augmentation package

Project description

peace-augmentation

PEACE stands for Providing Explanation and Analysis for Combating Hate Expressions. This framework is engineered to effectively identify, visualize, and elucidate implicit and subtle forms of hate speech. It aims to address the complex nature of modern hate speech by integrating three pivotal components:

  • Data Analysis: In-depth examination of cutting-edge data on Implicit and Subtle Hate Speech to understand its nuances and variations.
  • Machine Learning Identification: Employment of sophisticated machine learning classifiers to accurately detect instances of hate speech.
  • Explanation Generation: Articulation of clear, understandable explanations concerning why particular messages are classified as hateful.

This repository is only including the augmentation extension. The code of the PEACE augmentation web app can be found here

Installation Instructions

To set up the peace-augmentation app on your local system, you can install it using pip:

pip install peace-augmentation

Usage

To use it in one of your project, you have to use the Augmentation class:

from peace_augmentation import Augmentation

my_str = "This string contains hate speech that I want to augment usong PEACE"
augmentation_args = ...
augmentation_method = ...

aug = Augmentation(my_str, *augmentation_args)
result = aug.apply(augmentation_method)

print(result)

The detailed docs are available here (WIP)

Args reference

Depending on the method, you can specify a few arguments listed below:

TO DO

Method reference

Here is a list of the different augmentation methods available with their description:

Identifier Name Description
easy_data_augmentation Easy Data Augmentation Given an input sentence: - it randomly replaces a non-stopword expression with a synonym using Word-net; it inserts a synonym of a non-stopword word in a random position; it chooses two words of the sentence and swap their positions; it removes each word in the sentence with a certain probability. Only one of the four operations at a time is applied to a sentence.
replace_adjectives Replace Adjectives It takes all the adjectives or nouns in a sentence and replaces each of them nof_repl_p_cand times for a synonym. In particular, if an adjective/noun is selected, then the synonym/hyponym will be an adjective/noun.
replace_in_domain_expressions Replace In-domain Expressions It replaces a list of manually-crafted expressions often used in HS messages with other semantically similar expressions. That is, it checks all the ocurrences of in-domain expressions in sentence, and generates nof_repl_p_cand sentences per each candidate by changing it for another manually-collected expression.
replace_scalar_adverbs Replace Scalar Adverbs It selects all the adverbs of pos type 'RB' in the sentence. For each candidate, it generates nof_repl_p_cand by replacing the candidate with an scalar adverb.
add_adverbs_to_verbs Add adverbs to verbs It selects all the words in a sentence that are POS labeled with cand_pos_name. We called these words as candidates. Each candidate is selected and new sentences are generated by adding an adverb before the candidate. In this case, speculative adverbs are used like certainly, likely, and clearly from a previously collected list. cand_pos_name can indicate verbs or adjectives. That is, the following values: - VB Verb, base form. - VBD Verb, past tense. - VBG Verb, gerund or present participle. - VBN Verb, past participle. - VBP Verb, non-3rd person singular present. - VBZ Verb, 3rd person singular present. - JJ, Adjective.
replace_named_entities Replace Named Entities It replaces a named entity (PER, LOC, ORG, and MISC) in the input sentence. A candidate NE in a sentence is replaced by another one according to a previously collected list of NEs. Then, the most similar NE is selected by using pre-trained FastText embeddings. Per each candidate it creates nof_repl_p_cand sentences. For example, if ner_name = 'PER', nof_repl_p_cand = 5 and input sentence has 2 named entities PER, thid method generates 2 * 5 sentences.
back-translation Back Translation TO DO

Contact Information

For inquiries or additional details, please feel free to reach out to any of the following individuals:

Please consider reaching out with respect to the specific areas of the project you are interested in, as this will help direct your queries more effectively.

Contributing

Your contributions are welcome! If you have suggestions or want to contribute to the PEACE framework, please feel free to open an issue or create a pull request on our repository.

License

This project is licensed under the Boost Software License 1.0 (BSL-1.0) - see the LICENSE file in the project repository for detailed information and terms.

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

peace_augmentation-0.1.3.tar.gz (94.0 kB view details)

Uploaded Source

Built Distribution

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

peace_augmentation-0.1.3-py3-none-any.whl (94.9 kB view details)

Uploaded Python 3

File details

Details for the file peace_augmentation-0.1.3.tar.gz.

File metadata

  • Download URL: peace_augmentation-0.1.3.tar.gz
  • Upload date:
  • Size: 94.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for peace_augmentation-0.1.3.tar.gz
Algorithm Hash digest
SHA256 c2d6b21f36b11cfe7125ff3b5fd6bc45e1c9522c85fc521a4f5916484605ffa5
MD5 507c053c72ec9120cc09e3c4359795d0
BLAKE2b-256 4406c90e75b93e6ae93350c7d08e1136ca33b3d97c19239741f238be99417942

See more details on using hashes here.

File details

Details for the file peace_augmentation-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for peace_augmentation-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2201b54831dd0c860c430cb5f7bbe1591c5a3660c9a4e2057ffa643133f86ca7
MD5 b3af198988d9c714bf69943874e3b03c
BLAKE2b-256 18f32ffebe4b13a290e7fd4e13cde3f3f415fb426587c44457a3aa3e34baf688

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