Skip to main content

texta-anonymizer

Project description

Texta Anonymizer

For anonymizing entities in plaintexts.

Installation

pip install texta-anonymizer

From Git

pip install git+https://git.texta.ee/texta/texta-anonymizer-python.git

Testing

python -m pytest -v tests

Documentation

Documentation is available here.

Usage examples

Import Anonymizer and define input data

from texta_anonymizer.anonymizer import Anonymizer

text = """
   A. Hitler läks koos oma sõbra Jossif Staliniga poodi.
   Adolf ostis kolm pakki suitsu ja Jossif neli saia.
   Adolf Hilteri ja J. Stalini majas elab kass.
   Hiljem liitus Hitleriga neli koera.
   Hitteler ja J. Stalen läksid magama.
   Ka Yossif Stalin oli kohal.
   Pärast läks A d o l f HITLER joonistama.
   """

names = [
   {
    "first_name": "Adolf",
    "last_name" : "Hitler"
    },
  {
    "first_name": "Jossif",
    "last_name" : "Stalin"
  }
]

Examples

Example 1: Default anonymization

# -------------------------------------------------------- #
#   Default anonymizer allows:
#       1) fuzzy matching (typos)
#       2) different forms (cases etc.)
#       3) single last name detection
#       4) single first name detection
# -------------------------------------------------------- #

anonymizer = Anonymizer()
anonymized_text = anonymizer.anonymize(text, names)
Output:
>>> print(anonymized_text)
    M.P läks koos oma sõbra F.F-iga poodi.
    M.P ostis kolm pakki suitsu ja F.F neli saia.
    M.P ja F.F-i majas elab kass.
    Hiljem liitus M.P-ga neli koera.
    M.P ja F.F läksid magama.
    Ka F.F oli kohal.
    Pärast läks M.P joonistama.

Example 2: Disable misspelled names replacement

anonymizer = Anonymizer(
                replace_misspelled_names = False
)

anonymized_text = anonymizer.anonymize(text, names)
Output
>>> print(anonymized_text)
   O.W läks koos oma sõbra A.C-ga poodi.
   O.W ostis kolm pakki suitsu ja A.C neli saia.
   O.W Hilteri ja A.C majas elab kass.
   Hiljem liitus O.W-ga neli koera.
   Hitteler ja J. Stalen läksid magama.
   Ka Yossif A.C oli kohal.
   Pärast läks O.W joonistama.

Example 3: Disable replacing single first and last names

anonymizer = Anonymizer(
                replace_single_first_names = False,
                replace_single_last_names = False
)

anonymized_text = anonymizer.anonymize(text, names)
Output
>>> print(anonymized_text)
   T.N läks koos oma sõbra U.W-ga poodi.
   Adolf ostis kolm pakki suitsu ja Jossif neli saia.
   T.N-i ja U.W majas elab kass.
   Hiljem liitus Hitleriga neli koera.
   Hitteler ja U.W läksid magama.
   Ka U.W oli kohal.
   Pärast läks T.N joonistama.

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

texta-anonymizer-1.1.2.tar.gz (23.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page