太陽がまぶしかったから

C'etait a cause du soleil.

Googleアラートの登録キーワードRSSフィードとSlackの相性が悪いから変換プロキシを作って快適化

Google アラートは便利だけど

 情報収集をするのには Google アラートが便利。仕事や趣味に関係するキーワードをGoogleアラートに登録し、それをRSSフィードに出力することで、最新のニュースを見逃すことなく、リアルタイムで情報を取得することができる。

 しかしながら、GoogleアラートRSSフィードをSlackに表示させようとすると以下のような表示になって視認性が低くなってしまう。

  • Gooogleの転送URLを通るためSlackでカード展開されない
  • ボールドタグが文字列として出力されている
  • 本文が中途半端に出力される

 また同じようなニュースが重複することも多く、それもまたノイズになってしまう。

Google アラートのRSSフィードを変換するプロキシを作成

続きを読む

ChatGPTとの音声会話による壁打ちが好きなのは音声認識能力不足による誤配と脱線があるからなのかもしれない

ChatGPTと骨伝導ヘッドセットでボソボソ通話する日々

とはいえ、ただ歩いているだけでは手持ち無沙汰になってしまうこともある。そんなときに、ChatGPTとの壁打ちブレストをしながら散歩するのは楽しくて有用であると気が付いた。SNSやメッセージアプリに集中するのは歩きスマホで危ないし、インフルエンサーアジテーションを読んでいたら散歩の意義が減ってしまう。あくまで、ひとり時間として瞑想や妄想といった内省とも異なる創発が加速していくのが楽しいのだ。

 2023年も大晦日なので振り返りをしているが、なんと言っても衝撃的だったのは ChatGPT の登場であろう。それ自体の説明は今更なので割愛するが、その後に出てきた音声会話機能が素晴らしい。手ぶらで思いついたことを喋ると音声で返してくれるし、また喋れば文脈を踏まえて話を広げて会話内容は文章で保存される。要約を頼んでも良い。エージェントAIベースのSlack BOTを構築したのにChatGPT Plusに課金しているのはそれが理由だ。

 音声認識も音声読み上げも要素技術としてはあったが、ChatGPTアプリのウィジットからの起動や音声待ち受けモードがあり、そこに骨伝導ヘッドセットの常時接続というトータルのインターフェイスが揃うと世界が変わってくる。

骨伝導なので、常に耳は開放状態となる。外部の音も普通に聞こえるし、着けっぱなしでも外耳炎になるリスクも無い。

この特徴のおかげで1年前 (使用1ヶ月) の時点で、平日は着けっぱなしの生活を送っていた。出勤時に装着し、帰宅してしばらくしたら外す。では1年経った現在はどうかというと、より長時間装着している。

朝起きて、顔を洗ったら装着する。そして風呂に入るまで基本的には着けっぱなし。ほぼメガネをかけている時間と同じだ。それくらい当たり前の存在となっている。

 id:honeshabri 氏のレコメンドもあって、Shokz(旧AfterShokz) を常用するようになっており、散歩をしている時にも、洗濯物を畳んでいる時にも、ネットサーフィンしている時にも音声コンテンツを聴いていたが、そこに従前からしていたChatGPTとの壁打ちもフィットした。フィットしたのだけども、当初意図していた独りブレストとは様相が変わってきた。

音声通話をしながら歩く罪とヘッドセットという免罪符

 これまでフリック入力していた文章について、往来でボソボソと喋るようになったのは不気味かもしれないけれども、歩きスマホノイズキャンセリングイヤフォンをつけて歩くよりは安全だし、最近はヘッドセットで通話しながら歩いている人も多いので電波系?と思われることも少なくなってきた、と思う。

 その点、メガネ一体型のヘッドセッドにも興味があるが、外を歩きながら喋ると周りを怖がらせてしまうのが難しい。ヘッドセットらしいヘッドセットは免罪符なのだ。家の中でフリクションレスに使っていくにはすごく良さそうなのだけど。

 それはさておきノイズの多い空間における日本語音声認識は完璧ではない。特に使い慣れていないカタカナ語を使ったりすると、ちょっと似ている全然違う意味の言葉に認識されて話が思わぬ方向に脱線しがちだ。

