読み解き – 「ビッグデータがもたらす超情報社会」

この記事では、どうしても学術志向に流れがちな情報処理学会の記事を、企業的に感心が持てるような方向から読み解いて、できるだけ易しく解説してみたい。

情報処理学会2015年10月号の特集は、「ビッグデータがもたらす超情報社会 – すべてを見る情報処理技術:基盤から応用まで」という表題である。情報処理学会は日本のIT基盤を支える中心的な学会であるが、この学会でも「ビッグデータ」は、避けることのできないテーマである。最近、話題となるキーワードには、他にも「Internet of Things (IoT)」や「Industry4.0」などがあるが、やはり「ビッグデータ」に対する関心度は他を圧している。

本特集には以下の8本の記事がある。それぞれの記事は著者が異なる。そもそも、「ビッグデータ」という単語は、人によって捉え方が大きく異なっている。そのため、記事中で使用される用語が必ずしも統一されていないことには、注意してほしい。

  1. ビッグデータ時代を生きる
  2. ビッグデータ関連プログラム – 米国とEUにおける動向 –
  3. ビッグデータ処理基盤 – クラウド環境においてビッグデータを扱うシステム –
  4. センサ・モバイルビッグデータを有効利用するためのプラットフォーム技術
  5. クラウドソーシング – 新たな情報コンテンツ創造と社会デザインに向けて –
  6. ソーシャルビッグデータ利活用のための自然言語処理
  7. つながる実世界データの利活用 – 課題解決指向のオープンデータ統合基盤 –
  8. ビッグデータ活用におけるガバナンス

上記の記事のうち、比較的興味が持てそうな記事を要約し、さらに私見を加えながら解説する。読みやすくするために、元記事の内容と私見を区別することなく、文章を構成していることをお許し願いたい。なお、現在も執筆・編集中であるので、取り扱う記事が日々、増えていく。また、最後の記事は完結していないことがある。

1. ビッグデータ時代を生きる

元記事著者:中野美由紀(芝浦工業大学)/豊田正史(東京大学)

この記事では、まず、ビッグデータとは何かを明らかにしようとしている。残念ながら元記事は、あまりうまくまとめられていないので、私の独断でビッグデータの定義を記事の中から無理やり抽出した。但し、一つの対象について以下の項目全てが当てはまるとは限らない。

  • 大きなデータである
  • 日々、増大する
  • 「全件処理」を行う必要がある
  • 「社会性」がある
  • データの収集目的と利用目的が異なる
  • リアルタイム処理が要求される

大きなデータとは、どれほどのサイズだろうか?まず、ウォルマートの顧客情報が挙げられている。ここでは、1時間に100万人分のデータが処理され(1時間に100万人が買い物するということであろう)、データ総量が2.5ペタバイト(1ペタバイトは10の15乗=千兆バイト)増加している。Facebookの例では、1日に2億5千万の写真がアップロードされ、8億件の投稿が行われる。これから全体のデータ量を推定すると、Facebookだけでエクサバイト(10の18乗=百京バイト)クラスのデータがサーバ上に格納されていることになる。このデータ量は、1テラバイトクラスのハードディスクなら、実に百万個に相当する。

このように巨大なデータを、「全件処理」(全てのレコードに渉って、検索・変更・解析を行うこと)しなければならないのであるから、そのために革新的な技術開発が必要なことは明らかであろう。その技術として、以下が挙げられている。

  1. 大規模ストレージ
  2. 大規模分散処理(クラウドコンピューティング)
  3. 解析技術(機械学習、データマイニング、自然言語処理)

「社会性」とは何であろうか?ここで述べているのは、データを収集する当初の目的とは異なり、収集者が意図しなかった別の利用法が生じるということである。そして、それは人間の社会的活動の様々な側面に役立てることができる。例えば、自動車に設置されたカーナビである。当初の目的は、ドライバーが目的地に最短距離でたどり着けることである。しかし、それを大量の自動車の位置の時間経過データとして捉えると、交通量分析の基礎データとなり、渋滞予測サービスとして利用できる。また、自治体にとっては、こうして得られた交通量のデータが、道路整備計画の策定や信号機の配置・設定のための有力な情報になるのである。

