Cognitive Servicesが提供する各種APIはREST形式のWeb APIであり、さまざまな言語からそのURLを利用して、このAPIを呼び出せるようになっている。
Text Analytics APIのAPI Referenceページには、上で述べた言語判定、話題判定、キーフレーズ抽出、感情判定の4つのAPI(に加えて、処理の状況を調べるAPI)のリクエストURL、呼び出しに必要なヘッダ、リクエストボディー、戻り値などについての情報がまとめられている。APIとのデータの授受にはJSONが使われる。
例えば、言語判定APIの仕様を示すページを以下に示す。
このページには[Try it]ボタンがあるので、これをクリックすると実際にAPI呼び出しを行えるページが表示される。ここに各種のパラメーターを設定して、ページの下部にある[Send]ボタンをクリックすると、API呼び出しが行われ、その結果が表示されるようになっている。
ここで「Query parameters」「Headers」「Request body」に値を適宜入力する。
「Query parameters」の「numbersOfLanguagesToDetect」パラメーターと「Headers」の「Content-Type」の指定はオプションなので上では指定をしていない(それぞれ適当な値がデフォルト値として割り当てられている)。
入力が必要なのは「Headers」の「Ocp-Apim-Subscription-Key」パラメーターと、その下の「Request body」にあるidプロパティとtextプロパティだ。「Ocp-Apim-Subscription-Key」パラメーターには先ほどのサブスクリプション手続きで取得したキーのいずれかを指定する。「Request body」にはこのAPIを呼び出すのに必要なデータをJSON形式で記述する。上の画像を見れば分かる通り、documentsプロパティはオブジェクトの配列になっていて、複数のオブジェクトをAPIに引き渡せるようになっているが、ここではデータを1つだけ(idは「1」)指定している。
入力が終わると、ページの下部にはこのAPIのURLと実際に送信されるHTTPリクエストが表示されるので、[Send]ボタンをクリックしてみよう。呼び出し結果がその下に表示されるはずだ。
返送されるデータもJSON形式であり、documentsプロパティ(の要素のdetectedLanguagesプロパティ)に必要な情報が格納されていることが分かる。nameプロパティは言語の名称、iso6391nameプロパティはISO 639-1で定められている識別子だ(これは、この後にコードを使ってキーフレーズ抽出APIを呼び出す際に必要となる)。最後のscoreプロパティは0〜1の間の数値であり、1に近いほど確度が高い。この場合は97.8%の確度で日本語ということになる。
次に、JavaScriptコードを使って、このAPIをプログラムから実際に呼び出してみる。実際には上で行ったのと同じことをコードで行うだけだ。
Copyright© Digital Advantage Corp. All Rights Reserved.