I created a Python library and CLI to automatically identify and remove personal information from text documents using Natural Language Processing. It has been used to de-identify internal employee surveys and patient satisfaction surveys.<p>What my project does:<p>* Identifies and replaces person names using spaCy's transformer model<p>* Converts gender-specific pronouns to neutral alternatives<p>* Handles possessives and hyphenated names<p>* Offers HTML output with color-coded replacements<p>___<p>Here's a quick example:<p><pre><code> Input: John Smith's report was excellent. He clearly understands the topic.
Output: [PERSON]'s report was excellent. HE/SHE clearly understands the topic.
</code></pre>
___<p>This was a fun project to work on - especially solving the challenge of maintaining correct character positions during replacements. The backwards processing approach was a neat solution to avoid recalculating positions after each replacement.<p>* blog post: <a href="https://gitgist.com/posts/introducing-deidentification-python-module/" rel="nofollow">https://gitgist.com/posts/introducing-deidentification-pytho...</a><p>* github: <a href="https://github.com/jftuga/deidentification">https://github.com/jftuga/deidentification</a><p>* PyPI: <a href="https://pypi.org/project/text-deidentification" rel="nofollow">https://pypi.org/project/text-deidentification</a>