【事件の表示】
　特願２００２−２１０７８１「サポートベクトルマシンを用いたデータ分類方法」拒絶査定不服審判事件〔平成１６年　２月１９日出願公開、特開２００４−　５４５６７〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
　１．手続の経緯と、本願発明
　本願は、平成１４年７月１９日の出願であって、平成１７年９月８日付けで拒絶理由通知がなされ、同年１２月５日付けで手続補正がなされ、平成１８年１月１６日付けで再度の拒絶理由通知がなされ、同年３月２０日付けで手続補正がなされたが、同年４月７日付けで拒絶査定がなされ、これに対し、同年５月１２日に審判請求がなされるとともに、同年６月１２日付けで手続補正がなされ、同年７月２８日付けで前置報告がなされ、平成２０年９月９日付けで審尋がなされたものであり、その特許請求の範囲の請求項１に係る発明（以下、「本願発明」という。）は、平成１８年６月１２日付けで手続補正された特許請求の範囲の請求項１に記載された次のとおりのものと認める 。
　
　「サポートベクトルマシン（Ｓｕｐｐｏｒｔ　Ｖｅｃｔｏｒ　Ｍａｃｈｉｎｅ）を用い、コンピュータ上で、入力するデータを３以上の数であるＫ個のクラスに分類するＫクラス問題のデータ分類方法であって、該コンピュータに備えたコンピュータ演算処理手段における2クラス問題分割処理部が、該Ｋクラス問題を小規模な２クラス問題に分割する２クラス問題分割ステップ、該コンピュータ演算処理手段におけるサポートベクトルマシン処理部が、分割された２クラス問題を正例と負例とからなる分類として１つのモジュールを構成し、各モジュール毎にサポートベクトルマシンによる学習を行う学習ステップ、該サポートベクトルマシン処理部が、全てのモジュールにおける該学習結果に基づくサポートベクトルマシンの出力結果を、多入力値から最小値を選択するＭＩＮユニットに入力し、出力結果を結合する結合ステップ、の各ステップを少なくとも有し、該サポートベクトルマシン処理部が、該結合結果のうち最大値を取るモジュールの正例を、入力したデータに対するＫクラスの分類結果として出力することを特徴とするサポートベクトルマシンを用いたデータ分類方法。」
　
　２．引用発明
　これに対し、本願の出願日前に頒布され、平成１８年１月１６日付けの拒絶理由通知書において引用文献１として挙げられ、原査定の拒絶の理由に引用されている「馬青，「モジュール型ニューラルネットによる品詞の曖昧性解消」，電子譲歩通信学会技術研究報告，日本，社団法人電子情報通信学会，２０００年　６月１５日，Ｖｏｌ．１００　Ｎｏ．１２６，p.63-p.70（国内学会論文200100483007）」（なお、前記「電子譲歩通信学会技術研究報告」は、「電子情報通信学会技術研究報告」の誤記と認められる。以下、この「引用文献１」を、単に「引用文献」という。）には、図面とともに以下の（ア）〜（カ）の事項が記載されている（なお、下線部は便宜的に当審において付与したもの。以下同じ。）。
　
　（ア）「従って、品詞タグ付けは品詞をクラスに置き換えた
クラス分け問題
ニューラルネット
　
　（イ）「３　Ｍ３ネットワークによる問題の解き方
　Ｍ３ネットワークで問題を解く基本的な考え方は如何にして
複雑な問題を簡単な部分問題に分割
分割された問題をそれぞれ独立のモジュールで解いた後、再び統合して最終結果を出す
　３．１　問題の分割
　この節では、如何にして複雑で大規模な、
Ｋ個のクラスのあるクラス分け問題（以降、これをK-class問題と呼ぶ）を小規模なtwo-class問題へ分割
　Ｔ＝｛（Ｘｌ，Ｙｌ）｝ｌ＝１Ｌ　　（５）
但し、Ｘｌ∈Ｒｎは入力ベクトル、Ｙｌ∈ＲＫは目標出力、Ｌは学習データの数である。
　
一般的に、K-class問題はＫ個のtwo-class問題に分割できる
　Ｔｉ＝｛Ｘｌ，ｙｌ（ｉ））｝ｌ＝１Ｌ　　（６）
但し、ｉ＝１，・・・，Ｋ，　ｙｌ（ｉ）∈Ｒｌは以下のように定義される目標出力である。
　ｙｌ（ｉ）＝｛１−ε　　ＸｌがクラスＣｉに属す場合
　　　　　　　ε　　　　Ｘｌがクラス／Ｃｉに属す場合　　　（７）
但し、εは微小の正数で、／ＣｉはＣｉ以外のすべてのクラスを表す。従って、
式（６）はクラスＣ
ｉ
に属するデータとそうでないデータを区分けする問題に対応する学習セットである
　一般的には、（６）式で定義されたtwo-class問題はまだ規模が大きく複雑であるため、
それを更にＣ
ｉ
に属するデータと個々の他のクラスに属するデータを区分けする問題に分割する
　ｘｉ＝｛Ｘｌ（ｉ）｝ｌ＝１Ｌi，　ｉ＝１，・・・，Ｋ　　　（８）
が形成される。ここで、Ｌiはそのｉ番目のサブセットにある入力ベクトルの数で、Σｉ＝１Ｋ＝Ｌである。
そして、（６）式で定義されたtwo-class問題を以下に示すＫ−１個のより小規模なtwo-class問題に分割する
　Ｔｉｊ＝｛（Ｘｌ（ｉ）,１−ε）｝ｌ＝１Ｌi∪｛Ｘｌ（ｊ）,ε）｝ｌ＝１Ｌj　（９）
但し、ｊ＝１，・・・，Ｋ（ｊ≠ｉ），Ｘｌ（ｉ）∈ｘｉとＸｌ（ｊ）∈ｘｊはそれぞれクラスＣｉとクラスＣｊに属する入力ベクトルである。
従って、式（９）で定義されたtwo-class問題はクラスＣ
ｉ
とクラスＣ
ｊ
を区分けするものであり
このように、式（５）のＫ−class問題は簡単に式（９）のようなtwo-class問題に分割することができる
　上に述べたようにK-class問題はＫ×（Ｋ−１）個の相対的に小規模なtwo-class問題に分割することができる。」（第６４頁右コラム第２１行〜第６５頁左コラム第２６行。なお、引用文献の原本における式（７）等の記載箇所において、Ｃｉの上に横棒を引いた形式の記号が使用されているが、その記号はここでは／Ｃｉという表記で代用している。また、引用文献の原本では式（７）において２つの行に跨って中括弧記号｛を使用する表記法を採用しているが、その表記法はここでは１つの行のみに中括弧記号｛を使用する表記法で代用している。後述の（オ）における式（２４）の表記法についても同様。）
　
　（ウ）「３．２　問題の統合
　
分割された問題を個々のモジュールで学習した後、問題を解くためにそれらのモジュールを再統合しなければならない。この節では、モジュールをどのようにして統合するかについて述べる
　モジュールの統合にはＭＩＮ，ＭＡＸ，ＩＮＶという三つのユニットを用いた。ここで、
記号Ｍ
ｉｊ
を用いて
学習セットＴ
ｉｊ
［式（９）］
を学習するモジュールを表す
Ｍ
ｉｊ
をＫ×ＫのマトリクスＭの（ｉ，ｊ）番目の要素とし
　K-class問題Ｔ［式（５）］をＫ×（Ｋ−１）個のtwo-class問題Ｔｉｊ［式（９）］に分割して解く場合、まず、マトリクスＭのそれぞれの行にあるモジュールを、複数の入力から最小値を選び出すＭＩＮユニットを用いて統合する。即ち、
　ＭＩＮｉ＝ｍｉｎ（Ｍｉ１，Ｍｉ２，・・・，ＭｉＫ），
　　　　　　　　　　　　　　ｉ＝１，・・・，Ｋ　　　（１３）
ここでは便宜上ＭＩＮユニットの記号をそのままそのユニットの出力を表すものとし、モジュールの記号をそのままモジュールの出力を表すものとしている。そして、このＫ個のＭＩＮユニットの出力から最終的な解を以下のように得る。
　Ｃ＝arg ｍａｘｉ｛ＭＩＮｉ｝，　ｉ＝１，・・・，Ｋ　　　（１４）
但し、Ｃは入力データの属するクラスである。」（第６５頁右コラム第６〜３２行）
　
　（エ）「４　Ｍ３ネットワークにおける品詞タグ付け
　４．１　品詞タグ付け問題の分割
　（中略）
用いたコーパスにタグ付けされている品詞は実際３８種類しかない。従って、
品詞をクラスとしてとらえれば、この品詞タグ付け問題は38-classのクラス分け問題となる
　（中略）
　３．１節に従えば、この38-class問題をまず一意的に式（９）に定義されたＫ×（Ｋ−１）＝３８×３７個のtwo-class問題，Ｔｉｊ（ｉ，ｊ＝１，…，Ｋ，ｊ≠ｉ），に分割される。」（第６６頁左コラム第１０〜２７行）
　
　（オ）「４．２　品詞タグ付け用Ｍ３ネットワーク
　４．２．１　構成
　Ｍ３ネットワークは、
図１に示すように
two-class部分問題を学習したモジュールを統合して構成される
　（中略）
　４．２．２　入出力
　Ｍ３ネットワークの入力ベクトルＸ（学習段階ではＸｌ［式（５）］）は
目標単語ｗ
ｔ
　Ｘ＝（ｘｔ−ｌ，・・・，ｘｔ，・・・ｘｔ＋ｒ）　　　（１８）
　（中略）
　出力ベクトルＹは以下のように定義される。
　Ｙ＝（ｙ１，ｙ２，・・・，ｙ３８）　　　（２３）
　但し、Ｙは以下のようにデコードされるものとする。
　τ（ｗｔ）＝｛τｉ　　　　　ｙｉ≧0.5かつすべての
　　　　　　　　　　　　　　ｙｊ＜0.5（j≠i）の場合
　　　　　　　　Unknown　　　その他
　　　　　　　　　　　　　　　　　　　　　　　　　　　（２４）
ここでτ（ｗｔ）は単語ｗｔへのタグ付け結果を示す。」（第６７頁左コラム第１行〜同頁右コラム第６行）
　
　（カ）「５　実験結果
　計算機実験には４．１節に述べたデータを用いた。（中略）Ｍ３ネットワークを構成する
個々のモジュールは基本的に入力層−中間層−出力層に２６６−２−１個のユニットを持つ三層パーセプトロンで構成される
　
　上記（ア）、（エ）、（カ）の記載から、引用文献には、入力されたデータをＣ１〜Ｃ３８の３８個のクラスに分類する３８クラス問題のデータ分類を計算機上でニューラルネットを用いて行う方法が記載されているものと解される。なお、ここで、引用文献における「ニューラルネット」という用語の意義について検討しておくと、上記（カ）に記載されているように、引用文献における「ニューラルネット」とは、複数の「ユニット」が「入力層−中間層−出力層」を成すように接続された「三層パーセプトロン」であって学習機能を有するものであるが、ハードウェアとして実現された「ユニット」を実際に電線ケーブルで接続して装置を構成したものではなく、同（カ）に「計算機実験」と記載されているように、前記装置の動作をシミュレートする計算機プログラムが計算機によって実行されることによって前記装置の動作がシミュレートされるという意味で仮想的に実現された装置であると解され、以上を総合すると、引用文献における「ニューラルネット」とは、「学習機能を有する仮想的な装置」であると解される。
　上記（イ）、（エ）の記載から、引用文献記載の方法は、計算機が、前記３８クラス問題を、クラスＣｉとクラスＣｊ（ｉ＝1,2,…,38。ｊ＝1,2,…,38。ただしｉ≠ｊ）の２つのクラスの分類を行う２クラス問題に分割するものと解される。
　上記（イ）の式（９）とその説明文から、分割された２クラス問題は、入力がクラスＣｉに属していれば１−εを出力し、入力がクラスＣｊに属していればεを出力するものであると解され、また、上記（イ）の式（７）の直後の「但し、εは微小の正数」という記載と、上記（オ）の式（２４）のようにｙｉとｙｊが０．５を判別閾値とする趣旨の記載に着目して上記（イ）、（ウ）、（オ）、（カ）の記載と図１の記載を参照すると、引用文献記載の方法では、計算機が、前記分割された２クラス問題の各々に対応してクラスＣｉとクラスＣｊ（ｉ＝1,2,…,38。ｊ＝1,2,…,38。ただしｉ≠ｊ）とを分類するニューラルネットであるモジュールＭｉｊであって、入力されたデータがクラスＣｉに属していれば0.5以上の値を出力し、入力されたデータがクラスＣｊに属していれば0.5未満の値を出力するように学習させられるニューラルネットであるモジュールＭｉｊを全部で３８×３７個構成し、各モジュールごとにニューラルネットによる学習を行うものと解される。
　上記（ウ）、（オ）、（カ）の記載と図１の記載から、引用文献記載の方法では、計算機が、前記学習の結果に基づいて動作するニューラルネットである前記各モジュールＭｉｊの出力を、それぞれが３７個の入力値から最小値を選び出して出力する３８個のＭＩＮユニットを用いて統合するステップであって、
第１のＭＩＮユニットはモジュールＭ１，２，Ｍ１，３，・・・Ｍ１，３８の出力のうちの最小値を選び出してｙ１として出力し、
第２のＭＩＮユニットはモジュールＭ２，１，Ｍ２，３，・・・Ｍ２，３８の出力のうちの最小値を選び出してｙ２として出力し、
第ｉ番目（ｉ＝3,4,…37）のＭＩＮユニットはモジュールＭｉ，１，Ｍｉ，２，・・・，Ｍｉ，ｊ（ただしｉ≠ｊ），・・・，Ｍｉ，３８の出力のうちの最小値を選び出してｙｉとして出力し、
第３８番目のＭＩＮユニットはモジュールＭ３８，１，Ｍ３８，２，・・・Ｍ３８，３７の出力のうちの最小値を選び出してｙ３８として出力するものと解される。
　上記（オ）の式（２４）に記載されている「ｙｉ≧0.5かつすべてのｙｊ＜0.5（j≠i）の場合」とは、「ｙ１，ｙ２，・・・，ｙ３８のうちでｙｉが最大であり、かつｙｉは０．５以上の値である場合」という意味であり、また、ｙｉはｉ番目のＭＩＮユニットの出力であり、その出力ｙｉの値が０．５以上であるということは、ｉ番目のＭＩＮユニットへの入力を供給する３７個のモジュールのうちで最小の値を出力するモジュールＭｉｊ（ただしｉ≠ｊ）の出力が、前記最大値ｙｉと同じ値（０．５以上の値）であったことになる。そして、当該モジュールＭｉｊは、入力がクラスＣｉに属しているという条件を満たせば０．５以上の値を出力し、そうでなければ０．５未満の値を出力するモジュールであるから、以上を総合すると、引用文献では、前記計算機は、前記統合の結果得られるｙ１，ｙ２，・・・，ｙ３８のうちで０．５以上の値であって最大の値であるｙｉ（ｉは1,2,…,38のうちのいずれか１つ）の値と同じ値を出力しているモジュールに、前記最大の値である値ｙｉと同じ値である０．５以上の値を出力させている条件であるクラスＣｉを、入力したデータに対する３８クラスの分類結果として出力するものと解される。
　したがって、引用文献には次の発明（以下、「引用発明」という。）が記載されていると認められる。  
　
　学習機能を有する仮想的な装置であるニューラルネットを用い、計算機上で、入力するデータをＣ１〜Ｃ３８の３８個のクラスに分類する３８クラス問題のデータ分類方法であって、前記計算機が前記３８クラス問題を、クラスＣｉとクラスＣｊ（ｉ＝1,2,…,38。ｊ＝1,2,…,38。ただしｉ≠ｊ）の２つのクラスの分類を行う２クラス問題に分割するステップと、前記計算機が、分割された前記２クラス問題の各々に対応してクラスＣｉとクラスＣｊ（ｉ＝1,2,…,38。ｊ＝1,2,…,38。ただしｉ≠ｊ）とを分類するモジュールＭｉｊであって、入力されたデータがクラスＣｉに属していれば0.5以上の値を出力し、入力されたデータがクラスＣｊに属していれば0.5未満の値を出力するように学習させられるニューラルネットであるモジュールＭｉｊを全部で３８×３７個構成し、各モジュールごとにニューラルネットによる学習を行う学習ステップと、前記計算機が、前記学習の結果に基づいて動作するニューラルネットである前記各モジュールＭｉｊの出力を、それぞれが３７個の入力値から最小値を選び出して出力する３８個のＭＩＮユニットを用いて統合するステップであって、
第１のＭＩＮユニットはモジュールＭ１，２，Ｍ１，３，・・・Ｍ１，３８の出力のうちの最小値を選び出してｙ１として出力し、
第２のＭＩＮユニットはモジュールＭ２，１，Ｍ２，３，・・・Ｍ２，３８の出力のうちの最小値を選び出してｙ２として出力し、
第ｉ番目（ｉ＝3,4,…37）のＭＩＮユニットはモジュールＭｉ，１，Ｍｉ，２，・・・，Ｍｉ，ｊ（ただしｉ≠ｊ），・・・，Ｍｉ，３８の出力のうちの最小値を選び出してｙｉとして出力し、
第３８番目のＭＩＮユニットはモジュールＭ３８，１，Ｍ３８，２，・・・Ｍ３８，３７の出力のうちの最小値を選び出してｙ３８として出力するステップとを少なくとも有し、
　前記計算機は、前記統合の結果得られるｙ１，ｙ２，・・・，ｙ３８のうちで０．５以上の値であって最大の値であるｙｉ（ｉは1,2,…,38のうちのいずれか１つ）の値と同じ値を出力しているモジュールに、前記最大の値である値ｙｉと同じ値である０．５以上の値を出力させている条件であるクラスＣｉを、入力したデータに対する３８クラスの分類結果として出力することを特徴とするニューラルネットを用いたデータ分類方法。
　
　３．対比
　ここで、本願発明と引用発明とを比較する。
　まず、本願発明の「サポートベクトルマシン（Ｓｕｐｐｏｒｔ　Ｖｅｃｔｏｒ　Ｍａｃｈｉｎｅ）」という用語の意義を解釈するために、発明の詳細な説明の記載を参酌すると、「サポートベクトルマシン（Ｓｕｐｐｏｒｔ　Ｖｅｃｔｏｒ　Ｍａｃｈｉｎｅ）」とは、平成１８年３月２０日付けの手続補正によって補正された後の本願明細書（以下、便宜的に「最終補正明細書」という。）の段落【００１６】〜【００２２】に【数式１】、【数式２】、【数式６】として記載されている数式を計算機で計算することによって入力に対する出力が計算されるものであるから、「マシン」といいながらも、実際は仮想的な装置であると解される。また、本願発明には「サポートマシンによる学習を行う」という記載が存在するから、本願発明の「サポートベクトルマシン（Ｓｕｐｐｏｒｔ　Ｖｅｃｔｏｒ　Ｍａｃｈｉｎｅ）」とは、学習機能を有するものである。したがって、引用発明の「学習機能を有する仮想的な装置であるニューラルネットを用い、計算機上で、入力するデータをＣ１〜Ｃ３８の３８個のクラスに分類する３８クラス問題のデータ分類方法」と、本願発明の「サポートベクトルマシン（Ｓｕｐｐｏｒｔ　Ｖｅｃｔｏｒ　Ｍａｃｈｉｎｅ）を用い、コンピュータ上で、入力するデータを３以上の数であるＫ個のクラスに分類するＫクラス問題のデータ分類方法」とは、ともに、「学習機能を有する仮想的なマシンを用い、コンピュータ上で、入力するデータを３以上の数であるＫ個のクラスに分類するＫクラス問題のデータ分類方法」である点において共通する。
　引用発明の「前記計算機が前記３８クラス問題を、クラスＣｉとクラスＣｊ（ｉ＝1,2,…,38。ｊ＝1,2,…,38。ただしｉ≠ｊ）の２つのクラスの分類を行う２クラス問題に分割するステップ」と、本願発明の「該コンピュータに備えたコンピュータ演算処理手段における2クラス問題分割処理部が、該Ｋクラス問題を小規模な２クラス問題に分割する２クラス問題分割ステップ」とは、ともに、「該コンピュータが、該Ｋクラス問題を小規模な２クラス問題に分割する２クラス問題分割ステップ」である点において共通する。
　次に、本願発明の「分割された２クラス問題を正例と負例とからなる分類として１つのモジュールを構成し」という記載の意義を解釈するために発明の詳細な説明の記載を参酌すると、前記最終補正明細書の段落【００１２】には「ＳＶＭは、空間を超平面で分割することにより２つの分類からなるデータを分類する手法である。このとき、２つの分類が
正例
負例
正例
負例
識別関数の出力値が正か負か
「ｆ（ｘ）＝　ｓｇｎ（Σｉ＝１ｌαｉｙｉＫ（ｘｉ，ｘ）＋ｂ）」（なお、原文では前記Σ記号の上下には、「ｌ」、「ｉ＝１」と記載されているが、その記載はここでは上付き表記、下付き表記で代用する。）
として記載されている識別関数ｆ（ｘ）は、ｓｇｎ関数を用いたものであり、該ｓｇｎ関数とは同段落【００１８】に【数式２】、すなわち
「ｓｇｎ（ｘ）＝１　（ｘ≧０）
　　　　　　　　−１（otherwise）」
として記載されているように１又は−１という２とおりの値のどちらかを出力する関数であることから、「正例」とは、サポートベクトルマシン（ＳＶＭ）が有する識別関数の出力値が１となる例であり、「負例」とは、サポートベクトルマシン（ＳＶＭ）が有する識別関数の出力値が−１となる例であり、したがって、本願発明の「分割された２クラス問題を正例と負例とからなる分類として１つのモジュールを構成し」とは、分割された２クラス問題に対応して、入力されたデータが第１のクラスに属していれば１を出力し、入力されたデータが第２のクラスに属していれば−１を出力するサポートベクトルマシンである１つのモジュールを構成するという意味であると解される。すると、引用発明の「前記計算機が、分割された前記２クラス問題の各々に対応してクラスＣｉとクラスＣｊ（ｉ＝1,2,…,38。ｊ＝1,2,…,38。ただしｉ≠ｊ）とを分類するモジュールＭｉｊであって、入力されたデータがクラスＣｉに属していれば0.5以上の値を出力し、入力されたデータがクラスＣｊに属していれば0.5未満の値を出力するように学習させられるニューラルネットであるモジュールＭｉｊを全部で３８×３７個構成し、各モジュールごとにニューラルネットによる学習を行う学習ステップ」と、本願発明の「該コンピュータ演算処理手段におけるサポートベクトルマシン処理部が、分割された２クラス問題を正例と負例とからなる分類として１つのモジュールを構成し、各モジュール毎にサポートベクトルマシンによる学習を行う学習ステップ」とは、ともに、「該コンピュータが、分割された２クラス問題を第１のタイプの値を出力すべき第１のクラスと、第２のタイプの値を出力すべき第２のクラスとからなる分類として１つのモジュールを構成し、各モジュール毎に該仮想的なマシンによる学習を行う学習ステップ」である点において共通する。
　次に、本願発明には「サポートベクトルマシンの出力結果」を「結合」するという趣旨の記載が存在し、この記載は、その技術的意義を一義的に明確に理解できないので、発明の詳細な説明の記載を参酌すると、前記最終補正明細書の段落【００５４】から同段落【００５５】にかけての記載、
　
「ここでは、
２クラス問題Ｔ
ｉｊ
（数式８）
に関してＳＶＭによる学習・出力を行うＳＶＭモジュール（３０）
記号Ｍ
ｉｊ
図２におけるＭＩＮユニットによる
結合
　【００５５】
【数式１２】
　ＭＩＮｉ＝ｍｉｎ（Ｍｉ１，…，Ｍｉｊ，…，ＭｉＫ），　ｉ＝１，…，Ｋ（ｉ≠ｊ）」
　
から、本願発明における「サポートベクトルマシンの出力結果」を「結合」とは、サポートベクトルマシンを用いて学習が行われたモジュールの出力をＭＩＮユニットへ入力し、そのうちの最小値をＭＩＮユニットに選択させるという意味であると解される。
　すると、引用発明の「前記計算機が、前記学習の結果に基づいて動作するニューラルネットである前記各モジュールＭｉｊの出力を、それぞれが３７個の入力値から最小値を選び出して出力する３８個のＭＩＮユニットを用いて統合するステップであって、
第１のＭＩＮユニットはモジュールＭ１，２，Ｍ１，３，・・・Ｍ１，３８の出力のうちの最小値を選び出してｙ１として出力し、
第２のＭＩＮユニットはモジュールＭ２，１，Ｍ２，３，・・・Ｍ２，３８の出力のうちの最小値を選び出してｙ２として出力し、
第ｉ番目（ｉ＝3,4,…37）のＭＩＮユニットはモジュールＭｉ，１，Ｍｉ，２，・・・，Ｍｉ，ｊ（ただしｉ≠ｊ），・・・，Ｍｉ，３８の出力のうちの最小値を選び出してｙｉとして出力し、
第３８番目のＭＩＮユニットはモジュールＭ３８，１，Ｍ３８，２，・・・Ｍ３８，３７の出力のうちの最小値を選び出してｙ３８として出力するステップ」と、本願発明の「該サポートベクトルマシン処理部が、全てのモジュールにおける該学習結果に基づくサポートベクトルマシンの出力結果を、多入力値から最小値を選択するＭＩＮユニットに入力し、出力結果を結合する結合ステップ」とは、ともに、「該コンピュータが、全てのモジュールにおける該学習結果に基づく該仮想的なマシンの出力結果を、多入力値から最小値を選択するＭＩＮユニットに入力し、出力結果を結合する結合ステップ」である点において共通する。
　次に、本願発明の「該サポートベクトルマシン処理部が、該結合結果のうち最大値を取るモジュールの正例を、入力したデータに対するＫクラスの分類結果として出力することを特徴とするサポートベクトルマシンを用いたデータ分類方法」という記載に含まれる「該サポートベクトルマシン処理部」とは、本願発明において「該コンピュータ演算処理手段におけるサポートベクトルマシン処理部」と記載されているものを指すから、引用発明の「前記計算機は、前記統合の結果得られるｙ１，ｙ２，・・・，ｙ３８のうちで０．５以上の値であって最大の値であるｙｉ（ｉは1,2,…,38のうちのいずれか１つ）の値と同じ値を出力しているモジュールに、前記最大の値である値ｙｉと同じ値である０．５以上の値を出力させている条件であるクラスＣｉを、入力したデータに対する３８クラスの分類結果として出力することを特徴とするニューラルネットを用いたデータ分類方法」と、本願発明の「該サポートベクトルマシン処理部が、該結合結果のうち最大値を取るモジュールの正例を、入力したデータに対するＫクラスの分類結果として出力することを特徴とするサポートベクトルマシンを用いたデータ分類方法」とは、ともに、「該コンピュータが、該結合結果のうち最大値を取るモジュールの第１のクラスを、入力したデータに対するＫクラスの分類結果として出力することを特徴とする、学習機能を有する仮想的なマシンを用いたデータ分類方法」である点において共通する。
　
　よって、本願発明と引用発明とは、以下の点で一致し、また、相違している。
　
　（一致点）
　学習機能を有する仮想的なマシンを用い、コンピュータ上で、入力するデータを３以上の数であるＫ個のクラスに分類するＫクラス問題のデータ分類方法であって、
　該コンピュータが、該Ｋクラス問題を小規模な２クラス問題に分割する２クラス問題分割ステップ、
　該コンピュータが、分割された２クラス問題を第１のタイプの値を出力すべき第１のクラスと、第２のタイプの値を出力すべき第２のクラスとからなる分類として１つのモジュールを構成し、各モジュール毎に該仮想的なマシンによる学習を行う学習ステップ、
　該コンピュータが、全てのモジュールにおける該学習結果に基づく該仮想的なマシンの出力結果を、多入力値から最小値を選択するＭＩＮユニットに入力し、出力結果を結合する結合ステップ、
　の各ステップを少なくとも有し、
　該コンピュータが、該結合結果のうち最大値を取るモジュールの第１のクラスを、入力したデータに対するＫクラスの分類結果として出力することを特徴とする、
学習機能を有する仮想的なマシンを用いたデータ分類方法。
　
　（相違点１）
　前記「学習機能を有する仮想的なマシン」が、本願発明ではサポートベクトルマシン（Ｓｕｐｐｏｒｔ　Ｖｅｃｔｏｒ　Ｍａｃｈｉｎｅ）であるのに対し、引用発明ではニューラルネットである点。
　
　（相違点２）
　前記「２クラス問題分割ステップ」の処理を、本願発明ではコンピュータに備えたコンピュータ演算処理手段における2クラス問題分割処理部が行うのに対し、引用発明では計算機が行うものである点。
　
　（相違点３）
　前記「モジュールを構成」する際の前記「分割された２クラス問題を第１のタイプの値を出力すべき第１のクラスと、第２のタイプの値を出力すべき第２のクラスとからなる分類」は、本願発明では「正例」と「負例」であるのに対し、引用発明では0.5以上の値を出力するクラスＣｉと、0.5未満の値を出力するクラスＣｊであり、また、前記「該結合結果のうち最大値を取るモジュールの第１のクラスを、入力したデータに対するＫクラスの分類結果として出力する」際の「第１のクラス」が、本願発明では「正例」であるのに対し、引用発明では0.5以上の値を出力するクラスＣｉである点。
　
　（相違点４）
　前記「学習ステップ」の処理、前記「結合ステップ」の処理、前記「該結合結果のうち最大値を取るモジュールに前記第１のタイプの値を出力させている前記第１のクラスを、入力したデータに対するＫクラスの分類結果として出力する」という処理を、本願発明ではコンピュータに備えた前記コンピュータ演算処理手段における前記サポートベクトルマシン処理部が行うのに対し、引用発明では計算機が行うものである点。
　
　４．当審の判断
　上記相違点について検討する。
　まず、上記相違点１及び相違点３について検討する。
　例えば、前記最終補正明細書の段落【０００４】に従来の技術として審判請求人自身が挙げている「「ＳＥＮＳＥＶＡＬ２Ｊ辞書タスクでのＣＲＬの取り組み」（電子情報通信学会　ＮＬＣ２００１−４０）」という文献は、
　
　村田真樹・他、「SENSEVAL2J辞書タスクでのＣＲＬの取り組み」、電子情報通信学会技術研究報告、第１０１巻、第３５１号（ＮＬＣ２００１−３６〜４８）、社団法人電子情報通信学会、２００１年１０月１０日、第３１〜３８頁（以下、「参考文献」という。）
　
を指すものと解されるが、この参考文献に「サポートベクトルマシン法は、空間を超平面で分割することにより２つの分類からなるデータを分類する手法である。このとき、２つの分類が
正例
負例
学習
正例
負例
「ｆ（ｘ）＝　ｓｇｎ（Σｉ＝１ｌαｉｙｉＫ（ｘｉ，ｘ）＋ｂ）」（なお、原文では前記Σ記号の上下には、「ｌ」、「ｉ＝１」と記載されているが、その記載はここでは上付き表記、下付き表記で代用する。以下同様。）の如くｓｇｎ関数を使用し、該ｓｇｎ関数は同頁の式（８）、すなわち、
「ｓｇｎ（ｘ）＝１　（ｘ≧０）
　　　　　　　　−１（otherwise）」
の如く１又は−１を出力する関数であるから、参考文献においては「正例」、「負例」を分類するために１又は−１を出力する識別関数を使用しており、このように、学習機能を有し、計算機によってプログラムを実行することによって動作がシミュレートされるという意味で仮想的なマシンとして、２クラス問題を正例と負例とからなる分類として構成するサポートベクトルマシンは周知なものである。
　そして、例えば、本願の出願日前に頒布され、平成１８年１月１６日付けの拒絶理由通知書において引用文献２として挙げられ、原査定の拒絶の理由に引用されている「国際公開第２００１／０７８３９８号パンフレット」の第１６頁第６〜１０行に「適当なクラスが識別され、クラス間の適切な境界が引かれた後、ビットストリームにおいて新たなパターンを迅速に分類することができる。問題によって、これは、
ニューラルネットワークかまたはサポートベクトルマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）等の他の周知の分類技術を用いて
　そして、このように同等の機能を有する装置構成同士を置換する際には、置換された装置構成部分と、置換されずに残る既存の装置構成部分との間で授受される信号の対応関係が、当該置換の前後で維持されるようにすることは、当該置換に伴う設計変更として当然考慮されることが当業者に対し要請される事項であるところ、引用発明は「前記統合の結果得られるｙ１，ｙ２，・・・，ｙ３８のうちで０．５以上の値であって最大の値であるｙｉ（ｉは1,2,…,38のうちのいずれか１つ）の値と同じ値を出力しているモジュールに、前記最大の値である値ｙｉと同じ値である０．５以上の値を出力させている条件であるクラスＣｉを、入力したデータに対する３８クラスの分類結果として出力する」というように、統合結果を用いた最終的な判別を行う際に０．５以上か否かを判別基準として使用する装置構成が前記「置換されずに残る既存の装置構成部分」として残るものであり、そこで前記要請を満たすためには置換後のモジュールも、２つのクラスの識別に応じて0.5以上の値又は0.5未満の値を出力するようになっている必要があるが、前記周知なサポートベクトルマシンにおける正例を示す１は0.5以上の値であり、負例を示す−１は0.5未満の値であるから、引用発明において入力されたデータがクラスＣｉに属していれば0.5以上の値を出力し、入力されたデータがクラスＣｊに属していれば0.5未満の値を出力するように学習させられるニューラルネットに代えて、前記クラスＣｉ、前記クラスＣｊをそれぞれ「正例」、「負例」に分類するように学習させられる前記周知なサポートベクトルマシンを採用することは、当業者が容易に想到し得た事項に過ぎない。
　よって、相違点１及び相違点３は、格別のものではない。
　
　次に、上記相違点２及び相違点４について検討する。
　本願発明の「コンピュータに備えたコンピュータ演算処理手段における2クラス問題分割処理部」という記載に含まれる「2クラス問題分割処理部」という用語、本願発明の「該コンピュータ演算処理手段におけるサポートベクトルマシン処理部が・・・学習を行う学習ステップ」、「該サポートベクトルマシン処理部が・・・結合する結合ステップ」、「該サポートベクトルマシン処理部が・・・分類結果として出力する」という記載に含まれる「サポートベクトルマシン処理部」という用語は、その技術的意義を一義的に明確に理解できないので、発明の詳細な説明の記載を参酌すると、願書に最初に添付された明細書及び図面（以下、「当初明細書等」という。）には「2クラス問題分割処理部」、「サポートベクトルマシン処理部」という用語は存在しておらず、これら「2クラス問題分割処理部」、「サポートベクトルマシン処理部」という用語を用いた本願発明の上述の「コンピュータに備えたコンピュータ演算処理手段における2クラス問題分割処理部」、「該コンピュータ演算処理手段におけるサポートベクトルマシン処理部が・・・学習を行う学習ステップ」、「該サポートベクトルマシン処理部が・・・結合する結合ステップ」、「該サポートベクトルマシン処理部が・・・分類結果として出力する」という記載は、平成１８年３月２０日付けの手続補正によって初めて明細書に登場した記載である。そして、同日付けの意見書における審判請求人の説明を参照すると、
　「本補正の主眼は、理由Ｂの解消を図るものであり、本発明がソフトウェア及びハードウェアの協働によって実現されることを明らかにしたものである。」、
　「審査官は、理由Ｂにおいて「請求項１〜３に係る発明は、主体が人間であると仮定すると全体としてみれば、人間がデータを分類するための取り決めに基づくものである。また、主体が人間でなくとも、ソフトウェアとハードウェア資源とが協働しているとは認められず、しかも、機器等に対する制御に伴う処理を具体的に行うものとは言えない以上、対象の物理的性質に基づいて情報処理を具体的に行うものとも言えない」と指摘されている。
　確かに従前の記載では本発明の主体が人間であるのか、コンピュータであるのかについて明示していなかったため、請求項だけでは主体がいずれであるのか確定できない問題があった。
　もっとも、本発明ではサポートベクトルマシンを用いることが明示されており、サポートベクトルマシンを用いた学習は人間によって行われるものではなく、図２のような処理がコンピュータによって行われることが周知の事項である。この点を明確にするため、本日付で上記の補正を行った。その際、御庁ソフトウェア審査基準における（イ）ソフトウェアによる情報処理が、ハードウェア資源を用いて具体的に実現されているもの、に合致させるべく請求項を補正した。
　すなわち、コンピュータ上で行われる処理である点を明示し、「人間が行っている精神活動」である可能性を完全に除去すると共に、コンピュータの演算処理手段がＫクラスの分類問題を与えられた時に、２クラス問題に分割すると共に、その２クラス問題に基づいてサポートベクトルで判定し、さらにMINユニットやMAXユニットによる結合を行うことによって分類が行えることを明らかにした。
　サポートベクトルマシンによる学習や、MINユニット・MAXユニットでの結合は演算処理そのものであり、それぞれの処理ステップのプログラミング自体は周知の事項であるから、明細書本文及び図２等の記載により当業者が容易に実施できる。」
と説明されていることから、本願発明における前述の「コンピュータに備えたコンピュータ演算処理手段における2クラス問題分割処理部」、「該コンピュータ演算処理手段におけるサポートベクトルマシン処理部が・・・学習を行う学習ステップ」、「該サポートベクトルマシン処理部が・・・結合する結合ステップ」、「該サポートベクトルマシン処理部が・・・分類結果として出力する」という記載は、２クラス問題に分割する処理、学習ステップの処理、結合ステップの処理、分類結果として出力する処理のそれぞれが、プログラムを実行する計算機によって行われることを表現する趣旨の記載であると解される（なお、このような趣旨は、当初明細書等に記載された事項の範囲内のものであると認める。）。
　すると、所定の処理をプログラムを実行する計算機によって行うことは周知技術であるから、引用発明において、２クラス問題に分割する処理、「学習ステップ」の処理、「統合するステップ」の処理、「前記統合の結果得られるｙ１，ｙ２，・・・，ｙ３８のうちで０．５以上の値であって最大の値であるｙｉ（ｉは1,2,…,38のうちのいずれか１つ）の値と同じ値を出力しているモジュールに、前記最大の値である値ｙｉと同じ値である０．５以上の値を出力させている条件であるクラスＣｉを、入力したデータに対する３８クラスの分類結果として出力する」という処理の各々を、プログラムを実行する計算機によって行うことは、当業者が容易に想到し得た事項に過ぎないので、上記相違点２及び相違点４は格別のものではない。
　
　そして、本願発明の構成によってもたらされる効果も、当業者であれば当然に予測可能なものに過ぎず格別なものとは認められない。 
　したがって、本願発明は引用発明に基づいて当業者が容易に発明し得たものである。
　
　５．むすび
　以上のとおり、本願発明は、引用文献に記載された引用発明に基づいて当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。