pikesaku’s blog

個人的なプログラム勉強メモです。記載内容について一切の責任は持ちません。

Natural Language API の基本メモ

特徴

テキスト分析・アノテーション(※1)付与するメソッドがあり
分析結果より言語理解のための情報が得られる
※1 データに注釈となる情報をメタデータとして追加すること、あるいは、追加されたメタデータのこと。
 アノテーションとは - IT用語辞典 Weblio辞書

機能 メソッド 出力
感情分析 analyzeSentiment 感情分析結果。ポジティブ or ネガティブ or ニュートラ
エンティティ分析 analyzeEntities 既知のエンティティ(著名人、地名などの固有名詞、レストラン、競技場などの普通名詞)に関する情報
エンティティ感情分析 analyzeEntitySentiment 抽出したエンティティに対する感情分析結果
構文解析 analyzeSyntax 品詞(動詞・形容詞・名詞等)分解結果
コンテンツ分類 classifyText カテゴリ

 

感情分析API(analyzeSentimentメソッド)

APIレスポンス概要

項目 説明
score -1.0(ネガティブ)~1.0(ポジティブ)
magnitude 感情の強度(ポジティブとネガティブの両方)が 0.0~+inf

 
magnitudeは感情が表現される度に数値アップ。文章が長い程、高スコアになる傾向あり。
scoreは相対算出。ネガティブ・ポジティブが混在するドキュメントは相殺される。
混在と無感情ドキュメントの区別にmagnitudeを利用。
混在 -> magnitude数値高い
無感情 -> magnitude数値低い
ドキュメントの感情比較する際は、scoreをmagnitudeで調整して算出する。

f:id:pikesaku:20180520083933p:plain

レスポンスにはリクエストしたドキュメント全体と文章単位の上記値が含まれる。
 

感情分析API(analyzeEntitiesメソッド)

APIレスポンス概要

項目 説明
entity 名詞 or 固有名詞の文字列
type タイプ。人物 or 場所 or 消費財
metadata 知識レポジトリ情報。Wiki URL等
salience ドキュメントにおける重要度。0.0(低)〜1.0(高)
mentions ドキュメント内の出現位置、使われ方(固有名詞or普通名詞)

 
typeで類似のentityを区別可能。例)「Lawrence of Arabia」(映画)と「T.E. Lawrence」(人物)
metadataは随時情報追加される
salienceは要約に利用可能
mentionsに使われ方の2つのタイプ情報あり。PROPER(固有名詞)、COMMON(普通名詞)
 

感情分析API(analyzeEntitySentimentメソッド)

APIレスポンス概要

analyzeSentimentとanalyzeEntitiesの情報を統合したもの。
 

構文解析API(analyzeSyntaxメソッド)

APIレスポンス概要

sentences(文抽出)とtokens(品詞抽出)の2つあり。それぞれが以下の情報を持つ。
 
sentences

項目 説明
content 抽出された文章
beginOffset ドキュメント内の開始位置

 
tokens

項目 説明
content 抽出された文章
partOfSpeech 文法情報(形態論的情報含む)
lemma 単語の語幹。正規化で利用 例)「write」、「writing」、「wrote」、「written」はすべて同じ基本形(「write」)に基づく
dependencyEdge 単語間の関係を有向木の辺によって識別。翻訳、情報の抽出、要約に役立つ

 
dependencyEdgeは以下付属情報を持つ

headTokenIndex トークン」の(0 から始まる)インデックス値を提供。親を持たないトークンでは自身のインデックスになる。
label ヘッドトークンに対する依存関係のタイプを提供