RPG

322. Watson Discovery Service の実力と応用

AI と言えばやはりディープ・ラーニングだがそれに近づくための
Watson Discovery を調べた。

Watson Discovery Service が日本語対応したので、触ってみた【何、それ?】編
( https://qiita.com/ishida330/items/b823d7c5b55806f04242 )

はかなり怪しい。
なぜ一般の人が 2018/06/26 に IBM Watson が日本語にフル対応したことを
知っているのだ?
しかも実際は Watson の日本語フル対応はもう少し後である。

まず Watson Discovery とは何かという紹介から。
Discovery という API ジャンルはコンテンツを Watson に UP しておいて
その中をコグニティブ検索する、というジャンルである。
普通の Google 検索と違って Watson の検索は自然な言語を理解して検索することに
違いがある。
Discovery を使ってみた経緯を見ると Watson に文書( HTML、PDF、... TXT は除く )を
アップロードすると Watson が受け取った文書をクローラに分解する。
つまりただアップロードして保管するのではなく文書をロボット検索に利用される
クローラに分解して配置する。
これに対して検索を要求すると「それらしい」検索結果を Watson が戻してれる。
次に IBM i ユーザーにとって非常に興味深い結果を報告しよう。

  • DDS のマニュアルをアップロード

    まず最初に表示装置( DSPF )の DDS マニュアルを Watson Discovery の
    Collection にアップロードしてみた。
    アップロードは手動ではなく自作の
    HTTP サービス・プログラム + ILE-RPG プログラム
    によるアップロードである。

    アップ・ロードは正常に完結し processing というメッセージを Watson が
    報告してくれた。

    次に Watson に対して

    • 数字を入力するには ?
    • 英小文字を入力するには ?

    などの質問をいくつか投げかけてみた。
    なるほどそれらしい答えがいくつか戻ってきて解決案を教えてくれた。
    これとおなじ質問を Google に投げてみると
    検索にかかったサイトがいくつか出てくるのだが
    どこに希望する答えがあるのかと自分でもう一度結果のサイトを
    ひとつひとつ調べなければならなかった。
    このような結果は読者も毎日のように経験していることと思う。
    しかし Google と違って Watson の場合はほぼ正解だけの文章を
    抽出してくれた。

  • RPG のマニュアルをアップロード

    そうなると RPG のマニュアルをアップロードして質問すれば
    RPG のいろいろな問題を Watson が解決してくれるはずである。
    しかし RPG の PDF マニュアルのアップロードには成功したものの
    Watson がクローラを作成している途中で

    50000 語以上の単語は対応できません。

    とのエラーが発生してしまった。
    おやおやたった 50000 語の単語で Watson の限界かと思って調べてみると
    環境に複数のコレクションを入れることができるのだが
    このひとつのコレクション当たりの語数の最大が 50000 であることがわかった。
    英文の FAQ でもこの 50000 語の限界で悩んでいる人は多いようで
    Watson の契約プランがライト・プランという無料の契約であるせいではないかと
    いう質問があったがそうではない。
    無料のライト・プランであっても 50000 語の制限はなく、
    この 50000 語の制限はすべての有償プランにも通じるものである。
    ( 実はライト・プランの試用期間にも制限はなくライト・プランのままで
    永続的に利用することができる。ただし使用可能なレコード数や問合せ回数などは
    頻繁に変更されているので要注意である。)

    調べてみると幸い Acrobat を使うと PDF を複数個の PDF に分解することが
    できるようである。
    PDF 分解後の結果はまた報告したいと思う。
    ここまでわかったのは

    Watson に DDS や RPG/COBOL のマニュアルを上げておけば
    DDS や RPG/COBOL の使い方を日本語で質問することができる。

    これは結構、実用レベルでの使用感があることがわかった。
    最近では定年退職者の増加に伴い RPG 開発者が不足してきていることが
    問題になっているが若手の育成や中間層の工数削減にも効果があるようである。
    また新しい技術の習得としても例えば JavaScript に関するコンテンツを
    Watson に UP しておけば「こういうことは JavaScript でどうやるの ? 」
    と聞けばわかりやすく教えてくれるに違いない。
    今までは Google で調べたとしても、検索した結果から自分の求める情報に
    行くつくまでに時間がかかっていた。
    要領の悪い人では 30 分検索しても探せ出せない人がいたが
    Watson では誰がやっても必ず最初から最適解を導いてくれる。

    Watson の活用によって開発効率を上げることができるのは
    確実なようである。

    もちろん最終的には Watson がコンパイル・エラーを訂正してくれたり
    デバッグさえも Watson が代行してくれることを目指している。

    弊社の製品でも製品マニュアルに検索機能を設けたが Watson Discovery を
    導入すれば製品をより使いやすくすることができる。
    もちろん RPG/COBOL の質問も Watson に投げることができる。

    弊社では既に Watson Discovery のデータ UPLOAD から質問・回答までを
    行えるサービス・プログラムを開発して動作に成功している。
    従ってユーザーが自社製品の取扱い説明書や設計書、マニュアルなどを
    Watson によって検索することができるようにもなる。

    Watson を汎用的に使うためには HTTP プロトコルの高度な知識と技術が
    必要であったが上記のサービス・プログラムを使えば誰にでも
    Watson を簡単に扱うことができるようになる。
    やがては IBM i の利用も Watson が必須であるようになることが望まれる。

    Watson の登場によって IBM i の利用範囲は確実に広がった。
    レガシーと酷評もあった IBM i が今、次の新しい世界に入ろうとしているのは
    間違いないことだろう。