阿里云智能语义理解Quick Start

简介: 本文主要介绍智能语义理解产品的开通及使用。

作者:俏巴

概述

智能语义理解(Intelligent Semantic Understanding)依托阿里巴巴在深度学习、自然语言处理方向上的技术积累,为客户提供文本相似度和机器阅读理解等优质算法技术。其中文本相似度可以计算两段短文本之间的相似度,并给出相似度评分;机器阅读理解能针对某几个问题,从若干篇文章中分别寻找问题答案。智能语义理解技术可以应用于问答系统、信息检索、新闻推荐等场景。下面主要介绍该产品的开通及使用。

Step By Step

1、开通服务。

2、开通后控制台概览
image.png

3、操作步骤,可以在控制台快速查看创建项目,然后查看进程
image.png

4、使用SDK进行相关操作

  • 4.1 pom.xml
     ```
    
          <dependency>
              <groupId>com.aliyun</groupId>
              <artifactId>aliyun-java-sdk-iqa</artifactId>
              <version>1.0.0</version>
          </dependency>
          <dependency>
              <groupId>com.aliyun</groupId>
              <artifactId>aliyun-java-sdk-core</artifactId>
              <version>4.4.9</version>
          </dependency>
      </dependencies>
    
    ```

4.2 code sample

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.iqa.model.v20190813.*;
import com.aliyuncs.profile.DefaultProfile;

public class demo1 {
    public static void main(String[] args) throws ClientException {
        DefaultProfile profile = DefaultProfile.getProfile(
                "cn-hangzhou",
                "LTAIOZZgYX******",
                "v7CjUJCMk7j9aKduMAQLjy********");
        IAcsClient client = new DefaultAcsClient(profile);

        // 调用ListProjects获取项目列表
        ListProjectsRequest request = new ListProjectsRequest();
        request.setProjectType("faq");
        ListProjectsResponse response = client.getAcsResponse(request);
        System.out.println("项目数量: " + response.getTotalCount());

//        // 调用CreateProject创建一个项目
//        CreateProjectRequest createProjectRequest = new CreateProjectRequest();
//        createProjectRequest.setModelId("general");
//        createProjectRequest.setProjectName("FaqProjectDemo1");
//        createProjectRequest.setProjectType("faq");
//        CreateProjectResponse createProjectResponse = client.getAcsResponse(createProjectRequest);
//        System.out.println(createProjectResponse.getProjectId());

          String projectId = "nynauj21********";// 使用创建项目获取的ProjectId
//
//        // 调用UploadDictionary上传自定义词表,支持多次调用增量导入,此操作是用来对导入的document增加分词功能,可以不操作
//        UploadDictionaryRequest uploadDictionaryRequest = new UploadDictionaryRequest();
//        uploadDictionaryRequest.setDictionaryFileUrl("http://iqa-console.oss-cn-hangzhou.aliyuncs.com/example/iqa_example_shorttext.xlsx?spm=a2c4g.11186623.2.14.5d7b727d7qG2oF&Expires=2179036688&OSSAccessKeyId=*****&Signature=****");
//        uploadDictionaryRequest.setProjectId(projectId);
//        UploadDictionaryResponse uploadDictionaryResponse = client.getAcsResponse(uploadDictionaryRequest);
//        System.out.println(uploadDictionaryResponse.getTotalCount());

//        UploadDocumentRequest uploadDocumentRequest = new UploadDocumentRequest();
//        uploadDocumentRequest.setDocumentFileUrl("http://iqa-console.oss-cn-hangzhou.aliyuncs.com/example/iqa_example_shorttext.xlsx?spm=a2c4g.11186623.2.14.5d7b727dtesby4&Expires=2179036688&OSSAccessKeyId=****&Signature=****");
//        uploadDocumentRequest.setProjectId(projectId);
//        UploadDocumentResponse uploadDocumentResponse = client.getAcsResponse(uploadDocumentRequest);
//        System.out.println(uploadDocumentResponse.getFileDataCount());

//        // 调用DeployService发布一个项目
//        DeployServiceRequest deployServiceRequest = new DeployServiceRequest();
//        deployServiceRequest.setProjectId(projectId);
//        DeployServiceResponse deployServiceResponse = client.getAcsResponse(deployServiceRequest);
//        System.out.println(deployServiceResponse.getRequestId());

        GetPredictResultRequest getPredictResultRequest = new GetPredictResultRequest();
        getPredictResultRequest.setProjectId(projectId);
        getPredictResultRequest.setQuestion("充话费");
        getPredictResultRequest.setTopK(3);
        GetPredictResultResponse getPredictResultResponse = client.getAcsResponse(getPredictResultRequest);
        for (GetPredictResultResponse.PredictResult predictResult:getPredictResultResponse.getPredictResults()
             ) {
            System.out.println("Question: " + predictResult.getQuestion() + " Answer: " + predictResult.getAnswer() + " Score: " + predictResult.getScore());
        }
    }
}

