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();}
}