From f51f9d9526d5260d7a19057615fa97ec12950bb9 Mon Sep 17 00:00:00 2001 From: Eidan Rosado <19523360+EdyVision@users.noreply.github.com> Date: Wed, 28 Dec 2022 12:36:24 -0700 Subject: [PATCH] Er.package edits (#27) * Package docs and example analysis updates * Version bump --- .zenodo.json | 2 +- CITATION.cff | 4 +- README.md | 2 +- docs/DETECTION_AND_ANALYSIS.md | 78 ++++++++----- docs/UC1_Converting_Existing_Detections.png | Bin 0 -> 21957 bytes ...tin_Service_for_Detection_and_Analysis.png | Bin 0 -> 17787 bytes notebooks/pii-analysis-ms-presidio.ipynb | 103 ++++++++++-------- pii_codex/models/microsoft_presidio_pii.py | 2 +- pii_codex/services/analysis_service.py | 6 + pii_codex/services/assessment_service.py | 8 +- pyproject.toml | 4 +- 11 files changed, 124 insertions(+), 85 deletions(-) create mode 100644 docs/UC1_Converting_Existing_Detections.png create mode 100644 docs/UC2_Using_Presidio_Builtin_Service_for_Detection_and_Analysis.png diff --git a/.zenodo.json b/.zenodo.json index f9d83dd..bdf63f6 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -1,6 +1,6 @@ { "access_right": "open", - "version": "0.4.2", + "version": "0.4.3", "creators": [ { "orcid": "0000-0003-0665-098X", diff --git a/CITATION.cff b/CITATION.cff index 5f8e78e..f908581 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -5,6 +5,6 @@ authors: given-names: Eidan J. orcid: https://orcid.org/0000-0003-0665-098X title: "pii-codex: a Python library for PII detection, categorization, and severity assessment" -version: 0.4.2 +version: 0.4.3 doi: 10.5281/zenodo.7212576 -date-released: 2022-12-26 +date-released: 2022-12-28 diff --git a/README.md b/README.md index b365f5e..b254646 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,6 @@ Sample output (results object converted to `dict` from notebook): "analysis": [ { "pii_type_detected": "PERSON", - "sanitized_text: "Hi! My name is ", "risk_level": 3, "risk_level_definition": "Identifiable", "cluster_membership_type": "Financial Information", @@ -85,6 +84,7 @@ Sample output (results object converted to `dict` from notebook): ], "index": 0, "risk_score_mean": 3, + "sanitized_text: "Hi! My name is ", }, ... ], diff --git a/docs/DETECTION_AND_ANALYSIS.md b/docs/DETECTION_AND_ANALYSIS.md index 0508a75..81fc3ca 100644 --- a/docs/DETECTION_AND_ANALYSIS.md +++ b/docs/DETECTION_AND_ANALYSIS.md @@ -8,7 +8,44 @@ The following are not integrated into the service, but have PII type mapping and
  • Azure PII Detection Cognitive Skill (Requires Azure Account) [docs]
  • -In the case you are using the built-in Presidio functionality, you can call the analysis service as follows: +For those using pre-detected results, adapters are provided to convert types and results to the expected DetectionResult/DetectionResultItem format (see diagram below): + +![Converting And Analyzing Existing Detections](UC1_Converting_Existing_Detections.png) + +To supply the analyzer module with a collection of pre-detected results from your own Microsoft Presidio, Azure, or AWS Comprehend analysis process, you will need to first convert the detection to a set of DetectionResult objects to feed into the analyzer as follows: + +```python +from typing import List +from pii_codex.models.common import ( + AnalysisProviderType, +) +from presidio_analyzer import RecognizerResult +from pii_codex.services.analysis_service import PIIAnalysisService +from pii_codex.services.adapters.detection_adapters.presidio_detection_adapter import PresidioPIIDetectionAdapter +from pii_codex.models.analysis import DetectionResult + +presidio_detection_service = PresidioPIIDetectionAdapter() + +list_of_detections: List[RecognizerResult] = [] # your list of detections +converted_detections: List[DetectionResult] = presidio_detection_service.convert_analyzed_collection( + pii_detections=list_of_detections + ) +pii_analysis_service = PIIAnalysisService( + analysis_provider=AnalysisProviderType.PRESIDIO.name +) # If you don't intend to use presidio, override the analysis_provider value + +results = pii_analysis_service.analyze_detection_collection( + detection_collection=converted_detections, + collection_name="Data Set Label", # this is more for those that intend to find a way to label collections + collection_type="SAMPLE" # defaults to POPULATION, input used for standard deviation and variance calculations +) +``` + +The other two detection adapters available are AWSComprehendPIIDetectionAdapter and AzurePIIDetectionAdapter. + +
    + +In the case you require the built-in Presidio functionality, you can call the analysis service as follows: ```python from pii_codex.services.analysis_service import PIIAnalysisService @@ -24,6 +61,11 @@ results = pii_analysis_service.analyze_collection( ) ``` +This functionality can easily take a singular text item or a collection of them and runs through the presidio analysis and assessment service files as presented in the diagram below. + +![Converting And Analyzing Text with Presidio Builtin](UC2_Using_Presidio_Builtin_Service_for_Detection_and_Analysis.png) + + For those analyzing social media posts, you can also supply metadata per text sample to be analyzed in a dataframe. ```python @@ -56,32 +98,6 @@ results = pii_analysis_service.analyze_collection( ) ``` -To supply the analyzer module with a collection of pre-detected results from your own Microsoft Presidio, Azure, or AWS Comprehend analysis process, you will need to first convert the detection to a set of DetectionResult objects to feed into the analyzer as follows: - -```python -from typing import List -from presidio_analyzer import RecognizerResult -from pii_codex.services.analysis_service import PIIAnalysisService -from pii_codex.services.adapters.detection_adapters.presidio_detection_adapter import PresidioPIIDetectionAdapter -from pii_codex.models.analysis import DetectionResult - -presidio_detection_service = PresidioPIIDetectionAdapter() - -list_of_detections: List[RecognizerResult] = [] # your list of MSFT Presidio detections -converted_detections: List[DetectionResult] = presidio_detection_service.convert_analyzed_collection( - pii_detections=list_of_detections - ) -pii_analysis_service = PIIAnalysisService() - -results = pii_analysis_service.analyze_detection_collection( - detection_collection=converted_detections, - collection_name="Data Set Label", # this is more for those that intend to find a way to label collections - collection_type="SAMPLE" # defaults to POPULATION, input used for standard deviation and variance calculations -) -``` - -The other two detection services available are AWSComprehendPIIDetectionAdapter and AzurePIIDetectionAdapter. - Sample output: ``` @@ -93,7 +109,6 @@ Sample output: "analysis": [ { "pii_type_detected": "PERSON", - "sanitized_text": "Hi! My name is ", "risk_level": 3, "risk_level_definition": "Identifiable", "cluster_membership_type": "Financial Information", @@ -108,6 +123,7 @@ Sample output: ], "index": 0, "risk_score_mean": 3, + "sanitized_text": "Hi! My name is ", }, { "analysis": [ @@ -153,6 +169,7 @@ Sample output: ], "index": 1, "risk_score_mean": 2.6666666666666665, + "sanitized_text": "Hi! My phone number is 555-555-5555. You can also reach me by email at email@example.com", }, { "analysis": [ @@ -168,6 +185,7 @@ Sample output: ], "index": 2, "risk_score_mean": 1, + "sanitized_text": "Hi! What is the title of this book?", }, { "analysis": [ @@ -187,6 +205,7 @@ Sample output: ], "index": 3, "risk_score_mean": 2, + "sanitized_text": "", }, { "analysis": [ @@ -202,6 +221,7 @@ Sample output: ], "index": 4, "risk_score_mean": 1, + "sanitized_text": "Hi! I have a cat too.", }, ], "detection_count": 5, @@ -229,4 +249,4 @@ Sample output: ``` -Check out full analysis example in the notebook: notebooks/pii-batch-analysis-ms-presidio. \ No newline at end of file +Check out full analysis example in the notebook: notebooks/pii-analysis-ms-presidio. \ No newline at end of file diff --git a/docs/UC1_Converting_Existing_Detections.png b/docs/UC1_Converting_Existing_Detections.png new file mode 100644 index 0000000000000000000000000000000000000000..5047eb8f161ff5e993ff63d31528cf150554aadd GIT binary patch literal 21957 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 literal 0 HcmV?d00001 diff --git a/docs/UC2_Using_Presidio_Builtin_Service_for_Detection_and_Analysis.png b/docs/UC2_Using_Presidio_Builtin_Service_for_Detection_and_Analysis.png new file mode 100644 index 0000000000000000000000000000000000000000..fb9611296ae53c4c56fc89bd3f68332170b419bb GIT binary patch literal 17787 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 and my email is '},\n {'analysis': [{'pii_type_detected': 'PHONE_NUMBER',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Contact Information',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Stand Alone PII',\n 'nist_category': 'Directly PII',\n 'entity_type': 'PHONE_NUMBER',\n 'score': 0.75,\n 'start': 22,\n 'end': 34},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 2,\n 'risk_score_mean': 3,\n 'sanitized_text': 'Oh I do! My number is . Where is the residence hall?'},\n {'analysis': [{'pii_type_detected': 'LOCATION',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Secure Identifiers',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'LOCATION',\n 'score': 0.85,\n 'start': 40,\n 'end': 42},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 3,\n 'risk_score_mean': 2.5,\n 'sanitized_text': 'The dorm is over at 123 Dark Data Lane, , 11111'},\n {'analysis': [{'pii_type_detected': None,\n 'risk_level': 1,\n 'risk_level_definition': 'Non-Identifiable',\n 'cluster_membership_type': None,\n 'hipaa_category': None,\n 'dhs_category': None,\n 'nist_category': None},\n {'pii_type_detected': 'LOCATION',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Secure Identifiers',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'LOCATION',\n 'score': 0.0,\n 'start': 0,\n 'end': 0},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 4,\n 'risk_score_mean': 2,\n 'sanitized_text': \"Cool, I'll be there!\"}],\n 'detection_count': 15,\n 'risk_scores': [2, 2.6, 3, 2.5, 2],\n 'risk_score_mean': 2.42,\n 'risk_score_mode': 2,\n 'risk_score_median': 2.5,\n 'risk_score_standard_deviation': 0.38157568056677826,\n 'risk_score_variance': 0.1456,\n 'detected_pii_types': {'EMAIL_ADDRESS',\n 'LOCATION',\n 'PHONE_NUMBER',\n 'SCREEN_NAME',\n 'URL'},\n 'detected_pii_type_frequencies': {'LOCATION': 4,\n 'SCREEN_NAME': 5,\n 'EMAIL_ADDRESS': 1,\n 'PHONE_NUMBER': 2,\n 'URL': 1}}" + "text/plain": "{'collection_name': 'PII Collection 1',\n 'collection_type': 'POPULATION',\n 'analyses': [{'analysis': [{'pii_type_detected': None,\n 'risk_level': 1,\n 'risk_level_definition': 'Non-Identifiable',\n 'cluster_membership_type': None,\n 'hipaa_category': None,\n 'dhs_category': None,\n 'nist_category': None},\n {'pii_type_detected': 'LOCATION',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Secure Identifiers',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'LOCATION',\n 'score': 0.0,\n 'start': 0,\n 'end': 0},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 0,\n 'risk_score_mean': 2,\n 'sanitized_text': 'I attend the University of Central Florida, how about you?'},\n {'analysis': [{'pii_type_detected': 'NRP',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'NRP',\n 'score': 0.85,\n 'start': 5,\n 'end': 13},\n {'pii_type_detected': 'LOCATION',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Secure Identifiers',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'LOCATION',\n 'score': 0.0,\n 'start': 0,\n 'end': 0},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 1,\n 'risk_score_mean': 2.3333333333333335,\n 'sanitized_text': 'As a , I promise to uphold....'},\n {'analysis': [{'pii_type_detected': 'NRP',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'NRP',\n 'score': 0.85,\n 'start': 5,\n 'end': 13},\n {'pii_type_detected': 'LOCATION',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Secure Identifiers',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'LOCATION',\n 'score': 0.0,\n 'start': 0,\n 'end': 0},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 2,\n 'risk_score_mean': 2.3333333333333335,\n 'sanitized_text': 'As a , I can tell you that....'},\n {'analysis': [{'pii_type_detected': 'EMAIL_ADDRESS',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Stand Alone PII',\n 'nist_category': 'Directly PII',\n 'entity_type': 'EMAIL_ADDRESS',\n 'score': 1.0,\n 'start': 72,\n 'end': 92},\n {'pii_type_detected': 'PHONE_NUMBER',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Contact Information',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Stand Alone PII',\n 'nist_category': 'Directly PII',\n 'entity_type': 'PHONE_NUMBER',\n 'score': 0.75,\n 'start': 43,\n 'end': 55},\n {'pii_type_detected': 'URL',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Community Interaction',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Linkable',\n 'nist_category': 'Linkable',\n 'entity_type': 'URL',\n 'score': 0.5,\n 'start': 83,\n 'end': 92},\n {'pii_type_detected': 'LOCATION',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Secure Identifiers',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'LOCATION',\n 'score': 0.0,\n 'start': 0,\n 'end': 0},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 3,\n 'risk_score_mean': 2.6,\n 'sanitized_text': 'If anyone needs trig help, my phone number and my email is '},\n {'analysis': [{'pii_type_detected': 'PHONE_NUMBER',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Contact Information',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Stand Alone PII',\n 'nist_category': 'Directly PII',\n 'entity_type': 'PHONE_NUMBER',\n 'score': 0.75,\n 'start': 22,\n 'end': 34},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 4,\n 'risk_score_mean': 3,\n 'sanitized_text': 'Oh I do! My number is . Where is the residence hall?'},\n {'analysis': [{'pii_type_detected': 'LOCATION',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Secure Identifiers',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'LOCATION',\n 'score': 0.85,\n 'start': 40,\n 'end': 42},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 5,\n 'risk_score_mean': 2.5,\n 'sanitized_text': 'The dorm is over at 123 Dark Data Lane, , 11111'},\n {'analysis': [{'pii_type_detected': None,\n 'risk_level': 1,\n 'risk_level_definition': 'Non-Identifiable',\n 'cluster_membership_type': None,\n 'hipaa_category': None,\n 'dhs_category': None,\n 'nist_category': None},\n {'pii_type_detected': 'LOCATION',\n 'risk_level': 2,\n 'risk_level_definition': 'Semi-Identifiable',\n 'cluster_membership_type': 'Secure Identifiers',\n 'hipaa_category': 'Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Linkable',\n 'entity_type': 'LOCATION',\n 'score': 0.0,\n 'start': 0,\n 'end': 0},\n {'pii_type_detected': 'SCREEN_NAME',\n 'risk_level': 3,\n 'risk_level_definition': 'Identifiable',\n 'cluster_membership_type': 'Personal Preferences',\n 'hipaa_category': 'Not Protected Health Information',\n 'dhs_category': 'Not Mentioned',\n 'nist_category': 'Directly PII',\n 'entity_type': 'SCREEN_NAME',\n 'score': 0.0,\n 'start': 0,\n 'end': 0}],\n 'index': 6,\n 'risk_score_mean': 2,\n 'sanitized_text': \"Cool, I'll be there!\"}],\n 'detection_count': 21,\n 'risk_scores': [2, 2.3333333333333335, 2.3333333333333335, 2.6, 3, 2.5, 2],\n 'risk_score_mean': 2.395238095238095,\n 'risk_score_mode': 2,\n 'risk_score_median': 2.3333333333333335,\n 'risk_score_standard_deviation': 0.32485824572972455,\n 'risk_score_variance': 0.1055328798185941,\n 'detected_pii_types': {'EMAIL_ADDRESS',\n 'LOCATION',\n 'NRP',\n 'PHONE_NUMBER',\n 'SCREEN_NAME',\n 'URL'},\n 'detected_pii_type_frequencies': {'LOCATION': 6,\n 'SCREEN_NAME': 7,\n 'NRP': 2,\n 'EMAIL_ADDRESS': 1,\n 'PHONE_NUMBER': 2,\n 'URL': 1}}" }, "execution_count": 3, "metadata": {}, @@ -189,9 +199,11 @@ "source": [ "\n", "analysis_results = pii_analysis_service.analyze_collection(\n", - " data=pd.DataFrame({\n", + " data=pd.DataFrame.from_dict({\n", " \"text\": [\n", " \"I attend the University of Central Florida, how about you?\",\n", + " \"As a democrat, I promise to uphold....\",\n", + " \"As a Catholic, I can tell you that....\",\n", " \"If anyone needs trig help, my phone number 555-555-5555 and my email is example123@email.com\",\n", " \"Oh I do! My number is 777-777-7777. Where is the residence hall?\",\n", " \"The dorm is over at 123 Dark Data Lane, OH, 11111\",\n", @@ -200,12 +212,13 @@ " \"metadata\": [\n", " {\"location\": True, \"url\": False, \"screen_name\": True},\n", " {\"location\": True, \"url\": False, \"screen_name\": True},\n", + " {\"location\": True, \"url\": False, \"screen_name\": True},\n", + " {\"location\": True, \"url\": False, \"screen_name\": True},\n", " {\"location\": False, \"url\": False, \"screen_name\": True}, # Not all social media posts will have location metadata\n", " {\"location\": False, \"url\": False, \"screen_name\": True},\n", " {\"location\": True, \"url\": False, \"screen_name\": True},\n", " ]\n", " }),\n", - " language_code=\"en\",\n", " collection_type=\"population\",\n", " collection_name=\"PII Collection 1\"\n", ")\n", @@ -234,13 +247,13 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 4, "outputs": [ { "data": { - "text/plain": "['I attend the University of Central Florida, how about you?',\n 'If anyone needs trig help, my phone number and my email is ',\n 'Oh I do! My number is . Where is the residence hall?',\n 'The dorm is over at 123 Dark Data Lane, , 11111',\n \"Cool, I'll be there!\"]" + "text/plain": "['I attend the University of Central Florida, how about you?',\n 'As a , I promise to uphold....',\n 'As a , I can tell you that....',\n 'If anyone needs trig help, my phone number and my email is ',\n 'Oh I do! My number is . Where is the residence hall?',\n 'The dorm is over at 123 Dark Data Lane, , 11111',\n \"Cool, I'll be there!\"]" }, - "execution_count": 15, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -258,14 +271,14 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "outputs": [ { "data": { - "text/plain": " 0\ncollection_name PII Collection 1\ncollection_type POPULATION\ndetection_count 15\nrisk_scores [2, 2.6, 3, 2.5, 2]\nrisk_score_mean 2.42\nrisk_score_mode 2\nrisk_score_median 2.5\nrisk_score_standard_deviation 0.381576\nrisk_score_variance 0.1456\ndetected_pii_types {EMAIL_ADDRESS, LOCATION, SCREEN_NAME, URL, PH...\ndetected_pii_type_frequencies {'LOCATION': 4, 'SCREEN_NAME': 5, 'EMAIL_ADDRE...", - "text/html": "
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    0
    collection_namePII Collection 1
    collection_typePOPULATION
    detection_count15
    risk_scores[2, 2.6, 3, 2.5, 2]
    risk_score_mean2.42
    risk_score_mode2
    risk_score_median2.5
    risk_score_standard_deviation0.381576
    risk_score_variance0.1456
    detected_pii_types{EMAIL_ADDRESS, LOCATION, SCREEN_NAME, URL, PH...
    detected_pii_type_frequencies{'LOCATION': 4, 'SCREEN_NAME': 5, 'EMAIL_ADDRE...
    \n
    " + "text/plain": " 0\ncollection_name PII Collection 1\ncollection_type POPULATION\ndetection_count 21\nrisk_scores [2, 2.3333333333333335, 2.3333333333333335, 2....\nrisk_score_mean 2.395238\nrisk_score_mode 2\nrisk_score_median 2.333333\nrisk_score_standard_deviation 0.324858\nrisk_score_variance 0.105533\ndetected_pii_types {SCREEN_NAME, LOCATION, URL, EMAIL_ADDRESS, NR...\ndetected_pii_type_frequencies {'LOCATION': 6, 'SCREEN_NAME': 7, 'NRP': 2, 'E...", + "text/html": "
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    0
    collection_namePII Collection 1
    collection_typePOPULATION
    detection_count21
    risk_scores[2, 2.3333333333333335, 2.3333333333333335, 2....
    risk_score_mean2.395238
    risk_score_mode2
    risk_score_median2.333333
    risk_score_standard_deviation0.324858
    risk_score_variance0.105533
    detected_pii_types{SCREEN_NAME, LOCATION, URL, EMAIL_ADDRESS, NR...
    detected_pii_type_frequencies{'LOCATION': 6, 'SCREEN_NAME': 7, 'NRP': 2, 'E...
    \n
    " }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -290,14 +303,14 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "outputs": [ { "data": { - "text/plain": " analysis index risk_score_mean \\\n0 [{'pii_type_detected': None, 'risk_level': 1, ... 0 2.0 \n1 [{'pii_type_detected': 'EMAIL_ADDRESS', 'risk_... 1 2.6 \n2 [{'pii_type_detected': 'PHONE_NUMBER', 'risk_l... 2 3.0 \n3 [{'pii_type_detected': 'LOCATION', 'risk_level... 3 2.5 \n4 [{'pii_type_detected': None, 'risk_level': 1, ... 4 2.0 \n\n sanitized_text collection_name \n0 I attend the University of Central Florida, ho... PII Collection 1 \n1 If anyone needs trig help, my phone number . Where is the... PII Collection 1 \n3 The dorm is over at 123 Dark Data Lane, \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    analysisindexrisk_score_meansanitized_textcollection_name
    0[{'pii_type_detected': None, 'risk_level': 1, ...02.0I attend the University of Central Florida, ho...PII Collection 1
    1[{'pii_type_detected': 'EMAIL_ADDRESS', 'risk_...12.6If anyone needs trig help, my phone number <RE...PII Collection 1
    2[{'pii_type_detected': 'PHONE_NUMBER', 'risk_l...23.0Oh I do! My number is <REDACTED>. Where is the...PII Collection 1
    3[{'pii_type_detected': 'LOCATION', 'risk_level...32.5The dorm is over at 123 Dark Data Lane, <REDAC...PII Collection 1
    4[{'pii_type_detected': None, 'risk_level': 1, ...42.0Cool, I'll be there!PII Collection 1
    \n" + "text/plain": " analysis index risk_score_mean \\\n0 [{'pii_type_detected': None, 'risk_level': 1, ... 0 2.000000 \n1 [{'pii_type_detected': 'NRP', 'risk_level': 2,... 1 2.333333 \n2 [{'pii_type_detected': 'NRP', 'risk_level': 2,... 2 2.333333 \n3 [{'pii_type_detected': 'EMAIL_ADDRESS', 'risk_... 3 2.600000 \n4 [{'pii_type_detected': 'PHONE_NUMBER', 'risk_l... 4 3.000000 \n5 [{'pii_type_detected': 'LOCATION', 'risk_level... 5 2.500000 \n6 [{'pii_type_detected': None, 'risk_level': 1, ... 6 2.000000 \n\n sanitized_text collection_name \n0 I attend the University of Central Florida, ho... PII Collection 1 \n1 As a , I promise to uphold.... PII Collection 1 \n2 As a , I can tell you that.... PII Collection 1 \n3 If anyone needs trig help, my phone number . Where is the... PII Collection 1 \n5 The dorm is over at 123 Dark Data Lane, \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    analysisindexrisk_score_meansanitized_textcollection_name
    0[{'pii_type_detected': None, 'risk_level': 1, ...02.000000I attend the University of Central Florida, ho...PII Collection 1
    1[{'pii_type_detected': 'NRP', 'risk_level': 2,...12.333333As a <REDACTED>, I promise to uphold....PII Collection 1
    2[{'pii_type_detected': 'NRP', 'risk_level': 2,...22.333333As a <REDACTED>, I can tell you that....PII Collection 1
    3[{'pii_type_detected': 'EMAIL_ADDRESS', 'risk_...32.600000If anyone needs trig help, my phone number <RE...PII Collection 1
    4[{'pii_type_detected': 'PHONE_NUMBER', 'risk_l...43.000000Oh I do! My number is <REDACTED>. Where is the...PII Collection 1
    5[{'pii_type_detected': 'LOCATION', 'risk_level...52.500000The dorm is over at 123 Dark Data Lane, <REDAC...PII Collection 1
    6[{'pii_type_detected': None, 'risk_level': 1, ...62.000000Cool, I'll be there!PII Collection 1
    \n" }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -319,12 +332,12 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 13, "outputs": [ { "data": { "text/plain": "
    ", - "image/png": "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\n" + "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" @@ -348,7 +361,7 @@ "ax_box.axvline(median, color='green', linestyle='-')\n", "ax_box.axvline(mode, color='black', linestyle='--')\n", "\n", - "ax_hist.hist(analyses_collection_df[\"risk_scores\"], alpha = 0.7)\n", + "ax_hist.hist(analyses_collection_df[\"risk_scores\"], alpha = 0.8)\n", "ax_hist.axvline(mean, color='r', linestyle='--', label=f\"Mean: {round(mean, 2)}\")\n", "ax_hist.axvline(median, color='green', linestyle='-', label=f\"Median: {round(median, 2)}\")\n", "ax_hist.axvline(mode, color='black', linestyle='--', label=f\"Mode: {mode}\")\n", @@ -369,14 +382,14 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "outputs": [ { "data": { - "text/plain": " Collection Detected PII Type Count\n0 PII Collection 1 LOCATION 4\n1 PII Collection 1 SCREEN_NAME 5\n2 PII Collection 1 EMAIL_ADDRESS 1\n3 PII Collection 1 PHONE_NUMBER 2\n4 PII Collection 1 URL 1", - "text/html": "
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    CollectionDetected PII TypeCount
    0PII Collection 1LOCATION4
    1PII Collection 1SCREEN_NAME5
    2PII Collection 1EMAIL_ADDRESS1
    3PII Collection 1PHONE_NUMBER2
    4PII Collection 1URL1
    \n
    " + "text/plain": " Collection Detected PII Type Count\n0 PII Collection 1 LOCATION 6\n1 PII Collection 1 SCREEN_NAME 7\n2 PII Collection 1 NRP 2\n3 PII Collection 1 EMAIL_ADDRESS 1\n4 PII Collection 1 PHONE_NUMBER 2\n5 PII Collection 1 URL 1", + "text/html": "
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    CollectionDetected PII TypeCount
    0PII Collection 1LOCATION6
    1PII Collection 1SCREEN_NAME7
    2PII Collection 1NRP2
    3PII Collection 1EMAIL_ADDRESS1
    4PII Collection 1PHONE_NUMBER2
    5PII Collection 1URL1
    \n
    " }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -402,19 +415,19 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 12, "outputs": [ { "data": { "text/plain": "
    ", - "image/png": "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UJLsrnm8kQceeEBubm5KS0uT1WpV/fr11apVK7s5O3fulK+vr91Yr1699NFHH9nef/DBB5o1a5bdnJkzZyomJsZubOLEiYqMjMw14OXVY489pjp16mjMmDGKi4vLdc7cuXNVtWpVRURESJK6d++uuLi4XD+zX79+atasmaZPn66tW7cqJSVFjz76aK6hMq/7mWPixIkaN26cw3j5v91U7EqRu/KiyAtJp+dmoO/moffmoO/mSUpKKpDtpqWl5WlekQqV0tVrKtu1a6d169Zp48aN+r//+z9NnjxZs2bNktXq3H+P5s2bp/DwcO3atUvDhw9XYmKiPD097eZUq1ZNS5YssRvz9/e3ex8TE6NXXnnFbqxMmTIOn1ejRg317t1bI0eOtLuxyFlvvfWWHnroIb300ku5Lo+Pj1evXr1s73v16qXmzZvr3XfflZ+fn93c2rVrq2rVqlqwYIFWrVqlJ554Qh4euf+zyOt+5oiNjdWwYcNs71NTUxUSEqLjXtny8cm+6X4if1isV3/IH/POljX3e7pQAOi7eei9Oei7eXJ637p1a4cckx9yzjTeTJELldLVG1Zat26t1q1ba/To0Xrqqac0ZswYTZs2TZK0b98+NW7c+KbbCQkJUdWqVVW1alVlZmbqscce065du+xOq3t5ealKlSo33E5AQMBN5+QYN26cwsLCtHjx4jzNz82DDz6oNm3aKDY21uHu8T179mjjxo3atGmT3XWUWVlZmjt3rgYMGOCwvX79+un999/Xnj17tGnTput+rjP7KUne3t4OlyhIktUifuCYgL6bg76bh96bg76bx9PTs0BCZV63eUcco65Ro4YuXbqkhx9+WHffffd1b2L53xt1rtWlSxd5eHjogw8+KKAqrwoJCdHgwYM1atQoZWVl3fJ2Jk2apH//+9/asGGD3XhcXJwefPBBbd++XcnJybbXsGHDrnu6vGfPntq5c6dq1qypGjVq3HJNAADAdRWpI5Vnz55V165d1a9fP0VGRsrPz09btmzR5MmT1bFjRxUvXlyzZs1S165d1aFDBz333HOqUqWKzpw5o/nz5+vo0aOaO3durtu2WCx67rnnNHbsWD3zzDMqVqyYJCkzM9PhOY8Wi8XutG9aWprDHG9vb5UsWTLXz4qNjdUnn3yiQ4cOqVu3brfUi1q1aikmJkYzZsywjWVkZOhf//qX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PYRKAAAAGGZqqOzbt68sFovDq23btpKk0NBQWSwWzZ0712HdiIgIWSwWJSYmOiybOHGi3N3d9fbbbzssS0xMVIkSJa77/lZs2LBB7u7uateuncOyw4cP2+2bn5+fIiIiNGjQIB08eNChtpx57u7uKlmypBo1aqTx48crJSXFbu61vfP09FSlSpU0fPhwXblyxW5ebv39355+8sknql27tnx9fVWiRAnVrVtXEydOtC1PS0tTbGys7r33Xvn4+KhUqVJq3ry5vv76a0N9AwAAdw7Tn1retm1bJSQk2I15e3vb/hwSEqKEhAR1797dNrZx40adOnVKxYsXz3Wb8fHxGj58uOLj4/Xyyy8XTOHXiIuL05AhQxQXF6cTJ06oXLlyDnNWrFihiIgIpaWlaefOnZo+fbpq166tf//732rVqpVtnr+/v/bv3y+r1arz589r/fr1mjhxohISEvTjjz/abTundxkZGdq6dav69Okji8Wit956y+6zExISbEE9R06Qjo+P19ChQzVjxgw1b95c6enp2rFjh3bt2mWbO3DgQP3000969913VaNGDZ09e1br16/X2bNn86N9AADgDmB6qPT29lZwcPB1l8fExGjq1Kk6duyYQkJCJF0NQjExMZo9e7bD/DVr1ujy5csaP368Zs+erfXr1+uBBx4osPovXryoefPmacuWLTp16pQSExM1atQoh3lBQUG2/axcubLat2+vVq1aqX///vr111/l7u4u6eqRxZx5ZcuWVfXq1dW+fXtFRERo+PDh+uyzz2zbvLZ3ISEhioqKUlJSkkOoLFGixHV7vGTJEj3++OPq37+/bSwiIsJhzvTp0xUdHS3p6hHk+vXrO9UnAABwZ8tTqJwxY0aeN/jcc8/dcjG5KVOmjNq0aaNPP/1Ur776qtLS0jRv3jytWbMm11AZFxenHj16yNPTUz169FBcXFyBhsr58+crPDxc1apVU69evTR06FDFxsbKYrHccD03Nzc9//zzeuyxx7R161Y1bNjwunNLly6tmJgYxcfHKysryxZAr7Vr1y6tX79eFStWdKr+4OBgrVmzRkeOHLnuusHBwVq2bJn+8Y9/yM/PL8/bTk9PV3p6uu19amqqpKvXXHAxb+HJ6XVGRoapdbianH7T98JH781B381T0L3P63bzFCqnTp1q9/7PP/9UWlqa7RTq+fPnVaxYMZUuXdrpULl06VL5+vrajY0aNcruaF+/fv304osv6pVXXtGCBQt07733qk6dOg7bSk1N1YIFC7RhwwZJUq9evdSsWTNNnz7d4TPyS1xcnHr16iXp6unolJQUrVmzRi1atLjpuuHh4ZKuXnd5o1CZM/fChQs6e/asSpcuLem/vcvMzFR6errc3Nz03nvvOazbo0cPhyC6Z88eVahQQWPGjNE//vEPhYaGKiwsTI0bN1Z0dLS6dOkiN7erceTjjz9WTEyMgoKCVLt2bTVt2lRdunSx+9rO3EycOFHjxo1zGK/h5a1iXt65rIGClJSUZHYJLom+m4fem4O+m6egep+WlpaneXkKlYcOHbL9+YsvvtAHH3yguLg4VatWTZK0f/9+DRgwQM8884zThbZs2VIffvih3VhgYKDd+3bt2umZZ57R2rVrFR8fr379+uW6rTlz5ujee+9V7dq1JUl16tRRxYoVNW/ePLvTu/ll//792rRpkxYtWiTp6tdWduvWTXFxcXkKlVarVZJuelTzenNzenfp0iVNnTpVHh4e6ty5s8O6U6dOVVRUlN1YzrWZZcuW1YYNG7Rr1y6tXbtW69evV58+fTRr1ix9++23cnNz04MPPqjffvtNGzdu1Pr167Vy5UpNnz5d48aN0+jRo69bc2xsrIYNG2Z7n5qaqpCQEO35O11eHo5HW1Ew3CTV9PJW69atHb5qFQUnIyNDSUlJ9N0E9N4c9N08Bd37nDONN+P0NZWjR4/WggULbIFSkqpVq6apU6eqS5cuiomJcWp7xYsXV5UqVW5cpIeHnnjiCY0ZM0Y//fSTLcT9r7i4OO3evdvuqySzs7MVHx9fIKEyLi5OmZmZdjfPWK1WeXt767333lNAQMAN19+7d68kqVKlSjf9rL1798rf319BQUG2sWt7Fx8fr9q1aysuLs5hX4ODg2/a45o1a6pmzZr6f//v/2ngwIFq1qyZ1qxZo5YtW0qSPD091axZMzVr1kwjRozQhAkTNH78eI0YMcLuazqv5e3tbXfTVY7s/7xQuDw9PflBbwL6bh56bw76bp6C6n1et+n0pW0nT55UZmamw3hWVpb++OMPZzeXZ/369dOaNWvUsWNHlSxZ0mH5zp07tWXLFq1evVrJycm21+rVq7Vhwwbt27cvX+vJzMzU7Nmz9c4779h93vbt21WuXDnNmTPnhutnZ2drxowZqlSpkurWrXvDuadPn9YXX3yhTp062U5J/y83NzeNGjVKr776qi5fvnzL+yVJNWrUkCRdunTphnMyMzMdHmEEAABck9NHKlu1aqVnnnlGs2bNUr169SRJW7du1bPPPutwijUv0tPTderUKfuiPDx09913241Vr15dZ86cUbFixXLdTlxcnBo2bKgHH3zQYVmDBg0UFxeX63MrpauBODk52W7M29tb1atXv27dS5cu1blz59S/f3+HI5KdO3dWXFycBg4caBs7e/asTp06pbS0NO3atUvTpk3Tpk2b9M0339hd72i1WnXq1CnbI4U2bNigN998UwEBAZo0adJ165Gkrl276uWXX9b777+vl156yTZ+/vx5hx77+fmpePHievbZZ1WuXDk99NBDKl++vE6ePKkJEyaoVKlSaty4sSSpRYsW6tGjh+677z4FBQVpz549GjVqlFq2bCl/f/8b1gQAAFyD00cq4+PjFRwcrPvuu892erNhw4YqU6aMZs2a5XQB3377rcqWLWv3atq0aa5zg4KCdNdddzmM//333/rss89yvZ5QuhryZs+efd27ly5evKi6devavdq3b3/DuuPi4hQVFZXrKe7OnTtry5Yt2rFjh20sKipKZcuWVa1atTRy5EhVr15dO3bssJ1ezpGamqqyZcvqnnvuUePGjTVz5kz16dNHP//8s8qWLXvDmjw8PDR48GBNnjzZ7ijjk08+6dDjd99911bXxo0b1bVrV4WFhalz587y8fHRypUrbafac+6+f/jhh1W9enUNGTJEbdq00fz5829YDwAAcB0Wa84dIE46cOCA7ZRyeHi4wsLC8rUw3HlSU1MVEBCgUYkJ8rrOEWfkPzdJkV7eio6O5jqnQpSRkaFly5bRdxPQe3PQd/MUdO9zfn+npKTc8AzlLT/8PDQ0VFarVffee6/djTEAAABwPU6f/k5LS1P//v1VrFgxRURE6OjRo5KkIUOG3PSav6Lk6NGj8vX1ve4rZ78BAABwC0cqY2NjtX37dq1evdru+6SjoqI0duxYjRw5Ml8LNEu5cuUcbt753+UAAAC4yulQuXjxYs2bN0/333+/3YO4IyIi9Ouvv+ZrcWby8PC46bMdAQAAcJXTp7///PNP29cEXuvSpUt5+mYYAAAA3HmcDpX33XefvvnmG9v7nCA5a9Ys23MNAQAA4Fqc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KDQ01DaWMz/n5evrq/r162vhwoV267Zo0SLX/Rw4cKBtzrXj/v7+atCggb7++us89QEAALgG049Utm3bVidPntTBgwf14osvauzYsXr77bed2saiRYvUvHlzlS9fXqtWrdK+ffv0/PPPa8KECerevbusVqvdfIvFotdeey3PtV37mjNnTp7r8vHx0YgRI5zalxspXry4Tp8+rQ0bNtiNx8XFqUKFCg7z/f39bXX//PPPatOmjR5//HHt37/fbt6AAQMc9nPy5Ml2cxISEnTy5Elt2bJFTZo0UZcuXbRz58582zcAAFC0mR4qvb29FRwcrIoVK+rZZ59VVFSUlixZkuf1L126pAEDBqhDhw76+OOPVadOHYWGhuqpp57Sp59+qgULFmj+/Pl26wwePFifffaZdu3alafarn2VLFkyz7U9/fTT2rhxo5YtW5bndW7Ew8NDPXv2VHx8vG3s+PHjWr16tXr27Okw32Kx2OquWrWqJkyYIDc3N+3YscNuXrFixRz209/f325OiRIlFBwcrLCwML3++uvKzMzUqlWr8mW/AABA0Zfn7/4uLHfddZfOnj2b5/nLly/X2bNn9dJLLzksa9++vcLCwjRnzhx169bNNt6kSRMdOHBAI0eO1NKlS/Ol7txUqlRJAwcOVGxsrNq2bSs3N+MZvl+/fmrRooWmT5+uYsWKKTExUW3btlWZMmVuuF5WVpZmz54tSapXr94tf35mZqbi4uIkSV5eXjecm56ervT0dNv71NRUSZK75eoLhSOn1/S8cOX0OyMjw9xCXFBOz+l94aLv5ino3ud1u7dNqLRarVq5cqW+++47DRkyxDZevnx5h7lpaWm2Px84cECScr3WUJLCw8Ntc641ceJERUZGat26dWrWrFmu6y5dulS+vr52Y6NGjdKoUaNuvkP/8eqrryohIUGff/65nnjiiTyvdz1169ZV5cqVtWDBAj3xxBNKTEzUlClT9NtvvznMTUlJsdV/+fJleXp66uOPP9a9995rN++DDz7QrFmz7MZmzpypmJgY2/sePXrI3d1dly9fVnZ2tkJDQ/X444/fsNaJEydq3LhxDuONShZXsWLF8rzPyB8PBBY3uwSXlJSUZHYJLovem4O+m6egen9t7roR00NlTnDLyMhQdna2evbsqbFjx2rz5s2SpHXr1snPz89unWtvdMnxv9dN3kyNGjXUu3dvjRw5Uj/++GOuc1q2bKkPP/zQbiwwMNCpzylVqpReeuklvfbaa3ZHS43o16+fEhISVKFCBV26dEnR0dF67733HOb5+flp27Ztkq7+g1ixYoUGDhyooKAgtW/f3jYvJiZGr7zyit26/3vkc+rUqYqKitJvv/2mF154QTNmzLhpL2JjYzVs2DDb+9TUVIWEhOinc5fkcdm5vy/cOnfL1UC5/q9LyqLthSan761bt5anp6fZ5biUjIwMJSUl0ftCRt/NU9C9zznTeDOmh8qc4Obl5aVy5crJw8O+pEqVKqlEiRJ2Y9fOCQsLkyTt3btXDzzwgMP29+7dqxo1auT62ePGjVNYWJgWL16c6/LixYurSpUqTuxN7oYNG6YPPvhAH3zwgcMyf39/hzvRJen8+fNyd3dX8eKOR5diYmI0fPhwjR07Vk888YRDz3K4ubnZ1R8ZGanly5frrbfesguVAQEBN93P4OBgValSRVWqVFFCQoKio6O1Z88elS5d+rrreHt7y9vb22E8yypZCDeFLssqQqUJPD09+QVrEnpvDvpunoLqfV63afqNOjnBrUKFCtcNRzfy8MMPKzAwUO+8847DsiVLlujgwYPq0aNHruuGhIRo8ODBGjVqlMOjh/KTr6+vRo8erTfeeEMXLlywW1atWjXt3r3b7tpDSdq2bZsqVaqU619kYGCgOnTooDVr1qhfv35O1ZJzCtuIhg0bqn79+nrjjTcMbQcAANw5TA+VRhUvXlwzZ87U119/raefflo7duzQ4cOHFRcXp759+6pLly43vPYvNjZWJ06c0IoVKxyWpaen69SpU3avM2fO3FKdTz/9tAICAvTFF1/YjcfExMhisah3797aunWrfvnlF8XHx2vatGl68cUXr7u9xMREnTlzRuHh4dedY7VabXUfOnRIH3/8sb777jt17NjRbl5aWprDfp47d+6G+zN06FDNnDlTv//+ex72HgAA3OmKfKiUpC5dumjVqlU6evSomjVrpmrVqmnq1Kl65ZVXNHfuXFks17/tNTAwUCNGjNCVK1ccln377bcqW7as3atp06a3VKOnp6def/11h88pUaKE1q1bp4yMDHXo0EF16tTRjBkzNGXKFD3zzDPX3d5dd92loKCgG35mamqqre7q1avrnXfe0fjx4x2un/zkk08c9vN6R3dztG3bVpUqVeJo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\n" + "image/png": "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RqgEAACAZYRKAAAAWEaoBAAAgGWESgAAAFhGqAQAAIBlhS5U/vbbbxo8eLAqVqwoX19fhYSEqF27dvr888+dc77++mt169ZNZcuWlZ+fn6pWraqBAwfqwIEDkqTDhw/LMAznJygoSC1bttSmTZtM+xo/frxpXtYnPDzcOadVq1Y5zhk0aJBzjmEY8vPz05EjR0zb79Kli/r165er4+7Xr58Mw9CUKVNM48uWLZNhGDmuEx4eLl9fX504ccJlWVbdf9+eJHXo0EGGYWj8+PFuHScAACi6Cl2ofPDBB/X111/r7bff1oEDB7R8+XK1atVKJ0+elCStWLFCd9xxh1JTU/Xuu+9q7969eueddxQQEKCxY8eatrVmzRodP35cGzduVPny5XX//ffrl19+Mc2pVauWjh8/bvr873//M80ZOHCgy5ypU6ea5hiGoeeff97Ssfv5+emll17S6dOnrzr3f//7ny5cuKCuXbvq7bffznFOaGio5s+fbxr7+eeftXbtWpUrV85lfm6OEwAAFE1edhfgjjNnzmjTpk1av369WrZsKUmqVKmSmjRpIklKSUnRI488osjISC1dutS5XuXKldW0aVOdOXPGtL3g4GCFhIQoJCREY8aM0aJFi/TFF1+oU6dOzjleXl4KCQm5Yl3FihW76pyhQ4dq+vTpeuaZZ1S7dm13DtspIiJC3333nWJiYq4a5mJjY9WrVy+1bNlSTzzxhEaNGuUy5/7779f777+vzz//XM2bN5ckvf3227r33nt19OhRl/m5OU4AAFA0FapQ6e/vL39/fy1btkx33HGHfH19TctXrVql33//XSNHjsxx/cDAwBzHL1y4oAULFkiSfHx88rTmLM2bN9eBAwc0evRorVix4pq24enpqcmTJ6tXr156/PHHVaFChRznnT17Vh988IG++OILhYeHKykpSZs2bVKLFi1M83x8fBQVFaX4+HhnqJw/f76mTp1quvR9rVJTU5Wamur8npycLOnS6fFCd4o8j3n87X+LMnphRj+y0Qsz+pGNXphl9SEtLS1ftp/b7RaqUOnl5aX58+dr4MCBeuONN3T77berZcuW6tGjh+rWrauDBw9Kkumexyu588475eHhoZSUFDkcDjVs2FBt2rQxzdm1a5f8/f1NY71799Ybb7zh/P76669r3rx5pjlvvvmmoqKiTGMxMTGqW7dujgEvtx544AHVr19f48aNU2xsbI5zFi1apKpVq6pWrVqSpB49eig2NjbHffbv318tWrTQrFmz9NVXXykpKUn3339/jqEyt8eZJSYmRhMmTHAZD5e/iqnY1Q61SKipEnaXUGDQCzP6kY1emNGPbPTCLCEhIV+2m5KSkqt5hSpUSpfuqezQoYM2bdqkrVu36r///a+mTp2qefPmyeFwuLWtxYsXKzw8XLt379bIkSM1f/58eXt7m+ZUr15dy5cvN42VLFnS9D0qKkrPPvusaaxs2bIu+6tZs6b69Omj0aNHmx4sctdLL72ke+65R08//XSOy+Pi4tS7d2/n9969e6tly5Z65ZVXVKKE+V/AevXqqWrVqvrwww+1bt06Pfzww/Lyyvkfi9weZ5bo6GiNGDHC+T05OVmhoaHap3PyUcZVj/NG5qFLfxju0Vll2l2MzeiFGf3IRi/M6Ec2emGW1Y+2bdu65Ji8kHWl8WoKXaiULj2w0rZtW7Vt21Zjx47Vo48+qnHjxmnmzJmSpH379qlZs2ZX3U5oaKiqVq2qqlWrKj09XQ888IB2795tuqzu4+OjKlWqXHE7AQEBV52TZcKECapWrZqWLVuWq/k5ufvuu9WuXTtFR0e7PD2+Z88ebd26Vdu2bTPdR5mRkaFFixZp4MCBLtvr37+/XnvtNe3Zs0fbtm277H7dOU5J8vX1dblFQZIy//yAXvwVvTCjH9nohRn9yEYvzLy9vfMlVOZ2mzfE7Qg1a9bU+fPnde+99+rmm2++7EMsf39Q56+6du0qLy8vvf766/lU5SWhoaEaOnSoxowZo4yMaz9bN2XKFH388cfasmWLaTw2NlZ33323vvnmGyUmJjo/I0aMuOzl8l69emnXrl2qXbu2atasec01AQCAoqtQnak8efKkunXrpv79+6tu3boqUaKEtm/frqlTp6pz584qXry45s2bp27duqlTp056/PHHVaVKFf3+++96//33dfToUS1atCjHbRuGoccff1zjx4/XP//5TxUrdumev/T0dJf3PBqGYbrsm5KS4jLH19dXpUqVynFf0dHReuutt3To0CF17979mnpRp04dRUVFafbs2c6xtLQ0/fvf/9bEiRNdnjB/9NFHNX36dH377bfOey2zlCpVSsePH7/qf4m4e5wAAKDoKFRnKv39/dW0aVPNmDFDd999t2rXrq2x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AABgGaESAAAAlhEqAQAAYBmhEtfFa6+9prCwMPn5+alp06batm2b3SXZYuPGjerYsaPKly8vwzC0bNkyu0uyTUxMjBo3bqwSJUqoTJky6tKli/bv3293WbaZM2eO6tat63x5cbNmzfTf//7X7rIKhClTpsgwDA0fPtzuUmwxfvx4GYZh+oSHh9tdlm1+/vln9e7dW8HBwbrppptUp04dbd++3e6ybBEWFubyz4ZhGBoyZIgt9RAqke8WL16sESNGaNy4cdqxY4fq1aundu3a6ddff7W7tOvu/Pnzqlevnl577TW7S7Hdhg0bNGTIEG3dulUJCQlKS0vTvffeq/Pnz9tdmi0qVKigKVOm6KuvvtL27dt1zz33qHPnzvr222/tLs1WX375pd58803VrVvX7lJsVatWLR0/ftz5+d///md3SbY4ffq0mjdvLm9vb/33v//Vnj17NG3aNJUqVcru0mzx5Zdfmv65SEhIkCR169bNlnp4pRDyXdOmTdW4cWO9+uqrkqTMzEyFhoZq2LBhGj16tM3V2ccwDC1dulRdunSxu5QC4bffflOZMmW0YcMG3X333XaXUyAEBQXp5Zdf1oABA+wuxRbnzp3T7bffrtdff12TJk1S/fr1NXPmTLvLuu7Gjx+vZcuWKTEx0e5SbDd69Gh9/vnn2rRpk92lFEjDhw/XihUrdPDgQRmGcd33z5lK5Ks//vhDX331lSIiIpxjHh4eioiI0JYtW2ysDAVNUlKSpEtBqqjLyMjQokWLdP78eTVr1szucmwzZMgQdejQwfTnR1F18OBBlS9fXrfeequioqJ09OhRu0uyxfLly9WoUSN169ZNZcqUUYMGDfTWW2/ZXVaB8Mcff+idd95R//79bQmUEqES+ez3339XRkaGypYtaxovW7asTpw4YVNVKGgyMzM1fPhwNW/eXLVr17a7HNvs2rVL/v7+8vX11aBBg7R06VLVrFnT7rJssWjRIu3YsUMxMTF2l2K7pk2bav78+fr00081Z84cHTp0SC1atNDZs2ftLu26++GHHzRnzhxVrVpVq1at0uDBg/X444/r7bfftrs02y1btkxnzpxRv379bKvBy7Y9A8CfhgwZot27dxfZ+8SyVK9eXYmJiUpKStKHH36ovn37asOGDUUuWP7444964oknlJCQID8/P7vLsd19993n/P9169ZV06ZN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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ - "sns.barplot(data=detected_types_df, y=\"Detected PII Type\", x=\"Count\", alpha = 0.7)\n", + "sns.barplot(data=detected_types_df, y=\"Detected PII Type\", x=\"Count\", alpha = 0.8)\n", "plt.grid()" ], "metadata": { diff --git a/pii_codex/models/microsoft_presidio_pii.py b/pii_codex/models/microsoft_presidio_pii.py index d2d77ff..230fbe4 100644 --- a/pii_codex/models/microsoft_presidio_pii.py +++ b/pii_codex/models/microsoft_presidio_pii.py @@ -12,7 +12,7 @@ class MSFTPresidioPIIType(Enum): ABA_ROUTING_NUMBER: str = "ABA_ROUTING_NUMBER" IP_ADDRESS: str = "IP_ADDRESS" DATE: str = "DATE_TIME" - ADDRESS: str = "ADDRESS" + ADDRESS: str = "LOCATION" AGE: str = "AGE" PERSON: str = "PERSON" CREDIT_CARD_NUMBER: str = "CREDIT_CARD" diff --git a/pii_codex/services/analysis_service.py b/pii_codex/services/analysis_service.py index 5a82812..fd1ec9b 100644 --- a/pii_codex/services/analysis_service.py +++ b/pii_codex/services/analysis_service.py @@ -37,6 +37,12 @@ def __init__( pii_token_replacement_value: str = DEFAULT_TOKEN_REPLACEMENT_VALUE, analysis_provider: str = AnalysisProviderType.PRESIDIO.name, ): + """ + PIIAnalysisService constructor. + @param pii_token_replacement_value: PII Token replacement string (default is ) + @param analysis_provider: Default provider is PRESIDIO, pass in another analysis provider + when using the adapters. + """ self._analysis_provider = analysis_provider self._language_code = "en" self._pii_assessment_service = PIIAssessmentService() diff --git a/pii_codex/services/assessment_service.py b/pii_codex/services/assessment_service.py index 3023b33..b8d69e3 100644 --- a/pii_codex/services/assessment_service.py +++ b/pii_codex/services/assessment_service.py @@ -12,8 +12,8 @@ class PIIAssessmentService: @timed_operation def assess_pii_type(self, detected_pii_type: str) -> RiskAssessment: """ - Assesses a singular detected PII type given a type name string from commmon.PIIType enum - @param detected_pii_type: type name strings from commmon.PIIType enum + Assesses a singular detected PII type given a type name string from common.PIIType enum + @param detected_pii_type: type name strings from common.PIIType enum @return: RiskAssessment """ return PII_MAPPER.map_pii_type(detected_pii_type) @@ -23,8 +23,8 @@ def assess_pii_type_list( self, detected_pii_types: List[str] ) -> List[RiskAssessment]: """ - Assesses a list of detected PII types given an array of type name strings from commmon.PIIType enum - @param detected_pii_types: array type name strings from commmon.PIIType + Assesses a list of detected PII types given an array of type name strings from common.PIIType enum + @param detected_pii_types: array type name strings from common.PIIType enum (e.g. ["PHONE_NUMBER", "US_SOCIAL_SECURITY_NUMBER"]) @return: List[RiskAssessment] """ diff --git a/pyproject.toml b/pyproject.toml index 0cc1587..a55fe9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,13 +1,13 @@ [tool.poetry] name = "pii-codex" -version = "0.4.2" +version = "0.4.3" description = "" authors = ["Eidan J. Rosado"] license = "BSD 3-Clause" readme = "README.md" homepage = "https://github.com/EdyVision/pii-codex" repository = "https://github.com/EdyVision/pii-codex" -keywords = ["PII", "PII topology", "risk categories", "personal identifiable information"] +keywords = ["PII", "PII topology", "risk categories", "personal identifiable information", "risk assessment"] classifiers = [ "Development Status :: 1 - Planning", "Intended Audience :: Science/Research",