社会性・リアルタイム要求の例として挙げられているのが、東日本大震災のときのTwitterの役割である。東日本大震災の時には、電話や交通網が麻痺する中、電話に比べてデータ量が小さい(インフラに対する負担が少ない)Twitterが大活躍した。被害状況や救助要請、避難場所等の情報が、非常に速く共有された。さらには、阪神大震災の経験者等から多くの有益なアドバイスが発信され、共有伝播した。そもそもTwitterの目的は、単に友人間の情報共有であったにも関わらず、友人の友人、さらにはその友人へと情報が伝わることで、大規模で高速な情報伝達手段になってしまったのである。このような利用方法は、結果的に一般の人々による意図しない大発明であり、現在では報道機関も、災害時の情報収集手段としてソーシャルメディアを活用している。

ところで、利用されるデータが電子的に収集されたデータであるとは限らない。例えば、ニューヨーク市のマンホールの修理記録である。ニューヨークでは毎年、マンホールの爆発事故が数回起こる。しかし、定期的な点検だけでは全く、これを防ぐことができなかった。そこでニューヨーク市では、過去100年近くに渡る修理記録(マンホール以外も含めて)をデジタル化して、その原因を解析したのである。その結果、爆発事故が起きた箇所に埋設された電線が原因であることを突き止め、電線の補修を効率的に行うことで、マンホールの爆発事故を防ぐことができるようになった。

この例は(おそらくデータサイズとしてはビッグデータの範疇からはずれるのだが)、ビッグデータの解析手法を有効に活用したものであり、過去の非デジタル記録をデジタル化して解析することで、新たな価値を生み出す可能性を示唆したものである。これは、一般企業にもあてはまる可能性が大きい。例えば、最近注目されている食品への異物混入事例などは、製造ラインに起きた障害データを丹念に記録して解析することで、かなりの精度で予防することができるのではないだろうか。

次の記事でも述べるように、ビッグデータは企業にとって宝の山になる可能性を秘めている。2019年には、ビッグデータ分析に使われるインフラの国内市場が、約1500億円に達すると予想されている。それにも関わらず、現在ビッグデータを利用中または検討中の企業は、全体の3割に留まっており、しかもその増加が飽和傾向にある。つまり、積極的にビッグデータに投資する企業とそうでない企業の二極分化が起きつつあるようだ。

ビッグデータの利用は、金をかければ簡単に実現するようなものではない。データサイエンティスト(ビッグデータ解析を担う専門家)を、年月をかけて、その業態に適応できるように要請していくことが肝要である。ビッグデータへの取り組みが、企業の将来を決める時代が来るのかも知れない。

6. ソーシャルビッグデータ利活用のための自然言語処理

元記事著者:鍛冶伸裕/吉永直樹(東京大学情報通信研究機構)

先の記事では、東日本大震災の時にTwitterが果たした役割について述べた。現在、主としてスマートフォンの興隆により、ソーシャルメディアの利用が爆発的に拡大している。一般に、ソーシャルメディアとは、Twitterを始めとする短文投稿サイト(マイクロブログ)、Facebookのような交流サイト、YoutubeやInstagramのような動画像投稿サイトなどの総称である。

こうしたソーシャルメディアからは、日々大量のテキストデータが発信されている。2013年の調査によると、Twitter上に発信された日本語の投稿総数は、1年で200億通を超える(Twitterであるから、1通あたり1文か2文である)。これは新聞記事の電子版1年分が100万文であることに比べると、圧倒的な巨大さが分かる。

ソーシャルメディアの特徴は、データサイズの大きさに加えて、即時性である。人々は、自分の体験やそのときの気持ちをリアルタイムに発信するため、情報の鮮度が極めて高い。

ソーシャルテキストの利活用

こうした特徴のために、ソーシャルメディアから発信されるテキストデータ(ソーシャルテキスト)には、多くの貴重な情報が秘められている。ソーシャルテキストこそが、ビッグデータのひとつの典型であると言ってもいいだろう。

ソーシャルテキストに内包される情報の代表として、特定の対象に対する人々の意見や感情が挙げられる。企業として見れば、従来は多くの手間や費用をかけて収集していた顧客に対するアンケートが結果が、バイアスがかからない生の状態で、しかも大量に得られるのである。そのため、これを企業活動に活かそうと考えるのは至って当然のことである。

