AIは急速に世界を支配しています。 テクノロジーのすべてのセグメントは、AIを使用して再考され、革命を起こしています。 ソフトウェア開発者として、あなたのキャリアのある時点で、あなたは間違いなくAIと出会うでしょう。そのため、あなたのベルトの下でAIを使った経験があることは理にかなっています。 AIの分野は非常に広大で、この投稿の範囲をはるかに超えていますが、それでも、最小限の作業でアプリにインテリジェンスを統合することがいかに簡単かをお見せしたいと思います。 もちろん、これを達成するために機械学習モデルをトレーニングすることはありません。事前に構築されたソリューションを使用するため、ユーザー側での作業はごくわずかです。
IBMのWatsonAPIを使用して、Android上で非常に単純な感情分析システムを構築します。 IBMは、開発者がインフラストラクチャーを構築する手間をかけずに直接使用できる、多くの便利な統合を構築します。 彼らは、より優れたソフトウェアを構築するための一連の製品であるBluemixの下ですべての製品を結び付けています。 Bluemixの優れている点は、30日間無料で提供されるため、すぐにコミットする必要がないことです。 あなたが彼らの提供物をチェックすることに興味があるなら、 BluemixのWebサイト 30日間のトライアルにサインアップします。
では、アプリの作成を始めましょう。 始める前に、簡単な免責事項があります。 この記事は、オブジェクト指向プログラミングとAndroidの経験があることを完全に前提としています。 プロジェクトのAndroid部分は非常に最小限であるため、必要なのはビューの基本的な知識とビューの操作方法だけです。
手続きが終わったので、始めましょう。
ステップ1:セットアップ
Android Studioを起動し、新しいプロジェクトを作成します。 好きな名前を付けて、セットアップウィザードのデフォルトを受け入れます。 プロジェクトがビルドされたら、デバイスまたはエミュレーターで実行して、すべてが正常に機能していることを確認します。 これまでのところすべてが順調であれば、次のステップに進む準備ができています。
ステップ2:UIを構築する
レイアウトの作成を始めましょう。 アプリは非常に最小限なので、レイアウト部分をできるだけ早く邪魔にならないようにしましょう。 アプリの最終画面は次のようになります。
これは、TextView、EditText、およびButtonで構成され、それらはすべてLinearLayout内に含まれています。 レイアウトの複製が完了したら、対応するJavaファイルにジャンプして、次のようにUIを接続します。
パブリッククラスMainActivityはAppCompatActivityを拡張します{TextViewtextView; EditText editText; ボタンボタン; 文字列の感情; @Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // UI要素を初期化しますtextView =(TextView)findViewById(R.id.textView); editText =(EditText)findViewById(R.id.editText); ボタン=(ボタン)findViewById(R.id.button);
ボタンをクリックリスナーに接続して、タッチイベントに応答するようにします。 そのためのコードは次のとおりです。
button.setOnClickListener(new View.OnClickListener(){@ Override public void onClick(View v){System.out.println( "ボタンがテキストに対して押したコンソールへのログ:" + editText.getText()); textView .setText( "UIでチェックする感情を表示する:" + editText.getText()); AskWatsonTask task = new AskWatsonTask(); task.execute(new String [] {});}});
AskWatsonTaskに注意してください。 これが、WatsonAPIから感情分析結果をフェッチするために使用されるものです。 それは単純なAsyncTaskに他なりません。 次のコードをコピーして貼り付けます。
プライベートクラスAskWatsonTaskはAsyncTaskを拡張します{@Override protected String doInBackground(String ... textsToAnalyse){System.out.println(editText.getText()); runOnUiThread(new Runnable(){@ Override public void run(){textView.setText( "スレッド内で何が起こっているか-WatsonAlchemyAPIを実行しています");}}); 感情= "テスト感情"; System.out.println(sentiment); //メイントレッドリターンセンチメントのUIに表示される結果を渡します。 } //スレッドの外部でUIの値を設定する@Overrideprotected void onPostExecute(String result){textView.setText( "メッセージの感情は次のとおりです:" + result); }}
上記のAsyncTaskは、WatsonからJSON形式で結果をフェッチします。これは、後で解析してUIに表示します。 今のところ、アプリはかなりばかげていますが、動作します。 チェックポイントを記録するには、これまでに作成したアプリをデプロイして、その機能を確認します。 緑色の再生ボタンを押して、実行されるのを確認します。 何もしません。
あなたがクリックした場合 分析してください! ボタンをクリックすると、TextViewフィールドで結果を確認できるはずです。 logcatウィンドウにも出力が表示されます。
ステップ3:スマートを追加する
アプリのこの最低限の骨に認知能力を追加する時が来ました。 最初に行う必要があるのは、アプリにWatson Cloud SDK forJavaを追加することです。 に向かう このリンク その方法の詳細な説明については。 からJavaライブラリをダウンロードします このリンク。 そして、次のようにlibsフォルダーに追加します。
ライブラリが統合されたら、アプリでインターネット権限を取得する必要があります。 AndroidManifest.xmlを開きます 次の行を追加します
上記の権限により、ネットワークにアクセスしてワトソンから結果を取得できます。
ステップ3b:BluemixからAPIキーを取得する
IBM Bluemixカタログから、 Watson => AlchemyAPI =>作成。 次の画像に示すように、必ず静的APIキーを使用してください。
ステップ4:ワトソンを呼び出すためのコードを追加する

次に、Watson AlchemyAPIと通信するためのコードを追加します。 次のコードを使用して、AskWatsonAsyncTaskを展開します。
AlchemyLanguageサービス=新しいAlchemyLanguage(); service.setApiKey( ""); 地図params =新しいHashMap (); params.put(AlchemyLanguage.TEXT、editText.getText()); DocumentSentimentセンチメント= service.getSentiment(params).execute(); System.out.println(sentiment); //メインスレッドのUIに表示される結果を渡すreturnsentiment.getSentiment()。getType()。name();
アプリが機能しているかどうかをすばやくテストする時間です。 Ctrl + Rを押して、アプリがすべてスマートになるのを見てください!

{"docSentiment":{"score":-0.42344、 "type": "negative"}、 "language": "english"、 "totalTransactions":1}
結論
Watson SentimentAnalysisを使用してコグニティブアプリを構築するのがいかに簡単であるかを見てきました。 私たちが構築したアプリには、言うまでもなく実際の機能はありませんでしたが、Bluemixとその製品の機能を示していました。 これらのオファリングを複数の括弧で囲み、非常に豊富なユーザーエクスペリエンスを構築できます。 BluemixのWebサイトにアクセスして、構築できるすべてのものについて詳しく学んでください。
コメントを書く
この記事について何か言いたいことがありますか? コメントを追加して、ディスカッションを開始します。