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 details)

Uploaded Source

File details

Details for the file texta-anonymizer-1.1.2.tar.gz.

File metadata

  • Download URL: texta-anonymizer-1.1.2.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.3

File hashes

Hashes for texta-anonymizer-1.1.2.tar.gz
Algorithm Hash digest
SHA256 67ca7f47477af00fdc3d7c3072f37801b4b2ba68044af68c9400e6d85e44b93f
MD5 f001488c58cdf94a01e3a1ec54ad94b0
BLAKE2b-256 b181f8e3bf89238a1ea544d7662b48c32c7e98a8d15cffc238a1798dc3680042

See more details on using hashes here.

Supported by

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