获取去识别的物品数量?

时间:2018-05-22 20:34:47

标签: google-cloud-dlp

我试图从Google DLP Java库的去标识结果中报告去识别单词/字符串的确切数量。我在回复中使用了这个:

DeidentifyContentResponse response = dlpClient.deidentifyContent(request);
// Sum up the redactions
List<TransformationSummary> summaries =
        response.getOverview().getTransformationSummariesList();
int redactionCount = 0;

if (!isEmpty(summaries)) {
    redactionCount = summaries.stream()
            .mapToInt(TransformationSummary::getResultsCount)
            .sum();
}

我将输入作为发送,其中每个输入字符串都是一行,无论其中有多少个字/列。 编校计数似乎大部分符合我的预期,但在某些情况下,计数似乎是关闭的。例如,当我使用上面显示的代码时,输​​入Steve Jobs产生的redactionCount为3。我猜测原因是它匹配多个InfoType。在我的情况下,我在InfoTypes列表中有 FIRST_NAME LAST_NAME PERSON_NAME ,所以我猜测我得到了一个匹配项名字的第一个名称,姓氏的另一个名称,以及&#34;姓名的第三个匹配&#34;完整的。我正在寻找的是基本上有多少单词被编辑/去识别。即我希望redactionCount结果为== 2.有更好/更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

原则上你是对的,转换摘要是转换的数量,而不是转换的单词数量,但你在这里指出的也是我向团队提交的错误。

对于bug中的一些透明度和细节,问题在于它没有正确处理重叠发现的场景。我们可以解决这个问题......与此同时,如果您从请求中删除PERSON_NAME,您将获得所寻求的行为。

(值得注意的是,即使修复了重叠的错误,如果你要求的是person_name而不是其他两个,你最终会得到一个转换。)当然,第一个名字可能跨越多个单词因此,它目前不会给你一个字数。