首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

从 Watson Retrieve and Rank 迁移到 Watson Discovery Service

从 Watson Retrieve and Rank 迁移到 Watson Discovery Service

本教程将指导您通过使用来自 Watson Retrieve and Rank 示例的数据,创建并训练一个 Watson™                Discovery Service 实例 (Discovery),从而迁移该示例。本教程使用的数据集与 Retrieve and Rank 入门教程中的相同,但您可以使用相同的方法创建一个使用您自己数据的服务实例。本教程将提供用于迁移 Retrieve and                Rank API 数据的逐步操作说明。下一篇教程将介绍如何将数据从 Retrieve and Rank 工具导出到 Discovery。
用户将数据从 Retrieve and Rank 迁移到 Discovery 的过程包含两个主要步骤:
  • 迁移集合数据
  • 迁移训练数据
迁移集合数据时,最重要的是保持文档 ID 相同。这是因为训练数据会使用这些 ID 来引用事实库,如果在从 Retrieve and Rank 迁移到                Discovery 的过程中更改了 ID,重新排序将会完全打乱(甚至不会开始训练)。Discovery 允许在 API 上传过程中指定文档                ID,所以可按照本文中的指南避免此问题。Retrieve and Rank 训练数据通常存储在一个 CSV 文件中。在本教程中,这个 CSV                文件用于将样本训练数据上传到 Discovery。本教程假设 Retrieve and Rank 的设置与 Retrieve and Rank                入门教程类似,并使用了  路径。对于其他路径,包括利用 Retrieve and Rank                工具进行迁移,很快将会推出其他教程。
要完成本教程,需要做好以下准备工作:
  • cURL — 可以从                     安装适合您的操作系统的 cURL 版本。必须安装支持安全套接字层 (SSL) 协议的版本。确保在 PATH                    环境变量中包含已安装的二进制文件。
  • 样本 Cranfield 数据 — 我们使用了来自 的样本集合数据。
  • 样本数据事实库 — 我们使用了来自 的样本 Cranfield 事实库。
  • Python 2 — 要检查是否已安装 Python,可以在命令提示符下输入                    python --version,并确保版本编号以 2 开头。如果需要安装 Python,请下载它。
在开始学习本教程之前,必须满足以下条件:
  • 本教程假设您已经创建了一个 Watson Discovery Service 实例。
  • 假设您拥有服务凭证。
    • 进入 IBM Cloud® 上的 Watson Discovery Service 实例中时,单击                                Service credentials
    • 单击 Actions 下的 View                                credentials
    • 复制用户名和密码值。
将 Cranfield 数据添加到                Discovery
  • 创建一个环境:
    1
    2
    curl -X POST -u "{username}":"{password}" -H "Content-Type: application/json" -d '{
    "name": "my_environment", "description": "My environment" }' https://gateway.watsonplatform.n ... ?version=2017-09-01





    复制你的环境                    ID。
  • 创建一个集合:
    1
    curl -X POST -u "{username}":"{password}" -H "Content-Type: application/json" -d '{ "name": "test_collection", "description": "My test collection", "configuration_id": "{configuration_id}", "language_code": "en" }' "https://gateway.watsonplatform.net/discovery/api/v1/environments/{environment_id}/collections?version=2017-09-01"





                        复制您的集合 ID。
    可以使用默认配置来创建您的集合(参见)。也可以通过工具创建环境和集合(参见)。
  • 添加要搜索的文档。
    • 如果还未下载  文件,请下载它。这是 Retrieve and Rank                            中使用的文档的来源。Cranfield 集合文档为 JSON 格式,这是 Retrieve and Rank                            接受的格式,而且也适用于 Discovery。
      备注:Discovery 不需要上传 Solr 模式。这是因为                            Discovery 会自动从 JSON 结构推断模式。
    • 下载数据上传脚本。此脚本会将 Cranfield JSON 上传到 Discovery。
      该脚本使用                            Discovery 中的默认配置读取 JSON 文件,并将每个 JSON 文档发送到 Watson Discovery                            Service。Discovery 中的默认配置提供了与 Retrieve and Rank 中的默认 Solr                            配置类似的设置。
    • 发出以下命令将 cranfield-data-json 数据上传到 cranfield_collection 集合。将                            {username}, {password}, {path_to_file}, {environment_id}, {collection_id}                            替换为您的信息。请注意,还有一些额外的选项:-d 表示调试,–v                            表示来自 cURL 的详细输出。                                
      1
      2
      python ./disco-upload.py -u {username}:{password}
      -i {path_to_file}/cranfield-data.json –e {environment_id} -c {collection_id}





      完成此次上传会花费约                            20 分钟的时间。
    • 上传过程完成后,可以发出以下命令来查看集合细节,以检查这些文档是否已存在:
      1
      curl -u "{username}":"{password}" "https://gateway.watsonplatform.net/discovery/api/v1/environments/{environment_id}/collections/{collection_id}?version=2017-09-01"




输出类似于:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
  "collection_id" : "01743d74-564a-4a12-b270-b58908526a9c",
  "name" : "Cranfield",
  "configuration_id" : "10324002-3abb-4477-b264-76cf59d00695",
  "language" : "en",
  "status" : "active",
  "description" : null,
  "created" : "2017-09-28T18:38:27.552Z",
  "updated" : "2017-09-28T18:38:27.552Z",
  "document_counts" : {
    "available" : 1400,
    "processing" : 0,
    "failed" : 0
  },
  "disk_usage" : {
    "used_bytes" : 3322085
  },
  "training_status" : {
    "data_updated" : "",
    "total_examples" : 0,
    "sufficient_label_diversity" : false,
    "processing" : false,
    "minimum_examples_added" : false,
    "successfully_trained" : "",
    "available" : false,
    "notices" : 0,
    "minimum_queries_added" : false
  }
}




查看 document_counts,看看成功上传了多少个文档。我们不希望这个样本数据集发生任何文档故障。                但是,对于其他数据集,您可以看到上传失败的文档数量。如果有任何失败文档计数,可以查看通知 API 来了解错误消息。您可以查阅通知 API 命令
training 部分提供了关于您的训练的信息。我们将在上传训练数据后分析这部分内容。
返回列表