adam-paterson / watson-tone-analyzer
IBM Watson Tone Analyzer
dev-code-quality-update
2017-10-06 14:22 UTC
Requires
- php: ~5.6|~7.0
- adam-paterson/watson-common: 1.0-dev
- roave/security-advisories: dev-master
Requires (Dev)
- guzzlehttp/psr7: ^1.4
- mockery/mockery: ^0.9
- php-http/guzzle6-adapter: 1.1.*
- phpunit/phpunit: ~4.0||~5.0||~6.0
- squizlabs/php_codesniffer: ^3.0
This package is not auto-updated.
Last update: 2024-09-15 02:12:58 UTC
README
IBM Watson™ Tone Analyzer 服务使用语言分析来检测书面文本中的情感和语言色调。该服务可以在文档和句子级别分析色调。您可以使用该服务了解您的书面沟通是如何被感知的,然后改进沟通的语气。企业可以使用该服务来了解客户的沟通语气,并相应地回应每位客户,或理解和改进客户对话。
注意: Tone Analyzer 服务已禁用请求记录。服务不会记录或保留请求和响应的数据,无论是否设置了 X-Watson-Learning-Opt-Out
请求头。
安装
通过 Composer
$ composer require adam-paterson/watson-tone-analyzer php-http/guzzle6-adapter
注意: 此库使用名为 HTTPlug 的抽象层,将其从任何 HTTP 消息客户端解耦。要查看可用的适配器并了解更多信息,请访问: http://httplug.io/。
使用方法
一般语气
/** @var $service IBM\Watson\ToneAnalyzer\Client */ $service = IBM\Watson\ToneAnalyzer\Client::create('username', 'password'); /** @var $analysis \IBM\Watson\ToneAnalyzer\Model\ToneAnalysis */ $analysis = $service->tone()->analyze('My fake plants died because I did not pretend to water them.', [ 'content_language' => 'en', 'accept_language' => 'en', 'sentences' => true ]); /** @var $documentAnalysis \IBM\Watson\ToneAnalyzer\Model\DocumentAnalysis */ $documentAnalysis = $analysis->getDocumentAnalysis(); foreach ($documentAnalysis->getTones() as $tone) { /** @var $tone \IBM\Watson\ToneAnalyzer\Model\ToneScore */ echo $tone->getName() . ': ' . $tone->getScore() . PHP_EOL; } // Sadness: 0.6165 // Analytical: 0.829888 $sentenceAnalysis = $analysis->getSentenceAnalysis(); foreach ($sentenceAnalysis as $sentence) { echo sprintf('#%d - %s: ', $sentence->getId(), $sentence->getText()) . PHP_EOL; foreach ($sentence->getTones() as $tone) { echo $tone->getName() . ': ' . $tone->getScore() . PHP_EOL; } } // #0 - Team, I know that times are tough! // Analytical: 0.801827 // #1 - Product sales have been disappointing for the past three quarters. // Sadness: 0.771241 // Analytical: 0.687768
参与语气
use IBM\Watson\ToneAnalyzer\Model\Utterance; /** @var $service IBM\Watson\ToneAnalyzer\Client */ $service = IBM\Watson\ToneAnalyzer\Client::create('username', 'password'); $utterances = [ Utterance::create([ Utterance::KEY_TEXT => 'Hello, I\'m having a problem with your product.', Utterance::KEY_USER => 'customer' ]), Utterance::create([ Utterance::KEY_TEXT => 'Sorry to hear that, let me know what\'s going on, please.', Utterance::KEY_USER => 'agent' ]) ]; /** @var $analysis \IBM\Watson\ToneAnalyzer\Model\UtteranceAnalyses */ $analysis = $service->toneChat()->analyze($utterances); /** @var $documentAnalysis \IBM\Watson\ToneAnalyzer\Model\UtteranceAnalyses */ $utteranceAnalysis = $analysis->getTones(); if (null !== $utteranceAnalysis->getWarning()) { echo $utterances->getWarning(); } foreach ($utterances->getTones() as $tone) { /** @var $tone \IBM\Watson\ToneAnalyzer\Model\UtteranceAnalysis */ echo sprintf('#%d - %s: ', $tone->getId(), $tone->getText()) . PHP_EOL; foreach ($tone->getTones() as $utteranceTone) { /** @var $utteranceTone \IBM\Watson\ToneAnalyzer\Model\ToneScore */ echo $utteranceTone->getName() . ': ' . $utteranceTone->getScore() . PHP_EOL; } } // #0 - Hello, I'm having a problem with your product. // Polite: 0.686361 // #1 - Sorry to hear that, let me know what's going on, please. // Polite: 0.92724 // Sympathetic: 0.672499
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT 以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过 hello[at]adampaterson.co.uk 邮箱联系,而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件。