4.3 result

项目数量: 3
Question: 积分怎么充话费 Answer:  Score: 0.9948719
Question: 积分充话费的方式 Answer:  Score: 0.9937389
Question: 我怎么用积分充话费 Answer:  Score: 0.47255847

5、Demo相关解释

相关文章
|
消息中间件 算法 分布式数据库
Raft算法:分布式一致性领域的璀璨明珠
【4月更文挑战第21天】Raft算法是分布式一致性领域的明星,通过领导者选举、日志复制和安全性解决一致性问题。它将复杂问题简化,角色包括领导者、跟随者和候选者。领导者负责日志复制,确保多数节点同步。实现细节涉及超时机制、日志压缩和网络分区处理。广泛应用于分布式数据库、存储系统和消息队列,如Etcd、TiKV。其简洁高效的特点使其在分布式系统中备受青睐。
|
1月前
|
安全 前端开发 测试技术
Apipost 脚本高频场景最佳实践:搞定接口签名验证、登录令牌刷新、动态参数生成等
本文详细介绍了Apipost七大高频脚本使用场景:动态参数修改、自动签名、登录态维护、数据加密、性能压测、OAuth2.0授权等,覆盖接口调试核心需求,帮助开发者大幅提升调试效率与自动化水平。
|
监控
使用云监控2.0页面诊断问题根因-错误分析指南
针对一次故障的根因诊断,通过云监控2.0调用链分析。
2383 0
|
5月前
|
SQL Apache Windows
Windows服务器80端口被占用的全面解决方案
在服务管理器中启动apache2服务,即可正常使用80端口。若系统中还安装了其他微软产品如sql等,也可尝试停止其服务进行测试,但请注意,SQL通常不会使用80端口,因此一般不会受到影响。以上就是关于80端口被system占用的详细解决方法,希望对你有所帮助。
|
人工智能 Kubernetes Perl
2025 AI 原生编程挑战赛 术语说明与FAQ
本文档介绍了天池2025比赛的相关术语和一些疑问的解答。包括云监控平台(CloudMonitor 2.0)、日志服务(SLS)、观测数据租户(Workspace)、地域(Region)等平台与入口概念,并详解了Trace、Span、Log、Metric、Event等核心数据模型及其关键字段。文档还涵盖了PromQL告警规则、SPL日志查询、Kubernetes实体层级、诊断方法论术语等内容,同时提供了根因分析的命名规范、提交格式(JSONL)、时间窗口要求及常见问题解答,旨在帮助参赛者高效定位并解决系统故障。
1105 2
|
4月前
|
弹性计算 开发工具 git
通义灵码助你打造专属高德 MCP 服务
如果现有的MCP服务不满足您的需求,通义灵码智能体能够帮助您开发专属MCP服务,直达业务目标。本案例以高德提供的基础MCP服务为基础,借助智能体开发一个订制旅游攻略的高级MCP服务。
2664 11
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理中的语义理解技术
自然语言处理中的语义理解技术
901 0
|
10月前
|
存储 人工智能 API
DeepSeek——DeepSeek模型部署实战
本文介绍了DeepSeek大模型的本地部署方法、使用方式及API接入。首先,通过下载Ollama平台部署DeepSeek-R1模型,提供7种不同参数版本(1.5b至671b),用户可根据硬件选择合适的模型大小。接着,文章详细描述了如何在终端运行命令启动模型,并通过Chatbox官网下载并接入DeepSeek API,实现本地和云端模型的交互。最后,提及了DeepSeek官网和集成工具如POE的使用,帮助用户更好地利用DeepSeek进行开发和应用。
|
人工智能 中间件 Serverless
基于函数计算FC 部署 ComfyUI实现AI生图 的优势
【6月更文挑战第17天】基于函数计算FC 部署 ComfyUI实现AI生图 的优势
基于函数计算FC 部署 ComfyUI实现AI生图 的优势
|
监控 安全 测试技术
如何确保API对接过程中的数据安全?
确保API对接过程中的数据安全至关重要。最佳实践包括:使用HTTPS协议、强化身份验证和授权、数据加密、输入验证、访问控制、限流限速、日志记录和监控、安全测试、数据脱敏、错误处理、API网关、Web应用程序防火墙(WAF)、审计和合规性。这些措施能有效提升API的安全性,保护数据免受恶意攻击和泄露风险。