PythonでWatson NLCを使えるGUIを作ってみよう
こんにちは。
AI coordinatorの清水秀樹です。
質問を入力すれば、一番高い確信度を回答として返却してくれるGUIをPythonで開発してみたので紹介します。
いたって簡単なUIになります。
コマンド入力できる方ならUIは必要ありませんが、そうでない方からしてみれば簡単にNLCが使えるUIがあった方が助かりますよね。
そんな思いから作ってみました。
ソースを公開しますので、参考にしてみてください。
事前準備
Watson NLCをBluemix上で作成しておく必要があります。
Watson NLCの作成方法については以下の記事を参考にしてください。
その他、Pythonの開発環境が必要になります。
開発環境の準備は以下の記事を参考にしてください。
Pepper用Python 2.7 SDK(WIN)セットアップ方法
Pepper用Python 2.7 SDK(MAC)セットアップ方法
ソースコード
# -*- coding: utf-8 -*- import json from Tkinter import* import requests from watson_developer_cloud import NaturalLanguageClassifierV1 as NaturalLanguageClassifier class nlc(): def __init__(self): #ウインドウ定義 root = Tk() root.option_add('*font', 'FixedSys 18') root.option_add('*Button.background', 'green') root.geometry("700x150") root.title(u"Natural Language Classifier") #アプリ名表示------------ Label(text=u'NLC',font=(u'MS ゴシック', 24)).place(x=25,y=10) #台詞用テキストボックス & ボタン-------------------- Label(text=u'質問を入力').place(x=25,y=60) self.say = Entry(width=50) self.say.place(x=130,y=60) self.say.insert(0,"ログインできません") Button(root,text = "質問する",command=self.en_say_btn).place(x=570,y=55) Label(text="質問の回答").place(x=25,y=100) self.answer = Entry(width=50) self.answer.place(x=130,y=100) root.mainloop() def en_say_btn(self): #回答-------------------------- say = self.say.get() natural_language_classifier = NaturalLanguageClassifier( username='サービス資格情報から取得',password='サービス資格情報から取得') r = natural_language_classifier.classify('分類器を作成時に割り振られるID', say) #jsonファイルの中身を確認したいときはコメントアウトを解除 #print json.dumps(r, indent=4) print r["text"] print r["top_class"] print r['classes'][0]['class_name'] print r['classes'][0]['confidence'] self.answer.delete(0,END) self.answer.insert(0,r["top_class"]) nlc()
特に難しい部分はありません。
ソースコードはこちらからダウンロードできます。 → NLC.zip
それではまた。
この記事へのコメントはありません。