pikesaku’s blog

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

Natural Language API の基本メモ(analyzeSentimentメソッド)

インプットテキスト

AIスピーカー「アレクサ」に潜む弱点 部屋に侵入される恐れも - ライブドアニュース

アマゾンのAIスピーカー「エコー(アレクサ)」の発売以来、急速に人気が高まってきたスマート・デバイスの音声操作機能。だが、最近そこに思わぬセキュリティ・ホールが発見された。
私たち人間には聞き取れないが、機械にだけは聞き取れるサブリミナル・メッセージを音声や音楽などに忍ばせることで、スマホAIスピーカーを外部の第三者が自由自在に操れるというのだ。
このショッキングな研究成果を発表したのは、米カリフォルニア大学バークレイ校の科学者チーム。彼らは録音された音声メッセージや音楽に巧妙な命令を忍ばせ、これをユーチューブなどから流すことで、AIスピーカーのようなスマート・デバイスを秘かに操作することに成功した。
これにより本来の利用者がスマート・デバイスの電源を入れた状態で音楽を聴いたり、動画を見たりしている間に、(自分のアカウントを通じて)悪意を持った第三者から勝手にオンライン・ショッピングをされたり、自分のお金をどこかに送金されたり、甚だしい場合にはドアのロックを外されて部屋に侵入されたりする恐れが出てきたという。

 

サンプルコード

# -*- coding: utf-8 -*-

import argparse
import sys

from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types
import six


def sentiment_text(text):
    """Detects sentiment in the text."""
    client = language.LanguageServiceClient()
    if isinstance(text, six.binary_type):
        text = text.decode('utf-8')
    # Instantiates a plain text document.
    document = types.Document(
        content=text,
        type=enums.Document.Type.PLAIN_TEXT)
    # Detects sentiment in the document. You can also analyze HTML with:
    #   document.type == enums.Document.Type.HTML
    sentiment = client.analyze_sentiment(document).document_sentiment
    print('AnalyzeSentiment -------------------------------------')
    print('')
    print(' [全体結果]')
    print(' Score:     {}'.format(sentiment.score))
    print(' Magnitude: {}'.format(sentiment.magnitude))
    print('')
    print(' [文単位結果]')
    sentiment = client.analyze_sentiment(document).sentences
    for line in sentiment:
        print(u' Sentence:  {}'.format(line.text.content))
        print(u' Score:     {}'.format(line.sentiment.score))
        print(u' Magnitude: {}'.format(line.sentiment.magnitude))
        print(u'')


def main():
    text = 'アマゾンのAIスピーカー「エコー(アレクサ)」の発売以来、急速に人気が高まってきたスマート・デバイスの音声操作機能。だが、最近そこに思わぬセキュリティ・ホールが発見された。私たち人間には聞き取れないが、 機械にだけは聞き取れるサブリミナル・メッセージを音声や音楽などに忍ばせることで、スマホやAIスピーカーを外部の第三者が自由自在に操れるというのだ。このショッキングな研究成果を発表したのは、米カリフォルニア大学バーク レイ校の科学者チーム。彼らは録音された音声メッセージや音楽に巧妙な命令を忍ばせ、これをユーチューブなどから流すことで、AIスピーカーのようなスマート・デバイスを秘かに操作することに成功した。これにより本来の利用者が スマート・デバイスの電源を入れた状態で音楽を聴いたり、動画を見たりしている間に、(自分のアカウントを通じて)悪意を持った第三者から勝手にオンライン・ショッピングをされたり、自分のお金をどこかに送金されたり、甚だし い場合にはドアのロックを外されて部屋に侵入されたりする恐れが出てきたという。'
    sentiment_text(text)


main()

実行結果

AnalyzeSentiment -------------------------------------
 [全体結果]
 Score:     -0.20000000298023224
 Magnitude: 3.0

 [文単位結果]
 Sentence:  アマゾンのAIスピーカー「エコー(アレクサ)」の発売以来、急速に人気が高まってきたスマート・デバイスの音声操作機能。
 Score:     -0.5
 Magnitude: 0.5

 Sentence:  だが、最近そこに思わぬセキュリティ・ホールが発見された。
 Score:     0.10000000149011612
 Magnitude: 0.10000000149011612

 Sentence:  私たち人間には聞き取れないが、機械にだけは聞き取れるサブリミナル・メッセージを音声や音楽などに忍ばせることで、スマホやAIスピーカーを外部の第三者が自由自在に操れるというのだ。
 Score:     -0.20000000298023224
 Magnitude: 0.20000000298023224

 Sentence:  このショッキングな研究成果を発表したのは、米カリフォルニア大学バークレイ校の科学者チーム。
 Score:     0.4000000059604645
 Magnitude: 0.4000000059604645

 Sentence:  彼らは録音された音声メッセージや音楽に巧妙な命令を忍ばせ、これをユーチューブなどから流すことで、AIスピーカーのようなスマート・デバイスを秘かに操作することに成功した。
 Score:     -0.699999988079071
 Magnitude: 0.699999988079071

 Sentence:  これにより本来の利用者がスマート・デバイスの電源を入れた状態で音楽を聴いたり、動画を見たりしている間に、(自分のアカウントを通じて)悪意を持った第三者から勝手にオンライン・ショッピングをされたり、自分のお金をどこかに送金されたり、甚だしい場合にはドアのロックを外されて部屋に侵入されたりする恐れが出てきたという。
 Score:     -0.800000011920929
 Magnitude: 0.800000011920929