今年、新発売の食品の人気が高くなりすぎたために、製品の供給が追いつかず、販売の中断に追い込まれたという事例があった。これなどは、後からソーシャルメディア上の感想を分析すると、人気の沸騰が1〜2週間前には予見できた可能性が指摘されている。もし、ソーシャルテキストをリアルタイムで解析できる用意があったなら、あらかじめ生産ラインを増強して供給不足を避けられたかも知れないのである。ソーシャルテキストの解析と生産・在庫管理を直結させる仕組みは、これからの製造業の中心課題となるであろう。

この種の利用方法では、国民の意見を政治判断に活かすことにおいても、大きな可能性がある。政府は、特定の政策課題に対して、あらかじめ国民の意見を分析しておき、それを政策にフィードバックすることができる。これは、政府側にとっては、国民の望まない政策を強行して支持率を下げることを避けられるメリットがあり、国民にとっても、選挙を経ないで意見を反映することできる。

ソーシャルテキストの利用には、もうひとつ面白いものがある。例えば、ゲリラ豪雨や竜巻などの観測が難しい突発的な自然現象の発生を、ソーシャルテキストから検出するというものである。いわば、ソーシャルテキストを気象観測用機器の代替として利用するのである。高度に人間的なソーシャルデータが、センサ情報のような無機的なデータとして扱われるという事実は、たいへん興味深い。

自然言語処理技術

大量のソーシャルテキストを解析するためには、人間が関与することなく、完全にコンピュータだけで解析を行わなければならない。そのためには、自然言語をコンピュータが解析できる仕組みが必要である。自然言語とは、計算機言語に対して、人間が普段使用する言語、すなわち日本語や英語のことを指す。計算機言語が完全に論理的であり、ひとつの意味を表現するのに、ほぼ一通りの方法しかないのに比べて、自然言語は、同じ意味を表す様々な表現が可能である。このため、自然言語のコンピュータ処理は意外に難しい。

自然言語解析は、一般に英語より日本語の方が難しいとされている。その原因は、英語においては、各単語が空白およびピリオドなどのデリミタで分離されているのに対し、日本語では、まず各単語(形態素)に分離する必要があるからである。

[この項つづく]

遺伝子アルゴリズム(GA)

遺伝子アルゴリズム(GA)は、生物の進化の過程を模倣して、問題の解を得ようとする手法である。最近では、人工知能(AI)の実現方法のひとつと考えられている。

遺伝子アルゴリズムでは、与えられた問題の解(解の候補)を生物の個体(遺伝子)に擬する。その複数の個体に対して、3種類の操作を繰り返しながら進化をさせる。進化を繰り返すうちに、個体=遺伝子=解の候補が、問題の望ましい解に近づいていくことを期待するのである。3つの操作とは

  1. 交叉(交配)
  2. 選択(自然淘汰)
  3. 突然変異

である。しかしながら、3つの操作の具体的な実現方法、そもそも解を遺伝子にどのように抽象化するかについては様々な方法がある。このため、ひとくちに遺伝子アルゴリズムと言っても、そのやり方は無限にあると言っても良い。

 遺伝子アルゴリズムが最もよく適用されるのは、「最適化問題」である。最適化問題とは、いくつかの変数で表される関数(これを目的関数とかコスト関数と呼ぶ)の値を最大にする(あるいは最小にする)変数の組を求める問題である。

例えば、生産ラインを共有する複数の製品に対して、その生産時間の割り振りを最適化する問題である。この場合、生産によって得られる利益が目的関数であり、各製品に割り振るに生産ラインの専有時間が変数である。

このように多くの変数が関与する問題の解法は、多変量解析と呼ばれる。多変量解析には従来から、重回帰分析、主成分分析、因子分析、クラスター分析など様々な方法がある。しかしながら、変数の数がたいへん多い場合、変数が離散的である場合、目的関数が連続的でない場合など、数学的な解析が困難な場合には、遺伝子アルゴリズムが有力な方法になる。

2次元の最適化問題

具体的な解放を例にして説明しよう。目的関数が下図のように与えられているとする。解は2次元の座標点である。一番高いピークの頂点を与える座標を求めたいのである。

onewell

人間ならば一目で解は分かるのだが、実はこの問題は意外に難しい。というのも、上図を描くには2500点で目的関数を計算する必要がある。相当なコストを払っているのである。さらに、この関数には主ピーク以外に小さいピークがいくつもある。そのため、このような問題でよく使われる最急降下線法などがうまく適用できないのである。

