Watson Natural Language Processing Sentiment 分類モデルは、入力テキストのセンチメントを分類します。
サポート対象言語
センチメント分類は、以下の言語で使用できます。 言語コードおよび対応する言語のリストについては、『言語コード』を参照してください。
ar、cs、da、de、en、es、fi、fr、he、hi、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sv、tr、zh-cn
センチメント
テキストのセンチメントは、肯定、否定、または中立にすることができます。
センチメント・モデルは、入力文書内の各センテンスのセンチメントを計算します。 文書全体の集約された評判も、評判変圧器ワークフローを使用して計算されます。
返される分類には確率が含まれます。 センチメント・スコアの範囲は -1 から 1 です。 0 より大きいスコアは肯定的なセンチメントを示し、0 より小さいスコアは否定的なセンチメントを示し、0 のスコアは中立的なセンチメントを示します。
センテンスの評判ワークフロー
ワークフロー名
sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled
sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled-cpu
sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled
ワークフローは、CPU と GPU の両方で使用できます。
sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled-cpu
ワークフローは、CPU ベースのランタイム用に最適化されています。
sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled
ワークフローを使用したコード・サンプル
# Load the Sentiment workflow
sentiment_model = watson_nlp.load('sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled-cpu')
# Run the sentiment model on the result of the syntax results
sentiment_result = sentiment_model.run('The rooms are nice. But the beds are not very comfortable.')
# Print the sentence sentiment results
print(sentiment_result)
コード・サンプルの出力:
{
"document_sentiment": {
"score": -0.339735,
"label": "SENT_NEGATIVE",
"mixed": true,
"sentiment_mentions": [
{
"span": {
"begin": 0,
"end": 19,
"text": "The rooms are nice."
},
"sentimentprob": {
"positive": 0.9720447063446045,
"neutral": 0.011838269419968128,
"negative": 0.016117043793201447
}
},
{
"span": {
"begin": 20,
"end": 58,
"text": "But the beds are not very comfortable."
},
"sentimentprob": {
"positive": 0.0011594508541747928,
"neutral": 0.006315878126770258,
"negative": 0.9925248026847839
}
}
]
},
"targeted_sentiments": {
"targeted_sentiments": {},
"producer_id": {
"name": "Aggregated Sentiment Workflow",
"version": "0.0.1"
}
},
"producer_id": {
"name": "Aggregated Sentiment Workflow",
"version": "0.0.1"
}
}
ターゲットの評判抽出
ターゲット・センチメント抽出は、テキストで表現されたセンチメントを抽出し、それらのセンチメントのターゲットを識別します。
前述のセンチメント・ブロックではなく、センチメントが異なる複数のターゲットを 1 つのセンチメントで処理できます。
例えば、 「提供された食品は美味しかったが、サービスが低速であった」という文が入力されたとします。 ターゲットのセンチメント・ブロックは、ターゲットの「food」には肯定的なセンチメントが、「service」には否定的なセンチメントが示されていることを示します。
このモデルは、英語のデータのみに対して微調整されています。 このモデルは、「サポートされる言語」にリストされている他の言語でも使用できますが、結果は異なる場合があります。
評判ワークフローをターゲットにする
ワークフロー名
targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled
targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled-cpu
targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled
ワークフローは、CPU と GPU の両方で使用できます。
targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled-cpu
ワークフローは、CPU ベースのランタイム用に最適化されています。
targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled
ワークフローのコード・サンプル
import watson_nlp
# Load Targets Sentiment model for English
targets_sentiment_model = watson_nlp.load('targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled')
# Run the targets sentiment model on the input text
targets_sentiments = targets_sentiment_model.run('The rooms are nice, but the bed was not very comfortable.')
# Print the targets with the associated sentiment
print(targets_sentiments)
コード・サンプルの出力:
{
"targeted_sentiments": {
"rooms": {
"score": 0.990798830986023,
"label": "SENT_POSITIVE",
"mixed": false,
"sentiment_mentions": [
{
"span": {
"begin": 4,
"end": 9,
"text": "rooms"
},
"sentimentprob": {
"positive": 0.990798830986023,
"neutral": 0.0,
"negative": 0.00920116901397705
}
}
]
},
"bed": {
"score": -0.9920912981033325,
"label": "SENT_NEGATIVE",
"mixed": false,
"sentiment_mentions": [
{
"span": {
"begin": 28,
"end": 31,
"text": "bed"
},
"sentimentprob": {
"positive": 0.00790870189666748,
"neutral": 0.0,
"negative": 0.9920912981033325
}
}
]
}
},
"producer_id": {
"name": "Transformer-based Targets Sentiment Extraction Workflow",
"version": "0.0.1"
}
}