pii-filter
Version:
59 lines (53 loc) • 2.02 kB
text/typescript
import * as pf from '../../../src/pii-filter';
export function print_debug(result: pf.PIIClassifierResult)
{
if(result['tokens'].length == 0)
return;
let token = result['tokens'][0][1];
while(token != null)
{
console.log(`[${token.index}] Token: \"${token.symbol}\", Stem: \"${token.stem}\"`);
console.log(`-- POS[${token.tag.tag_base}], ${JSON.stringify(token.tag.tag_rest)}`);
console.log(`-- WellFormedNess[${token.tag.group.well_formed}]`);
if (token.confidence_dictionary)
console.log(
`- dict score: ${token.confidence_dictionary.score}, ` +
`root: [${token.confidence_dictionary.group_root_start.index}, ` +
`${token.confidence_dictionary.group_root_end.index}]`
);
for (let assoc_arr of token.confidences_associative.values())
{
for (let assoc of assoc_arr)
{
console.log(
` assoc: ${assoc.classifier.name}, ` +
`score: ${assoc.score}, root: [${assoc.group_root_start.index}, ` +
`${assoc.group_root_end.index}]`
);
}
}
for (let conf of token.confidences_classification[token.confidences_classification.length-1].all())
{
console.log(
` ++conf: ${conf.classifier.name}, score: ${conf.score}, severity: ${conf.severity}, ` +
`root: [${conf.group_root_start.index}, ${conf.group_root_end.index}]`
);
}
token = token.next;
}
console.log(`Overall severity: ${result['severity']}`);
for (let pii of result['pii'])
console.log(`PII[${pii.type}]: ${pii.value}`);
}
export function get_pii(
pii_arr: ReadonlyArray<pf.PIIClassification>,
pii_text: string,
): pf.PIIClassification
{
for (let pii of pii_arr)
{
if (pii.value == pii_text)
return pii;
}
return null;
}