Watson使用指南(三)

翻譯(Language Translator)

簡介

本部分提供了基本的信息,而且解釋了當使用不一樣編程語言時所須要方法的參數。我這裏以python爲例。python

認證

在bluemix上得到該服務,而且得到用戶和密碼信息,詳見Watson使用指南算法

from watson_developer_cloud import LanguageTranslatorV2 as LanguageTranslator

language_translator = LanguageTranslator(
    username='{username}',
    password='{password}')

方法

翻譯(Translate)編程

將輸入文本翻譯成指定語言json

參數:segmentfault

  • model_id (string型,用於翻譯的模板,啓用該參數時其他參數可忽略)api

  • source (string型,輸入文本的語言,如不設定,系統將默認)數組

  • target (string型,目標語言)dom

  • text (string型,必須,UTF-8格式,待翻譯文本)機器學習

import json
from watson_developer_cloud import LanguageTranslatorV2 as LanguageTranslator

language_translator = LanguageTranslator(
    username='{username}',
    password='{password}')

translation = language_translator.translate(
    text='hello',
    source='en',
    target='es')
print(json.dumps(translation, indent=2, ensure_ascii=False))

返回結果:
參數:編程語言

  • translations (包含返回信息的數組)

  • translation (翻譯結果,UTF-8格式)

  • word_count (待翻譯文本單詞數)

  • character_count (待翻譯文本的字母數)

{
  "translations": [{
    "translation": "Hola"
  }],
  "word_count": 1,
  "character_count": 5
}

識別語言(Identifiable Language)

返回可以識別的語言列表

參數:

  • 無參數

import json
from watson_developer_cloud import LanguageTranslatorV2 as LanguageTranslator

language_translator = LanguageTranslator(
    username='{username}',
    password='{password}')

languages = language_translator.get_identifiable_languages()
print(json.dumps(languages, indent=2))

返回結果

參數:

  • languages (結果數組)

  • language (檢測語言縮寫)

  • name (語言名稱)

{
    "languages": [
        {
            "language": "af",
            "name": "Afrikaans"
        },
        {
            "language": "ar",
            "name": "Arabic"
        },
        {
            "language": "az",
            "name": "Azerbaijani"
        },
        {
            "language": "ba",
            "name": "Bashkir"
        },
        //...
    ]
}

識別語言(Identity Language)

識別文本語言

參數:

  • text (string型,UTF-8格式輸入文本)

import json
from watson_developer_cloud import LanguageTranslatorV2 as LanguageTranslator

language_translator = LanguageTranslator(
    username='{username}',
    password='{password}')

language = language_translator.identify('this is a test')
print(json.dumps(language, indent=2))

返回結果:

參數:

  • languages (結果數組)

  • language (文本語言-翻譯語言)

  • confidence (成功翻譯機率)

{
    "languages": [
        {
            "confidence": 0.9143,
            "language": "en-US"
        },
        {
            "confidence": 0.0396,
            "language": "hu-HU"
        },
        {
            "confidence": 0.0093,
            "language": "ro-RO"
        },
        {
            "confidence": 0.005,
            "language": "nl-NL"
        },
        //...
    ]
}

模型列表(List Models)

根據源語言或目標語言篩選出可靠的翻譯模型

參數:

  • default (string型,設置爲true返回默認模型,false返回非默認模型,不設置,都返回)

  • source (string型,按照源語言篩選)

  • target (string型,按照目標語言篩選)

import json
from watson_developer_cloud import LanguageTranslatorV2 as LanguageTranslator

language_translator = LanguageTranslator(
    username='{username}',
    password='{password}')

models = language_translator.get_models()
print(json.dumps(models, indent=2))

返回結果:

參數:

  • model_id (使用模型)

  • source (源語言)

  • target (目標語言)

  • base_model_id (使用模型的基本模型)

  • customizable (該模型是否能夠被用於訓練其餘模型,已定製過的將不被容許再次定義)

  • owner (模型擁有者,IBM或用戶)

  • status (模型可用性)

  • default_model (該模型是否能夠默認)

  • domain (該模型域名)

  • name (若是模型由用戶訓練,能夠給它命名以便區分)

{
  models: [{
    "model_id ": "3e7dfdbe-f757-4150-afee-458e71eb93fb",
    "source": "en",
    "target": "es",
    "base_model_id": "en-es",
    "customizable": "false",
    "default": "false",
    "domain": "travel",
    "owner": "74a239fa-f2db-42ef-8737-7bf74f49e35f",
    "status": "available",
    "name": "mymodel"
  }]
}

文檔原文地址:http://www.ibm.com/watson/dev...

天然語言分類(Natural Language Classifier)

該服務使用機器學習算法返回對於輸入文本而言最爲匹配的預約義類,你也能夠建立訓練一個分類器用以鏈接樣本文本和預約義類,這樣就能夠將服務應用於新的輸入中

認證

在bluemix上建立該服務實例,而且得到用戶名和密碼,詳見Watson使用指南

from watson_developer_cloud import NaturalLanguageClassifierV1

natural_language_classifier = NaturalLanguageClassifierV1(
  username='YOUR SERVICE USERNAME',
  password='YOUR SERVICE PASSWORD')

方法

建立分類器(Create Classifier)

發送數據以得到和訓練一個分類器,同時返回關於該分類器的信息。注意,操做成功時返回標誌「Training」,只有當標誌爲「Available」時才能夠使用

