2020-002600
客室料金設定装置、客室料金設定方法、およびプログラム
- 審判番号
- 2020-002600
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2017-131007外部サイト(J-PlatPat)へ移動します
- 請求日
- 2020年02月27日
- 審決日
- 2021年06月10日
- 公報発行日
- 2021年09月24日
- 結論
- 請求不成立
- 当事者
- 【請求人】メトロエンジン株式会社
- 【請求人代理人】稲葉 良幸
- 【請求人代理人】大貫 敏史
- 【請求人代理人】江口 昭彦
- 【請求人代理人】内藤 和彦
- 分類
- P18 .536-WZ (G06Q) / P18 .537-WZ (G06Q)
- 条文(本文から自動抽出・参考)
- 特許法第36条
- データ出所
- 審決公報(SGML)
事件の表示
結論
理由
目次 ▾ 9項目
第1 手続の経緯
折りたたみ中(クリックで表示)
本願は,平成29年7月4日に出願された特願2017-131007号であり,その手続の経緯は,概略,以下のとおりである。
第2 本願発明
本願の請求項1~3に係る発明は,本件補正の特許請求の範囲の請求項1~3に記載された事項により特定されるものであり,そのうち請求項1に係る発明は,次のとおりのものである。
「【請求項1】宿泊施設における適正な宿泊料金を設定するための宿泊料金設定装置であって,複数の施設における,過去の第1の日付に対して設定された宿泊料金の前記第1の日付に至るまでの変化の情報と,ブッキングカーブを形成する情報であって,前記第1の日付に至るまでの所定期間における前記第1の日付の客室予約数の時系列変化の情報とを保持する過去データ記憶部と,前記過去データ記憶部から,前記第1の日付の客室予約数の時系列変化が予め設定された基準を満たす,理想的なブッキングカーブを抽出するブッキングカーブ抽出部と,前記過去データ記憶部から,前記第1の日付の客室予約数の時系列変化が外的要因の影響を受けているブッキングカーブを特定する外的要因データ特定部と,機械学習モデルに,前記第1の日付の宿泊料金の変化を判断させ,判断の結果が,前記外的要因の影響を受けているブッキングカーブであって,且つ,前記理想的なブッキングカーブであるブッキングカーブに対応する施設における前記第1の日付の宿泊料金の変化と同じになるように,前記機械学習モデルを訓練する機械学習モデル訓練部と,訓練後の前記機械学習モデルに,将来の第2の日付の宿泊料金を設定させる宿泊料金設定部と,を備えた宿泊料金設定装置。」
第3 当審の拒絶の理由の概要
当審の令和3年3月4日付け拒絶理由通知の理由は,概略,次のとおりのものである。
1 理由1(実施可能要件)
この出願は,発明の詳細な説明の記載が,特許法36条4項1号に規定する要件を満たしていない。
2 理由2(明確性)
この出願は,特許請求の範囲の記載が,特許法36条6項2号に規定する要件を満たしていない。
第4 当審の判断
1 理由1(実施可能要件)について
(1)実施可能要件について
特許法36条4項1号が実施可能要件を定める趣旨は,明細書の発明の詳細な説明に,当業者がその実施をすることができる程度に発明の構成等が記載されていない場合には,発明が公開されていないことに帰し,発明者に対して特許法の規定する独占的権利を付与する前提を欠くことになるからであると解される。
そして,物の発明における発明の実施とは,その物の生産,使用等をする行為をいうから(同法2条3項1号),物の発明について上記の実施可能要件を充足するためには,当業者が,明細書の発明の詳細な説明の記載及び出願当時の技術常識とに基づいて,過度の試行錯誤を要することなく,その物を製造し,使用することができる程度の記載があることを要する。
このため,本件明細書の発明の詳細な説明の記載及び出願当時の技術常識とに基づいて,過度の試行錯誤を要することなく,その物を製造し,使用することができる程度の記載があるか否かについて,検討する。
(2)発明の詳細な説明に記載された事項
発明の詳細な説明には次の事項が記載されている。
ア 「【発明が解決しようとする課題】【0004】特許文献1,2には,過去の宿泊予約の傾向をグラフ化したブッキングカーブに基づいて宿泊料金を設定することが記載されている。しかし,特許文献1,2には,宿泊の時期や宿泊施設の所在地域など,様々な条件に応じて適正な宿泊料金を設定する方法については開示されていない。【0005】そこで本発明の目的は,様々な条件に対応した適正な宿泊料金を自動的に設定することである。」
イ 「【発明の効果】【0009】本発明によれば,様々な条件に対応した適正な宿泊料金を自動的に設定することができる。」
ウ 「【0012】過去データ記憶部121には,複数の宿泊施設における,過去の日付(第1の日付)に対して設定された宿泊料金の時系列変化の情報(第1の日付の宿泊料金の,第1の日付に至るまでの所定期間における変化の情報)と,第1の日付に至るまでの所定期間における客室予約数の時系列変化の情報と,第1の日付に至るまでの所定期間における外的要因に関する情報とが保持されている。第1の日付に至るまでの所定期間における第1の日付の客室予約数の時系列変化の情報はブッキングカーブを形成する情報である。【0013】客室料金設定装置10は,ホテルや旅館等の宿泊施設の宿泊料金の設定に利用するブッキングカーブを提供する。ブッキングカーブとは,特定の日付における予約件数の増加(客室在庫数の減少)の傾向を表す曲線である。具体的には,例えば図2に示すように,直交座標の横軸を特定の日付(当日)までの日数,縦軸を予約件数(客室在庫減少量)として作成されるグラフである。一般的に,宿泊料金が適正料金より安い場合には曲線の傾きは急になり,高い場合には緩やかになる傾向がある。また,宿泊施設への需要に影響を与える各種の外的要因(利用客による評価スコア,気象状況,経済状況,イベントの有無,競合する宿泊施設の宿泊料金,競合する宿泊施設の予約状況(客室在庫数)等)もブッキングカーブの傾きに影響を与える。」
エ 「【0014】本実施形態では,まず過去の理想的なブッキングカーブが再現できるように機械学習モデルを訓練する。次に,過去のデータを用いて訓練した機械学習モデルによって未来の宿泊料金を設定し,その結果,実際に得られたブッキングカーブと,過去の理想的なブッキングカーブを比較して検証する。【0015】(過去データを用いた機械学習モデルの訓練)続きを表示(全25行)まず,客室料金設定装置10による,過去のデータを用いた機械学習モデルの訓練について図3のフローチャートを用いて説明する。【0016】まず,客室料金設定装置10は,理想的なブッキングカーブBC(n)を抽出する(ステップS101)。具体的には,過去データ記憶部121に記憶されている複数の宿泊施設のブッキングカーブ(第1の日付に至るまでの所定期間における第1の日付の客室予約数の時系列変化の情報)の中から,所定の基準を満たすブッキングカーブを抽出する。【0017】所定の基準を満たす理想的なブッキングカーブとは,宿泊施設の収益を最大化するブッキングカーブである。同時に,当該宿泊施設の固有特性,ホテルタイプによる特性,地域的特性などを考慮する必要もある。例えば,ラグジュアリーホテルはブランド価値の維持のため,仮に収益を最大化できるとしても,宿泊料金の値下げは行わない場合がある。また,沖縄の宿泊施設では客室在庫が早い段階で減る傾向があるため,ブッキングカーブの傾きが非常に急になるという特徴がある。また,予測と実際の需給状況が大きく乖離するリスクをヘッジするため,販売開始から当日まで予約が分散することが望ましい。客室料金設定装置10は,予め設定された所定の基準を満たすブッキングカーブ,または,所定の基準を満たすブッキングカーブに最も近いブッキングカーブを形成するケースを抽出する。抽出の条件は,宿泊施設によって(地域やホテルタイプ等によって)異なっていてもよい。また,利用者が特定のケースを理想的なブッキングカーブBC(n)として指定するようにしてもよい。【0018】次に,客室料金設定装置10は,理想的なブッキングカーブBC(n)と対比するための理想的ではないブッキングカーブBC'(n)を抽出する(ステップS102)。具体的には,理想的なブッキングカーブBC(n)を形成した宿泊施設(ここでは,宿泊施設A)と,所在地域,施設のタイプ(ホテル,民宿,旅館等),部屋のタイプ(和室,洋室,シングル,ツイン等),及び価格帯等が同一の他の宿泊施設のブッキングカーブの中から,理想的なブッキングカーブの基準を満たさないものを抽出する。例えば,客室料金設定装置10は,理想的なブッキングカーブの基準から最も遠いものを抽出してもよい。また,抽出の条件は,宿泊施設によって(地域やホテルタイプ等によって)異なっていてもよい。また,利用者が特定のケースを理想的ではないブッキングカーブBC'(n)として指定するようにしてもよい。【0019】次に,客室料金設定装置10は,ブッキングカーブの形状に影響を与える外的要因を抽出する(ステップS103)。具体的には,例えば,以下の(a)~(e)の外的要因とブッキングカーブの傾きおよび傾きの変化との相関性を分析し,一定の相関関係(例えば,|0.7|以上)が認められた外的要因を抽出する。相関性の分析は,例えば,外的要因の発生と関係があるブッキングカーブ(例えば,特定のイベントが開催される時期の予約のブッキングカーブ)と,その外的要因とは関係が無いブッキングカーブの形状を比較することによって行うことができる。【0020】(a)人工知能により算出した利用客による評価スコアの絶対値および変動率(b)競合する宿泊施設の宿泊料金,および客室在庫数の絶対値,相対水準,変動の幅,変動の速度等。(c)同じ所在地域の民泊施設の宿泊料金および部屋在庫数の絶対値,相対水準,変動の幅,変動の速度等。(d)所在地域内でのイベントの有無(e)季節や気象状況【0021】次に,客室料金設定装置10は,ステップS103で抽出された外的要因と関連がある訓練データにラベル付けをする(ステップS104)。訓練データは,過去データ記憶部121に記憶されているデータ(特定の日の客室予約数の時系列変化)の中から抽出する。具体的には,例えば,桜の開花時期(外的要因Z(n))とブッキングカーブの形状に相関性が認められた場合,桜の開花時期に当たる日の客室予約数の時系列変化のデータはラベル付けの対象となる。【0022】次に,客室料金設定装置10は,ステップS104でラベル付けした訓練データを用いて,外的要因に対し宿泊料金をどのように変化させるかを機械学習モデルに判定させる訓練を行う(ステップS105)。具体的には,例えば,機械学習モデルに,外的要因Z(n)が発生する日の宿泊料金を上げるか,維持するか,または下げるかを判断させる。判断の結果が理想的なブッキングカーブBC(n)と同様の場合には正解とし,それ以外の場合(理想的ではないブッキングカーブBC'(n)と同様の選択をした場合)は不正解とする。【0023】次に,客室料金設定装置10は,検証用のテストデータを用いて,ステップS105で訓練した機械学習モデルの評価・検証を行う(ステップS106)。テストデータは,過去データ記憶部121に記憶されているデータ(特定の日の客室予約数の時系列変化)の中から抽出する。」
オ 「【0024】(機械学習モデルによる未来の予測と検証)次に,ステップS101~S106で訓練した機械学習モデル(以下,訓練後の機械学習モデルと記す。)を用いて,将来の宿泊料金を設定し,さらに検証する処理について,図4のフローチャートを用いて説明する。【0025】続きを表示(全13行)まず,客室料金設定装置10は,訓練後の機械学習モデルに,将来の特定の日付(第2の日付)の宿泊料金を設定させる(ステップS201)。具体的には,現状のデータ(現在の宿泊料金,現在の客室在庫数,ブッキングカーブに影響を与える外的要因の有無)に基づいて,機械学習モデルが当該日付の宿泊料金を設定する。特に,ブッキングカーブの形状と相関性の高い外的要因が発生する場合には,機械学習モデルに宿泊料金を上げるか,維持するか,または下げるかを判断させる。【0026】例えば,桜の開花時期(外的要因Z(n))に当たる場合には,その期間(例えば,4月1日~4月10日)の宿泊料金を上げるという判断をする。また,上げる幅については,ステップS103で分析した相関係数に基づいて決定してもよい。また,同期間の前後のブッキングデータにも影響があると判明している場合には,前後の期間についても宿泊料金を上げるようにしてもよい。【0027】次に,客室料金設定装置10は,ステップS201で宿泊料金を設定した後,その後の実際の客室在庫数の変化の状況に基づいて,機械学習モデルによる料金設定の検証を行う(ステップS202)。具体的には,宿泊料金を設定した日付についての実際に得られたリアルタイムのブッキングカーブBC(r)が,理想的なブッキングカーブBC(n)に近似していれば判断は正解とする。一方,BC(r)の傾きがBC(n)に比べて急になった場合は,宿泊料金の上げ幅が不十分と判定する。また,BC(r)の傾きがBC(n)を下回る領域まで平坦化した場合は,上げ幅が過大と判定する。なお,上げ幅が過大と判定された場合でも,宿泊料金は少なくとも維持することとし,下げることは行わないようにしてもよい。【0028】客室料金設定装置10は,ステップS201~S202を繰り返すことにより,機械学習モデルの精度を高め,BC(r)をBC(n)にできるだけ近づけるようにする。【0029】以上のように,本実施形態によれば,客室料金設定装置10が,まず過去の理想的なブッキングカーブが再現できるように機械学習モデルを訓練し,訓練した機械学習モデルによって未来の宿泊料金を設定するようにしたので,様々な条件に対応した適正な宿泊料金を自動的に設定することができる。」
(3)当審の判断
ア 発明の詳細な説明から把握できる事項
上記(2)から,次の事項が把握できる。
(ア)発明が解決しようとする課題及び発明の効果について,上記(2)アから,請求項1~3に係る発明は,従来,宿泊の時期や宿泊施設の所在地域など,様々な条件に応じて適正な宿泊料金を設定する方法については開示されていないとの課題を解決するために,請求項1~3に係る発明の構成を採用することで,上記(2)イのとおり,様々な条件に対応した適正な宿泊料金を自動的に設定することができるとの効果を奏するものである。
(イ)ブッキングカーブについて,上記(2)ウのとおり,第1の日付(複数の宿泊施設における,過去の日付)に至るまでの所定期間における第1の日付の客室予約数の時系列変化の情報を,ブッキングカーブを形成する情報とし,「ブッキングカーブ」とは,特定の日付における予約件数の増加(客室在庫数の減少)の傾向を表す曲線であると定義し,例示として,図2のように直交座標の横軸を特定の日付(当日)までの日数,縦軸を予約件数(客室在庫減少量)として作成されるグラフを挙げ,ブッキングカーブの傾きに影響を与えるものとして,宿泊施設への需要に影響を与える各種の外的要因(利用客による評価スコア,気象状況,経済状況,イベントの有無,競合する宿泊施設の宿泊料金,競合する宿泊施設の予約状況(客室在庫数)等)を挙げている。
(ウ)機械学習モデルの学習について,上記(2)エから,次の事項が把握できる。
a 理想的なブッキングカーブBC(n)を取得する(ステップS101)。
過去データ記憶部121に記憶されている複数の宿泊施設のブッキングカーブから,所定の基準を満たす(宿泊施設の収益を最大化する)ブッキングカーブ(理想的なブッキングカーブ)BC(n)を抽出する。
b 理想的なブッキングカーブBC(n)と対比するための理想的ではないブッキングカーブBC'(n)を抽出する(ステップS102)。
理想的なブッキングカーブBC(n)を形成した宿泊施設と,所在地域,施設のタイプ,部屋のタイプ,及び価格帯等が同一の他の宿泊施設のブッキングカーブの中から,理想的なブッキングカーブの基準を満たさないものを抽出する。
c ブッキングカーブの形状に影響を与える外的要因を抽出する(ステップS103)。
(a)人工知能により算出した利用客による評価スコアの絶対値および変動率,(b)競合する宿泊施設の宿泊料金,および客室在庫数の絶対値,相対水準,変動の幅,変動の速度等,(c)同じ所在地域の民泊施設の宿泊料金および部屋在庫数の絶対値,相対水準,変動の幅,変動の速度等,(d)所在地域内でのイベントの有無,(e)季節や気象状況,の外的要因とブッキングカーブの傾きおよび傾きの変化との相関性を分析し,一定の相関関係が認められた外的要因を抽出する。
d ステップS103で抽出された外的要因と関連がある訓練データにラベル付けをする(ステップS104)。
「訓練データ」は,過去データ記憶部121に記憶されているデータ(特定の日の客室予約数の時系列変化)の中から抽出する。例えば,桜の開花時期(外的要因Z(n))とブッキングカーブの形状に相関性が認められた場合,桜の開花時期に当たる日の客室予約数の時系列変化のデータはラベル付けの対象となる。
e ステップS104でラベル付けした訓練データを用いて,外的要因に対し宿泊料金をどのように変化させるかを機械学習モデルに判定させる訓練を行う(ステップS105)。
例えば,機械学習モデルに,外的要因Z(n)が発生する日の宿泊料金を上げるか,維持するか,または下げるかを判断させる。判断の結果が理想的なブッキングカーブBC(n)と同様の場合には正解とし,それ以外の場合(理想的ではないブッキングカーブBC'(n)と同様の選択をした場合)は不正解とする。
f 検証用のテストデータを用いて,ステップS105で訓練した機械学習モデルの評価・検証を行う(ステップS106)。
「テストデータ」は,過去データ記憶部121に記憶されているデータ(特定の日の客室予約数の時系列変化)の中から抽出する。
(エ)機械学習モデルによる未来の予測について,上記(2)オから,次の事項が把握できる。
a 訓練後の機械学習モデルに,将来の特定の日付(第2の日付)の宿泊料金を設定させる(ステップS201)。
現状のデータ(現在の宿泊料金,現在の客室在庫数,ブッキングカーブに影響を与える外的要因の有無)に基づいて,機械学習モデルが当該日付の宿泊料金を設定する。特に,ブッキングカーブの形状と相関性の高い外的要因が発生する場合には,機械学習モデルに宿泊料金を上げるか,維持するか,または下げるかを判断させる。
b ステップS201で宿泊料金を設定した後,その後の実際の客室在庫数の変化の状況に基づいて,機械学習モデルによる料金設定の検証を行う(ステップS202)。
宿泊料金を設定した日付についての実際に得られたリアルタイムのブッキングカーブBC(r)が,理想的なブッキングカーブBC(n)に近似していれば判断は正解とする。一方,BC(r)の傾きがBC(n)に比べて急になった場合は,宿泊料金の上げ幅が不十分と判定する。また,BC(r)の傾きがBC(n)を下回る領域まで平坦化した場合は,上げ幅が過大と判定する。
c ステップS201~S202を繰り返すことにより,機械学習モデルの精度を高め,BC(r)をBC(n)にできるだけ近づけるようにする。
(オ)発明の詳細な説明における「客室料金設定装置」(請求項1の「宿泊料金設定装置」)の動作は,上記(ウ)及び(エ)のとおりである。
すなわち,次の「処理1」~「処理6」のとおりである。
「処理1」:まず,理想的なブッキングカーブBC(n)及び理想的ではないブッキングカーブBC’(n)を抽出し,ブッキングカーブに影響を与える外的要因を抽出する。
「処理2」:次に,外的要因と関連がある,過去データ記憶部121に記憶されているデータの中から抽出した「訓練データ」に対して,ラベルを付ける。
「処理3」:さらに,ラベル付けした訓練データを用いて機械学習モデルに判定させる訓練をすることであって,機械学習モデルに,外的要因Z(n)が発生する日の宿泊料金を上げるか,維持するか,または下げるかを判断させ,判断の結果が理想的なブッキングカーブBC(n)と同様の場合には正解とし,それ以外の場合(理想的ではないブッキングカーブBC'(n)と同様の選択をした場合)は不正解とする,訓練を行う。
「処理4」:そして,過去データ記憶部121に記憶されているデータの中から抽出した検証用のテストデータを用いて,処理3で訓練した機械学習モデルの評価・検証を行う。
「処理5」:また,訓練後の機械学習モデルを用いて,現状のデータに基づいて,宿泊料金を上げるか,維持するか,または,下げるかを,判断させ,宿泊料金を設定させる。
「処理6」:このようにして設定された宿泊料金に対して,理想的なブッキングカーブと比較をすることで,検証を行う。
なお,発明の詳細な説明には,訓練の結果に対して正解又は不正解の判断をすること,機械学習モデルに対する検証処理を行うことが記載されていることから,発明の詳細な説明における,機械学習モデルに対する「訓練」は,いわゆる教師あり学習を意味すると考えることが自然である。
イ 技術常識である機械学習モデルの訓練(教師あり学習)及び予測について
教師ありデータを用いた一般的な機械学習モデルの訓練(教師あり学習),及び,訓練済みの学習済みモデルを用いた予測の処理は,通常,次の「処理A」~「処理C」ようにして行われる。なお,訓練(「学習」ともいう。)前の機械学習モデルを「学習器」と呼ぶこともある。
「処理A」:訓練データが用意される。ここで,訓練データは,機械学習モデル(学習器)の入力ポートに入力すべき入力データと,機械学習モデル(学習器)の出力ポートからの出力とを比較する正解データからなることが一般的である。
「処理B」:訓練が行われる。すなわち,機械学習モデルの入力ポートに,処理Aの訓練データのうち入力データが入力され,機械学習モデルの出力ポートから出力結果が得られる。そして,出力結果と訓練データの正解データとが比較され,比較結果(差分)に基づき,当該機械学習モデルに対して,出力結果が正解データになるようにする調整するためのフィードバック処理が行われる。複数の訓練データのそれぞれに対して,入力データの入力,出力結果の取得,出力結果と正解データとの比較,フィードバック,の処理が行われる。なお,訓練終了後の機械学習モデルを「学習モデル」と呼ぶこともある。
「処理C」:予測が行われる。すなわち,処理Bで得られた訓練済みの機械学習モデルを用いて,訓練データの入力データと同じ形式のデータ(正解データを含まないデータ)を機械学習モデルに入力し,出力を得る。出力結果を用途に応じて利用する。
なお,技術常識を示す文献として,モバイルコンピューティング推進コンソーシアム監修,IoT技術テキスト-MCPC IoTシステム技術検定対応-,株式会社リックテレコム,2016年10月28日,160~162頁がある。
ウ 検討
発明の詳細な説明において,上記イの技術常識を考慮しても,次に示す事項の技術的意味を理解することができない。
(ア)用語について
a 「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」について
(a)処理1で抽出した「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」は,処理3において正解又は不正解の判断のために用いられていることから,処理A及び処理Bを考慮すると,「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」が「正解データ」であると解釈することが自然である。他方,処理4で行われる検証処理では,「検証用のテストデータ」が用いられており,訓練した機械学習モデルの評価・検証のために「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」を用いていないことから,「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」の技術的意味が不明である。
(b)上記(a)のとおり,「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」は,処理3の「訓練」処理という観点(「判断の結果が理想的なブッキングカーブBC(n)と同様の場合には正解とし,それ以外の場合(理想的ではないブッキングカーブBC'(n)と同様の選択をした場合)は不正解とする。」(【0023】))においては,処理Aの「正解データ」に対応するデータであると考えることが自然である。しかしながら,処理1では,「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」を抽出すること,ブッキングカーブに影響を与える「外的要因」を抽出することが記載されるのみであり,処理2では,訓練データは,過去データ記憶部121に記憶されているデータの中から抽出したデータであることが記載されるのみであるから,これらの記載に基づくと,処理3における訓練データが,「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」を「正解データ」としたときの「入力データ」に対応するデータであるとは解釈できない。このため「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」が,「正解データ」であるとすると,「正解データ」に対応する「入力データ」が不明であり,「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」が「正解データ」でないとすると,技術的にどのような意味を持つデータであるのか不明である。
b 「訓練データ」及び「ラベル」について
上記a(a)のとおり,処理3の「訓練」処理という観点においては,「理想的なブッキングカーブ」及び「理想的ではないブッキングカーブ」は,処理Aの「正解データ」に該当するデータであると考えることが自然である。また,処理2では,外的要因と関連がある,過去データ記憶部121に記憶されているデータの中から抽出した「訓練データ」に対して,ラベルを付けるものであって,このラベル付けされた訓練データを用いて機械学習モデルの訓練を行うことから,ラベル付けされた「訓練データ」が処理Aの「訓練データ」の「入力データ」に該当すると考えることが自然である。そして,一般的な教師あり学習では,機械学習モデルに入力される入力データと正解データとの間には,何らかの因果関係(例えば,犬の画像データを入力データとしたときの,正解データを「犬」とする等)があることが技術常識であることから,この場合,「訓練データ」と正解データとの間には,何らかの因果関係が存在しなければならない。
他方,上記a(b)のとおり,処理2のラベル付けされた「訓練データ」は,「入力データ」であるとは解釈できないため,「訓練データ」と,「理想的なブッキングカーブ」又は「理想的ではないブッキングカーブ」との関係は不明である。さらに,発明の詳細な説明において,「理想的なブッキングカーブ」について,「過去データ記憶部121に記憶されている複数の宿泊施設のブッキングカーブ(第1の日付に至るまでの所定期間における第1の日付の客室予約数の時系列変化の情報)の中から,所定の基準を満たすブッキングカーブを抽出する。」(【0016】)とし,「訓練データ」について,「客室料金設定装置10は,ステップS103で抽出された外的要因と関連がある訓練データにラベル付けをする」,「訓練データは,過去データ記憶部121に記憶されているデータ(特定の日の客室予約数の時系列変化)の中から抽出する。」(以上,【0021】)とあることから,「訓練データ」は,外的要因と関連のあるラベル付けされたデータであるのに対し,「理想的なブッキングカーブ」は,「所定の条件」さえ満たせばよいとするものである。このため,ラベル付き「訓練データ」と「理想的なブッキングカーブ」との間には,何らかの因果関係が存在するとはいえないため,ラベル付き「訓練データ」と「理想的なブッキングカーブ」は,機械学習モデルへの「入力データ」と「正解データ」の関係にあること解釈することはできない。
このように,「訓練」処理における,「理想的なブッキングカーブ」の説明は整合しているとはいえず,このため,機械学習モデルに入力する入力データを「ラベル付き訓練データ」とすると,どのデータが正解データに該当するのか理解できない。
よって,「訓練データ」が技術的にどのような意味を持つデータであるのか不明であり,また,処理3の訓練において,何が正解データであるかも不明である。
なお,「ラベル」が「正解データ」であると仮定をしても,「ラベル」は,訓練データに外的要因と関連があることを示すものであり,ラベル付けされた訓練データにより訓練する場合には,機械学習モデルの出力は,入力された入力データは外的要因と関連があることを示す結果を常に出力することになり,発明が解決しようとする課題を解決することはできず,この仮定は成立しない。そのため,「ラベル」についても,「訓練」処理において,どのような役割を果たすのか(入力データに含まれるデータ等)定かではない。
c 「検証用のテストデータ」について
発明の詳細な説明には,検証用の「テストデータは,過去データ記憶部121に記憶されているデータ(特定の日の客室予約数の時系列変化)の中から抽出する。」(【0023】)とするのみで,「ラベル付き訓練データ」によって訓練された機械学習モデルに対して,検証用のテストデータには,検証に必要な「外的要因」との関係は説明されていない。
さらに,後述する(イ)bの「検証」処理の技術的意味が不明であることに関連して,「検証用のテストデータ」は「検証」用のデータであって,訓練に用いられるデータではない点で,「訓練データ」とどのような関係になるのか不明である。
よって,処理4における「検証用のテストデータ」の技術的意味を理解することができない。
d 「現状のデータ」について
「現状のデータ」がどのようなデータであるのか発明の詳細な説明に記載がないため,「訓練データ」及び「ラベル」との関係(同じ形式のデータであるか否か)が分からない。
また,特に【0025】には「現状のデータ(現在の宿泊料金,現在の客室在庫数,ブッキングカーブに影響を与える外的要因の有無)に基づいて」とあり,予測処理に用いられる現状のデータは,「外的要因の有無」という入力データを含んでおり,外的要因と関連のあるラベル付け訓練もデールと異なる入力形式であること明らかであり,後述する(イ)cに関連して,訓練処理と予測処理とで,機械学習モデルに入力されるデータは同じ形式であることが技術常識(処理C)であることを考慮すると,ラベル付き訓練データと異なる形式の「現状のデータ」が,「予測」処理において,技術的にどのような意味を持つのか理解できない。
よって,処理5における「現状のデータ」の技術的意味を理解することができない。
(イ)処理について
a 「訓練」処理について
処理3では,訓練データに基づき,機械学習モデルに,外的要因Z(n)が発生する日の宿泊料金を上げるか,維持するか,または下げるかを判断させる処理を含む。ここで,機械学習モデルに判断させることは,訓練データが機械学習モデルへの入力データであるときの出力結果が,外的要因Z(n)が発生する日の宿泊料金を「上げる」,「維持する」,または「下げる」の何れかであることを意味する。このとき,判断の結果が理想的なブッキングカーブBC(n)と同様の場合には正解とし,それ以外の場合(理想的ではないブッキングカーブBC'(n)と同様の選択をした場合)は不正解とするためには,出力結果が「理想的なブッキングカーブ」又は「理想的ではないブッキングカーブ」と比較可能な形式でなければならないところ,上述したとおり,機械学習モデルの出力は,外的要因Z(n)が発生する日の宿泊料金を「上げる」,「維持する」,または「下げる」であるため,概念の異なる「理想的なブッキングカーブ」又は「理想的ではないブッキングカーブ」と比較可能なものであるとはいえない。
また,発明の詳細な説明には,機械学習モデルの出力結果である,外的要因Z(n)が発生する日の宿泊料金を「上げる」,「維持する」,または「下げる」と比較可能な「正解データ」の説明もない。
さらに,処理3では,判断の結果が理想的なブッキングカーブBC(n)と同様の場合には「正解」とし,それ以外の場合(理想的ではないブッキングカーブBC'(n)と同様の選択をした場合)は「不正解」とするものであるから,入力される訓練データは,常に理想的なブッキングカーブを有するものでなければならないところ,訓練データは,処理1の後に行われる処理2で抽出されるものであって,上記(ア)bでみたとおり,ラベル付き「訓練データ」と「理想的なブッキングカーブ」は,機械学習モデルへの「入力データ」と「正解データ」の関係にあること解釈することはできず,入力される訓練データは,理想的なブッキングカーブと理想的ではないブッキングカーブのどちらを有しているのか不明であることから,訓練データを機械学習モデルに入力することで,適切な訓練が行われるか不明である。
そうすると,処理3における「訓練」とは,技術常識(処理B)を考慮しても,技術的にどのような意味を持つ訓練であるのか不明である。また,これにより,機械学習モデルは,訓練できているのか不明である。上記(ア)bに関連して,このとき,「ラベル付き訓練データ」は,訓練にどのように寄与するのか不明である。
b 「検証」処理について
(a)処理4における「検証」処理について
上記(ア)cに関連して,処理4は,「過去データ記憶部121」に記憶されている「データ(特定の日の客室予約数の時系列変化)」の中から抽出される(【0023】)であって,「複数の宿泊施設における,過去の日付(第1の日付)に対して設定された宿泊料金の時系列変化の情報(第1の日付の宿泊料金の,第1の日付に至るまでの所定期間における変化の情報)と,第1の日付に至るまでの所定期間における客室予約数の時系列変化の情報と,第1の日付に至るまでの所定期間における外的要因に関する情報」(【0012】)とするのみであって,過去データ記憶部121に記憶されるどのデータ(例えば,外的要因と無関係のデータ等)であっても検証可能とするものと理解できる。そうすると,「検証」処理では,「訓練」処理とは異なる形式のデータを用いることも含むこととなり,何を目的として,どのような結果が得られることで「検証」したことになるのか不明である。
このように,過去データ記憶部121に記憶されているどのデータを「検証」用のデータとして使用するのか不明であるため,訓練した機械学習の評価・検証を行う技術的意味が不明である。
また,「検証用のテストデータ」が処理Aの「入力データ」及び「正解データ」からなるデータであるとすると,処理3の「訓練」との違いがなく,「検証」を行う理由が理解できない。
(b)処理6における「検証」処理について。
処理6は,設定された宿泊料金に対して,理想的なブッキングカーブと比較をすることで,検証を行うものであって,具体的には「理想的なブッキングカーブ」に近似するか否かで,正解又は不十分とするものであるが,技術常識(処理C)を考慮しても,未来の予測処理で得られた結果に対して検証を行うことの技術的意味が不明である。また,後述するcの「予測」処理との関係で,機械学習モデルの出力が,「宿泊料金」であるのか,宿泊料金を「上げる」,「維持する」,「下げる」の3つのうちいずれかであるのか,定かではないため,何と「理想的なブッキングカーブ」とを比較しているのか理解できない。
c 「予測」処理について
処理5は,訓練後の機械学習モデルを用いて,現状のデータに基づいて,宿泊料金を上げるか,維持するか,または,下げるかを,判断させ,宿泊料金を設定させるものである。しかしながら,上記(ア)dのとおり,現状のデータは,「外的要因の有無」という入力データを含んでおり,外的要因と関連のあるラベル付け訓練もデータと異なる入力形式であること明らかであり,技術常識(処理C)とは異なる特有の「予測」処理であると考えられるが,発明の詳細な説明には具体的な説明がないため,「予測」処理内容を理解することができない。
さらに,上記b(b)の「検証」処理との関係で,「予測」処理の出力は,「宿泊料金」であるのか,宿泊料金を「上げる」,「維持する」,「下げる」の3つのうちいずれかであるのか定かではないため,「予測」処理によって,どのような結果が得られるのか不明である。
(ウ)まとめ
以上のとおり,発明の詳細な説明の記載では,技術常識を考慮しても,「訓練」処理,「検証」処理,「予測」処理,の各処理内容及び技術的意味を理解できず,これらの処理を理解するために必要となる「理想的なブッキングカーブ」,「理想的ではないブッキングカーブ」,「訓練データ」,「ラベル」,「検証用のテストデータ」及び「現状のデータ」の技術的意味も理解できないため,当業者が発明を実施することができない。仮に実施できるとしても,実施するために過度の試行錯誤を要することは明らかである。
そして,請求項1は,これらの処理等に対応する「ブッキングカーブを形成する情報」,「理想的なブッキングカーブ」,「前記過去データ記憶部から,前記第1の日付の客室予約数の時系列変化が外的要因の影響を受けているブッキングカーブを特定する外的要因データ特定部」,「機械学習モデルに,前記第1の日付の宿泊料金の変化を判断させ,判断の結果が,前記外的要因の影響を受けているブッキングカーブであって,且つ,前記理想的なブッキングカーブであるブッキングカーブに対応する施設における前記第1の日付の宿泊料金の変化と同じになるように,前記機械学習モデルを訓練する機械学習モデル訓練部」,「訓練後の前記機械学習モデルに,将来の第2の日付の宿泊料金を設定させる宿泊料金設定部」を構成に含むことから,客室料金設定装置(請求項1の「宿泊料金設定装置」)を製造し,使用することができる程度に記載されているとは認められない。
よって,「宿泊料金設定装置」の発明である請求項1に係る発明に関し,発明の詳細な説明の記載は,その発明の属する技術分野における通常の知識を有する者がその実施をすることができる程度に明確かつ十分に記載したものでない。
また,「宿泊料金設定方法」の発明である請求項2及び「プログラム」の発明である請求項3は,「宿泊料金設定装置」の発明である請求項1に係る発明とカテゴリーが異なるのみで,その構成は,「宿泊料金設定方法」の発明及び「プログラム」の発明に対応させのみである。よって,「宿泊料金設定方法」の発明である請求項2に係る発明及び「プログラム」の発明である請求項3係る発明に関し,発明の詳細な説明の記載は,その発明の属する技術分野における通常の知識を有する者がその実施をすることができる程度に明確かつ十分に記載したものでない。
(4)審判請求人の意見書における主張について
ア 審判請求人は,令和3年4月30日提出の意見書で,次のように主張する。
(A)「 過去データ記憶部121には,ある宿泊施設についての,過去の第1の日付に対して設定された宿泊料金の時系列変化の情報(第1の日付に至るまでの,第1の日付の宿泊料金の変化の情報)と,第1の日付に至るまでの客室予約数の時系列変化の情報(ブッキングカーブ)が紐づけて記憶されています。この中から,例えば,第1の日付が桜の開花時期(外的要因)であるような,宿泊料金の時系列変化と,客室予約数の時系列変化のデータのセットを機械学習モデルの訓練データとして抽出します。抽出したセットの中には,客室予約数の時系列変化が理想的なもの(理想的なブッキングカーブ)とそうでないものが含まれています。」
(B)「 客室料金設定装置10は,機械学習モデルに対し,例えば,第1の日付の90日前の時点で,第1の日付の宿泊料金を現状の料金から上げるか,維持するか,下げるか判断させます。判断の結果が,理想的なブッキングカーブと紐づけられている宿泊料金の時系列変化(90日前の時点で,その後宿泊料金を上げたか,維持したか,下げたか)と同じであれば,正解とします。それ以外の場合は不正解とします。以上の処理を繰り返すことによって,機械学習モデルの訓練を行います。このようにして訓練を実施した学習済の機械学習モデルに,将来の特定の日(第2の日付)の宿泊料金の設定を行わせます。すなわち,例えば,第2の日付の90日前の時点で,第2の日付の宿泊料金を現状の料金から上げるか,維持するか,下げるか判断させます。」
イ 審判請求人の上記主張について検討をする。
審判請求人は,上記(A)を前提として,機械学習モデルの訓練は,上記(B)のとおりであるから,実施可能要件を満たすと主張するものと理解できる。
上記(A)について,発明の詳細な説明【0012】に基づく主張であって,「抽出したセットの中には,客室予約数の時系列変化が理想的なもの(理想的なブッキングカーブ)とそうでないものが含まれています。」との点は,そのとおりのものと認められる。しかしながら,抽出された訓練データが「理想的なブッキングカーブ」又は「理想的ではないブッキングカーブ」と紐づけられていることを説明するものではない。この点,上記(3)ウ(ア)a(b)及び(3)ウ(ア)bで検討したとおりである。
これを踏まえて上記(B)について検討する。
上記(B)の処理は,上記(A)で抽出された「訓練データ」を用いて行うことを意味するが,「訓練データ」には,理想的なものとそうでないものとが含まれているものの,「訓練データ」が「理想的なブッキングカーブ」又は「理想的ではないブッキングカーブ」と紐づけられているものではないため,そのような「訓練データ」を入力して得られた結果を,「理想的なブッキングカーブ」と「理想的ではないブッキングカーブ」のどちらと比較するべきであるのか定かではないことから,そのような訓練データを用いて訓練を行うことで,機械学習モデルを適切に学習させることができるか不明である。
なお,審判請求人の主張は,「客室料金設定装置10は,機械学習モデルに対し,例えば,第1の日付の90日前の時点で,第1の日付の宿泊料金を現状の料金から上げるか,維持するか,下げるか判断させます。…以上の処理を繰り返すことによって,機械学習モデルの訓練を行います。」(下線は,当審で付与した。)との点について,機械学習モデルの訓練を説明する【0022】には,「以上の処理を繰り返すこと」についての記載はない。このため,審判請求人の主張は,発明の詳細な説明の記載に基づくものではない。仮に,審判請求人の主張する「客室料金設定装置10は,機械学習モデルに対し,例えば,第1の日付の90日前の時点で,第1の日付の宿泊料金を現状の料金から上げるか,維持するか,下げるか判断させます。…以上の処理を繰り返すことによって,機械学習モデルの訓練を行います。」との処理が正しいものであるとしても,「訓練データ」が「理想的なブッキングカーブ」又は「理想的ではないブッキングカーブ」と紐づけられているものではないため,機械学習モデルの適切な訓練が行えるものでないとする上記(3)ウ(ア)a(b)及び(3)ウ(ア)bの判断に影響しない。
以上より、審判請求人の上記主張を採用することはできない。
(5)結論
以上より,この出願の発明の詳細な説明は,当業者が請求項1~3に係る発明を実施することができる程度に明確かつ十分に記載されたものでない。
2 理由2(明確性)について
請求項1の「ブッキングカーブを形成する情報」,「理想的なブッキングカーブ」,「前記過去データ記憶部から,前記第1の日付の客室予約数の時系列変化が外的要因の影響を受けているブッキングカーブを特定する外的要因データ特定部」,「機械学習モデルに,前記第1の日付の宿泊料金の変化を判断させ,判断の結果が,前記外的要因の影響を受けているブッキングカーブであって,且つ,前記理想的なブッキングカーブであるブッキングカーブに対応する施設における前記第1の日付の宿泊料金の変化と同じになるように,前記機械学習モデルを訓練する機械学習モデル訓練部」及び「訓練後の前記機械学習モデルに,将来の第2の日付の宿泊料金を設定させる宿泊料金設定部」について,上記理由1のとおり,発明の詳細な説明の記載を参照しても,技術的な意味を理解することができない。
「宿泊料金設定方法」の発明である請求項2に係る発明及び「プログラム」の発明である請求項3に係る発明は,「宿泊料金設定装置」の発明である請求項1に係る発明とカテゴリーが異なるのみで,その構成は,「宿泊料金設定方法」の発明及び「プログラム」の発明に対応させるのみであるから,上記理由1のとおり,発明の詳細な説明の記載を参照しても,技術的意味を理解することができない。
よって,請求項1~3に係る発明は,明確でない。
第5 むすび
以上のことから,この出願の発明は,詳細な説明の記載が,特許法36条4項1号に規定する要件を満たしていない。
また,この出願は,特許請求の範囲の記載が,特許法36条6項2号に規定する要件を満たしていない。
よって,結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
2020-002600