天天看點

阿裡雲智能語義了解Quick Start

概述

智能語義了解(Intelligent Semantic Understanding)依托阿裡巴巴在深度學習、自然語言處理方向上的技術積累,為客戶提供文本相似度和機器閱讀了解等優質算法技術。其中文本相似度可以計算兩段短文本之間的相似度,并給出相似度評分;機器閱讀了解能針對某幾個問題,從若幹篇文章中分别尋找問題答案。智能語義了解技術可以應用于問答系統、資訊檢索、新聞推薦等場景。下面主要介紹該産品的開通及使用。

Step By Step

1、開通服務,公測申請

位址

2、開通後控制台

概覽
阿裡雲智能語義了解Quick Start

3、操作步驟,可以在控制台快速檢視建立項目,然後檢視程序

阿裡雲智能語義了解Quick Start

4、使用SDK進行相關操作

  • 4.1 pom.xml
<dependencies>
            <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=LTAI2WA8174xk3ii&Signature=967zD%2BonZHoVbSZqkmxx8KVcEeI%3D");
//        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=LTAI2WA8174xk3ii&Signature=967zD%2BonZHoVbSZqkmxx8KVcEeI%3D");
//        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相關解釋

幫助分詞,業務的一些專有詞,預設分詞分不出來的情況下需要用上傳到自定義詞表。
  • 5.2 上傳資料格式參考及解釋: 資料格式說明
  • 5.3 使用者答疑釘釘群号:23162166。(可在檔案位置擷取産品簡介文檔,對了解産品有很大幫助)
    阿裡雲智能語義了解Quick Start

更多參考

什麼是智能語義了解 智能語義了解API接口

繼續閱讀