參數:

  • name (string型, 該分類器名字)

  • language (string型, 必須, 訓練數據語言)

  • training_data (文件型, 必須, 訓練數據)

import json
from watson_developer_cloud import NaturalLanguageClassifierV1

natural_language_classifier = NaturalLanguageClassifierV1(
  username='YOUR SERVICE USERNAME',
  password='YOUR SERVICE PASSWORD')

with open('../resources/weather_data_train.csv', 'rb') as training_data:
  classifier = natural_language_classifier.create(
    training_data=training_data,
    name='My Classfier',
    language='en'
  )
print(json.dumps(classifier, indent=2))

返回結果

參數:

  • classifier_id (獨一的ID序號)

  • name (用戶定義分類器名稱)

  • language (訓練分類器使用語言)

  • created (建立時間)

  • url (分類器地址)

  • status (當前分類器狀態)

  • status_description (當前狀態描述)

{
  "classifier_id": "10D41B-nlc-1",
  "name": "My Classifier",
  "language": "en"
  "created": "2015-05-28T18:01:57.393Z",
  "url": "https://gateway.watsonplatform.net/natural-language-classifier/api/v1/classifiers/10D41B-nlc-1",
  "status": "Training",
  "status_description": "The classifier instance is in its training phase, not yet ready to accept classify requests"
}

分類器列表(List Classifier)

檢索適用於服務實例的分類器,如沒有可用的,返回空值

參數:

  • 無參數

import json
from watson_developer_cloud import NaturalLanguageClassifierV1 as NaturalLanguageClassifier

natural_language_classifier = NaturalLanguageClassifier(
  username='YOUR SERVICE USERNAME',
  password='YOUR SERVICE PASSWORD')

classifiers = natural_language_classifier.list()
print(json.dumps(classifiers, indent=2))

返回結果

參數:

  • classifier (結果數組)

  • classifier_id (分類器ID)

  • url (分類器地址)

  • name (分類器名稱)

  • language (分類器使用語言)

  • created (分類器建立時間)

{
  "classifiers": [
    {
      "classifier_id": "10D41B-nlc-1",
      "url": "https://gateway.watsonplatform.net/natural-language-classifier/api/v1/classifiers/10D41B-nlc-1",
      "name": "My Classifier",
      "language": "en",
      "created": "2015-05-28T18:01:57.393Z"
    }
  ]
}

*獲取更多信息(Get information about a classifier)

返回關於分類器的更多信息

參數:

  • classifier_id (string型,必須,查詢分類器ID)

import json
from watson_developer_cloud import NaturalLanguageClassifierV1 as NaturalLanguageClassifier

natural_language_classifier = NaturalLanguageClassifier(
  username='YOUR SERVICE USERNAME',
  password='YOUR SERVICE PASSWORD')

status = natural_language_classifier.status('10D41B-nlc-1')
print (json.dumps(status, indent=2))

返回結果:

參數:

  • classifier_id (獨一的ID序號)

  • name (用戶定義分類器名稱)

  • language (訓練分類器使用語言)

  • created (建立時間)

  • url (分類器地址)

  • status (當前分類器狀態)

  • status_description (當前狀態描述)

{
  "classifier_id": "10D41B-nlc-1",
  "name": "My Classifier",
  "language": "en",
  "created": "2015-05-28T18:01:57.393Z",
  "url": "https://gateway.watsonplatform.net/natural-language-classifier/api/v1/classifiers/10D41B-nlc-1",
  "status": "Available",
  "status_description": "The classifier instance is now available and is ready to take classifier requests.",
}

刪除(Delete Classifier)

參數:

  • classifier_id (string型, 必須,要刪除分類器)

from watson_developer_cloud import NaturalLanguageClassifierV1

natural_language_classifier = NaturalLanguageClassifierV1(
  username='YOUR SERVICE USERNAME',
  password='YOUR SERVICE PASSWORD')

classes = natural_language_classifier.remove('10D41B-nlc-1')
print(json.dumps(classes, indent=2))

返回結果

{}

分類(Classify)

返回輸入文本的標籤

參數:

  • classifier_id (string型, 必須,所使用分類器)

  • text (string型,必須,待分類文本)

from watson_developer_cloud import NaturalLanguageClassifierV1

natural_language_classifier = NaturalLanguageClassifierV1(
  username='YOUR SERVICE USERNAME',
  password='YOUR SERVICE PASSWORD')

classes = natural_language_classifier.classify('10D41B-nlc-1', 'How hot will it be today?')
print(json.dumps(classes, indent=2))

返回結果

參數:

  • classifier_id (分類器ID)

  • url (分類器地址)

  • text (待分類文本)

  • top_class (匹配度最高類別)

  • classes (類別信息)

    • class_name (類別標籤)

    • confidence (得分,分數越高匹配程度越大)

{
  "classifier_id": "10D41B-nlc-1",
  "url": "https://gateway.watsonplatform.net/natural-language-classifier/api/v1/classifiers/10D41B-nlc-1/classify?text=How%20hot%20wil/10D41B-nlc-1",
  "text": "How hot will it be today?",
  "top_class": "temperature",
  "classes": [
    {
      "class_name": "temperature",
      "confidence": 0.9998201258549781
    },
    {
      "class_name": "conditions",
      "confidence": 0.00017987414502176904
    }
  ]
}

文檔原文地址:http://www.ibm.com/watson/dev...

相關文章
相關標籤/搜索