AWS提供了名為Amazon Comprehend 的服務,它支持對文本進行語言識別。Amazon Comprehend 是一項自然語言處理(NLP)服務,它可以用于分析文本并提取有關文本內容的信息。
我們可以通過使用 Amazon Comprehend API 輕松地集成這些功能到您的應用程序中,以實現對文本的自動化分析和理解。
使用 Maven 依賴:
<dependency><groupId>software.amazon.awssdk</groupId><artifactId>comprehend</artifactId><version>2.17.97</version> <!-- 使用最新版本 -->
</dependency>
使用 Gradle 依賴:
implementation 'software.amazon.awssdk:comprehend:2.17.97' // 使用最新版本
下面是一個簡單的示例:
import software.amazon.awssdk.services.comprehend.ComprehendClient;
import software.amazon.awssdk.services.comprehend.model.*;import java.util.List;public class LanguageDetectionExample {public static void main(String[] args) {// 使用您的 AWS 訪問密鑰和區域信息創建 Comprehend 客戶端ComprehendClient comprehendClient = ComprehendClient.builder().region(Region.US_EAST_1) // 替換為您的區域.build();// 待識別的文本String textToDetect = "Hello, how are you?";// 創建 DetectDominantLanguageRequest 對象DetectDominantLanguageRequest detectRequest = DetectDominantLanguageRequest.builder().text(textToDetect).build();// 調用 DetectDominantLanguage APIDetectDominantLanguageResponse detectResponse = comprehendClient.detectDominantLanguage(detectRequest);// 獲取識別到的語言列表List<DominantLanguage> languages = detectResponse.languages();// 使用流和Lambda表達式找到最高分數的語言DominantLanguage highestScoreLanguage = languages.stream().max(Comparator.comparingDouble(DominantLanguage::score)).orElse(null);// 打印最高分數的語言及其得分if (highestScoreLanguage != null) {System.out.println("Language: " + highestScoreLanguage.languageCode() +", Highest Score: " + highestScoreLanguage.score());} else {System.out.println("No languages detected.");}// 關閉客戶端comprehendClient.close();}
}