この問題は最も単純な2次元空間で解を探すように設定しているのだが、実際の問題ではもっと高次元になることが多い。

遺伝子

遺伝子として何を用いるかが重要である。今、解は2次元座標(x,y)で表される。従って、遺伝子上に2個の実数xとyを表現しなければならない。

実際の生物の遺伝子はDNAの2重らせんで表現される。2重らせんに成っているのは、ひとつは複写のため、もうひとつはエラー修正のためである。情報としては、2重のうち片方だけしか意味が無い。その片側はアデニン、グアニン、チミン、シトシンの4種類の塩基から選択される。すなわち、四値論理であり2bitの情報量である。しかし、遺伝子の単位が2bitである必然性は特に無い。1bitで良い。これはコンピュータに馴染む。

一番簡単には、浮動小数点実数のビット表現(IEEE754形式)をそのまま並べて遺伝子にすることが考えられる。この場合、元の実数が単精度なら遺伝子は8バイトになる。しかし、IEEE754の中身を調べると遺伝子アルゴリズムには具合が悪い。そこで、実数でなく整数を用いることにする。範囲が限られるなら(上図の2次元領域)整数でも十分である。

実際の計算はJavaを使った。Javaの整数は4バイト(32bit)である。これを遺伝子とした。遺伝子を上下に分けて、上部をx座標、下部をy座標に割り当てた(下図)。それぞれは16bitのshort型整数になる。これでも領域を66636分割できる精度がある。

waku

進化の論理

採用した進化の論理を次に示す。

  1. 最初にN個の個体(=遺伝子)をランダムに作り、最初の親世代とする
  2. N個から2個づつのペアを作る
  3. それぞれのペアは、4個づつ子供を作る
  4. 子供を作る際、2個の親の遺伝子をビットごとに比較し、ランダムにどちらかのビットを子供のビットとする(遺伝子の交叉)
  5. できた子供の遺伝子からランダムに選んだビットを反転させる(突然変異)
  6. 親世代を死なせる(自然死)。この時、適当な数だけ親を生存させる(遺伝子の複製)
  7. 残った個体から、与えられたルールに従い、N個だけを残して他を死なせる(自然淘汰)
  8. 与えられた条件を満たすまで、2から7を繰り返す

シミュレーションの過程

遺伝子アルゴリズムによるシミュレーションの過程を、http:/st/ga/に示す。WebGLを使っていて、途中経過を動画のように見ることができる。但し、WebGLはインターネットエクスプローラでは使えないため、Firefox、Google Chromeなど他のブラウザを使ってもらいたい。

最初、右図のように個体をランダムに初期配置する。これが第0世代であり、第1世代の親となる。

最適解は赤紫の円の中心である。

step0.s

第0世代から親ペア(赤玉)を選び、子供(赤玉の子供は水色玉。黄色玉は別の親ペアの子供)を作る。親ペアごとにこれを繰り返す。子供は第1世代である。

step1.s

第1世代の自然死、残った個体の自然淘汰を経て、最後に生き残った個体を親として第2世代が生まれる。

step2.s

第4世代の生き残り、最適解の周辺に集まっている。

step4.s

結果

ここで示した結果は、第4世代でほぼ最適解が得られた。この時、目的関数は80回計算した。これは収束が最も速い方の例である。収束の悪い場合も含めて平均すれば、遺伝子アルゴリズムで解を求める計算コスト(目的関数の計算回数)は、だいたい310回である。

ところで、計算コストはパラメータ(1世代の生き残り個体数、各ペアの生む子供の数、親世代の生き残り個体数、遺伝子に生ずる突然変異ビットの数)を調整すると、もう少し向上する。図の結果はパラメータが(8,4,1,1)であったが、パラメータを(8,4,2,2)にすると計算コストは170回になった。等間隔で計算する場合(上記の目的関数の図)は2500回であるので、遺伝子アルゴリズムでは14倍ほどのコストパーフォーマンスで解を求めることができた。

もっと変数が増えて高次元になるほど、遺伝子アルゴリズムが有効になると推察できる。4次元空間で同じ程度の精度を要求してみたところ、遺伝子アルゴリズム計算コストは35000回であった。等間隔の計算では625万回が必要であるから、コストパーフォーマンスは180倍である。