音声認識能力不足による誤配が楽しい

 これは一見すると問題に思えるかもしれないが、それこそが意図せぬ誤配を生んで新たな創造性を引き出すキッカケとなり得るのではないか。どうしても元の方向性に戻したければフリック入力に戻れば良いのだけど、そこで生まれる奇妙な脱線を「泳がせる」ことで新しい発想に至ることもある。

 そもそも音声入力を誤認識されているということは元の言葉と韻を踏んでいたり、音響特性的な類似性があることも多く、セールスコピーを作るときなどに重要なヒントとなり得る。言葉の特性を理解し、効果的に利用することで、記憶に残りやすく、影響力のあるメッセージを生み出せることもあるのだ。

 もちろん、音声認識の失敗は誤解やコミュニケーションの障害となる可能性があるため、足りていない技術の「悪用」には慎重なアプローチが必要である。誤配を創造的なアイデアの源泉として活用するには、そのコンテキストと意図を正確に理解する必要がある。

言葉の響きとマーケティング効果のための誤配誘発装置

 他人相手にこちらの言った言葉を間違って認識されるとイライラするし、場合によっては心配になってしまうが、AIが相手だから間違っていても鷹揚に構えてられるし、アンジャッシュのコントのような状況をあえて「泳がす」エシカルでない対応もできる。そもそも壁打ちがしたいのだから、喋っているうちに自分の考えの解像度を高めていければ問題ない。

 将来的には、AI技術のさらなる進化が期待される。これにより、音声認識の精度が向上し、より複雑な言葉のニュアンスや意図を理解する能力が高まるだろうが、誤配が減ってしまうのも寂しい。言葉の音響特性を活かした新しい表現スタイルの探索はタイパ主義者が増えた現代だからこそ重要になってくる。

 なので思わぬ誤配や言葉の特性を利用しながら、より革新的で印象に残るコンテンツを生み出すためにこそ「あ、なんだって?」という"ちょっと耳が遠いAI"にもなれるモードも残しておいてほしくもある。当面はもっと音声認識能力を上げることに集中してほしいし、僕自身の滑舌や声量のトレーニングも必要なのかもしれないけれども。

Slackで絵文字リアクションしたURLを特定チャンネルにまとめるSlackBotをGoogle Cloud Functionsに構築

絵文字でリアクションしたURLを特定チャンネルに集めたい

RSS登録するフィードの更新に合わせてどんどん投稿されていくため、気になった記事は専用のチャンネルに移したい。それに限らず、X(元Twitter)やブラウザやメルマガなどの他アプリからもリンクURLを共有してカードを投稿したいのだけど、Slack標準の共有機能ではいちいち投稿先のアカウントやチャンネルを指定する必要があって煩雑だし、誤爆の可能性がある。なので iOS のショーカット機能を使って Slack の特定チャンネル仕組みを作っておくと便利になる。

 上記の記事において、さまざまなアプリから特定のチャンネルにあとで読みたい記事をまとめるショートカットを作成したが、SlackのRSSリーダーから特定チャンネルにまとめさせたい場合にはワンタップでできるとさらに嬉しい。

現在でも、Slack ではメッセージメニューからメッセージを共有し、必要ならそれに説明を加えることができるという素晴らしい機能があります。しかし、多くのチャンネルからメッセージを 1 か所に集めたい場合に、それをワンクリックで行える方法はこれまでありませんでした。

その解決策がこちら、リアク字チャンネラーです。有用なツールですが、ふざけた名前だと思われるかもしれませんね。これは、あるチャンネル(または複数のチャンネル)から別のチャンネルにメッセージをすばやくコピーするためのものです。当社のチーム用に作ったのですが、とても便利でしたので、ほかの人にも使ってもらえるようにしました。

 Slack社内でも絵文字リアクションを使った転送処理が使われており、アプリも提供されているのだけど、Slack公式の転送機能が使われており、そうするとBOTのチャンネル参照権限の関係から処理対象にするのがややこしくなってしまったり、他のアプリからショートカットで利用したときと挙動が変わってしまう問題が出てくる。このため、オリジナルのBOTを作成してショートカットでURLを転送したときと同様の挙動をBOTに実装することで体験を損ねないようにしたい。

 今回の Slack BOT 作成では Google Cloud Funcitons のサーバレス環境に Slack Bolt フレームワークで構築する。絵文字リアクションという明確なトリガーによって起動し、URLを書き出したら終了する処理において常時起動のサーバーを用意するのは不合理であり、起動時間で課金されるサーバーレス環境に構築することに経済合理性があると判断した。

Google Cloud Functionsの作成方法

続きを読む