(57)【要約】【課題】事象がいずれの枠内にも割り当てられなくなる事態の発生を抑制すること。【解決手段】情報処理装置１００は、過去における枠ごとの使用頻度に関する情報を記憶する。情報処理装置１００は、複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付ける。情報処理装置１００は、要求に含まれる所定の事象を割り当てる割当先となる枠の候補を特定する情報から、割当先となる枠の複数の候補を特定する。情報処理装置１００は、過去における枠ごとの使用頻度に関する情報を参照して、特定した複数の候補のそれぞれの候補の使用頻度に基づいて、それぞれの候補内の空き領域に対する重みを設定する。次に、情報処理装置１００は、それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、複数の候補のうち、所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を、割当先として特定して出力する。【選択図】図１
2020135331.tif 000002
【特許請求の範囲】
【請求項１】
複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付け、
過去における前記枠ごとの使用頻度に関する情報を参照して、前記要求に含まれる前記所定の事象を割り当てる枠の候補を特定する情報から特定される複数の候補のそれぞれの候補の使用頻度に基づいて、前記それぞれの候補内の空き領域に対する重みを設定し、
前記それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を特定し、
特定した前記候補を出力する、
処理をコンピュータが実行することを特徴とする割当方法。
【請求項２】
前記特定する処理は、
前記それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が最も小さくなる候補を特定する、ことを特徴とする請求項１に記載の割当方法。
【請求項３】
前記特定する処理は、
前記それぞれの候補内の空き領域の大きさを、設定した当該空き領域に対する重みを用いて補正し、補正後の当該空き領域の大きさに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を特定する、ことを特徴とする請求項１または２に記載の割当方法。
【請求項４】
前記複数の枠のいずれかの枠内に事象を割り当てた結果、前記いずれかの枠内の空き領域が連続しなくなった場合、前記いずれかの枠を、それぞれ空き領域が連続する複数の枠に分割する、
処理を前記コンピュータが実行することを特徴とする請求項１〜３のいずれか一つに記載の割当方法。
【請求項５】
前記枠は、会議室の使用可能な時間枠であり、
前記事象は、人が前記会議室を使用する予定である、ことを特徴とする請求項１〜４のいずれか一つに記載の割当方法。
【請求項６】
前記要求は、所定の予定を割り当てる会議室が有する設備の条件を含み、
前記設定する処理は、
過去における前記時間枠ごとの使用頻度に関する情報を参照して、前記要求に含まれる前記情報から特定される複数の候補のそれぞれの候補の使用頻度と、前記それぞれの候補に対応する会議室が有する設備とに基づいて、前記それぞれの候補内の空き領域に対する重みを設定する、ことを特徴とする請求項５に記載の割当方法。
【請求項７】
前記受け付ける処理は、
前記情報を含む要求を端末装置から受け付け、
前記出力する処理は、
特定した前記候補を前記端末装置に出力する、ことを特徴とする請求項１〜６のいずれか一つに記載の割当方法。
【請求項８】
特定した前記候補を前記端末装置に出力したことに応じて、前記端末装置から割当指示を受け付け、
前記割当指示を受け付けたことに応じて、前記所定の事象を特定した前記候補に割り当て、前記所定の事象を特定した前記候補に割り当てたことを示す通知を前記端末装置に出力する、
処理を前記コンピュータが実行することを特徴とする請求項７に記載の割当方法。
【請求項９】
複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付け、
過去における前記枠ごとの使用頻度に関する情報を参照して、前記要求に含まれる前記所定の事象を割り当てる枠の候補を特定する情報から特定される複数の候補のそれぞれの候補の使用頻度に基づいて、前記それぞれの候補内の空き領域に対する重みを設定し、
前記それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を特定し、
特定した前記候補を出力する、
処理をコンピュータに実行させることを特徴とする割当プログラム。
【請求項１０】
複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付け、
過去における前記枠ごとの使用頻度に関する情報を参照して、前記要求に含まれる前記所定の事象を割り当てる枠の候補を特定する情報から特定される複数の候補のそれぞれの候補の使用頻度に基づいて、前記それぞれの候補内の空き領域に対する重みを設定し、
前記それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を特定し、
特定した前記候補を出力する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割当方法、割当プログラム、および情報処理装置に関する。
【背景技術】
【０００２】
従来、割当要求に応じて、複数の枠のいずれかの枠内に事象を割り当てる技術がある。例えば、割当要求に応じて、打合せの予定を、複数の会議室のうち、割当要求に含まれる条件を満たす会議室の使用可能な時間枠内で、まだ打合せの予定が割り当てられていない空き時間帯に割り当てる技術がある。
【０００３】
先行技術としては、例えば、利用者から受け付ける予約条件として、利用便名の代わりに希望利用時間帯の条件を受け付けるものがある。また、例えば、予約者が施設の座席を予約する際に、希望する座席の位置を指定したが希望座席が空席ではない場合に、代替えとなる座席を検索するための検索条件を座席予約システム側が生成して予約者側に提示する技術がある。また、例えば、新規予約情報と、受付済みの予約情報と、レンタル製品情報とに基づき、レンタル製品の再割付けを行い、再割付け結果から新規予約の受付可能か否かを判定する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３１２４４０号公報
【特許文献２】特開２００１−３５７２７３号公報
【特許文献３】特開２００１−３５１０２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、事象をいずれの枠内にも割り当てられないことがある。例えば、いずれかの事象を割り当てる条件を満たす枠が複数ある場合に、どのような割り当て方を行えば、その後に、他の事象を複数の枠のいずれかの枠内に割り当てる際に、いずれの枠内にも割り当てられない状況を回避しやすくなるかを判断することが難しい。
【０００６】
１つの側面では、本発明は、事象がいずれの枠内にも割り当てられなくなる事態の発生を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付け、過去における前記枠ごとの使用頻度に関する情報を参照して、前記要求に含まれる前記所定の事象を割り当てる枠の候補を特定する情報から特定される複数の候補のそれぞれの候補の使用頻度に基づいて、前記それぞれの候補内の空き領域に対する重みを設定し、前記それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を特定し、特定した前記候補を出力する割当方法、割当プログラム、および情報処理装置が提案される。
【発明の効果】
【０００８】
一態様によれば、事象がいずれの枠内にも割り当てられなくなる事態の発生を抑制することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる割当方法の一実施例を示す説明図である。
【図２】図２は、割当システム２００の一例を示す説明図である。
【図３】図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、予定ＤＢ４００の記憶内容の一例を示す説明図である。
【図５】図５は、希望頻度ＤＢ５００の記憶内容の一例を示す説明図である。
【図６】図６は、スロットＤＢ６００の記憶内容の一例を示す説明図である。
【図７】図７は、端末装置２０１のハードウェア構成例を示すブロック図である。
【図８】図８は、情報処理装置１００の機能的構成例を示すブロック図である。
【図９】図９は、情報処理装置１００の機能的構成の具体例を示すブロック図である。
【図１０】図１０は、ビンパッキング問題のオンラインアルゴリズムを示す説明図である。
【図１１】図１１は、打合せの予定を複数のスロットのいずれかのスロット内に割り当てる一例を示す説明図である。
【図１２】図１２は、スロットを分割する一例を示す説明図である。
【図１３】図１３は、チャットボットを実現する画面例を示す説明図（その１）である。
【図１４】図１４は、チャットボットを実現する画面例を示す説明図（その２）である。
【図１５】図１５は、チャットボットを実現する画面例を示す説明図（その３）である。
【図１６】図１６は、チャットボットにおけるユーザとの別の会話例を示す説明図（その１）である。
【図１７】図１７は、チャットボットにおけるユーザとの別の会話例を示す説明図（その２）である。
【図１８】図１８は、更新処理手順の一例を示すフローチャート（その１）である。
【図１９】図１９は、更新処理手順の一例を示すフローチャート（その２）である。
【図２０】図２０は、割当処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる割当方法、割当プログラム、および情報処理装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる割当方法の一実施例）
図１は、実施の形態にかかる割当方法の一実施例を示す説明図である。情報処理装置１００は、複数の枠のいずれかの枠内に事象を割り当てるコンピュータである。事象は、例えば、会議室を使用する予定である。枠は、例えば、会議室を使用する予定を割り当てる対象として当該会議室に対応付けて設定された、当該会議室の使用可能な時間枠である。
【００１２】
従来では、様々な事象を１つずつ複数の枠のいずれかの枠内に割り当てていく際に、事象を割り当てる条件を満たす１以上の枠のうち、事象が割り当てられていない空き領域が最も小さくなる枠内に、事象を割り当てるようにする技術がある。この技術は、例えば、ビンパッキング問題のオンラインアルゴリズムなどである。
【００１３】
しかしながら、従来では、様々な事象を１つずつ複数の枠のいずれかの枠内に割り当てていく過程で、事象をいずれの枠内にも割り当てられなくなる確率の増大化を招いてしまうことがある。例えば、いずれかの事象を割り当てる条件を満たす枠が複数ある場合に、どのような割り当て方を行えば、その後に、他の事象を複数の枠のいずれかの枠内に割り当てる際に、いずれの枠内にも割り当てられない状況を回避しやすくなるかを判断することが難しい。
【００１４】
具体的には、新たな打合せの予定を、ユーザの希望頻度が相対的に低い会議室についての時間枠内に割り当て可能であっても、ユーザの希望頻度が相対的に高い会議室についての時間枠内に割り当ててしまうことがある。希望頻度は、例えば、ユーザから打合せの予定を割り当てることが希望される回数の多さを示す指標値である。希望頻度は、具体的には、ユーザが指定した打合せの予定を割り当てる条件を満たす回数の多さに基づき設定される。これにより、以降に他の打合せの予定を割り当てることが希望される確率が高いと推定される会議室についての時間枠内の空き領域が低減し、以降に他の打合せの予定を割り当てられなくなる確率が増大することになる。
【００１５】
これに対し、新たな打合せの予定が、いずれの会議室についての時間枠内にも割り当てられない場合に、いずれかの会議室についての時間枠内に割り当て済みの打合せの予定を変更し、空き領域を作成する手法が考えられる。この手法によれば、新たな打合せの予定を、いずれかの会議室についての時間枠内に作成した空き領域に割り当てることができるようになる。
【００１６】
この手法では、打合せの予定の変更に際し、当該打合せに関わるユーザに対する交渉が必要になることがあり、ユーザにかかる作業負担の増大化を招く。また、当該打合せに関わるユーザに、当該打合せの予定の変更を伝達する必要があり、ユーザの作業負担の増大化を招く他に、伝達ミスにより不都合が生じることもある。このように、この手法では、煩雑な手続きを必要とし、ユーザにかかる作業負担の増大化を招く傾向がある。
【００１７】
そこで、本実施の形態では、所定の事象を複数の枠のいずれかの枠内に割り当てる際に、以降に他の事象をいずれの枠内にも割り当てられなくなる確率の低減化を図るように、所定の事象を割り当てる枠の候補を特定することができる割当方法について説明する。
【００１８】
図１において、情報処理装置１００は、過去における枠ごとの使用頻度に関する情報を記憶する。使用頻度は、例えば、過去に割当要求に基づき割当先の候補として特定された頻度である。図１の例では、枠Ａと枠Ｂと枠Ｃとが存在する。図１の例では、情報処理装置１００は、過去における枠Ａと枠Ｂと枠Ｃとの使用頻度に関する情報を記憶する。図１の例では、枠Ｃの使用頻度は、枠Ａの使用頻度および枠Ｂの使用頻度よりも高い。
【００１９】
情報処理装置１００は、複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付ける。要求は、例えば、所定の事象を割り当てる割当先となる枠の候補を特定する情報を含む。次に、情報処理装置１００は、要求に含まれる所定の事象を割り当てる割当先となる枠の候補を特定する情報から、割当先となる枠の１以上の候補を特定する。
【００２０】
情報処理装置１００は、過去における枠ごとの使用頻度に関する情報を参照して、特定した１以上の候補のそれぞれの候補の使用頻度に基づいて、それぞれの候補内の空き領域に対する重みを設定する。次に、情報処理装置１００は、それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、１以上の候補のうち、所定の事象を割り当てた後の空き領域が相対的に小さくなる候補を、割当先として特定して出力する。相対的に小さいとは、例えば、特定される候補が複数ある場合、少なくとも他の候補よりも小さいことを示し、例えば、最も小さいことを示す。相対的に小さいとは、例えば、特定される候補が１つである場合、最も小さいことを示す。
【００２１】
重みは、例えば、空き領域の大きさを補正する補正係数である。空き領域は、重みが大きいほど、大きくなるように補正される。このため、所定の事象を割り当てた後の空き領域が相対的に小さくなる候補を、割当先として特定するにあたり、枠内の空き領域に対して設定された重みが大きいほど、割当先として特定されにくくなる。
【００２２】
図１の例では、（１−１）情報処理装置１００は、事象１の割当先となる枠の候補として、枠Ａと枠Ｂと枠Ｃとを特定する情報を含み、事象１を割り当てることを要求する割当要求を受け付ける。情報処理装置１００は、事象１の割当先となる枠の候補として、割当要求に含まれる情報から特定され、かつ、事象１を割り当て可能な空き領域が存在する枠Ａと枠Ｂと枠Ｃとを特定する。
【００２３】
情報処理装置１００は、特定した枠Ａと枠Ｂと枠Ｃとのそれぞれの使用頻度に基づいて、使用頻度が高いほど空き領域への重みが大きくなるように、枠Ａと枠Ｂと枠Ｃとのそれぞれの空き領域への重みを設定する。ここでは、情報処理装置１００は、枠Ｃの使用頻度が、枠Ａの使用頻度および枠Ｂの使用頻度よりも高いため、枠Ｃの空き領域への重みを、枠Ａの空き領域への重みおよび枠Ｂの空き領域への重みよりも大きく設定する。
【００２４】
情報処理装置１００は、枠Ａと枠Ｂと枠Ｃとのそれぞれの空き領域の大きさを、設定した当該空き領域への重みを用いて補正する。情報処理装置１００は、事象４の割当先となる枠の候補として特定した枠Ａと枠Ｂと枠Ｃとのうち、事象１を割り当てた後の空き領域が最も小さくなる枠を、事象１の割当先として特定して出力する。ここでは、情報処理装置１００は、枠Ａを事象１の割当先として特定して出力する。
【００２５】
これによれば、情報処理装置１００は、枠Ｃ内よりも枠Ａ内または枠Ｂ内に、事象１が割り当てられやすくすることができる。そして、情報処理装置１００は、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠Ｃ内の空き領域を、他の事象が割り当て可能に残すことができる。
【００２６】
（１−２）情報処理装置１００は、事象２の割当先となる枠の候補として、枠Ａと枠Ｂと枠Ｃとを特定する情報を含み、事象２を割り当てることを要求する割当要求を受け付ける。情報処理装置１００は、（１−１）と同様に、事象２の割当先となる枠の候補として、割当要求に含まれる情報から特定され、かつ、事象２を割り当て可能な空き領域が存在する枠Ａと枠Ｂと枠Ｃとを特定し、枠Ａを事象２の割当先として特定して出力する。
【００２７】
これによれば、情報処理装置１００は、枠Ｃ内よりも枠Ａ内または枠Ｂ内に、事象２が割り当てられやすくすることができる。そして、情報処理装置１００は、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠Ｃ内の空き領域を、他の事象が割り当て可能に残すことができる。
【００２８】
（１−３）情報処理装置１００は、事象３の割当先となる枠の候補として、枠Ａと枠Ｂと枠Ｃとを特定する情報を含み、事象３を割り当てることを要求する割当要求を受け付ける。情報処理装置１００は、（１−１）と同様に、事象３の割当先となる枠の候補として、割当要求に含まれる情報から特定され、かつ、事象３を割り当て可能な空き領域が存在する枠Ｂと枠Ｃとを特定し、枠Ｂを事象３の割当先として特定して出力する。
【００２９】
これによれば、情報処理装置１００は、枠Ｃ内よりも枠Ｂ内に、事象３が割り当てられやすくすることができる。そして、情報処理装置１００は、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠Ｃ内の空き領域を、他の事象が割り当て可能に残すことができる。
【００３０】
（１−４）情報処理装置１００は、事象４の割当先となる枠の候補として、枠Ｃを特定する情報を含み、事象４を割り当てることを要求する割当要求を受け付ける。情報処理装置１００は、事象４の割当先となる枠の候補として、割当要求に含まれる情報から特定され、かつ、事象４を割り当て可能な空き領域が存在する枠Ｃを特定する。
【００３１】
情報処理装置１００は、枠Ｃの使用頻度に基づいて、使用頻度が高いほど空き領域への重みが大きくなるように、枠Ｃの空き領域への重みを設定する。情報処理装置１００は、枠Ｃの空き領域の大きさを、設定した当該空き領域への重みを用いて補正する。情報処理装置１００は、事象４の割当先となる枠の候補のうち、事象４を割り当てた後の空き領域が最も小さくなる枠を、事象４の割当先として特定して出力する。ここでは、情報処理装置１００は、枠Ｃを、事象４の割当先として特定して出力する。
【００３２】
これによれば、情報処理装置１００は、事象１と事象２と事象３とを割り当てずに、枠Ｃ内の空き領域を残しておいたため、枠Ｃ内に事象４を割り当てることができる。
【００３３】
以上により、情報処理装置１００は、様々な事象を１つずつ複数の枠のいずれかの枠内に割り当てていく過程で、事象をいずれの枠内にも割り当てられなくなる確率の低減化を図ることができる。そして、情報処理装置１００は、事象がいずれの枠内にも割り当てられなくなる事態の発生を抑制することができる。このため、情報処理装置１００は、複数の枠の全体で、最終的に割り当てられる事象の数の増大化を図ることができ、複数の枠の全体を、効率よく使用可能にすることができる。
【００３４】
ここで、従来では、例えば、ユーザの手動により、事象が複数の枠のいずれかの枠内に割り当てられる場合が考えられる。この場合、ユーザαの手動により、事象１と事象２となどが、枠Ｃ内に割り当てられた後、ユーザβが、事象４を枠Ｃ内に割り当てようとしても、枠Ｃ内にある空き領域が小さいため、事象４を枠Ｃ内に割り当てることができないことがある。
【００３５】
このため、ユーザβは、ユーザαに対して事象１や事象２の割当先の変更を交渉する必要が生じ、ユーザαおよびユーザβのいずれの作業負担も増大してしまうことがある。または、ユーザβは、事象４を、枠Ｃ内に割り当てることを諦めることになり、ユーザβの作業に不都合が生じてしまうことがある。
【００３６】
また、従来では、例えば、空き領域への重みを設定せずに、事象を割り当てた後の空き領域が最も小さくなる枠を、事象の割当先として特定し、事象を割り当てる場合が考えられる。この場合、最初に事象１が枠Ｃ内に割り当てられてしまうと、枠Ｃ内の空き領域が小さくなるため、さらに、次の事象２も、連鎖的に、枠Ｃ内に割り当てられる確率が高くなり、枠Ｃ内の空き領域が小さくなっていく。その後、事象４を枠Ｃ内に割り当てようとしても、枠Ｃ内にある空き領域が小さいため、事象４を割り当てることができないことがある。
【００３７】
このため、事象１と事象２となどに関わるユーザと、事象４に関わるユーザとで、割当先の変更を交渉する必要が生じ、ユーザにかかる作業負担が増大してしまうことがある。または、事象４に関わるユーザは、事象４を割り当てることを諦めることになり、事象４に関わるユーザの作業に不都合が生じてしまうことがある。
【００３８】
これらに対し、情報処理装置１００は、事象をいずれかの枠内に割り当てる都度、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠内の空き領域を、以降に他の事象が割り当て可能に残すことができる。このため、情報処理装置１００は、新たな事象をいずれかの枠内に割り当てようとする際に、当該枠内に割り当て済みの事象に対して、割当先の変更を行わずに済む確率を向上させることができ、ユーザにかかる作業負担の低減化を図ることができる。
【００３９】
情報処理装置１００は、例えば、枠Ｃ内よりも枠Ａ内または枠Ｂ内に、事象１や事象２などが割り当てられやすくすることができ、枠Ｃ内の空き領域を、事象１や事象２などを割り当てずに残しておくことができる。このため、情報処理装置１００は、事象４を割り当てようとする際に、枠Ｃ内に事象４を割り当て可能にすることができる。結果として、情報処理装置１００は、事象１や事象２などに関わるユーザと、事象４に関わるユーザとで、割当先の変更を交渉せずに済むようにすることができ、ユーザにかかる作業負担の低減化を図ることができる。
【００４０】
ここでは、情報処理装置１００が、事象の割当要求を受け付ける都度、事象の割当先となる枠の１以上の候補のそれぞれの候補内の空き領域への重みを設定する場合について説明したが、これに限らない。例えば、情報処理装置１００が、所定のタイミングで、複数の枠のそれぞれの枠内の空き領域への重みを設定しておき、所定のタイミング以降に事象の割当要求を受け付けた際に、設定しておいた重みを利用する場合があってもよい。
【００４１】
ここでは、情報処理装置１００が、特定した事象の割当先となる枠の候補が１つであっても、事象の割当先となる枠の候補内の空き領域への重みを設定する場合について説明したが、これに限らない。例えば、情報処理装置１００が、特定した事象の割当先となる枠の候補が１つであれば、事象の割当先となる枠の候補内の空き領域への重みの設定を省略する場合があってもよい。また、この場合、情報処理装置１００は、特定した事象の割当先となる枠の候補内の空き領域の比較対象がないため、特定した事象の割当先となる枠の候補を、割当先として特定する。
【００４２】
（割当システム２００の一例）
次に、図２を用いて、図１に示した情報処理装置１００を適用した、割当システム２００の一例について説明する。
【００４３】
図２は、割当システム２００の一例を示す説明図である。図２において、割当システム２００は、情報処理装置１００と、端末装置２０１とを含む。割当システム２００において、情報処理装置１００と端末装置２０１とは、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００４４】
情報処理装置１００は、事象を複数の枠のいずれかの枠内に割り当てることを要求する割当要求を、端末装置２０１から受信する。情報処理装置１００は、割当要求に応じて、複数の枠のうち、割当要求された事象の割当先となる枠を特定し、端末装置２０１に出力する。情報処理装置１００は、割当指示を端末装置２０１から受信すると、割当要求された事象を、特定した枠内に割り当てる。情報処理装置１００は、例えば、サーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。
【００４５】
端末装置２０１は、事象に関わるユーザが利用するコンピュータである。事象に関わるユーザは、例えば、事象の割当を管理するユーザであってもよい。端末装置２０１は、ユーザの操作入力に基づき、事象を割り当てる枠の候補を特定する情報を含む割当要求を生成し、情報処理装置１００に送信する。端末装置２０１は、事象の割当先となる枠を、情報処理装置１００から受信して表示する。端末装置２０１は、ユーザの操作入力に基づき、事象を、受信した事象の割当先となる枠内に割り当てることを指示する割当指示を、情報処理装置１００に送信する。端末装置２０１は、例えば、ＰＣ、タブレット端末、スマートフォンなどである。
【００４６】
（割当システム２００の具体例（その１））
次に、割当システム２００の具体例（その１）について説明する。例えば、割当システム２００の具体例（その１）としては、事象が、会議室を使用する予定であり、枠が、会議室を使用する予定を割り当てる対象として、当該会議室に対応付けて設定された、当該会議室の使用可能な時間枠である場合の具体例が考えられる。会議室を使用する予定は、例えば、打合せである。
【００４７】
この場合、情報処理装置１００は、予定をいずれかの会議室についての時間枠内に割り当てる都度、以降に他の予定を割り当てることが希望される確率が比較的高いと推定される会議室についての時間枠内の空き領域が残りやすくすることができる。このため、情報処理装置１００は、いずれかの会議室についての時間枠内に割り当て済みの予定に対して、割当先の変更を行わずに済む確率を向上させることができ、ユーザにかかる作業負担の低減化を図ることができる。
【００４８】
例えば、会議室が有する設備や会議室が収容可能な人数などに起因して、会議室間で、会議室についての時間枠内に予定を割り当てることが希望される希望頻度に偏りが生じることが考えられる。具体的には、会議室が有する設備が多く、または、会議室が収容可能な人数が多いような、汎用性がある会議室についての時間枠ほど、希望頻度が高くなる傾向がある。
【００４９】
これに対し、情報処理装置１００は、希望頻度が高く、汎用性がある会議室についての時間枠については、予定を割り当てずに、空き領域が残りやすくすることができる。このため、情報処理装置１００は、希望頻度が高い会議室でしか開催困難な予定を割り当てようとした際に、予定を割り当てられなくなる確率の低減化を図ることができる。そして、情報処理装置１００は、様々な予定のそれぞれの予定に関わるユーザ全体での作業の効率化を図ることができる。
【００５０】
（割当システム２００の具体例（その２））
次に、割当システム２００の具体例（その２）について説明する。例えば、割当システム２００の具体例（その２）としては、事象が、物体をレンタルする予定であり、枠が、物体をレンタルする予定を割り当てる対象として、当該物体に対応付けて設定された、当該物体のレンタル可能な時間枠である場合の具体例が考えられる。物体は、例えば、乗り物や作業用品などである。
【００５１】
この場合、情報処理装置１００は、割当要求に応じて、割当要求された予定の割当先として、複数の物体のいずれかの物体についての時間枠を特定し、端末装置２０１に送信する。端末装置２０１は、予定の割当先として、いずれかの物体についての時間枠を、情報処理装置１００から受信して表示する。その後、情報処理装置１００は、割当指示を端末装置２０１から受信すると、割当要求された予定を、特定した物体についての時間枠内に割り当てる。
【００５２】
この場合、情報処理装置１００は、予定をいずれかの物体についての時間枠内に割り当てる都度、以降に他の予定を割り当てることが希望される確率が比較的高いと推定される物体についての時間枠内の空き領域が残りやすくすることができる。このため、情報処理装置１００は、いずれかの物体についての時間枠内に割り当て済みの予定に対して、割当先の変更を行わずに済む確率を向上させることができる。
【００５３】
（割当システム２００の具体例（その３））
次に、割当システム２００の具体例（その３）について説明する。例えば、割当システム２００の具体例（その３）としては、事象が、顧客にサービスを提供する予定であり、枠が、従業員が当該サービスに従事可能な時間枠である場合の具体例が考えられる。時間枠は、例えば、顧客にサービスを提供する予定を割り当てる対象として、当該サービスを提供する従業員に対応付けて設定される。サービスは、例えば、エステや散髪などである。
【００５４】
この場合、情報処理装置１００は、予定をいずれかの従業員についての時間枠内に割り当てる都度、以降に他の予定を割り当てることが希望される確率が比較的高いと推定される従業員についての時間枠内の空き領域が残りやすくすることができる。このため、情報処理装置１００は、いずれかの従業員についての時間枠内に割り当て済みの予定に対して、割当先の変更を行わずに済む確率を向上させることができる。
【００５５】
例えば、従業員の属性やスキルなどに起因して、従業員間で、従業員についての時間枠内に予定を割り当てることが希望される希望頻度に偏りが生じることが考えられる。具体的には、評価の高いスキルを有し、汎用性や人気がある従業員についての時間枠ほど、希望頻度が高くなる傾向がある。
【００５６】
これに対し、情報処理装置１００は、希望頻度が高く、汎用性や人気がある従業員についての時間枠については、予定を割り当てずに、空き領域が残りやすくすることができる。このため、情報処理装置１００は、希望頻度が高い従業員でしか提供困難な予定を割り当てようとした際に、予定を割り当てられなくなる確率の低減化を図ることができる。そして、情報処理装置１００は、様々な予定のそれぞれの予定に関わる顧客全体での、サービスに対する満足度の向上を図ることができる。
【００５７】
（割当システム２００の具体例（その４））
次に、割当システム２００の具体例（その４）について説明する。例えば、割当システム２００の具体例（その４）としては、事象が、所定の場所内の一部の領域を使用する予定であり、枠が、予定を割り当てる対象として、所定の場所に対応付けて設定された、所定の場所の全体の領域である場合の具体例が考えられる。場所は、例えば、倉庫や体育館などである。
【００５８】
（割当システム２００の具体例（その５））
次に、割当システム２００の具体例（その５）について説明する。例えば、割当システム２００の具体例（その５）としては、事象が、１日のうちで従業員が業務に携わる予定であり、枠が、従業員が業務に携わる予定を割り当てる対象として、曜日に対応付けて設定された、当該曜日の営業時間枠である。
【００５９】
ここでは、情報処理装置１００が、端末装置２０１とは異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置１００が、端末装置２０１と一体である場合があってもよい。以下の説明では、上述した割当システム２００の具体例（その１）を一例として、情報処理装置１００の動作について説明する。
【００６０】
（情報処理装置１００のハードウェア構成例）
次に、図３を用いて、情報処理装置１００のハードウェア構成例について説明する。
【００６１】
図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。図３において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、記録媒体Ｉ／Ｆ３０４と、記録媒体３０５と、入力装置３０６と、出力装置３０７とを有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００６２】
ここで、ＣＰＵ３０１は、情報処理装置１００の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００６３】
ネットワークＩ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ３０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ３０３は、例えば、モデムやＬＡＮアダプタなどである。
【００６４】
記録媒体Ｉ／Ｆ３０４は、ＣＰＵ３０１の制御に従って記録媒体３０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ３０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体３０５は、記録媒体Ｉ／Ｆ３０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体３０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体３０５は、情報処理装置１００から着脱可能であってもよい。
【００６５】
入力装置３０６は、データの入力を行う装置である。入力装置３０６は、例えば、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置３０６は、具体的には、キーボードやマウスなどである。また、入力装置３０６は、具体的には、タッチパネル式の入力パッドやテンキーなどであってもよい。または、入力装置３０６は、具体的には、マイクなどであってもよい。
【００６６】
出力装置３０７は、データの出力を行う装置である。出力装置３０７は、例えば、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示するディスプレイである。ディスプレイは、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、液晶ディスプレイ、有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどである。出力装置３０７は、例えば、プリンタ、スキャナ、スピーカーなどであってもよい。
【００６７】
情報処理装置１００は、入力装置３０６や出力装置３０７を有していなくてもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を複数有していてもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を有していなくてもよい。
【００６８】
（予定ＤＢ（Ｄａｔａ  Ｂａｓｅ）４００の記憶内容）
次に、図４を用いて、予定ＤＢ４００の記憶内容の一例について説明する。予定ＤＢ４００は、例えば、図３に示した情報処理装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００６９】
図４は、予定ＤＢ４００の記憶内容の一例を示す説明図である。図４に示すように、予定ＤＢ４００は、会議室識別子と、予定開始時刻と、予定終了時刻とのフィールドを有する。予定ＤＢ４００は、会議室を使用する予定ごとに各フィールドに情報を設定することにより、予定情報がレコードとして記憶される。
【００７０】
会議室識別子のフィールドには、会議室を識別する会議室識別子が設定される。予定開始時刻のフィールドには、会議室を使用する予定の開始時刻である予定開始時刻が設定される。予定終了時刻のフィールドには、会議室を使用する予定の終了時刻である予定終了時刻が設定される。予定ＤＢ４００は、予定開始時刻と予定終了時刻とのフィールドにより、会議の開催時間を示すことができる。
【００７１】
（希望頻度ＤＢ５００の記憶内容）
次に、図５を用いて、希望頻度ＤＢ５００の記憶内容の一例について説明する。希望頻度ＤＢ５００は、例えば、図３に示した情報処理装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００７２】
図５は、希望頻度ＤＢ５００の記憶内容の一例を示す説明図である。図５に示すように、希望頻度ＤＢ５００は、会議室識別子と、希望回数とのフィールドを有する。希望頻度ＤＢ５００は、会議室ごとに各フィールドに情報を設定することにより、希望頻度情報がレコードとして記憶される。
【００７３】
会議室識別子のフィールドには、会議室を識別する会議室識別子が設定される。希望回数のフィールドには、過去に、会議室が、予定を割り当てる条件を満たした回数である希望回数が設定される。
【００７４】
（スロットＤＢ６００の記憶内容）
次に、図６を用いて、スロットＤＢ６００の記憶内容の一例について説明する。スロットＤＢ６００は、例えば、図３に示した情報処理装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００７５】
図６は、スロットＤＢ６００の記憶内容の一例を示す説明図である。図６に示すように、スロットＤＢ６００は、会議室識別子と、空き時間と、希望頻度とのフィールドを有する。スロットＤＢ６００は、スロットごとに各フィールドに情報を設定することにより、スロット情報がレコードとして記憶される。
【００７６】
スロットは、会議室に対応付けて設定された時間枠である。スロットとなる時間枠内の空き領域は、連続しており分断されない。スロットとなる時間枠内に予定を割り当てた結果、スロットとなる時間枠内の空き領域が分断された場合、スロットは、それぞれ空き領域が連続する２以上のスロットに分割される。
【００７７】
会議室識別子のフィールドには、会議室を識別する会議室識別子が設定される。空き時間のフィールドには、スロット内の空き時間を示す情報が設定される。空き時間を示す情報は、スロット内の予定が割り当てられた時間帯を示すことにより、間接的にスロット内の空き時間を示してもよい。希望頻度のフィールドには、過去に、会議室が、予定を割り当てる条件を満たした回数である希望回数が設定される。
【００７８】
（端末装置２０１のハードウェア構成例）
次に、図７を用いて、図２に示した割当システム２００に含まれる端末装置２０１のハードウェア構成例について説明する。
【００７９】
図７は、端末装置２０１のハードウェア構成例を示すブロック図である。図７において、端末装置２０１は、ＣＰＵ７０１と、メモリ７０２と、ネットワークＩ／Ｆ７０３と、記録媒体Ｉ／Ｆ７０４と、記録媒体７０５と、ディスプレイ７０６と、入力装置７０７とを有する。また、各構成部は、バス７００によってそれぞれ接続される。
【００８０】
ここで、ＣＰＵ７０１は、端末装置２０１の全体の制御を司る。メモリ７０２は、例えば、ＲＯＭ、ＲＡＭおよびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ７０１のワークエリアとして使用される。メモリ７０２に記憶されるプログラムは、ＣＰＵ７０１にロードされることで、コーディングされている処理をＣＰＵ７０１に実行させる。
【００８１】
ネットワークＩ／Ｆ７０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ７０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ７０３は、例えば、モデムやＬＡＮアダプタなどである。
【００８２】
記録媒体Ｉ／Ｆ７０４は、ＣＰＵ７０１の制御に従って記録媒体７０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ７０４は、例えば、ディスクドライブ、ＳＳＤ、ＵＳＢポートなどである。記録媒体７０５は、記録媒体Ｉ／Ｆ７０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体７０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体７０５は、端末装置２０１から着脱可能であってもよい。
【００８３】
ディスプレイ７０６は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ７０６は、例えば、ＣＲＴ、液晶ディスプレイ、有機ＥＬディスプレイなどである。入力装置７０７は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置７０７は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
【００８４】
端末装置２０１は、上述した構成部の他、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、端末装置２０１は、記録媒体Ｉ／Ｆ７０４や記録媒体７０５を複数有していてもよい。また、端末装置２０１は、記録媒体Ｉ／Ｆ７０４や記録媒体７０５を有していなくてもよい。
【００８５】
（情報処理装置１００の機能的構成例）
次に、図８を用いて、情報処理装置１００の機能的構成例について説明する。
【００８６】
図８は、情報処理装置１００の機能的構成例を示すブロック図である。情報処理装置１００は、記憶部８００と、取得部８０１と、設定部８０２と、特定部８０３と、出力部８０４と、割当部８０５とを含む。
【００８７】
記憶部８００は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域によって実現される。以下では、記憶部８００が、情報処理装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部８００が、情報処理装置１００とは異なる装置に含まれ、記憶部８００の記憶内容が情報処理装置１００から参照可能である場合があってもよい。
【００８８】
取得部８０１〜出力部８０４は、制御部の一例として機能する。取得部８０１〜出力部８０４は、具体的には、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、ネットワークＩ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶される。
【００８９】
記憶部８００は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部８００は、複数の枠のそれぞれの枠内に設定された予定に関する情報を記憶する。枠は、例えば、会議室に対して設定された、会議室の使用可能な時間枠である。事象は、例えば、人が会議室を使用する予定である。記憶部８００は、例えば、図４に示した予定ＤＢ４００を記憶する。
【００９０】
また、枠が、例えば、業務を行う時間枠であり、事象が、例えば、人が業務に従事する予定である場合があってもよい。また、枠が、物体の使用可能な時間枠であり、事象が、人が物体を使用する予定である場合があってもよい。また、枠が、サービスの提供可能な時間枠であり、事象が、人がサービスを受益する予定である場合があってもよい。また、枠が、人の利用可能な場所であり、事象が、人が場所内の一部を利用する予定である場合があってもよい。
【００９１】
また、記憶部８００は、過去における枠ごとの使用頻度に関する情報を記憶する。記憶部８００は、例えば、図５に示した希望頻度ＤＢ５００を記憶する。また、記憶部８００は、枠を示す情報を記憶する。枠を示す情報は、枠内の空き領域を示す情報を含み、例えば、図６に示したスロット情報である。記憶部８００は、例えば、図６に示したスロットＤＢ６００を記憶する。
【００９２】
取得部８０１は、各機能部の処理に用いられる各種情報を取得する。取得部８０１は、取得した各種情報を、記憶部８００に記憶し、または、各機能部に出力する。また、取得部８０１は、記憶部８００に記憶しておいた各種情報を、各機能部に出力してもよい。取得部８０１は、例えば、情報処理装置１００の利用者の操作入力に基づき、各種情報を取得する。取得部８０１は、例えば、情報処理装置１００とは異なる装置から、各種情報を受信してもよい。
【００９３】
取得部８０１は、複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付ける。要求は、例えば、所定の事象を割り当てる割当先となる枠の候補を特定する情報を含む。要求は、具体的には、所定の予定を割り当てる会議室が有する特徴についての条件を含んでもよい。特徴は、例えば、設備や収容人数である。要求は、具体的には、会議室の使用可能な時間枠内の、所定の予定を割り当てる時間帯の条件を含んでもよい。
【００９４】
要求は、具体的には、所定の予定を割り当てる会議室を指定する情報を含んでもよい。所定の予定を割り当てる会議室を指定する情報を基に、所定の事象を割り当てる割当先となる時間枠の候補を特定する場合、指定された会議室についての時間枠の他、指定された会議室と同じ特徴を有する他の会議室の時間枠も特定してもよい。取得部８０１は、例えば、要求を端末装置２０１から受け付ける。また、取得部８０１は、例えば、要求を入力装置３０６から受け付けてもよい。これにより、取得部８０１は、所定の事象を割り当てる枠の候補を特定可能にすることができる。
【００９５】
取得部８０１は、特定部８０３が特定した枠の候補を端末装置２０１に出力したことに応じて、特定部８０３が特定した枠の候補内に、所定の事象を割り当てることを許可する割当指示を受け付けてもよい。取得部８０１は、例えば、特定部８０３が特定した候補を端末装置２０１に出力したことに応じて、端末装置２０１から割当指示を受け付ける。また、取得部８０１は、例えば、特定した候補を出力装置３０７から出力したことに応じて、入力装置３０６から割当指示を受け付けてもよい。取得部８０１は、チャットボットや対話型ロボットなどを利用して実現されてもよい。
【００９６】
これにより、取得部８０１は、所定の事象に関わるユーザの許可があってから、特定部８０３が特定した枠の候補内に、所定の事象が割り当てられるようにすることができる。また、取得部８０１は、所定の事象を特定した候補に割り当てることを却下する却下通知を受け付けてもよい。
【００９７】
設定部８０２は、所定の事象を割り当てる割当先となる１以上の枠の候補のそれぞれの候補内の空き領域に対して重みを設定する。重みは、例えば、空き領域の大きさを補正する補正係数である。空き領域は、重みが大きいほど、大きくなるように補正される。このため、所定の事象を割り当てた後の空き領域が相対的に小さくなる候補を、割当先として特定するとすれば、枠内の空き領域に対して設定された重みが大きいほど、割当先として特定されにくくなる。
【００９８】
設定部８０２は、例えば、要求に含まれる所定の事象を割り当てる割当先となる枠の候補を特定する情報から、１以上の枠の候補を特定する。設定部８０２は、例えば、過去における枠ごとの使用頻度に関する情報を参照して、特定した１以上の候補のそれぞれの候補の使用頻度に基づいて、それぞれの候補内の空き領域に対する重みを設定する。
【００９９】
設定部８０２は、具体的には、複数の会議室のそれぞれの会議室の使用可能な時間枠のうち、打合せの予定を割り当てる割当先となる時間枠の候補を特定し、候補内の空き領域に対して重みを設定する。この際、設定部８０２は、会議室を指定する情報を基に、割当先となる時間枠の候補を特定するにあたり、指定された会議室についての時間枠の他、指定された会議室と同じ特徴を有する他の会議室の時間枠を特定してもよい。
【０１００】
これにより、設定部８０２は、枠内の空き領域の大きさを、当該空き領域に対して設定した重みを用いて補正し、当該枠の使用頻度が低いほど、事象が割り当てられやすくすることができる。そして、設定部８０２は、使用頻度が比較的高く、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠内の空き領域を残しやすくすることができる。
【０１０１】
設定部８０２は、使用頻度の他、所定の事象を割り当てる割当先となる１以上の枠の候補のそれぞれの候補に関係する特徴にも基づき、当該候補内の空き領域に対して重みを設定してもよい。設定部８０２は、例えば、要求に含まれる情報から特定される１以上の候補のそれぞれの候補の使用頻度と、それぞれの候補に対応する会議室が有する特徴とに基づいて、それぞれの候補内の空き領域に対する重みを設定してもよい。特徴は、例えば、設備や収容人数などである。
【０１０２】
これにより、設定部８０２は、使用頻度が比較的高く、多種の設備を有し、または、収容人数が多いため、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠内の空き領域を残しやすくすることができる。ここでは、設定部８０２が、使用頻度と、それぞれの候補に関係する特徴とに基づき、重みを設定する場合について説明したが、これに限らない。例えば、設定部８０２が、使用頻度を用いず、それぞれの候補に関係する特徴に基づき、重みを設定する場合があってもよい。
【０１０３】
設定部８０２は、予め、複数の枠のそれぞれの枠内の空き領域に対して重みを設定しておいてもよい。これにより、設定部８０２は、要求を受け付ける都度、所定の事象を割り当てる割当先となる１以上の枠の候補のそれぞれの候補内の空き領域に対して重みを設定しなくてもよく、処理量の低減化を図ることができる。また、設定部８０２は、要求に含まれる所定の事象を割り当てる割当先となる枠の候補が１つである場合、重みを設定しなくてもよい。これにより、設定部８０２は、処理量の低減化を図ることができる。
【０１０４】
特定部８０３は、所定の事象を割り当てる割当先を特定する。特定部８０３は、例えば、それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、１以上の候補のうち、所定の事象を割り当てた後の空き領域が相対的に小さくなる候補を、割当先として特定する。空き領域が相対的に小さくなる候補は、例えば、空き領域が最も小さくなる候補である。空き領域が相対的に小さくなる候補は、例えば、空き領域が２番目以降に小さくなる候補であってもよい。
【０１０５】
特定部８０３は、具体的には、それぞれの候補内の空き領域の大きさを、設定した当該空き領域に対する重みを用いて補正する。特定部８０３は、具体的には、補正後の当該空き領域の大きさに基づいて、１以上の候補のうち、所定の事象を割り当てた後の空き領域が相対的に小さくなる候補を特定する。これにより、特定部８０３は、以降に他の事象をいずれの枠内にも割り当てられない状況を回避しやすくなるように、所定の事象の割当先を特定することができる。
【０１０６】
特定部８０３は、所定の事象の割当先となる枠の候補が１つであれば、設定された重みに関わらず、所定の事象の割当先として当該候補を特定してもよい。これにより、特定部８０３は、候補内の空き領域の大きさを、設定した当該空き領域に対する重みを用いて補正せずに済み、処理量の低減化を図ることができる。
【０１０７】
特定部８０３は、所定の事象に関わるユーザに割当先として選択させる選択対象の枠の候補を特定してもよい。特定部８０３は、例えば、それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、１以上の候補のうち、所定の事象を割り当てた後の空き領域が小さい方から、所定番目までの候補を、選択対象の枠の候補として特定する。これにより、特定部８０３は、ユーザが割当先とする枠を選択する余地を残し、ユーザの利便性の向上を図ることができる。
【０１０８】
特定部８０３は、特定した候補を出力した結果、所定の事象を特定した候補に割り当てることを却下する却下通知を受け付けた場合、特定した候補の次に、所定の事象を割り当てた後の空き領域が相対的に小さくなる候補を特定してもよい。これにより、特定部８０３は、１以上の候補のそれぞれの候補を、所定の事象を割り当てた後の空き領域が小さい順に、１つずつ、所定の事象に関わるユーザに、出力部８０４を介して通知可能にすることができる。
【０１０９】
出力部８０４は、特定部８０３が特定した候補を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークＩ／Ｆ３０３による外部装置への送信、または、メモリ３０２や記録媒体３０５などの記憶領域への記憶である。出力部８０４は、例えば、特定した候補を端末装置２０１に出力する。出力部８０４は、例えば、特定した候補を出力装置３０７から出力してもよい。これにより、出力部８０４は、所定の事象に関わるユーザに、所定の事象の割当先となる枠の候補を把握させることができる。
【０１１０】
出力部８０４は、割当部８０５が所定の事象を割当先に割り当てた場合、所定の事象を割当先に割り当てたことを示す通知を端末装置２０１に出力する。出力部８０４は、割当部８０５が所定の事象を割当先に割り当てた場合、所定の事象を割当先に割り当てたことを示す通知を出力装置３０７から出力してもよい。出力部８０４は、チャットボットや対話型ロボットなどを利用して実現されてもよい。これにより、出力部８０４は、所定の事象を割当先に割り当てたことを、所定の事象に関わるユーザに通知することができる。
【０１１１】
また、出力部８０４は、選択対象の枠の候補を出力する場合があってもよい。この場合、取得部８０１は、選択された枠の候補を受け付けてもよい。また、出力部８０４は、いずれかの機能部の処理結果を出力してもよい。これにより、出力部８０４は、各機能部の処理結果を、情報処理装置１００の管理者に通知可能にし、情報処理装置１００の管理や運用、例えば、情報処理装置１００の設定値の更新などを支援することができる。
【０１１２】
割当部８０５は、割当指示を受け付けたことに応じて、所定の事象を特定した候補内に割り当てる。また、割当部８０５は、選択された枠の候補を受け付けたことに応じて、所定の事象を、選択された枠の候補内に割り当ててもよい。これにより、割当部８０５は、以降に他の事象をいずれの枠内にも割り当てられない状況を回避しやすくなるように、所定の事象を割り当てることができる。
【０１１３】
また、割当部８０５は、複数の枠のいずれかの枠内に事象を割り当てた結果、いずれかの枠内の空き領域が連続しなくなった場合、いずれかの枠を、それぞれ空き領域が連続する複数の枠に分割する。これにより、割当部８０５は、いずれかの枠内の空き領域が一旦分断されても、処理を継続することができる。
【０１１４】
（情報処理装置１００の機能的構成の具体例）
次に、図９を用いて、情報処理装置１００の機能的構成の具体例について説明する。
【０１１５】
図９は、情報処理装置１００の機能的構成の具体例を示すブロック図である。情報処理装置１００は、更新モジュール９０１と選定モジュール９０２とを含む。図９において、情報処理装置１００は、端末装置２０１に対して表示制御したチャットボットの会話画面を介して、会議の予定を割り当てる割当先となる会議室のスロットを特定するための検索条件の入力を、端末装置２０１のユーザから受け付ける。端末装置２０１のユーザは、会議に参加するユーザでなくてもよい。
【０１１６】
検索条件は、例えば、会議を行う時間に関する条件を含む。会議を行う時間に関する条件は、例えば、会議を行う日時や会議を行う開催時間、会議にかかる所要時間などを含む。会議を行う時間に関する条件は、具体的には、「２０１９年２月１日９時から１２時まで」、または、「２０１９年２月１日９時から」＋「（所要時間が）１時間」である。また、会議を行う時間に関する条件は、具体的には、「今日午前中」、「明日」、「来週」など＋「（所要時間が）１時間」である。
【０１１７】
検索条件は、例えば、会議室に関する条件を含む。会議室に関する条件は、例えば、会議室の指定、または、会議室がある場所の指定を含む。会議室に関する条件は、具体的には、１つの会議室を指定する「本社ビル５階会議室Ａ」、または、複数の会議室を指定する「本社ビル５階」や「本社ビル」などである。検索条件は、例えば、会議室が有する特徴に関する条件を含む。特徴は、例えば、設備である。会議室が有する特徴に関する条件は、具体的には、収容人数「６人収容」、備品の有無「プロジェクタ有」や「ディスプレイ有」、または、「個室」や「ゲストルーム」などである。
【０１１８】
情報処理装置１００は、検索条件を受け付けた際、検索条件を満たす１以上の会議室を検索する。ここで、情報処理装置１００は、１つの会議室を指定する「本社ビル５階会議室Ａ」を含む検索条件を受け付けた際、本社ビル５階にある他の会議室を、代替可能な、検索条件を満たす会議室として検索する場合があってもよい。情報処理装置１００は、検索条件を満たす１以上の会議室があれば、希望頻度ＤＢ５００に記憶された、検索条件を満たす１以上の会議室のそれぞれの会議室に対応する希望回数を更新する。情報処理装置１００は、会議室の使用回数を、同じ会議室のスロットの使用頻度として利用する。
【０１１９】
更新モジュール９０１は、定期的に更新命令を受け付けて、予定ＤＢ４００と希望頻度ＤＢ５００とを参照して、スロットＤＢ６００を更新する。更新モジュール９０１は、例えば、予定ＤＢ４００を参照して、スロットＤＢ６００のスロット情報のうち、当該スロット情報が示す空き時間の中に、新たな予定が割り当てられていれば、新たな予定の開催時間に基づいて空き時間を更新する。更新モジュール９０１は、希望頻度ＤＢ５００を参照して、いずれかのスロット情報の空き時間を更新した場合、当該スロット情報の希望頻度を更新する。更新モジュール９０１の動作は、例えば、図１８に後述する更新処理により実現される。
【０１２０】
選定モジュール９０２は、スロットＤＢ６００を参照して、検索条件を満たす１以上の会議室のそれぞれの会議室のスロットのうち、会議の予定を割り当てる割当先となるスロットを選定する。選定モジュール９０２は、例えば、検索条件を満たす１以上の会議室のそれぞれの会議室のスロットの空き時間の長さを、当該スロットに対応する希望頻度で補正し、当該スロットの優先度を算出する。ここで、優先度は、１／（空き時間の長さ×（希望頻度＋１））である。選定モジュール９０２は、例えば、優先度が最も大きいスロットを、会議の予定を割り当てる割当先となるスロットとして選定する。
【０１２１】
選定モジュール９０２は、端末装置２０１に対して表示制御したチャットボットの会話画面を介して、選定したスロットを、端末装置２０１のユーザに通知する。選定モジュール９０２は、端末装置２０１に対して表示制御したチャットボットの会話画面を介して、割当指示の入力を受け付けると、選定したスロットに、会議の予定を割り当てる。選定モジュール９０２は、選定したスロットに、会議の予定を割り当てると、予定ＤＢ４００を更新する。選定モジュール９０２の動作は、例えば、図１９に後述する割当処理により実現される。
【０１２２】
ここでは、会議室の使用回数を、同じ会議室のスロットの使用頻度として利用する場合について説明したが、これに限らない。例えば、情報処理装置が、複数の会議室の全体としての使用回数の総和を算出しておき、会議室の使用回数を、総和で除算した値を、同じ会議室のスロットの使用頻度として利用する場合があってもよい。
【０１２３】
また、ここでは、情報処理装置が、同じ会議室についてスロットが複数あると、それぞれのスロットの使用頻度として、当該会議室の使用回数を共用する場合について説明したが、これに限らない。例えば、情報処理装置が、同じ会議室についてスロットが複数あると、当該会議室の使用回数を、それぞれのスロットに分配して、使用頻度を算出する場合があってもよい。
【０１２４】
（情報処理装置１００の動作例）
次に、図１０〜図１７を用いて、情報処理装置１００の動作例について説明する。以下の説明では、図１０〜図１２を用いて、打合せの予定を、複数のスロットのいずれかのスロット内に割り当てる一例について説明し、図１３〜図１７を用いて、割当要求を受け付けるチャットボットの一例について説明する。
【０１２５】
まず、図１０の説明に移行し、打合せの予定を、複数のスロットのいずれかのスロット内に割り当てる際に、情報処理装置１００によって利用される、ビンパッキング問題のオンラインアルゴリズムについて説明する。
【０１２６】
図１０は、ビンパッキング問題のオンラインアルゴリズムを示す説明図である。オンラインアルゴリズムは、様々な事象を１つずつスロット内に割り当てていく際に、空き領域が最も小さいスロットを、割当先として選択するようにして、事象を割り当てるスロットの数の最小化を図るアルゴリズムである。上記アルゴリズムは、例えば、下記非特許文献１を参照することができる。
【０１２７】
非特許文献１：組合せ最適化，  第２版，  理論とアルゴリズム，  Ｂ．  コルテ，  Ｊ．  フィーゲン，  （訳）  浅野  孝夫  他，  丸善出版，  ２０１２．
【０１２８】
図１０の例では、スロットｓ１〜ｓ３に対して、事象ｍ１〜ｍ３が割り当てられる。例えば、上記アルゴリズムによれば、スロットｓ１〜ｓ３が、それぞれ、空き領域の大きさが同じため、事象ｍ１は、スロットｓ１〜ｓ３のいずれに割り当ててもよいと判断され、スロットｓ１に割り当てられる。次に、上記アルゴリズムによれば、スロットｓ１が相対的に空き領域が小さいため、事象ｍ２は、スロットｓ１に優先的に割り当てられる。そして、上記アルゴリズムによれば、スロットｓ１には事象ｍ３を割り当て可能な空き領域がなく、スロットｓ２，ｓ３が、それぞれ、空き領域の大きさが同じため、事象ｍ３は、スロットｓ２に割り当てられる。
【０１２９】
このように、上記アルゴリズムは、事象を割り当てるスロットの数の最小化を図る。しかしながら、上記アルゴリズムでは、事象ｍ３が、スロットｓ１にしか割り当てることができない場合、事象ｍ３をスロットｓ１に割り当てることができなくなる。このため、情報処理装置１００は、上記アルゴリズムを利用しつつ、事象をいずれのスロット内にも割り当てられなくなる確率の低減化を図る。
【０１３０】
次に、図１１の説明に移行し、情報処理装置１００が、上記アルゴリズムを利用しつつ、打合せの予定を複数のスロットのいずれかのスロット内に割り当てる一例について説明する。ここで、スロットは、会議室の使用可能な時間枠を示す。
【０１３１】
図１１は、打合せの予定を複数のスロットのいずれかのスロット内に割り当てる一例を示す説明図である。図１１の例では、会議室Ａのスロットｓ１０と、会議室Ｂのスロットｓ２０とが存在する。また、会議室Ａの使用頻度はＮであるとし、会議室Ｂの使用頻度は１であるとする。そして、情報処理装置１００は、会議１〜３の予定を、順に、会議室Ａのスロットｓ１０と、会議室Ｂのスロットｓ２０とに対して割り当てる。
【０１３２】
情報処理装置１００は、例えば、会議１の予定についての割当要求を受け付ける。会議１の予定を割り当てる割当先となる条件は、「会議室Ａ」である。情報処理装置１００は、会議１の予定を、会議室Ａのスロットｓ１０内に割り当てる。この際、情報処理装置１００は、会議１の予定を割り当てる時間帯の指定がなければ、会議室Ａのスロットｓ１０内の空き時間が分断されないように、会議１の予定を割り当てることが好ましい。
【０１３３】
次に、情報処理装置１００は、例えば、会議２の予定についての割当要求を受け付ける。会議２の予定を割り当てる割当先となる条件は、「会議室Ａまたは会議室Ｂ」である。情報処理装置１００は、会議２の予定を割り当てる割当先の候補として、会議室Ａのスロットｓ１０と、会議室Ｂのスロットｓ２０とを特定する。
【０１３４】
ここで、例えば、会議室Ａの使用頻度と、会議室Ｂの使用頻度とを考慮せず、上記アルゴリズムを利用すると、空き時間が相対的に小さい会議室Ａのスロットｓ１０に、会議２の予定を割り当ててしまうことになる。結果として、使用頻度が高いため、以降に他の予定を割り当てることが希望される確率が高いと推定される会議室Ａのスロットｓ１０内の空き時間が低減し、以降に他の予定を割り当てられなくなる確率が増大してしまう。
【０１３５】
そこで、情報処理装置１００は、会議室Ａの使用頻度に基づき、会議室Ａのスロットｓ１０の空き時間の大きさを、Ｎ倍に補正する。また、情報処理装置１００は、会議室Ｂの使用頻度に基づき、会議室Ｂのスロットｓ２０の空き時間の大きさを、１倍に補正する。その後、情報処理装置１００は、上記アルゴリズムを利用して、空き時間が相対的に小さい会議室Ｂのスロットｓ２０に、会議２の予定を割り当てる。
【０１３６】
この際、情報処理装置１００は、会議２の予定を割り当てる時間帯の指定がなければ、会議室Ｂのスロットｓ２０内の空き時間が分断されないように、会議２の予定を割り当てることが好ましい。これにより、情報処理装置１００は、使用頻度が高いため、以降に他の予定を割り当てることが希望される確率が高いと推定される会議室Ａのスロットｓ１０内の空き時間を確保しておくことができる。
【０１３７】
次に、情報処理装置１００は、例えば、会議３の予定についての割当要求を受け付ける。会議３の予定を割り当てる割当先となる条件は、「会議室Ａ」である。情報処理装置１００は、会議３の予定を、会議室Ａのスロットｓ１０内に割り当てる。この際、情報処理装置１００は、会議３の予定を割り当てる時間帯の指定がなければ、会議室Ａのスロットｓ１０内の空き時間が分断されないように、会議３の予定を割り当てることが好ましい。
【０１３８】
ここで、例えば、仮に、会議室Ａのスロットｓ１０に、会議２の予定を割り当てていた場合、会議３の予定は、会議室Ａのスロットｓ１０に割り当てられず、他に条件を満たす会議室のスロットもないため、割当が失敗することになる。そして、会議３に関わるユーザは、会議３の予定を中止することになり不利益を被ったり、会議１や会議２に関わるユーザに、会議１や会議２の予定の割当先の変更を相談することになり作業負担の増大化を招いたりする。
【０１３９】
これに対し、情報処理装置１００は、会議３の予定の割当が成功しやすくすることができ、ユーザの不利益を回避し、ユーザにかかる作業負担の低減化を図ることができる。このように、情報処理装置１００は、複数のスロットの全体で、割り当てが成功する予定の数を増大させることができ、様々な会議に関わるユーザの全体で、作業効率を向上させ、作業環境を向上させることができる。
【０１４０】
ここでは、情報処理装置１００が、会議室の使用頻度を重みとし、当該会議室のスロットの空き時間の大きさを補正する場合について説明したが、これに限らない。例えば、情報処理装置１００が、会議室の使用頻度と、会議室が有する特徴とに基づいて、当該会議室のスロットの空き時間に対して重みを設定する場合があってもよい。
【０１４１】
この場合に、割当先となる条件として、会議室の収容人数が指定されたとする。これに対し、情報処理装置１００は、会議室の収容人数が、指定された収容人数より多いほど、当該会議室のスロットに設定する重みを大きくする。これにより、情報処理装置１００は、収容人数が多いため、以降に他の予定を割り当てることが希望される確率が高いと推定される会議室のスロット内の空き時間を残すことができる。
【０１４２】
この場合に、割当先となる条件として、会議室に所定の設備がなくてもよく、会議室の所定の設備が指定されなかったとする。これに対し、情報処理装置１００は、所定の設備を有さない会議室のスロットの方に設定する重みが、所定の設備を有する会議室のスロットに設定する重みより大きくなるようにする。
【０１４３】
これにより、情報処理装置１００は、所定の設備を有し、汎用性があるため、以降に他の予定を割り当てることが希望される確率が高いと推定される会議室のスロット内の空き時間を残すことができる。次に、図１２の説明に移行し、情報処理装置１００が、会議の予定を割り当てた結果、会議室のスロットの空き領域が分断された場合に、スロットを分割する一例について説明する。
【０１４４】
図１２は、スロットを分割する一例を示す説明図である。図１２において、情報処理装置１００は、会議１の予定を割り当てる時間帯の指定があるため、会議室Ｂのスロットｓ２０内の空き時間を分断する時間帯に、会議１の予定を割り当てることになる。この際、情報処理装置１００は、会議室Ｂのスロットｓ２０を、分断された２つの空き領域のそれぞれの空き領域を有する会議室Ｂのスロットｓ２１，ｓ２２に分割する。ここで、スロットｓ２１，ｓ２２の大きさは、分割前のスロットｓ２０の大きさと同じであり、ダミーの予定が割り当てられる。これにより、情報処理装置１００は、空き領域が分断された以降も、上記アルゴリズムを利用可能なように、スロットを生成することができる。
【０１４５】
（チャットボットを実現する画面例）
次に、図１３〜図１５を用いて、チャットボットを実現する画面例について説明する。
【０１４６】
図１３〜図１５は、チャットボットを実現する画面例を示す説明図である。図１３において、情報処理装置１００は、端末装置２０１に対して表示制御を行い、チャットボットを実現するブラウザ画面１３００を表示させる。
【０１４７】
ブラウザ画面１３００は、例えば、情報処理装置１００からのメッセージと、端末装置２０１のユーザが入力したメッセージとを表示する会話表示領域１３１０を含む。会話表示領域１３１０は、例えば、端末装置２０１のユーザがメッセージを入力する入力欄１３１１と、入力したメッセージを確定して情報処理装置１００に送信する送信ボタン１３１２とを含む。
【０１４８】
また、ブラウザ画面１３００は、チャットボットを介して会議の予定を割り当てた結果を表示する予定表示領域１３２０を含む。図１３の例では、情報処理装置１００は、会議の予定を割り当てる条件の入力を促すメッセージを、会話表示領域１３１０に表示し、会議の予定を割り当てる条件の入力を待つ。次に、図１４の説明に移行する。
【０１４９】
図１４の例では、端末装置２０１のユーザは、会議を行う時間に関する条件を入力欄１３１１に入力し、送信ボタン１３１２をクリックする。情報処理装置１００は、送信ボタン１３１２のクリックにより、端末装置２０１から、会議を行う時間に関する条件を受け付ける。また、端末装置２０１のユーザは、会議を行う場所に関する条件を入力欄１３１１に入力し、送信ボタン１３１２をクリックする。情報処理装置１００は、送信ボタン１３１２のクリックにより、端末装置２０１から、会議を行う場所に関する条件を受け付ける。次に、図１５の説明に移行する。
【０１５０】
図１５の例では、情報処理装置１００は、受け付けた各種条件に基づき、図１１と同様に、複数の会議室のそれぞれの会議室のスロットの優先度を算出し、会議の予定を割り当てる割当先となるスロットを特定し、会話表示領域１３１０に表示する。ここで、情報処理装置１００は、例えば、割当先となるスロットとして、優先度が最も高いスロットだけを特定して会話表示領域１３１０に表示してもよい。
【０１５１】
また、情報処理装置１００は、例えば、優先度が相対的に高いスロットから順に特定して会話表示領域１３１０に表示してもよい。情報処理装置１００は、具体的には、いずれかのスロットを表示した後、端末装置２０１のユーザから当該スロットに対する会議の予定の割当を却下された場合に、当該スロットの次に優先度が高いスロットを特定して表示することを繰り返す。
【０１５２】
また、情報処理装置１００は、例えば、割当先となるスロットとして、優先度が所定番目までのスロットを特定して会話表示領域１３１０に表示してもよい。図１５の例では、情報処理装置１００は、優先度が３番目に高いスロットまでを特定して会話表示領域１３１０に表示し、端末装置２０１のユーザからのいずれかのスロットの選択を待つ。情報処理装置１００は、端末装置２０１のユーザがいずれかのスロットを選択した場合、選択されたスロットに、会議の予定を割り当てる。情報処理装置１００は、割り当てた会議の予定に関する情報を、予定表示領域１３２０に表示する。次に、図１６および図１７の説明に移行し、チャットボットにおけるユーザとの別の会話例について説明する。
【０１５３】
図１６および図１７は、チャットボットにおけるユーザとの別の会話例を示す説明図である。図１６の例では、端末装置２０１のユーザは、メッセージ「明日午前、本社で１時間会議をしたい」を、ブラウザ画面１６００を介して入力する。これに対し、情報処理装置１００は、メッセージ「明日午前、本社で１時間会議をしたい」から、検索条件を抽出する。
【０１５４】
そして、情報処理装置１００は、現在の割当状況１６１０、および、会議室Ａと会議室Ｂと会議室Ｃとの使用頻度を考慮して、検索条件を満たすスロットが複数あっても、会議の予定の割当先となるスロットを１つだけ特定する。図１６の例では、情報処理装置１００は、会議の予定の割当先として会議室Ｂのスロットを特定する。そして、情報処理装置１００は、ブラウザ画面１６００を介して、メッセージ「０９：００〜１０：００、会議室Ｂが空いています」を出力する。
【０１５５】
これにより、情報処理装置１００は、検索条件を満たすスロットが複数ある場合、検索条件を満たすスロットのうち、使用頻度が相対的に低く、以降に他の会議の予定を割り当てることを希望されにくいスロットに、今回の会議の予定を割り当てさせることができる。このため、情報処理装置１００は、会議の予定をいずれかのスロット内に割り当てる都度、以降に他の会議の予定を割り当てることが希望される確率が比較的高いと推定されるスロット内の空き領域を、以降に他の会議の予定が割り当て可能に残すことができる。次に、図１７の説明に移行する。
【０１５６】
図１７の例では、端末装置２０１のユーザは、メッセージ「明日９時から、会議室Ａで１時間会議をしたい」を、ブラウザ画面１７００を介して入力する。これに対し、情報処理装置１００は、メッセージ「明日９時から、会議室Ａで１時間会議をしたい」から、検索条件を抽出する。ここで、情報処理装置１００は、メッセージが「会議室Ａのみ」を指定しているが、検索条件としては、会議室Ａと代替可能な他の会議室も指定する条件であると扱って抽出するようにしてもよい。
【０１５７】
ここで、情報処理装置１００は、会議室Ａのスロット内に９時からの空き時間がないため、現在の割当状況１７１０、および、会議室Ａと会議室Ｂと会議室Ｃとの使用頻度を考慮して、会議室Ａと代替可能な他の会議室Ｂのスロットを特定する。図１７の例では、情報処理装置１００は、ブラウザ画面１７００を介して、メッセージ「会議室Ａは空いていません。０９：００〜１０：００、会議室Ｂが空いています」を出力する。
【０１５８】
これにより、情報処理装置１００は、会議室Ａのスロット内に割り当て済みである会議の予定の変更をしなくても、会議室Ａと代替可能な他の会議室Ｂのスロット内に、今回の会議の予定を割り当てることができる。そして、情報処理装置１００は、今回の会議に関わるユーザに、会議室Ａと代替可能な他の会議室Ｂを案内し、不利益が生じることを抑制することができる。また、情報処理装置１００は、会議室Ａのスロット内に割り当て済みである会議の予定を変更せずに済ませることができ、会議室Ａのスロット内に割り当て済みである会議に関わるユーザの作業負担の増大化を防止することができる。
【０１５９】
また、情報処理装置１００は、会議の予定を割り当てるタイミングで、以降に他の会議の予定を割り当てることが希望される状況を考慮して、今回の会議の予定の割当先を特定することができる。このため、情報処理装置１００は、会議の予定を一旦割り当てた後に、会議の予定を変更する必要が生じる確率を低減させることができる。結果として、情報処理装置１００は、会議の予定を一旦割り当てたユーザが、会議の予定を変更することになる確率を低減させることができ、作業負担の低減化を図ることができる。
【０１６０】
（更新処理手順）
次に、図１８および図１９を用いて、情報処理装置１００が実行する、更新処理手順の一例について説明する。更新処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０１６１】
図１８および図１９は、更新処理手順の一例を示すフローチャートである。図１８において、情報処理装置１００は、更新命令を受け付ける（ステップＳ１８０１）。そして、情報処理装置１００は、更新命令を受け付けると、スロットＤＢ６００からスロット情報のリストを取得する（ステップＳ１８０２）。
【０１６２】
次に、情報処理装置１００は、予定ＤＢ４００から予定情報のリストを取得する（ステップＳ１８０３）。そして、情報処理装置１００は、希望頻度ＤＢ５００から希望頻度情報のリストを取得する（ステップＳ１８０４）。情報処理装置１００は、図１９のステップＳ２００１の処理に移行する。
【０１６３】
図１９において、情報処理装置１００は、スロット情報のリストのうち、未選択のスロット情報を選択する（ステップＳ１９０１）。そして、情報処理装置１００は、予定情報のリストのうち、未選択の予定情報を選択する（ステップＳ１９０２）。
【０１６４】
次に、情報処理装置１００は、選択したスロット情報と、選択した予定情報とが同じ会議室に関する情報であるか否かを判定する（ステップＳ１９０３）。ここで、同じ会議室に関する情報である場合（ステップＳ１９０３：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９０４の処理に移行する。一方で、同じ会議室に関する情報ではない場合（ステップＳ１９０３：Ｎｏ）、情報処理装置１００は、ステップＳ１９０７の処理に移行する。
【０１６５】
ステップＳ１９０４では、情報処理装置１００は、選択したスロット情報の空き時間に、選択した予定情報の開催時間が含まれるか否かを判定する（ステップＳ１９０４）。ここで、空き時間に開催時間が含まれる場合（ステップＳ１９０４：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９０５の処理に移行する。一方で、空き時間に開催時間が含まれない場合（ステップＳ１９０４：Ｎｏ）、情報処理装置１００は、ステップＳ１９０７の処理に移行する。
【０１６６】
ステップＳ１９０５では、情報処理装置１００は、選択したスロット情報の空き時間を更新する（ステップＳ１９０５）。次に、情報処理装置１００は、選択したスロット情報の希望頻度を更新する（ステップＳ１９０６）。そして、情報処理装置１００は、ステップＳ１９０７の処理に移行する。
【０１６７】
ステップＳ１９０７では、情報処理装置１００は、すべての予定情報を選択したか否かを判定する（ステップＳ１９０７）。ここで、未選択の予定情報がある場合（ステップＳ１９０７：Ｎｏ）、情報処理装置１００は、ステップＳ１９０２の処理に戻る。一方で、すべての予定情報を選択している場合（ステップＳ１９０７：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９０８の処理に移行する。
【０１６８】
ステップＳ１９０８では、情報処理装置１００は、すべてのスロット情報を選択したか否かを判定する（ステップＳ１９０８）。ここで、未選択のスロット情報がある場合（ステップＳ１９０８：Ｎｏ）、情報処理装置１００は、ステップＳ１９０１の処理に戻る。一方で、すべてのスロット情報を選択している場合（ステップＳ１９０８：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９０９の処理に移行する。
【０１６９】
ステップＳ１９０９では、情報処理装置１００は、空き時間が不連続であるスロット情報があるか否かを判定する（ステップＳ１９０９）。ここで、空き時間が不連続であるスロット情報がない場合（ステップＳ１９０９：Ｎｏ）、情報処理装置１００は、更新処理を終了する。一方で、空き時間が不連続であるスロット情報がある場合（ステップＳ１９０９：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９１０の処理に移行する。
【０１７０】
ステップＳ１９１０では、情報処理装置１００は、空き時間が不連続であるスロット情報を、それぞれ空き時間が連続である複数のスロット情報に分割する（ステップＳ１９１０）。ここで、分割後のスロット情報の会議室識別子および希望頻度は、分割前のスロット情報の会議室識別子および希望頻度が使用される。そして、情報処理装置１００は、更新処理を終了する。これにより、情報処理装置１００は、スロット情報を更新し、割当処理に利用可能にすることができる。
【０１７１】
（割当処理手順）
次に、図２０を用いて、情報処理装置１００が実行する、割当処理手順の一例について説明する。割当処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０１７２】
図２０は、割当処理手順の一例を示すフローチャートである。図２０において、情報処理装置１００は、打合せの検索条件を受け付ける（ステップＳ２００１）。検索条件は、例えば、会議室の条件、および、開催時間の条件を含む。そして、情報処理装置１００は、対象スロット情報のリストを初期化する（ステップＳ２００２）。
【０１７３】
次に、情報処理装置１００は、スロットＤＢ６００からスロット情報のリストを取得する（ステップＳ２００３）。そして、情報処理装置１００は、スロット情報のリストのうち、未選択のスロット情報を選択する（ステップＳ２００４）。
【０１７４】
次に、情報処理装置１００は、選択したスロット情報が検索条件に合致するか否かを判定する（ステップＳ２００５）。情報処理装置１００は、例えば、選択したスロット情報が示す会議室が、検索条件に含まれる会議室の条件を満たし、かつ、選択したスロット情報が示す空き時間が、検索条件に含まれる開催時間の条件を満たせば、検索条件に合致すると判定する。ここで、検索条件に合致しない場合（ステップＳ２００５：Ｎｏ）、情報処理装置１００は、ステップＳ２００４の処理に戻る。一方で、検索条件に合致する場合（ステップＳ２００５：Ｙｅｓ）、情報処理装置１００は、ステップＳ２００６の処理に移行する。
【０１７５】
ステップＳ２００６では、情報処理装置１００は、選択したスロット情報の優先度を算出する（ステップＳ２００６）。ここで、優先度は、１／（空き時間の長さ×（希望頻度＋１））である。次に、情報処理装置１００は、選択したスロット情報と優先度とを対応付けた対象スロット情報を、対象スロット情報のリストに追加する（ステップＳ２００７）。
【０１７６】
そして、情報処理装置１００は、すべてのスロット情報を選択したか否かを判定する（ステップＳ２００８）。ここで、未選択のスロット情報がある場合（ステップＳ２００８：Ｎｏ）、情報処理装置１００は、ステップＳ２００４の処理に戻る。一方で、すべてのスロット情報を選択している場合（ステップＳ２００８：Ｙｅｓ）、情報処理装置１００は、ステップＳ２００９の処理に移行する。
【０１７７】
ステップＳ２００９では、情報処理装置１００は、対象スロット情報のリストに基づいて、打合せの予定を、いずれかの会議室のスロット内に割り当てる（ステップＳ２００９）。情報処理装置１００は、例えば、打合せの予定の割当先として、優先度が最も大きいスロット情報が示す会議室のスロットを特定し、打合せの予定を割り当てる。また、情報処理装置１００は、対象スロット情報のリストが空であれば、割り当て失敗と判定する。
【０１７８】
次に、情報処理装置１００は、割当結果を出力する（ステップＳ２０１０）。そして、情報処理装置１００は、割当処理を終了する。これにより、情報処理装置１００は、打合せの予定を、いずれのスロット内にも割り当てられない確率の低減化を図るように、様々な打合せの予定を、いずれかのスロット内に割り当てていくことができる。
【０１７９】
ここで、情報処理装置１００は、図１８〜図２０のそれぞれに示したフローチャートにおいて一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップＳ１９０５，Ｓ１９０６の処理の順序は入れ替え可能である。
【０１８０】
以上説明したように、情報処理装置１００によれば、複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付けることができる。情報処理装置１００によれば、要求に含まれる所定の事象を割り当てる１以上の枠の候補のそれぞれの候補の使用頻度に基づいて、それぞれの候補内の空き領域に対する重みを設定することができる。情報処理装置１００によれば、それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、１以上の候補のうち、所定の事象を割り当てた後の空き領域が相対的に小さくなる候補を特定し、出力することができる。
【０１８１】
これにより、情報処理装置１００は、事象をいずれかの枠内に割り当てる都度、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠内の空き領域を、以降に他の事象が割り当て可能に残すことができる。
【０１８２】
情報処理装置１００によれば、それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、１以上の候補のうち、所定の事象を割り当てた後の空き領域が最も小さくなる候補を特定することができる。これにより、情報処理装置１００は、所定の事象を、他の事象を割り当てることが希望される確率が最も低いと推定される枠内の空き領域に割り当てることができる。このため、情報処理装置１００は、以降に他の事象をいずれかの枠内に割り当てることができる確率の向上を図ることができる。
【０１８３】
情報処理装置１００によれば、それぞれの候補内の空き領域の大きさを、設定した当該空き領域に対する重みを用いて補正することができる。情報処理装置１００によれば、補正後の空き領域の大きさに基づいて、１以上の候補のうち、所定の事象を割り当てた後の空き領域が相対的に小さくなる候補を特定することができる。これにより、情報処理装置１００は、ビンパッキング問題のオンラインアルゴリズムを利用した場合に、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠内の空き領域を残すことができる。
【０１８４】
情報処理装置１００によれば、複数の枠のいずれかの枠内に事象を割り当てた結果、いずれかの枠内の空き領域が連続しなくなった場合、いずれかの枠を、それぞれ空き領域が連続する複数の枠に分割することができる。これにより、情報処理装置１００は、いずれかの枠内の空き領域が連続しなくなった後も、ビンパッキング問題のオンラインアルゴリズムを利用可能にすることができる。
【０１８５】
情報処理装置１００によれば、枠として、会議室の使用可能な時間枠を用い、事象として、人が会議室を使用する予定を用いることができる。これにより、情報処理装置１００は、人が会議室を使用する予定を、会議室の使用可能な時間枠内に割り当てることができる。
【０１８６】
情報処理装置１００によれば、１以上の候補のそれぞれの候補の使用頻度と、それぞれの候補に対応する会議室が有する設備とに基づいて、それぞれの候補内の空き領域に対する重みを設定することができる。これにより、情報処理装置１００は、さらに、会議室が有する設備を考慮して、多種の設備を有し、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠内の空き領域を残すことができる。
【０１８７】
情報処理装置１００によれば、要求を端末装置２０１から受け付け、特定した候補を端末装置２０１に出力することができる。情報処理装置１００によれば、特定した候補を端末装置２０１に出力したことに応じて、端末装置２０１から割当指示を受け付けることができる。情報処理装置１００によれば、割当指示を受け付けたことに応じて、所定の事象を特定した候補に割り当て、所定の事象を特定した候補に割り当てたことを示す通知を端末装置２０１に出力することができる。これにより、情報処理装置１００は、端末装置２０１との間で、チャットボットを実現し、各種情報を受け付け、または出力することを可能にすることができる。
【０１８８】
情報処理装置１００によれば、情報を含む要求を入力装置から受け付けることができる。情報処理装置１００によれば、特定した候補を出力装置から出力することができる。情報処理装置１００によれば、特定した候補を出力装置から出力したことに応じて、入力装置から割当指示を受け付けることができる。情報処理装置１００によれば、割当指示を受け付けたことに応じて、所定の事象を特定した候補に割り当てて、所定の事象を特定した候補に割り当てたことを示す通知を出力装置から出力することができる。これにより、情報処理装置１００は、自装置において、チャットボットを実現し、各種情報を受け付け、または出力することを可能にすることができる。
【０１８９】
情報処理装置１００によれば、特定した候補を出力した結果、所定の事象を特定した候補に割り当てることを却下する通知を受け付けた場合、特定した候補の次に、所定の事象を割り当てた後の空き領域が相対的に小さくなる候補を特定し、出力することができる。これにより、情報処理装置１００は、所定の事象に関わるユーザに、割当先を選択する余地を与え、利便性を向上させつつ、以降に他の事象を割り当てることが希望される確率が比較的高いと推定される枠内の空き領域を残しやすくすることができる。
【０１９０】
情報処理装置１００によれば、枠として、業務を行う時間枠を用い、事象として、人が業務に従事する予定を用いることができる。これにより、情報処理装置１００は、人が業務に従事する予定を、業務を行う時間枠内に割り当てることができる。
【０１９１】
情報処理装置１００によれば、枠として、物体の使用可能な時間枠を用い、事象として、人が物体を使用する予定を用いることができる。これにより、情報処理装置１００は、人が物体を使用する予定を、物体の使用可能な時間枠内に割り当てることができる。
【０１９２】
情報処理装置１００によれば、枠として、サービスの提供可能な時間枠を用い、事象として、人がサービスを受益する予定を用いることができる。これにより、情報処理装置１００は、人がサービスを受益する予定を、サービスの提供可能な時間枠内に割り当てることができる。
【０１９３】
情報処理装置１００によれば、枠として、人の利用可能な場所を用い、事象として、人が場所内の一部を利用する予定を用いることができる。これにより、情報処理装置１００は、人が場所内の一部を利用する予定を、人の利用可能な場所内に割り当てることができる。
【０１９４】
なお、本実施の形態で説明した割当方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した割当プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した割当プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９６】
（付記１）複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付け、
過去における前記枠ごとの使用頻度に関する情報を参照して、前記要求に含まれる前記所定の事象を割り当てる枠の候補を特定する情報から特定される複数の候補のそれぞれの候補の使用頻度に基づいて、前記それぞれの候補内の空き領域に対する重みを設定し、
前記それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を特定し、
特定した前記候補を出力する、
処理をコンピュータが実行することを特徴とする割当方法。
【０１９７】
（付記２）前記特定する処理は、
前記それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が最も小さくなる候補を特定する、ことを特徴とする付記１に記載の割当方法。
【０１９８】
（付記３）前記特定する処理は、
前記それぞれの候補内の空き領域の大きさを、設定した当該空き領域に対する重みを用いて補正し、補正後の当該空き領域の大きさに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を特定する、ことを特徴とする付記１または２に記載の割当方法。
【０１９９】
（付記４）前記複数の枠のいずれかの枠内に事象を割り当てた結果、前記いずれかの枠内の空き領域が連続しなくなった場合、前記いずれかの枠を、それぞれ空き領域が連続する複数の枠に分割する、
処理を前記コンピュータが実行することを特徴とする付記１〜３のいずれか一つに記載の割当方法。
【０２００】
（付記５）前記枠は、会議室の使用可能な時間枠であり、
前記事象は、人が前記会議室を使用する予定である、ことを特徴とする付記１〜４のいずれか一つに記載の割当方法。
【０２０１】
（付記６）前記要求は、所定の予定を割り当てる会議室が有する設備の条件を含み、
前記設定する処理は、
過去における前記時間枠ごとの使用頻度に関する情報を参照して、前記要求に含まれる前記情報から特定される複数の候補のそれぞれの候補の使用頻度と、前記それぞれの候補に対応する会議室が有する設備とに基づいて、前記それぞれの候補内の空き領域に対する重みを設定する、ことを特徴とする付記５に記載の割当方法。
【０２０２】
（付記７）前記受け付ける処理は、
前記情報を含む要求を端末装置から受け付け、
前記出力する処理は、
特定した前記候補を前記端末装置に出力する、ことを特徴とする付記１〜６のいずれか一つに記載の割当方法。
【０２０３】
（付記８）特定した前記候補を前記端末装置に出力したことに応じて、前記端末装置から割当指示を受け付け、
前記割当指示を受け付けたことに応じて、前記所定の事象を特定した前記候補に割り当て、前記所定の事象を特定した前記候補に割り当てたことを示す通知を前記端末装置に出力する、
処理を前記コンピュータが実行することを特徴とする付記７に記載の割当方法。
【０２０４】
（付記９）前記受け付ける処理は、前記情報を含む要求を入力装置から受け付け、
前記出力する処理は、特定した前記候補を出力装置から出力する、ことを特徴とする付記１〜８のいずれか一つに記載の割当方法。
【０２０５】
（付記１０）特定した前記候補を前記出力装置から出力したことに応じて、前記入力装置から割当指示を受け付け、
前記割当指示を受け付けたことに応じて、前記所定の事象を特定した前記候補に割り当てて、前記所定の事象を特定した前記候補に割り当てたことを示す通知を前記出力装置から出力する、処理を前記コンピュータが実行することを特徴とする付記９に記載の割当方法。
【０２０６】
（付記１１）特定した前記候補を出力した結果、前記所定の事象を特定した前記候補に割り当てることを却下する通知を受け付けた場合、特定した前記候補の次に、前記所定の事象を割り当てた後の空き領域が小さくなる候補を特定し、
特定した前記候補を出力する、ことを特徴とする付記１〜１０のいずれか一つに記載の割当方法。
【０２０７】
（付記１２）前記枠は、業務を行う時間枠であり、
前記事象は、人が前記業務に従事する予定である、ことを特徴とする付記１〜３のいずれか一つに記載の割当方法。
【０２０８】
（付記１３）前記枠は、物体の使用可能な時間枠であり、
前記事象は、人が前記物体を使用する予定である、ことを特徴とする付記１〜３のいずれか一つに記載の割当方法。
【０２０９】
（付記１４）前記枠は、サービスの提供可能な時間枠であり、
前記事象は、人が前記サービスを受益する予定である、ことを特徴とする付記１〜３のいずれか一つに記載の割当方法。
【０２１０】
（付記１５）前記枠は、人の利用可能な場所であり、
前記事象は、人が前記場所内の一部を利用する予定である、ことを特徴とする付記１〜３のいずれか一つに記載の割当方法。
【０２１１】
（付記１６）複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付け、
過去における前記枠ごとの使用頻度に関する情報を参照して、前記要求に含まれる前記所定の事象を割り当てる枠の候補を特定する情報から特定される複数の候補のそれぞれの候補の使用頻度に基づいて、前記それぞれの候補内の空き領域に対する重みを設定し、
前記それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を特定し、
特定した前記候補を出力する、
処理をコンピュータに実行させることを特徴とする割当プログラム。
【０２１２】
（付記１７）複数の枠のいずれかの枠内に所定の事象を割り当てることの要求を受け付け、
過去における前記枠ごとの使用頻度に関する情報を参照して、前記要求に含まれる前記所定の事象を割り当てる枠の候補を特定する情報から特定される複数の候補のそれぞれの候補の使用頻度に基づいて、前記それぞれの候補内の空き領域に対する重みを設定し、
前記それぞれの候補内の空き領域と当該空き領域に対する重みとに基づいて、前記複数の候補のうち、前記所定の事象を割り当てた後の空き領域が他の候補よりも小さくなる候補を特定し、
特定した前記候補を出力する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【０２１３】
１００  情報処理装置
２００  割当システム
２０１  端末装置
２１０  ネットワーク
３００，７００  バス
３０１，７０１  ＣＰＵ
３０２，７０２  メモリ
３０３，７０３  ネットワークＩ／Ｆ
３０４，７０４  記録媒体Ｉ／Ｆ
３０５，７０５  記録媒体
３０６，７０７  入力装置
３０７  出力装置
４００  予定ＤＢ
５００  希望頻度ＤＢ
６００  スロットＤＢ
７０６  ディスプレイ
８００  記憶部
８０１  取得部
８０２  設定部
８０３  特定部
８０４  出力部
８０５  割当部
９０１  更新モジュール
９０２  選定モジュール
１３００，１６００，１７００  ブラウザ画面
１３１０  会話表示領域
１３１１  入力欄
１３１２  送信ボタン
１３２０  予定表示領域
１６１０，１７１０  割当状況
【図１】
2020135331.tif 000003
【図２】
2020135331.tif 000004
【図３】
2020135331.tif 000005
【図４】
2020135331.tif 000006
【図５】
2020135331.tif 000007
【図６】
2020135331.tif 000008
【図７】
2020135331.tif 000009
【図８】
2020135331.tif 000010
【図９】
2020135331.tif 000011
【図１０】
2020135331.tif 000012
【図１１】
2020135331.tif 000013
【図１２】
2020135331.tif 000014
【図１３】
2020135331.tif 000015
【図１４】
2020135331.tif 000016
【図１５】
2020135331.tif 000017
【図１６】
2020135331.tif 000018
【図１７】
2020135331.tif 000019
【図１８】
2020135331.tif 000020
【図１９】
2020135331.tif 000021
【図２０】
2020135331.tif 000022