どこが人口知能なのか

では、遺伝子アルゴリズムのどの部分が人口知能なのか。上記のような最適化計算の場合、実際にプログラムで求める場合には、等間隔のメッシュで細かく計算するようなことはしない。始めに粗いメッシュで計算してみて解の場所を推定し、推定した領域で様々な方法を用いて解に近づける。これはプログラム的にはたいへん面倒な作業である。

それに比べて、遺伝子アルゴリズムを用いたプログラムは、コアの部分はどんな目的に対しても共通なのである。それでありながら、粗い計算から細かい計算まで自動的に求解が進む。いわば、人間が頭を使うかわりに、遺伝子アルゴリズムが同じようなことをやってくれる。

これが、遺伝子アルゴリズムの人口知能たる所以である。

データフロー志向開発

私の年長の友人であり大学の先輩でもあるM氏は、大手食品メーカT社(社名のイニシャルではない)において情報システム部門の礎を築いた人である。M氏が指導して導入した数々の先進的手法のおかげで、現在でもT社のシステム部門は同業他社に比べて一世代先を進んでいる。かといってM氏は決して情報工学の専門家ではない。大学では経済学を収めた体育会系の人物である。

M氏が導入した手法(考え方とも言うべきかもしれない)の中で、現在でも有効なもののひとつにデータフロー志向の開発手法がある。M氏いわく、システムを開発するときに最も大事なのは、データの流れに注目することだ。ここで言うデータとは、例えば発注書に起因する受注から納品での流れの中では、書類上の情報だけでなく商品そのものも表す抽象化されたデータである。M氏はなんと、この思想を30年以上前から開発の基本に置いてきた。

M氏がデータフロー志向の考え方に至ったのは、食品工場勤務を経験したことが大きい。M氏の勤務した工場で作っているのは特別な食品で、長いものでは生産ラインの上に30年以上も滞在するものさえある。この食品は、材料の段階から始め、加熱や添加、貯蔵を何段階も繰り返す。各段階で、食品には生物学的変化や化学的変化が何度も起きる。税法上の問題があるので質量双方について厳密な管理が必要であり、間違いは絶対に許されない。

M氏はこの工場の製品製造ラインを、システムで管理しようと考えた。40年ほど前のことである。どうもそのときに、製品の流れをデータの流れとして抽象化する考え方を身につけたらしい。その後、情報システム部門の責任者になったM氏はそのアイデアを開発手法に活かすことになる。

マーケティングにおけるデータの重要性に早くから気づいていたのもM氏である。商品の売れ先情報を取りたいがために、当時は生まれたばかりのPOSを問屋網に導入して電話回線で結ぼうとした(結果的には世の中の進歩より10年ほど早かったために、あまり成功しなかった)。

そんなM氏であるが、システム設計の手法には典型的なウォーターフロー式を採用していた。さすがの天才的嗅覚も、20年先まで見通すことはできなかったようだ。

 

ビッグデータバブル

世の中、猫も杓子もビッグデータである(もちろん筆者もバブルに踊る猫であるが)。あまり「ビッグ」とは言えないサイズのものや本来ビッグデータには縁もゆかりも無いものまで、ビッグデータとして扱われている。

しかし、このバブルは悪いこととは思わない。それは「データ」に注目が集まったからである。

今までの情報工学あるいはコンピュータ科学では、データよりもシステムに注目が集まってきた。ここでシステムとは、ハードウェアとソフトウェア、ネットワークを含めた周辺技術などの全体を指す。一見これが全てのように思われるがそうではない。それらは皆、情報関連技術を使う側ではなく、提供する側に重きを置いたものであった。いわば本当の意味でのユーザではなく、ベンダ側の都合に合わせていたのである。

「データ」はユーザのものである。これこそが人間活動の表現であり結果である。だから、少々ビッグデータの概念と外れていても許してもらおう。ビッグでもスモールでもデータである。

その意味で、現在言われている「ビッグデータ」の概念は「データ中心主義」、「データ駆動」、「データ志向」などと言い換えることができよう。データを中心に置くと、多くの分野でパラダイムシフトが起こる。

次節以降でデータ中心の開発手法を取り上げるが、ここに良い本がある。

「アジャイルデータサイエンス — スケーラブルに構築するビッグデータアプリケーション –」

