Рубрики
Без рубрики

Добавьте Amazon Comprehend в проект Spring Boot

Amazon Comprehend – это сервис обработки естественного языка (NLP), который использует машинное обучение для поиска i… С тегами aws, comprehend, springboot, java.

Amazon Comprehend – это сервис обработки естественного языка (NLP), который использует машинное обучение для поиска информации и взаимосвязей в тексте. Никакого опыта машинного обучения не требуется. Ознакомьтесь с Amazon Comprehend по ссылке. Бывают случаи, когда вам нужно отсканировать документ и извлечь данные, поэтому этот сервис помогает в этом и автоматически извлекает текст из любого изображения, документа.

Варианты использования

  1. Законопроекты

  2. Медицинские квитанции

  3. Формы

  4. Изображения с написанным текстом

  5. Формы обратной связи

  6. Таблицы в документе

и многое другое с помощью сканирования на основе распознавания текста и Обработка НЛП

Шаги для интеграции

  1. AWS Comprehend SDK Добавляет следующие зависимости к pom.xml чтобы добавить классы AWS для понимания.


    com.amazonaws
    aws-java-sdk-comprehend
    1.11.759


  1. Java Service Создайте java-сервис и назовите его так, как вам нравится. позвольте сказать aws-comprehendService.java и напишите ниже методы. Или используйте в своем собственном сервисе.

  2. Инициализировать Понять Клиента

AmazonComprehend comprehendClient() {
    log.debug("Intialize Comprehend Client");
    BasicAWSCredentials awsCreds = new BasicAWSCredentials(awsAccessKey, awsSecretKey);
    AWSStaticCredentialsProvider awsStaticCredentialsProvider = new AWSStaticCredentialsProvider(awsCreds);
    return AmazonComprehendClientBuilder.standard().withCredentials(awsStaticCredentialsProvider)
    .withRegion(awsRegion).build();
}
  1. Метод обнаружения сущностей Метод получения сущностей по тексту
public List detectEntitiesWithComprehend(String text) {
    log.debug("Method to Detect Entities With Amazon Comprehend {}", text);
    DetectEntitiesRequest detectEntitiesRequest = new DetectEntitiesRequest().withText(text).withLanguageCode("en");
    DetectEntitiesResult detectEntitiesResult = comprehendClient().detectEntities(detectEntitiesRequest);
    entitiesList = detectEntitiesResult.getEntities();
    return entitiesList;
}

Примечание: Ограничение по тексту для использования этого способа составляет 5000 байт. Так если вам нужно обрезать, см. Приведенный ниже метод.

/***Text to trim */
text = trimByBytes(text, 5000);
String trimByBytes(String str, int lengthOfBytes) {
    byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
    ByteBuffer buffer = ByteBuffer.wrap(bytes);
    if (lengthOfBytes < buffer.limit()) {
        buffer.limit(lengthOfBytes);
    }
    CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder();
    decoder.onMalformedInput(CodingErrorAction.IGNORE);
    try {
        return decoder.decode(buffer).toString();
    } catch (CharacterCodingException e) {
        // We will never get here.
    throw new RuntimeException(e);
    }
}
  1. Результат вывода Теперь мы получили сущности в виде списка. Список – это список объектов, обработанных из переданного нами текста. Пример выходных данных приведен ниже
[
    {
        "score": 0.4398592,
        "type": "ORGANIZATION",
        "text": "JSON",
        "beginOffset": 4930,
        "endOffset": 4934
    },
    {
        "score": 0.98848945,
        "type": "ORGANIZATION",
        "text": "Apple",
        "beginOffset": 4960,
        "endOffset": 4965
    }
]

Ниже приведен фрагмент со всеми методами и импортом. Перейдите по ссылке для получения полного кода на Github

Теперь мы использовали синхронный метод для обработки. Следующим будет добавлен асинхронный. Так что оставайтесь на связи для получения дополнительной информации и, пожалуйста, делитесь. Пожалуйста, поделитесь своим мнением в комментариях ниже.

Первоначально Опубликовано По Адресу Первоначально Опубликовано По Адресу

Оригинал: “https://dev.to/balvinder294/add-amazon-comprehend-to-spring-boot-project-37p0”