Webブラウザが本来持っている機能以外に何か追加の機能を持たせたいとき、ブラウザ拡張機能(WebExtension)を作ることになるでしょう。しかし、ブラウザ拡張機能を作るのは大変です。ところが、現在のAI付きブラウザなら、自然言語の指示で、けっこうな仕事をこなしてくれます。その具体例を挙げます。
内容:
プロンプト
使ったブラウザは Perplexity Comet です。まずは、Comet に次のプロンプトを与えます。
君(Comet)にやって欲しいことがあるので、その内容とやり方をMarkdownテキストにまとめた。次のプロンプトに、そのMarkdownテキストを貼り付ける。いいかな?
次に作業手順を書いたMarkdownテキストを渡すのですが、これはかなり詳細に書いています。もっと雑な指示でもたぶん賢く上手にやってくれそうです。詳細に書いたのは、僕(人間)のほうの都合で、ついつい老婆心(ジジイだけど)で事細かに書いてしまうのですよ。以下のような指示です。
# 「論文のまとめ」の作成方法 ## 前提 - 以下の文章内で、「君」とは Perplexity Comet のことである。 - 以下の文章内で、「私」とは ユーザー のことである。 ## 必要な予備知識: ArXiv.org のURL ArXiv.org のURLは、次の構文パターン: - 論文のアブストラクト・ページURLは、`https://arxiv.org/abs/` に続けて論文のID - 論文のPDF URLは、`https://arxiv.org/pdf/` に続けて論文のID 論文のIDの構文パターンは二種類ある。 - 旧形式(1991年〜2007年3月): <分野>/<YYMMNNN>(例: math/0401158) - YYは年号の二桁 - MMは月 - NNNは通し番号 - 新形式(2007年4月〜現在) : <YYMM>.<NNNNN>(例: 2105.06244) - YYは年号の二桁 - MMは月 - NNNNNは通し番号 ## 背景とやりたいこと/やって欲しいこと - ArXiv.org の論文の書誌情報(メタデータ)と、論文PDF内のAbstract(アブストラクト・ベージの書誌情報とは別)の日本語訳が欲しいことがよくある。 - ArXiv.org の論文アブストラクト・ページから書誌情報を抜き出し、さらに対応するPDFファイルからAbstractの日本語訳を作り、まとめる作業を君にやって欲しい。 - 出力の形式は、この文書の後の節で説明する。 ## 作業の方法・手順 - 私が、論文アブストラクト・ページ、またはPDFファイルのURLと「**論文のまとめ**を作って」というプロンプトで指示する。 - 君は、アブストラクト・ページから書誌情報を抜き出して、それにAbstractの日本語訳を付けて、コピーボタンが付いたテキストエリアとして出力する。出力の形式は次の節に記述。 - アブストラクト・ページと対応するPDFファイルのURLのあいだの関係は前述の「必要な予備知識: ArXiv.org のURL」を参照。 ## 出力形式 ### 全体 - 書誌情報(メタデータ)は、項目ごとに見出し(ヘッダ)が付いた箇条書き。詳しくは後述。 - 書誌情報の箇条書きの後に、Abstractの日本語訳をそのまま続けて記載する。 - 全体として、HTMLタグを許すMarkdown形式のテキストとなる。 ### 書誌情報 次のような箇条書き。以下のテンプレートで、`◯◯◯`, `NN` はプレースホルダー。 - Title: ◯◯◯ - Author: ◯◯◯ - Submitted: ◯◯◯(v1), ◯◯◯(vNN) - Pages: NNp - URL: <a target="_blank" href="https://arxiv.org/abs/◯◯◯">https://arxiv.org/abs/◯◯◯</a> 以下に注意事項を述べる。 #### タイトル - 論文タイトルをそのまま抜き出せばよい。 #### 著者 - 著者が一人のときは、見出し(ヘッダ)は Author だが、二人以上なら Authors とする。 - 複数の著者はコンマで区切って並べる。 #### 投稿日付 - アブストラクト・ベージ内には、`[Submitted on 8 Jul 2024 (v1), last revised 15 Jul 2024 (this version, v3)]` (実例)のような形式で投稿日付が記載されている。 - v1(version 1) の日付 `Jul 2024 (v1)` を抜き出す。 - 複数のバージョンがあれば、this version の日付 `15 Jul 2024 (v3)` の形で抜き出す。 - 箇条書き項目は `- Submitted: Jul 2024 (v1), 15 Jul 2024 (v3)` とする。 - v1 と this version 以外のバージョンは無視してよい。 #### ページ数 - アブストラクト・ベージ内の `Comments:` の所にページ数が `29 pages` のように書いてあれば、それを使って箇条書き項目 `- Pages: 29p` を出力する。 - アブストラクト・ベージ内にページ数の記述がないときは、PDFファイルを参照してページ数を知って、箇条書き項目 `- Pages: 29p` を出力する。 - なんらかの事情でページ数が分からない場合は、箇条書き項目 `- Pages:` (空白)でよい。 #### URL - URLは、HTMLのアンカータグとして出力する。◯◯◯は論文のIDだとして `<a target="_blank" href="https://arxiv.org/abs/◯◯◯">https://arxiv.org/abs/◯◯◯</a>` の形式。 ### Abstractの日本語訳 - 論文PDFファイルを読んで、冒頭のAbstractだけを抜き出す。`Abstract`(日本語なら「要旨」)という見出しは不要。 - Abstractの内容を日本語に翻訳する。 - 書誌情報の後に、「Abstractの日本語訳」という一行を挟んで、Abstractの日本語を書き出す。 - Abstract内に数式があれば、ドルマーク(`$`)で囲ったLaTeXコードとする。 - その他、Markdownで許されるマークアップは使ってよい。 - Abstractが見当たらない場合は、君が日本語の要約を作成する。 - 書誌情報の後に、「AIによる要約」という一行を挟んで、Abstractの日本語要約を書き出す。 ## 実例 URL https://arxiv.org/abs/2407.06285 のアブストラクト・ページからは、以下のMarkdownテキストを生成する。 ``` - Title: Diagrammatic sets as a model of homotopy types - Authors: Clémence Chanavat, Amar Hadzihasanovic - Submitted: 8 Jul 2024 (v1), 15 Jul 2024 (v3) - Pages: 29p - URL: <a target="_blank" href="https://arxiv.org/abs/2407.06285">https://arxiv.org/abs/2407.06285</a> Abstractの日本語訳 図式的集合は、組合せ論的位相幾何学と高次元図式書き換えによって定義される、多様な形状圏上の前層である。これらの形状には、向き付けられた単体、立方体、正のオペトープの代表が含まれ、グレイ積、ジョイン、サスペンション、双対などの演算に対して安定である。我々は、図式的集合上のコファイブレーション生成モデル構造、および単体集合上の古典的モデル構造との2つの別々のQuillen同値を示す。生成コファイブレーションと非巡回コファイブレーションの明示的な集合を構築し、モデル構造が図式的集合のグレイ積に対してモノイド的であることを証明する。 ```
結果
まーまーうまくいった例(多少問題あり)
次のプロンプトで作業依頼しました。
https://arxiv.org/abs/2105.06244 の論文のまとめを生成して。
結果は以下です。
- Title: A Graphical Calculus for Lagrangian Relations - Authors: Cole Comfort, Aleks Kissinger - Submitted: 13 May 2021 (v1), 3 Nov 2022 (v2) - Pages: 14p - URL: <a target="_blank" href="https://arxiv.org/abs/2105.06244">https://arxiv.org/abs/2105.06244</a> Abstractの日本語訳 シンプレクティックベクトル空間は線型力学系の位相空間であり、シンプレクティック形式は位置と運動量、電流と電圧といった関係を記述する。本論文では、シンプレクティックベクトル空間間の線型ラグランジュ関係の圏について、任意の体上で線型関係の「ダブル化」として新たな表示を与える。より具体的には、Selinger の CPM 構成を線型関係に適用し、共変直交補関手が共役の役割を果たすという変種として現れることを示し、素体上の線型関係ではCPM構成と完全に一致する。また、アフィンシフト演算子を一つ加えることでアフィンラグランジュ関係の圏を得る。この新しい表示を用いて、アフィンラグランジュ関係の prop と奇素数次元の qudit スタビライザー理論の prop が同値であることを証明し、電気回路、Spekkensのトイ理論、奇素数次元のスタビライザー量子回路など、異なるプロセス理論を統合するグラフ言語を与える。
書誌情報は完璧です。ページ数はアブストラクト・ページ(HTMLページ)に載ってないので、対応するPDFファイルから取得しています。
Abstractの日本語訳の品質はイマイチですが、それはヨシとします。気になるのは、Abstractを忠実に訳さないで若干短くしてしまっていることです。Abstractは2段落あるのですが、日本語は1段落です。「Abstract全体を短くして一段落にする」と勝手に判断したようです。
単純にGoogle翻訳した結果は以下です。
シンプレクティックベクトル空間は、線型力学系の位相空間である。シンプレクティック形式は、例えば、位置と運動量、電流と電圧の関係を記述する。シンプレクティックベクトル空間間の線型ラグランジュ関係の圏は、関係の対称モノイド的サブカテゴリーであり、様々な物理系の発展、そしてより一般的には発展に対する線型制約の意味論を与える。 任意の体上のラグランジアン関係の圏を、線型関係の「二重」圏として新たに表現する。より正確には、共変直交補関数が共役の役割を果たす線型関係に適用されるセリンジャーのCPM構成のバリエーションとして、それが生じることを示す。さらに、素体上の線型関係の場合、これは適切なダガーの選択に対するCPM構成と正確に一致する。さらに、この構成を単一のアフィンシフト演算子によって拡張することで、アフィンラグランジアン関係の圏を得ることができる。この新しい表現を用いて、アフィンラグランジアン関係のプロパティが、奇素数次元における量子ディット安定化理論のプロパティと同値であることを証明する。これにより、電気回路、スペッケンスのおもちゃ理論、奇素数次元安定化量子回路など、いくつかの異なるプロセス理論のための統一的なグラフィカル言語が得られる。
原文を忠実に翻訳して、原文の段落を日本語訳にも反映させるように、明示的な指示が必要なようです。
言うことを聞かなかった例
一見うまく出力されているように思えます。
- Title: On the Zappa-Szép Product - Author: Matthew G. Brin - Submitted: 2 Jun 2004 (v1) - Pages: 29p - URL: <a target="_blank" href="https://arxiv.org/abs/math/0406044">https://arxiv.org/abs/math/0406044</a> Abstractの日本語訳 Zappa-Szép積は、Guido ZappaおよびJeno Szépにより独自に開発された、半直積の一般化であり、両方の因子が正規部分群である必要がない。この論文では、Zappa-Szép積の基本的性質を詳細に探求し、群のみならず圏やモノイド、様々な代数構造への応用可能性・柔軟性についても考察している。Zappa-Szép積はほとんど仮定なしで定義・議論が可能で、多くの状況に適応できる点で注目される。特に、Thompson群などでの応用を動機として、部分群やサブカテコリーに対する内的・外的な積の構成・諸性質、互いの因子による「相互作用」の諸性質や、合成・一意性・正規性・可換性・単位元や逆元のふるまいなど、多面的な観点からまとめられている。
この論文にはAbstractがありません。Introductionはありますが、かなり長いです。そこでAIは、自分で要約を作ったようです。それはいいのですが、次の指示を無視しています。
- Abstractが見当たらない場合は、君が日本語の要約を作成する。
- 書誌情報の後に、「AIによる要約」という一行を挟んで、Abstractの日本語要約を書き出す。
「Abstractの日本語訳」ではなくて、「AIによる要約」という文言を入れるべきでした。
作業指示において、Abstractがある時とない時があることを先に述べ、場合分け処理であることをハッキリと書けばいいかも知れません。
余計なお世話な例
なまじ賢いので、余計な事をやってくれるときもあります。
- Title: Coend calculus - Author: Fosco Loregian - Submitted: 11 Jan 2015 (v1), 21 May 2023 (v7) - Pages: 書籍(ページ数記載なし) - URL: <a target="_blank" href="https://arxiv.org/abs/1501.02503">https://arxiv.org/abs/1501.02503</a> Abstractの日本語訳 本書は圏論におけるコエンド・エンドの計算技法を体系的にまとめたものであり、「This is the (co)end, my only (co)friend」として知られていた草稿の最終版に相当する。コエンドの定義から、その普遍性や種々の具体計算、応用まで網羅的に扱い、様々な圏論的状況への応用例や計算テクニックが丁寧に解説されている。また、2023年5月版は書籍出版直前の最終原稿であり、数多くの誤植修正と微調整が施されている。
ページ数については、次のように指示しています。
- アブストラクト・ベージ内にページ数の記述がないときは、PDFファイルを参照してページ数を知って、箇条書き項目 `- Pages: 29p` を出力する。
- なんらかの事情でページ数が分からない場合は、箇条書き項目 `- Pages:` (空白)でよい。
最初の例では、ちゃんとPDFファイルのページ数を使っているのですが、この例では 書籍(ページ数記載なし) としています。確かに、この論文は書籍化されました。「紙の本のページ数が分からない」という意味でしょう。PDFを調べろと指示しているのですが ‥‥ 余計な気を回しやがって。
「Abstractの日本語訳」も、気を利かしたつもりで勝手に作ったようです。事実と食い違ってはいませんが、短い書評のようで「Abstractの日本語訳」ではありません。
総括
プログラミング言語によるプログラムコードは書いたことしかやってくれませんが、AIは、実行時に“悪気はなく”余計なことをしてくれます。指示を愚直に実行するのではなくて、なにかしら「自分が賢いこと」をアピールしたいようです。今回のような目的では「愚直実行モード」が欲しくなります。