他のオライリーの本と同じように動物が描かれた表紙の技術書である。決して情報工学の概要書ではない。だが、この本には重要な示唆がある。

この本のテーマは、メールの分析である。いくつかのアプリケーションを利用して、大量のメールを分析し、分析結果を可視化しようとする目的で書かれている。最初はローカルにシステムを構築し、最終的にはクラウド上に展開して、ペタバイトサイズ(りっぱなビッグデータである)のメール分析を行えるシステムに仕上げる。

技術的な内容は重要ではない(それ故、一部の専門技術者を除いては読んでも面白くない)。大事なのは、データの流れを中心に置いてシステムを開発するときに、必然的にアジャイル開発手法が選択されているところである。ビッグデータは開発手法の変更を要求する。

確率ベースの人口知能

ルールベースの人口知能は、人口知能研究の初期には主流であり、エクスパートシステムなどでは一定の成果をあげてきた。しかし、前項に述べたように結局、その限界が分かってきたため、現在ではあまり取り上げられない。

ルールベースの人口知能の限界を超える手段のひとつが、確率ベースの人口知能である。この基礎は次に示すベイズの定理である。

P(B|A) = P(A|B)P(B)/P(A)

ここで、右辺のP(A)、P(B)は普通の確率である。すなわち、Aが起きる確率、Bが起きる確率である。この確率を区別のため事前確率と呼ぶ。もうひとつの確率P(A|B)は、事後確率と呼ぶ。これは、Bという事象が起きたときにAが起きる条件が付いた確率である。

この式は一見、何のことか分からない。こう考えてほしい。P(A)、P(B)はあらかじめ分かっているとする。そこで実験を行った。最初にBが起きたことを確認した後で、Aが起きる確率を測定した。これはP(A|B)を測定したことになる。

上の式は、こうして求めた3つの確率を使ってP(B|A)を計算できると言っている。確認してほしいのは、この確率(Aが起きた後にBが起きる確率)は、まだ実験で求めていないことである。すなわち、「まだ行なっていない実験の結果を予想することができる」というのが、ベイズの定理の意味なのだ。「原因と結果が逆転した」とも言える。

これではまだ意味が取りにくいとでしょう。そこで、スパムフィルタ(迷惑メールフィルタ)の話をする。実は、ベイズの定理の応用が最も成功したのは、スパムフィルタなのである(当社はスパムフィルタの製作を行なっている)。

一時、スパムメール(迷惑メール)で多く見られたのが「バイアグラ」という単語である。しかしこの単語は、迷惑メールだけに含まれているのではない。医療関係のニュースにも含まれる。だから、「バイアグラ」が含まれるからと言って、そのメールが迷惑メールであると決定できるわけではない。そこで、「バイアグラ」と迷惑メールの関係をベイズの定理にあてはめてみる。

P(迷惑メールである|メールにバイアグラが含まれたら)
=P(バイアグラが含まれる|迷惑メールの中に)×P(迷惑メール)/P(バイアグラが含まれるメール)

当社には何十万通というスパムメールの蓄積(普通のメールも含めて)があるので、上式の3つの確率をあらかじめ計算しておくことができる。そのため左辺の確率、すなわち、新着のメールに「バイアグラ」が入っていた場合の迷惑メールである確率、を計算することができるのである。

もちろん「バイアグラ」だけではない。何十万個の単語(固有名詞も入れると単語の種類がかなり多い)全てに対して確率を計算するので、最終的な精度はかなり高くなる。

確率ベースの人口知能は、現在では多くの用途に利用されつつある。たとえばGoogleのお勧め機能(「中華料理が食べたい」とスマホに呟くと、近所の中華料理店のリストが表示される)があげられる。これは(著者の推定だが)おそらく、「中華料理」と「食べたい」の単語を取り出して、それが共存する場合に「利用者が中華料理店の場所を知りたがっている」確率を計算しているのだろう。

このように確率ベースの人口知能は現段階ではかなり成功している。しかしこれも限界がある。「何の確率をどのように計算するか」については、人間があらかじめプログラムしておかなければならないのである。

本当は、「こうしたい」という要求に対して自動的に「こうなりました」とコンピュータが答えてほしい。そのためには、次節以降で扱うニューラルネットワークに登場してもらわなければならない(諸事情のため、かなり後になります)。