jeyseni's diary

「ジェイセニ」と呼んでください。批判ではなく提案をするのが生き甲斐です。

「総当たり」✕「勝手に重み付け」を超高速でするだけのAIなど信じてはダメ--人の思いを入れることが大切

正規表現」という便利な記述方法がある。たとえば[A-Za-z]と書けば,「アルファベット26字の大文字と小文字のいずれか1文字」を示せるし,これを繰り返して[A-Za-z][A-Za-z]と書けばそれぞれ52文字×52文字のどれかの組み合わせを示すことができる。

 まだWindowsがないDOSの時代には,テキストエディタだけで文字処理をしていた。そんなとき,この正規表現を使えるsed/awk/grepとの衝撃的な出会いがあった。文字や行の検索,置き換え,消去などが,ほぼ思いどおりにできた。

 正規表現は,Word上でも検索・置換で使用でき,マクロで使えるので活用してきた。業務上,書式の統一などをチェックするのに,マクロ一発で処理できるからである。

 同じような正規表現を,筆者御用達のファイルメーカーでは使えない。しかし,MBSというプラグインや,国産のプラグイン正規表現を使った処理ができることは以前紹介した(「MBS」で正規表現処理を実現し,キーワードを抽出 - jeyseni's diary (hatenablog.com) 2021/9/30,国産プラグインでファイルメーカーの正規表現処理ができた--しかもフリーで提供 - jeyseni's diary (hatenablog.com) 2021/12/11)。ただし,パターンに合った文字列を抽出するという使い方はできるが,Wordのように長いテキストの中の文字を検索して変換する,という用途には向いていない。

 そこで筆者が現実的に採用している方法は,ファイルメーカー上で検索・置換の全パターンをもう1つ別のテーブルで作成し,これをスクリプトの変数に順番に適用して検索・置換を延々と繰り返す,という“総当たり”方式である。数字なら0910レコード,ひらがななら約50レコード,漢字なら約2000レコードを順にぶん回すのである。

 何だか非効率な方法に思えるかもしれないが,長くても数分で処理が終わる。リアルタイム処理ではないが,もともとそのスピードを求めていないので問題はない。

 この方法の良い点は,思考プロセスに割と整合性がいい点である。処理不足があればレコードを加えればいいし,多すぎれば削ればいい。というのも,少し複雑な処理を正規表現で完璧に記述するのは意外に難しいからである。パターンの検証がしにくくなったり,記述がかなり長くなって見にくくなったりするからである。

 このファイルメーカーの変換用テーブルは,マクロ処理だけでなく,普通のリレーショナル処理でも使える。筆者の場合,たとえば人の名前の仮フリガナ付けに使ったりしている。

 さて,「正規表現」を取り上げた理由の1つは,昨今のAIによるさまざまな処理が,実はこの「総当たり」方式がベースになっているからである。brute-forceと呼ばれている。そこに経験値や頻度などの重み付けを加えて,より正解に近い答えを速く導く「発見法」を組み合わせた仕組みを多層階構成したのが,深層学習である。

 筆者のマクロでは,n=1から順に回しているので,仮に1000のうち正解が950番目にあったとしてもそこに行き着くのには時間がかかる。ただ,同じ処理を繰り返していく間に,正解した数の多い順に回す順番を入れ替えれば,正解にたどり着く時間はどんどん短縮されることになる。いわば学習したということになる。

 AIの世界では,このように順番に変数を動かすシリアル処理ではなく,パラレル処理で一気に解を探すニューラルネットワークという仕組みが使われる。複数の神経(ニューラル)細胞が同時に情報を受け取って判断する仕組みに似ている。これに適した半導体チップが現在量産に入っている。

 生成AIといっても,元になっているデータが膨大にあり,そこから条件にあった答えを導き出しているだけなので,基本的に何の創造性もない。ただ,人間の目では見落としがあったり,組み合わせに新しい発見を人間が覚えたりすることが,目新しいというだけのことである。

 このブログを読み始めて,「タイトルにAIと書いてあるのに,何で正規表現のことが長々と書かれてるんだ」と思われた方は,ここまで読んできっと新しい発見をされるに違いない。それこそが,筆者の目指したところである。

 ちなみに,はてなブログが最近提供し始めた「AIでタイトルアシスト」を使ってこのブログのタイトルを出力させたところ,AIというワードを含むタイトルは「AIと正規表現の出会いから考える、創造性の真実」という1つだけで,あとは正規表現の使い方みたいなタイトルになってしまっている。しかもAIが入っていても,まったく意味不明なタイトルになっている。

 これまでのgoogle検索でも,意図しない結果が出て,そこから新たな発見があったりした。AI検索だとその出会いの機会が増える可能性もある。そのオドロキをもう一度自分にフィードバックし,思いを込める必要があるのだと筆者は考える。

 しかし,文字で出された結果はまだ推敲の余地があるが,画像や映像になると考える間もなく頭に入ってきて,何らかの感情を呼び起こしたり,錯覚をもたらしたりするので注意が必要である。

 筆者がここまで書くのに30分はかかっているが,AIなら同じ長さの文章を10秒で弾き出すだろう。そこに有用な知見が入っていることもあるが,間違った情報が入っているかもしれない。AIはそこを判断したりできない。

 Open AIがChatGPTを発表して半年も経たないうちに,googleMicrosoftもそれぞれの生成AIを発表した。日本でもNTT,NECが年内リリースを発表しているし,ソフトバンクも表明している。いずれも,検索エンジンを提供する中で,言葉というデータを膨大にデータベース化してきたことで,検索エンジンから一気に生成AIに仕様変更しただけである。

 問題は,理性のある人は節度を持って生成AIを利用して効果を上げるのに対し,理性のない人は無節制に悪事に使ってしまうことであり,その区別がつかなくなることである。後者は,いわば詐欺同然であり,すでにフェイクニュース,フェイク画像,フェイク音声,フェイク動画として問題になっている。

 走り始めたら止まらないのが人間の性なのだろうか。こぶしを下ろす勇気がないのだろうか。ノーと言えないのだろうか。戦争,環境問題,犯罪,そして権利者の欲望などに対して,ギャフンと言わせるようなココロのこもった答えを出してくれる「神AI」が,いずれ必要になるだろう。