Translation not up to date
Modele klasyfikacji Watson Natural Language Processing Sentiment klasyfikują odczucia tekstu wejściowego.
Obsługiwane języki
Klasyfikacja odczuć jest dostępna dla następujących języków. Listę kodów języków i odpowiadających im języków zawiera sekcja Kody języków.
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
Wydźwięk
Odczucia tekstu mogą być pozytywne, negatywne lub neutralne.
Model odczuć oblicza odczucia dla każdego zdania w dokumencie wejściowym. Zagregowany sentyment dla całego dokumentu jest również obliczany przy użyciu przepływu pracy transformatora sentymentu w środowisku wykonawczym 23.1. Jeśli w środowisku wykonawczym 22.2 używane są modele odczuć, ogólny sentyment dokumentu można obliczyć przy użyciu metody pomocniczej o nazwie predict_document_sentiment
.
Zwracane klasyfikacje zawierają prawdopodobieństwo. Wynik sentymentu waha się od -1 do 1. Wynik większy niż 0 oznacza odczucie pozytywne, wynik mniejszy niż 0 oznacza odczucie negatywne, a wynik równy 0 oznacza odczucie neutralne.
Przepływy pracy odczuć zdań w czasie wykonywania 23.1
Nazwy przepływów pracy
sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled
sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled-cpu
Przepływ pracy sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled
może być używany zarówno w procesorach, jak i procesorach GPU.
Przepływ pracy sentiment-aggregated_transformer-workflow_multilingual_slate.153m.distilled-cpu
jest zoptymalizowany pod kątem środowisk wykonawczych opartych na procesorze.
Przykład kodu przy użyciu przepływu pracy 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)
Dane wyjściowe przykładowego kodu
{
"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"
}
}
Bloki odczuć zdań w 22.2 środowiskach wykonawczych
Nazwa bloku
sentiment_sentence-bert_multi_stock
Zależności od innych bloków
Przed uruchomieniem bloku sentymentu zdania należy uruchomić następujący blok:
syntax_izumo_<language>_stock
Przykładowy kod używający bloku sentiment_sentence-bert_multi_stock
import watson_nlp
from watson_nlp.toolkit.sentiment_analysis_utils import predict_document_sentiment
# Load Syntax and a Sentiment model for English
syntax_model = watson_nlp.load('syntax_izumo_en_stock')
sentiment_model = watson_nlp.load('sentiment_sentence-bert_multi_stock')
# Run the syntax model on the input text
syntax_result = syntax_model.run('The rooms are nice. But the beds are not very comfortable.')
# Run the sentiment model on the result of the syntax results
sentiment_result = sentiment_model.run_batch(syntax_result.get_sentence_texts(), syntax_result.sentences)
# Print the sentence sentiment results
print(sentiment_result)
# Get the aggregated document sentiment
document_sentiment = predict_document_sentiment(sentiment_result, sentiment_model.class_idxs)
print(document_sentiment)
Dane wyjściowe przykładowego kodu:
[{
"score": 0.9540348989256836,
"label": "SENT_POSITIVE",
"sentiment_mention": {
"span": {
"begin": 0,
"end": 19,
"text": "The rooms are nice."
},
"sentimentprob": {
"positive": 0.919123649597168,
"neutral": 0.05862388014793396,
"negative": 0.022252488881349564
}
},
"producer_id": {
"name": "Sentence Sentiment Bert Processing",
"version": "0.1.0"
}
}, {
"score": -0.9772116371114815,
"label": "SENT_NEGATIVE",
"sentiment_mention": {
"span": {
"begin": 20,
"end": 58,
"text": "But the beds are not very comfortable."
},
"sentimentprob": {
"positive": 0.015949789434671402,
"neutral": 0.025898978114128113,
"negative": 0.9581512808799744
}
},
"producer_id": {
"name": "Sentence Sentiment Bert Processing",
"version": "0.1.0"
}
}]
{
"score": -0.335185,
"label": "SENT_NEGATIVE",
"mixed": true,
"sentiment_mentions": [
{
"span": {
"begin": 0,
"end": 19,
"text": "The rooms are nice."
},
"sentimentprob": {
"positive": 0.919123649597168,
"neutral": 0.05862388014793396,
"negative": 0.022252488881349564
}
},
{
"span": {
"begin": 20,
"end": 58,
"text": "But the beds are not very comfortable."
},
"sentimentprob": {
"positive": 0.015949789434671402,
"neutral": 0.025898978114128113,
"negative": 0.9581512808799744
}
}
]
}
Cel ekstrakcji sentymentu
Wyodrębnianie odczuć wyodrębnia odczucia wyrażone w tekście i określa ich cele.
Może obsługiwać wiele celów z różnymi odczuciami w jednym zdaniu, w przeciwieństwie do opisanego powyżej bloku odczuć.
Na przykład, biorąc pod uwagę zdanie wejściowe Zaserwowane jedzenie było pyszne, ale usługa była powolna., Cel blok sentymentu wskazuje, że istnieje pozytywny sentyment wyrażony w celu "żywność", a negatywny sentyment wyrażony w "służba".
Model został dostosowany tylko do danych w języku angielskim. Mimo że model może być używany w innych językach wymienionych w sekcji Obsługiwane języki, wyniki mogą być różne.
Docelowe przepływy pracy odczuć w środowisku wykonawczym 23.1
Nazwy przepływów pracy
targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled
targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled-cpu
Przepływ pracy targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled
może być używany zarówno w procesorach, jak i procesorach GPU.
Przepływ pracy targets-sentiment_transformer-workflow_multilingual_slate.153m.distilled-cpu
jest zoptymalizowany pod kątem środowisk wykonawczych opartych na procesorze.
Przykładowy kod dla przepływu pracy 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)
Dane wyjściowe przykładowego kodu:
{
"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"
}
}
Docelowe bloki sentymentu w środowiskach wykonawczych programu 22.2
Nazwa bloku targets-sentiment_sequence-bert_multi_stock
Zależności od innych bloków
Przed uruchomieniem bloku wyodrębniania odczuć docelowych należy uruchomić następujący blok:
syntax_izumo_<language>_stock
Przykładowy kod używający bloku sentiment-targeted_bert_multi_stock
import watson_nlp
# Load Syntax and the Targets Sentiment model for English
syntax_model = watson_nlp.load('syntax_izumo_en_stock')
targets_sentiment_model = watson_nlp.load('targets-sentiment_sequence-bert_multi_stock')
# Run the syntax model on the input text
syntax_result = syntax_model.run('The rooms are nice, but the bed was not very comfortable.')
# Run the targets sentiment model on the syntax results
targets_sentiments = targets_sentiment_model.run(syntax_result)
# Print the targets with the associated sentiment
print(targets_sentiments)
Dane wyjściowe przykładowego kodu:
{
"targeted_sentiments": {
"rooms": {
"score": 0.9989274144172668,
"label": "SENT_POSITIVE",
"mixed": false,
"sentiment_mentions": [
{
"span": {
"begin": 4,
"end": 9,
"text": "rooms"
},
"sentimentprob": {
"positive": 0.9989274144172668,
"neutral": 0.0,
"negative": 0.0010725855827331543
}
}
]
},
"bed": {
"score": -0.9977545142173767,
"label": "SENT_NEGATIVE",
"mixed": false,
"sentiment_mentions": [
{
"span": {
"begin": 28,
"end": 31,
"text": "bed"
},
"sentimentprob": {
"positive": 0.002245485782623291,
"neutral": 0.0,
"negative": 0.9977545142173767
}
}
]
}
},
"producer_id": {
"name": "BERT TSA",
"version": "0.0.1"
}
}
Temat nadrzędny: Watson Katalog zadań przetwarzania języka naturalnego