Получение количества предметов, опознанных?
Я пытаюсь сообщить точное количество неопознанных слов / строк в результате де-идентификации из библиотеки 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. В моем случае у меня есть FIRST_NAME, LAST_NAME и PERSON_NAME в моем списке инфо-типов, поэтому я предполагаю, что я получу одно совпадение для имени, другое для фамилии и третье совпадение для "имени человека" полностью, То, что я ищу, по сути, сколько слов было отредактировано / не идентифицировано. Т.е. я бы ожидал redactionCount
результат будет == 2. Есть ли лучший / более простой способ сделать это?
1 ответ
Вы правы, что изначально сводка преобразований - это количество преобразований, а не количество преобразованных слов, но здесь вы также указываете на ошибку, которую я подал в команду.
Для некоторой прозрачности и детализации ошибки проблема заключается в том, что она неправильно обрабатывает сценарий перекрывающихся результатов. Мы можем это исправить... и тем временем, если вы удалите PERSON_NAME из своего запроса, вы получите поведение, которое искали.
(Следует отметить, что даже если исправленная перекрывающая ошибка исправлена, если вы запросите имя_символа, а не два других, вы получите одно преобразование.) Конечно, возможно, что имя охватывает несколько слов, поэтому в настоящее время оно не всегда дать вам количество слов.