被告M社のクラウド会計サービスが持つ自動仕訳の機能が、原告特許の構成要件のうち、「取引明細中のキーワードと勘定科目を対応づけた対応テーブルを参照し、最も優先度の高いキーワードに対応する勘定科目に自動仕訳する」という要件に一致するかどうかが、クラウド会計サービス事件の最も基本的な争点です(細かくいうと「文言侵害」、つまり被告製品又は方法が請求項の文面どおりの構成要件を満たすかどうかを争います。この事件では「均等侵害」(文面通りでなくても実質的に侵害といい得るケース)も争われていますが、ここでは省略します。)。
原告は、被告方法においてキーワードと勘定科目の対応づけをコンピュータに学習させた結果のデータが原告特許の「対応テーブル」に相当し、複数のキーワードが含まれる場合にはいずれか1つのキーワードに対応づけられた勘定科目を付与する方法であると主張しています。原告がいう「対応テーブル」は、横軸にキーワード、縦軸に勘定科目を並べて、対応関係をクロス箇所の○印で表すものと理解されます(一つの勘定科目に複数のキーワードが対応する場合は、複数キーワードの○印に優先度順の重み付けがされる)。
一方、被告は、仕訳情報の膨大な蓄積を教師データとしてコンピュータに学習させ(機械学習)、コンピュータが自律的に生成したアルゴリズムを用いて自動仕訳を行うのであって、キーワードと勘定科目が対応づけられたテーブルなどは存在しないと主張します。被告方法を実施したところ、「店舗チケット」という記載に対する仕訳が「店舗」に対応する「福利厚生費」又は「チケット」に対応する「短期借入金」のいずれでもない「旅費交通費」になるという結果が、これを裏付けるとも主張します。
被告は機械学習の具体的な方法を開示していないので、実際にどのようなアルゴリズムを用いているかは不明です。仮にベイズの識別規則を用いるとすれば、教師データを用いて観測データ(個々のキーワード)の組み合わせに対する個々の識別クラス(勘定科目)の事後確率を計算したデータ(テーブルといえばいえるかも)を保持し、入力データに対して事後確率最大となる勘定科目を選ぶという流れになりそうです。そうだとすると、被告方法の「対応テーブル」相当の構成は(被告自身はテーブルの存在を否定していますが)、キーワードの組み合わせに対する各勘定科目の事後確率(機械学習の結果として計算された値)を記載したものになります。このような被告方法の「対応テーブル」には、キーワードに割り当てられた優先度の概念が存在しないことを含め、原告のいう「対応テーブル」とイコールだという主張には相当の無理があることになります。
もっともこの裁判では機械学習の具体的な方法がわからないので、上のような議論はみられず、裁判所の判断の理由を見てもそこまでの言及はありません。判決では、被告方法が本件特許の技術的範囲に含まれると原告が主張した基礎をなす「対応テーブル」の解釈について原告の主張を斥け(上に書いた解釈と大差ありません。)、被告方法の実施の結果が請求項の記載から解釈される「対応テーブル」の作用に合致しないことから、この争点について被告の主張を認めています。ここではふれませんが、他の争点についても原告の主張が斥けられ、請求棄却の判決がされました(原告は控訴を見送り、判決確定です)。
被告はアルゴリズムの中身を開示せず、被告方法の実施結果が特許の構成要件(本件の場合、対応テーブル)から期待される結果と矛盾するという論法で戦いました。この点は、これから多くなると予想される機械学習がらみの特許訴訟において示唆的といってよいでしょう。ただし、この事案ではその戦法が奏功しましたが、他のケースでも通用するか、は未知数です。(この項続く。)