Googleは表計算ツール「Googleスプレッドシート」の数式の入力支援機能を改善した。AI予測モデルを追加することで、より適切な候補を提示できるという。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Googleは2021年10月20日(米国時間)、「Googleスプレッドシート」に追加した数式の入力支援機能を支えるAIモデルについて解説するブログを公開した。
セルの周囲にあるさまざまなコンテキストを機械学習モデルが取り入れて、数式を自動生成するというもの。Googleは2021年7月にバーチャル開催された「ICML 2021」で、このモデルを解説した論文「SpreadsheetCoder: Formula Prediction from Semi-structured Context」を発表している。
今回のモデルに基づくシステムは、スプレッドシートの履歴から数式のパターンを学習し、ユーザーが目的のセルに「=」を入力して数式を記述し始めると、そのセルに適した数式を予測、生成する。目的のセルに近い行と列にあるデータに加えて、ヘッダ行をコンテキストとして使用する。
生成される数式は、一連の演算子(SUM、IFなど)と、演算子の適用範囲(「A2:A10」など)からなる。
このモデルはエンコーダーデコーダーアーキテクチャを使用している。
さまざまなタイプのコンテキスト情報(近くの行、列、ヘッダに含まれる情報など)をエンコーダーに柔軟に埋め込み、デコーダーがそれらを使って望ましい数式を生成する。
テーブルのコンテキストの埋め込みを計算するため、モデルはまずBERTベースのアーキテクチャを用いて、目的のセルの上下にある幾つかの行をエンコードする。その際にヘッダ行も扱う。各セルの内容はデータ型(数値、文字列など)と値であり、同じ行のセルの内容はトークンシーケンスへと連結され、BERTエンコーダーを使って埋め込まれる。
モデルは同様に、目的のセルの左右にある幾つかの列をエンコードする。モデルは最後に、2つのBERTエンコーダー上で行と列の畳み込みを行い、コンテキストの集約表現を計算する。
デコーダーはLSTM(Long Short-Term Memory)アーキテクチャを使用して、望ましい数式を生成する。目的のセルに関連するセルのアドレスを用いて、まず数式のスケッチ(範囲のない数式演算子で構成される)を予測し、次に、対応する範囲を生成する。
さらに、デコーダーは注意メカニズムを使って、ヘッダとセルのデータの注意ベクトルを計算する。注意ベクトルは、予測を行う前にLSTMの出力層に連結される。
モデルは、目的のセルに近い行と列のデータに加え、高レベルのシート構造(ヘッダなど)の追加情報も利用する。
Googleはモデルの予測にTPUプロセッサを使用することで、数式の生成、提案において低いレイテンシを確保するとともに、より少ないマシンでより多くのリクエストを処理することに成功している。
Googleの論文では、Googleユーザーが作成し、共有している膨大なスプレッドシートでモデルをトレーニングしたと説明している。4万6000のGoogleスプレッドシートのうち4万2000をトレーニングに、2万3000を検証に、1万7000をテストに使った。数式予測モデルは完全な数式で42.5%のTop-1精度、数式のスケッチで57.4%のTop-1精度を実現した。いずれも初期ユーザー調査で、実用上十分な精度の高さであることが分かった。
Googleは構成要素の一部分を取り除くアブレーション調査を行い、さまざまなコンポーネントの削除によってモデルを簡素化する方法を幾つか試した。これにより、行と列の埋め込みとヘッダ情報が、モデルが高いパフォーマンスを発揮する上で重要なことが判明した。
Googleは次のように述べている。「われわれの数式予測モデルは、スプレッドシートテーブルの2次元リレーショナル構造と高レベルの構造情報(テーブルヘッダなど)を組み合わせた表現の学習が、数式の予測を容易にする効果を実証している。さらなるテーブル構造を取り入れた新しいモデルアーキテクチャの設計と、モデルの拡張を通じたより多くの応用(スプレッドシートでのバグ検出や自動グラフ作成など)のサポートの両方において、幾つかのエキサイティングな研究の方向も見えている」
Copyright © ITmedia, Inc. All Rights Reserved.