
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
それではまた。
LEAVE A REPLY