私ごと

自分の観点を言語化しておくブログ

人間の推論とアルゴリズムに関するポエム

人間が言語から推論するときの自体は以下の3点が絡んでいると思っている。

1. 言語的な表現の縛り

2. entity自体の世界知識とその継承関係

3. 世界知識の空間において、対象としている事態での、自分が認識している良さ・悪さを考え、最適化を行う

さて、1は何とかなる見込みがややあるのだが、2と3が厳しい。特に2が3をベースに構成されるからこそ、厳しい。

そして、パイプラインとしてこれらを構成すると、コンテキスト情報が落ちるので、厳しい。何が必要なコンテキストかも、対象とする事態で変わるからだろう。

さらに、これらの技術が分かれているのも厳しい。現実的な速度で解けないのが問題の際は、本当にその現実に向かって、specificに問題設定を考える必要があるかもしれないからだ。一方で、もっとgeneralに解けるかもしれないし、それは、高度な専門知識が必要になる。

言語の性質と言語処理の埋め込み表現

自然言語処理の多くが、DeepLearningを使用する昨今ですが、万能関数としてのDeepLearningを使用しても、テキストデータだけで出来ることは、DeepLearningが統計的な学習である以上、テキストの中に内在する統計的性質だけが、エンコードできると私は考えているので、このあたりを少し整理したいとおもいます。

 

1. 局所的なコンテキストと多義語

単語の多義性は、自然言語の特徴だと私は思っています。異なるentityが、同じ表記であらわされています。人間はその使い分けができるわけですが、なぜそれができるのかというと、コンテキストが異なっているからです。以下の書籍では、語の多義性について、諸々の言語理論の観点から考察があります。それぞれ、概要を紹介し、単語ベクトルで再現できそうか、そうではないかを考えてみたいと思います。(以下、ですます口調ではなくなります)

 

 

 

 

1.1. 語の意味の曖昧性

語の意味が曖昧になるケースとして、多義性・同音意義性・不明確性があるとされている。多義性・同音意義性と不明確性の差異は、前者が語義の違いであるが、後者は百科事典的含意であるということである。語義の違いは、他のごくとの間に意味関係があるが、百科事典的含意にはそれがない。多義性と同音意義性の違いは、前者が多義に関連性のある意味を持つのに対し、後者は全く関連のない語を持つこととされている。この関連性について、歴史的関連性と心理的関連性があるとされている。ただし、bankは昔、盛り土のbencから堤と長椅子に派生し、長椅子が、イタリアの両替商と結びついて銀行になったという経緯もあるので、必ずしもこの2点とは言えない。

1.1.1 多義語における基本義と派生義の関連性

この2つには、以下の2種類の関係があるといわれている。(語はなぜ多義になるのかP22より)

1- 指示関係的・規則的

1.1- 派生義が基本義の指示対象を構成する(またはそれと密接に関係する)要素構成を表している

1.2-関係する基本義→派生義のいみかくちょうのパターンがほかの複数の語においてもみとめられること

2-非指示関係的・不規則的

2.1-派生義が基本義の指示対象の持つ特性のメタファー的意味拡張であり、この意味拡張でうまれた派生義は基本義が表すものとは指示的なつながりがない

2.2-同種の意味拡張が他の語に認められない

1.2 多義語とコンテキストの作用

(語はなぜ多義になるのかP45より一部改変)

語がコンテキストと共に用いられる場合、多くはコンテキストから修正を受ける。このときの基本義の解釈のことを文脈的変種と呼ぶ。また、文脈的変種はコンテキストが語の基本義にふくまれる特質を際立たせることから、この際立たされた特質を活性領域と呼ぶ。活性領域の1つ1つのことをファセットとも言う(と思われる。)

 語の多義性を誘発するコンテキストには、大別して「文コンテキスト」と「使用の場コンテキスト」がある。

 文コンテキストは語の意味じょうの共起関係をもつ前後の語や句

から成る。そのため、文脈的変種は語義としての自立性を持つことが多い。この時に発生する、文脈的変種はファセットと呼ばれる。これは、規則的多義性を生み出す。また、この操作はメトニミーによって行われる

 一方使用の場のコンテキストでは、その場の情報と使用者の百科事典的知識が作用する。そのため、語義とはならない(これを下位語義という)。この操作はシネクドキやメタファーによって行われ、不規則的多義性を生み出す。

 

1.3 単語ベクトルでの捕捉

これらの現象は、単語ベクトルにおいて、どの程度捕捉可能なのだろうか。

1つは、文コンテキストによる多義性は捕捉可能であろう。そして、たとえ多義語であっても、周辺の語との関係である側面が際立って出てくるはずである。これは、文脈的変種も、単語ベクトルの足し算で行うことができることを意味する。一方、単語ベクトルでは、すべてのファセットの平均が表現されているので、語としての類似性は、ファセットの項目が類似しているおり、その頻度が似ているものが最も類似した単語とされるであろう。よって、文コンテキストに同音異義語と多義語は同時に解決されるとおもわれる。これは、アナロジーが出来ることの現象的な説明でもある。

一方、使用コンテキストの場合はどうだろうか。百科事典的知識を前提とするため、困難だと思われる。ただし、シネクドキによって、単語の上位下位のものが類似していることを表すということは可能であると考えられる。

1.4 その他

1.4.1 日本語単語ベクトルにおける問題

主に、表記の問題があげられるであろう。ひらがな・カタカナ・漢字の表記の違いである。用例が十分あるのであれば、異なる表記で同じ単語は、同じ意味になるとおもわれる。ただし、ひらがなの方が砕けた表現であることを考えると、コンテキストによる差異は発生すると考えられる。(これ自体も単語ベクトルは吸収するので、好都合かもしれない。)一方別の問題として、分かち書きがある。つまり、ひらがな、カタカナの場合、分かち書きされてしまう可能性もあり、単語の抽出自体が難しくなりうる。

1.4.2 言語論と機械学習的言語処理の差異

本書で、度々見られるのが、「人間の推論」というフレーズだ。言語現象を説明するにあたり、人間の推論として矛盾するので、用例として存在しないという論法が使われている。例えば、p15で語義の自立性を論じるとき、意味上の矛盾が参照される。 機械学習的言語処理では、人間の推論の一部をテキストから逆推定することが目的の1つである。そのため、人間の推論を持ち出して棄却されている言語現象は、用例として存在しないので、確率が低くなるということ以外においては、機械学習では再現されないとおもわれる。

 

2. フレーム(大きなコンテキスト)によって着目すべき点が違うことについて

つぎに、フレームによって、着目すべき点が違うため、人間は焦点を当てるポイントを動的に変化させていることについて考えます。以下の書籍の3.4節に基づきます。

 

 

システム工学 知識システム II 知識の創造と意思決定 (東京大学工学教程)

システム工学 知識システム II 知識の創造と意思決定 (東京大学工学教程)

 

 

2.1 類推と写像の違い

人間は日々類推を行っている。類推は、過去に経験したこと(べース)をもとにして、現在の問題(ターゲット)を理解・説明するための推論とされており、以下のプロセスでモデル化できる。

  1. ターゲット表象を生成する
  2. ターゲット表象に基づいて、ベースを検索する
  3. ターゲットからベースに写像し、その写像の正当性・適合性を評価する
  4. この写像関係が存在することを学習する

つまり、類似性検出によって、知識を拡充していく推論であると言える。計算論的表現しようとすると写像になる。機械学習においても、この写像を学習していると考えることができる。しかし、写像と類推では以下のような違いがあり、計算機による実現が困難となっている。

  1. ベースとターゲット領域の違い:ターゲットである単語で表象した場合、同じ単語でベース内の経験や事象が表現されていることが少ない。例えば、targetがcoffeeであっても、ベースはwaterと対応付ける必要がある。
  2. 写像の計算論的な複雑さ:ベースの要素がm個と限定されていても、組み合わせ方は2^m個あるので、計算困難。しかし、これは機械学習によって緩和されつつある。
  3. ベース中の要素のつなげ方が多様:写像するベース中の要素がm個であり、これらを並べるだけでも、m!通りある。これは、べースを組み合わせて表現を行うという(つまり言語活動)として考えると、同じ対象でも表現する方法が多様にあることを意味し、因果関係と捉えると、可能性として事象の発生の連鎖をつくる方法は何通りもあるということになる。(ただし、これには、知識的な正しさがふよされる)
  4. 世界の無限性:世界には、要素の数が無限に存在する。さらに、その中から関係するものだけを取り出す必要がある。「水が高いところから低いところに流れる」ことと「熱が高温部から低温部にながれる」ことの共通性は「流れる」ことに着目しないとわからない


 2.2 構造写像理論

妥当な類推写像は以下の3条件を満たすという理論である。

  1. 属性の非写像:対象の属性は写像されない
  2. 構造的一致:構造的な一致をもとに写像が生成される。
  3. システム性原理:高次の関係あるいはその中の引数が写像される

これは、2項間の比較によって、関係が集まりシステムをなす構造としての特徴が想起され、写像が決まることを主張している。

2.3 多重制約理論

構造写像理論に、要素の属性レベルの類似性を加味させたモデルで、ベースとターゲットの要素をノード、対応関係を促進・抑制のエッジで表現される。

2.4 埋め込み表現との対応

これらの、人間の推論における考察と対応づけられる、事前学習される表現は存在していないと考えている。グラフモデルで表現しやすい、多重制約理論で考えてみる。すると、以下の問題が思い浮かぶ。

  1. 要素が、単語と一致しない
  2. 全ての要素のうち、何をこの問題の要素として列挙するか不明である。
  3. テキストデータでは、良し悪しの関係を学習する方法がない。(人間が悪いと表現するために使う表現に近いかどうかしかわからない)

さらに、もう一つの問題として、構造写像理論から浮かぶのは、2つの文の何に着目して似ているとするのか不明であるということである。もちろん、単語の共起から出てくる類似性は可能であるが、それ以外の関係は単語ベクトルでは不可能である。また、会話データから質問応答は可能かもしれないが、その対応されるデータを取り出すのが困難である。言語表現における対応関係は、含意関係、質問応答関係、言い換え関係(類似関係の一種)など様々な関係があり、どのようなことが必要なのかは不明確である。

3. テキストにおける長いコンテキスト

言語表現には、文内の現象だけでなく、文を超えた現象も報告されている。

Beyond Word Frequency: Bursts, Lulls, and Scaling in the Temporal Distributions of Wordでは、ある単語が文書中、一回出現したあと、次にどのくらい間隔を開けて、出現するかについて、論じられている。この論文では、次の単語の出現はワイブル分布で表現できること、以下の単語の区分によって、ワイブル分布のパラメータの値が取りうる範囲が異なること、ワイブル分布で表現されるので、バースト性があることが述べられている。

単語区分

class Name Examples of word
1 Entities Africa, Bible Darwin
2 Predicates and Relations blue, die, in, reglion
3 Modifiers and Operators believe, everyone, forty
4 Higher Level Operators hence, let, supposedly, the

近年、単語ベクトルより長期の関係について考慮できるモデルが出てきており、このような現象と、隣接文による関係(どのような関係かは不明)が、学習できていると考えられる。

4. まとめ

以上、言語現象および知識処理現象と言語処理の対比を考察しました。個人的には「世界知識」と「フォーカスする関係」あたりが、直近の壁ではないかと感じています。あと、場面によっては数量表現の考慮も求められるでしょう。

 

 

2019年の振り返りと2020年に向けて

一年に1回ぐらいは振り返りをしておきたいと思います。

 

 2019年は言語処理は、embedding関連を進めていました。word-embeddingが何を見ているのか、その限界はどうなのかをより精緻化できたと思います(当初からわかっていたことだったのすが。)。この路線については、本年は、課題がわかるようなフィードバックを得ることができれば良いなと思っています。

 

当ブログであげていたことの振り返りとしては、

1. 連携に関する問題は、自分の範囲ではそれなりにしっかり行った(e.g. ドキュメントしっかり書くなど)し、連携できそうなことは行ったが、組織に根付くまではできなかった。

2. 技術面は、テストを書いたりはしたが、1shotやって見たレベルで、このシーンではこうすると良いみたいな、プラクティスを思いつけるレベルまであげることはできなかった。と言うか、その一端すら見えていない。

そのほかは、数学力は上がったかなと思います。情報幾何を理解できるようになったのは、自分としては嬉しいです。

さて、今年の目標ですが、自分の大目標である

「生産性を上げて、ダウンサイジングを促し、自由度を高くしていくこと」という方向は、なんとなく、ディストピアになりかねない方向ですが、自分はまだ、これに異を唱える実践として何をするかと言うことが見える段階にいないので、どう考えるかは模索することにします。

note.com

japan.cnet.com

 

 大きな方向性は維持しつつ、組織論と知識論が自分の実践であったわけですが、組織論は自分で一部やるチャンスが出てきているので、やってみようと思っています。散々整理してきた理論を実践としてどう言う形に落とすか、研究開発を今の会社に接続させるにはどうするか(saasでもない中で、プロトタイピングなのか問題など)など、チャレンジできればと思います。

 知識論は、土台から立て直す必要を感じています。言語処理から見ると文法的な規則・分布仮説から来るトークンのtopic的性質がありますが、これらは継承関係を持っていません。一方、古くからのシステム論では、オブジェクト指向など継承関係をベースとして記載されます。この両者は、技術的に決定的に違っており、何がどう本質的に違うのかを真面目に考える必要があると感じます。人間の入力は両者が混在するようなものなので、ここをどううまく扱うかはポイントだと個人的には思います。今年は、ここに挑めれば良いなと思っています。(今年で終わらない気がする)

 ただし、言語処理においては、その前提として、tokenizeがあるので、そこは埋めて置きたいと思います。

 技術面では、アルゴリズム系を少し深められれば良いかなと思います。あとは、連携の中で、必要なことを会得したいと思います。

 数理面は、計量とembeddingの強化と言う点で情報幾何とベイズ深層学習(VAE系統)を強化できれば良いかと思います。

あと、今年は論文を描きたい!

言語に対する考察的なポエム

自分は基本的に生存の必要性という観点からものをみている。

言葉は、人の多様なコンテキストを結晶化させたものであると考えている。ある言葉が紡がれるとき、それはどの媒体であるかすら、社会的なコンテキストを引きづっている。

 もちろん、言語には文法がある。文法規則に則っていないものは、とても解釈がむずかしくなる。それは、人にとって、信号なのだ。だからこそ、規則からずれたものは、解釈が難しい。それでも、通じる場合はある。文法規則は確かに複雑なことを伝えることができるが、原始的な言語は、もっと簡単な状況を簡単な信号で伝えていたのではないかと思っている。

 単語ベクトルは分布仮説に則っている。それは、共起であり言語モデルである。共起は、コンテキストだったのだろうか。個人的にはコンテキストから出てくる単語について、連動しやすい単語群があるということだったのではないかと思っている。それは、内容語において、そうなっているのだろう。それは、機能語についてはあてはまらないだろう。だからこそ、SIFは成功したのだと思う。(機能語をunigramモデルに押し込めているというもでる。)

 連動しやすい単語群は、局所的なコンテキストを表していただろう。BERTの成功は、もっと広い範囲で共起を見ることとself-attentionによって、局所的な関係を超えたコンテキストを見ることができたのではないかと思っている。これは、next-sentence predictionの学習がそれを補強している。つまり、文単位の共起と見える。また2文関係のタスクは、両方を入力することができとこともあるのではないかと思っている。

 話をもどそう。広いコンテキストとはなにだろうか。よくわからない。ただ、言葉の羅列は、文法規則をそこそこに引きずりながら、それぞれの媒体に、伝える相手に合わせた単語列が生成される。逆に、その媒体で受け手に取って明らかなことは、生成されない。これは、多分BERTよりさらに広いコンテキストだろう。ただ、局所的な単語列がある種の意味を捉えていたように、更に広い単語列が、このようなコンテキストを捉えている可能性はある。しかし、それはある種のノイズでもあるのではないだろうか。ただ、それが一般的であるためには文書ソースが多様である必要がありそうだが。

 ただ、コンテキストとして、もっとも言語処理が取れていないのは、クオリアであり、グラウンディングとその実質的影響の質感である。これが、人間にとっては、伝えるべきものであり、根源であると思う。そして、その状況の別が、言語で表されていると思う。しかし、現在の技術においては、画像・音声・動画・センサ情報と強化学習が必要になるので、当然ながら計算量としても難しい。

 一体、単語列の共起はどこまで情報を含んでいるのだろうか。なんとなく、条件つけることで、変わるのであると考えたい気持ちはある。しかし、outputをベクトル表現した場合は、同じ点としてoutputすることになる。あるいはデコーダを複数用意するのか?

日本人の勝算を読んで

最近話題になっている、「日本人の勝算」という本を読みまして、個人的に考えていること、気になっていることの観点とリンクがあったので、少し整理をしてみたいとおもいます。 

日本人の勝算: 人口減少×高齢化×資本主義

日本人の勝算: 人口減少×高齢化×資本主義

 

 この本のメインテーマは、これから人口減少と高齢化を抱える日本において、経済成長を保っていくため(豊かさを保っていく)には、生産性をあげるしかなく、そのために何が行えるかということを論じています。

 

基本的には、最低賃金の引き上げによって、以下を誘発させることを論じています。

1. 最低賃金層の消費の増進(これが、消費において最も強く効く)

2. 付随するその上の層の賃金の増進及び労働者の交渉力向上

3. 賃金増進に伴う、非効率な企業の淘汰(買収・合併・倒産など)

4. 買収・合併に伴う企業規模増進

5. それに伴う過当競争の防止と高付加価値競争の誘発

6. 高付加価値化による輸出競争力の増強

 

さらに、高付加価値化にむけては、以下を論じています。

1. 技術革新に付随したビジネスの切り替え

2. ビジネスの切り替えや新しい価値の発見に向けた、リカレント教育の推進

3. 海外市場を見据えた展開

 

この本の最大の面白さは、論文から数字や分析結果をきっちり引用し、論を構築している点ですが、今回は、組織構造の組み換え、IT投資と企業規模拡大という点について考察したいと思います。

 

考察というのは、以下、言説との整合性についてです。

<小企業化・分散化論>

1. 高付加価値を発見するためには、細かな探索と迅速な意思決定が必要であり、小さい企業体が向いている

2. ITシステムについて、SaaS化が進んだため、小さい企業でも、インフラとして大企業並のインフラを使うことができ、不利がなくなっている。

<大企業化論>

3. 大企業の方が、余剰と使用者の観点から、新しい技術への投資を行いやすく、技術革新によるビジネスの切り替えを行いやすい

4. 経済指標によると、大企業の方が平均給与が高い(≒生産性がたかい)。さらに、日本は企業規模の小さい企業が多く、そこに勤めているひとも多い。

5. 大企業の方が、労働の代替が効くので、労働参加率を向上させ、社会保障の担い手を増やすことができる。

 

1~2は、世の中で言われていると個人的に感じていることです。3~5は、この本で挙げられていたことです。

 

1-2については、大企業で「仕事ができないまま昇進してしまい、仕事を上から下に流すだけの人がおおい」とか、「結局派遣の人が一番できるようになっている」とか、「大企業が動くには、一定以上のマーケットが必要だ」といった話から、

 1. 技術革新に付随した、ビジネスの刷新を、日本の大企業がなかなか行えないのではないか。

2. 大企業は大規模な需要のみをマーケティングするため、萌芽的な需要を探査しないのではないか。

3. マーケットの前提条件がかわっているにも関わらず、気づけていない大企業の意思決定層が多い

という仮説が浮かび上がってきます。(これらは、複数の大企業が織り交ざった話なので、一概にこうということはできないのは承知ですが。)

そして、高付加価値ビジネスの探査とビジネスの組み換えにおいて、

1. いわゆるベンチャー企業が組織構造から刷新するほうが、日本では成立しやすい

2. 地方経済においても、身の丈に合った投資を逐次おこなえる

というであると考えられます。

 

一方で、本書で言われていることも、また事実かとおもいます。どこにどう違いがあるのでしょうか。どちらも、企業規模の大小ではなく、「経営力」であると思えます。

 

組織構造の組み換えについては、解雇規制と関係があると言われています。確かにその点もあるでしょうが、完全にコンサルおまかせモードなどの状態もみられるので、そういったところは、刷新能力がなくなっているということかと思います。このような状態の企業は、大小関係なく、最低賃金向上政策がとられると、経営不振に陥るでしょう。

よって、大企業だから硬直しているわけではないと言えそうです。

IT投資と企業規模拡大については、そのIT投資をするかどうかの判断ができることにあり、むしろ、事業戦略を引けていれば、必要なIT投資はなされ、結果として業績はあがり、企業規模は大きくなると考えられます。いくらSaaSになっていると言っても、カスタマイズには限界があるでしょう。

加えていえば、大企業が大きなマーケットしか見ないという点は、事業部においてはそのとおりと思いますが、もっと細かいレベルにおいては、そうではないだろうと思われます。ただし、最後の意思決定において、企業内で行えない可能性はあります。しかし、それは、起業一歩手前まで、大企業内でやり、自ら起業するという方法もあるでしょう。ここについては、投資環境の不備という点につきるとおもいます。ただし、新卒だけが、大企業に入りやすいという状況は、起業意欲の減衰につながる点であるとおもわれます。

 

以上より、総じて、経営力の問題であり、結果として、きちんと事業を見つけられる企業は、大きくなっていくという当たり前のことかとおもいます。

 

最後に、AI活用という観点からすこし。

私は、企業システムを考えた場合、AIは基本的には、「ルールでカバーできないちょっとした業務ルールも、繰り返されるものであれば、可能」といった程度と考えています。そのため、「管理機能を基本としつつ、補助的な機能としてAI」といった程度なのではないかとおもわれます。(なお、 組織設計が変わった場合の再設計は、どちらでも必要であり、AIは過去データに依存する点が懸念されるが、データのラベル付け替えである程度対応出来るものであれば、AIでも可能とおもわれます。)

一方、それを超えた部分ということで、AIにいだきがちな期待は、いわゆる「パーソナライズ」であるとおもわれます。しかし、大きな問題点として、「 パーソナライズできるほど、データ量がない」ということかと思います。(また、個人的には、部署異動があるので、「パーソナライズではなく、rolize」したいのではないかとおもいます。)さらに、他部署の情報閲覧禁止というセキュリティー観点からの障壁があり、大変厳しいとおもわれます。もう一点あげるとすると、各企業の慣習がことなるため、ユーザのモデリングが難しいこともあるでしょう。

 

2018年振り返りと2019年に向けて

あけましておめでとうございます。

昨年は研究開発として過ごして、一年目でした。AI市場も、コンセプトレベルで目新しいものが出ることがなくなり、やや飽和感を感じているこの頃ですが、振り返りを行い、本年のターゲットの整理にしていきたいと思います。

研究開発になって実感したこと

研究開発になって、分析を主に担当となったことで、技術面としては

- 言語処理関連やデータマイニングに関する分析のあれこれの入門・基礎の学習

- ニューラルを利用した言語処理の理解

- pythonC++でのコーディング

を行った年でした。特に、トピックモデル周りの洞察と仕組みの理解は深まりました。

また、分析エンジンの企画を技術面でサポートし、企画面としては、

- 何がどこまでできそうか

の整理を行いました。上位レベルの目標の知見はあまり広がりませんでしたが、言語情報が大量にある場合の分析について、少し形が見えた気がしました。

最後に、組織面として、フロントチームにいた際に、「なぜ改善サイクルを回せないのか」と言うことが、異なった視点で見えたました。

企画面

企画面としては、感じたことは以下です。

1. データが十分に取得できない領域は、引き続きモデリングしたほうが良い。また、コストも安い可能性がある。マーケティングには、多分にそういった面がある。(マクロ指標から、ブレイクダウンできる側面が多々ある)

2. データマイニングとして検討づけた後、代表を「要約」することはそれなりに望まれており、ここをシームレスに行うことは価値がありそう。(ただし、フローとしてどうしたら良いかは不明)

2.1. この問題として、視点ごとに、要約したいことが異なるのが問題になりそう

2.2. 付随して、教師データの作成がネックになる

2.3. その他は、結局のところカウントである。

技術面

かなりのことをフルスクラッチで実装した(している)ので、色々な悩ましさを実感できました。

1. C++のような型有りの言語を触って、いろいろな煩雑さがあることを実感しています。デザインパターンのありがたみを理解し始めました。

2. NNの論文の進歩が有り、今年はいろいろな知見に触れることができた気がしました。基本的に、語の近さを測定できるようになったことと順番を考慮できるようになったことで、あとはよしなにNNがなんとかしてくれる気配が有ります。これは、今年もう少し深めたいところです。

3. BoWはそろそろやりきった感が有り、あとはもう因果推論をからめるくらいかなと思っています。高速化や、WAICなど推定値の性質についてはもう少し深掘りしても良いかもしれないです。

4. 係り受けは、データが増やせないので、出来ることがそこまで変わらない気がしています。

5. クロス集計表をもう少し頑張って分析するなら、BN・Graphical Lasso・LINGAMあたりかなという気がします。ただ、先ずは、相関で見えるものを見られる会社になって欲しい(相関係数も何をどう計算するか悩ましいですが)

組織面

前々から、フルスクラッチすぎて、研究開発のスピードが遅いと感じていました。要因としては、

- フロントチームの分析力不足

- 研究チームのドキュメント整備不足

- 向上させたい製品機能が不明確

- 製品チームの組み込み方針の不足

 が挙げられると感じています。

フロントチームの分析力不足

- 研究開発が検証しようと思うほどの粒度としてブレイクダウンできない。よって、検証すべきタスクが何であるかがわからない。(これは、NLPがパイプラインが長いにも関わらず、中間タスクのアノテーションが困難であることにも起因する)

- そのため、揃えるべきデータがわからない。

- scikit-learnレベルでの使い方の検証ができない

- プロトタイプレベルで検証できない。(いちいち画面を作らないとできない)

- 一方で、PoCの際は、他に検証すべきことが多すぎて一々、プロとの検証までできないという面もある

研究チームのドキュメント化不足

- 使い方をドキュメント化できていない

- プロトタイプとして存在するコアをリスト化できていない

(本当は、いつどう使うのかをドキュメント化できたらベストだが、研究チームには不可能な気がする)

向上させたい製品機能が不明確

- 研究が何をどう検証すればいいのかわからないし、組み込み型もわからない。(当座の解決策に走る傾向がある)

コア機能をどうやったら、製品に組み込むことになるのかわからない

- 研究レベルでは検証した機能をどうしたら、製品に組み込もうとなるのかわからない

(そのため、研究者がそのままC++でコアを実装して、製品の人が整えるという形になりがち。C++が必須になってしまう)

今年は、取り急ぎ、研究だけで検証できるタスクのメニューを揃えることで、これ以上は研究ではできないということを示しておこうと思っています。

 

コンサル(SI)・サービス・ベンダー

 もう一つ市場環境として見ておきたいことが、この3つのトレードオフです

- コンサル

O: 何が実行して効果があることか・その運用体制の構築・納得感に対するスピードが早い

X:  オープンソース依存の場合、導入が行いにくい(フルスクラッチwebサービスを作るか、代替製品を導入するかになる)

- サービス

O: データが入る。クラウドの活用

X: 標準的なことしか提供できない

- ベンダー

O: 製品化してあるため、導入までがはやい

X: コンサルほど速度がない。またサービスみたいにデータがない

2019年に向けて

以上の、今年の振り返りを踏まえて、今年はいかに取り組んでいけたらと思います。

技術面

- embeddingを通じて、もう少しNNを利用したNLPの知見を得る

- デザインパターン、テストなど、少し開発力を上げる

- 並列・並行計算の実装

- 検証サイクルを確立して、今年入門したあれこれをいち早くためしていけるようにしたい(けど厳しそう)

企画面

- 製品化に向けて頑張る

組織面

- 経営陣に疑問をぶつけ続ける

全体

目標としていたことは、「生産性を上げて、ダウンサイジングを促し、自由度を高くしていくこと」でした。情報産業に対して、研究開発まで関わって見えたものは、

- AIがfitしやすいのは、サービス(データが手に入り、一般的な知識であるため)

- 特に専門知識に依存している業界の、生産性向上を企図したシステムは、AIにあまり向かない(データが手に入らない)

- 自分が目指したのは、専門知識業界だった

ということでした。

今年は、以下のいづれかにチャレンジしたいと思います

- 専門知識の必要な課題系へのアプローチ

- BNなど、因果系

- NLP頑張る

サービスプロバイダとソフトウェアベンダー

IT業界に移って2年ほど過ぎましたが、ビジネス書に出てくる諸々の事象がほとんどIT業界の変化によって捉えられるような気がしているので、それを少し整理したいとおもいます。

 

ITを利用したサービスプロバイダは、従来自らのサービスを提供するにあたり、ITを利用する際、

1. 自らサーバーを買い

2. その上にソフトウェアを購入して

3. ソフトウェアを利用して、最終サービスを提供する

 

さて、近年のビジネス環境を変化させているのは、インターネット、スマホ・アプリ、クラウド(群衆)です。(総論については、以下を参照ください)

 

プラットフォームの経済学 機械は人と企業の未来をどう変える?

プラットフォームの経済学 機械は人と企業の未来をどう変える?

 

 

サービスプロバイダにとっては、以下の3つ変化になっていると思われます。

1. スマホ・インターネットによる窓口の変化

2. クラウドコンピューティングによる、サーバーレス化

3. OSSの利用

さらに、

4. サービスのクラウド(群衆)化があります。

 

例えば、クックパッドを考えてみます。

従来は、レシピを出版社から提供されるか良くてもインターネットのページに載っているといった具合でしょう。これが、

1. アプリやインターネットによるレシピ提供

2. パーソナライズ化

3. ユーザからのレシピ提供

という形に変化しました。

この形態が、コストとレシピの豊富さを大幅に変化させたのは、以下の要因もあるかと思われます。

1. エンジニアを多く雇う

1-1. OSSを利用可能にする

1-2. サーバーを効率よく運用する(+クラウド化)

2. 適切なプラットフォーム運用による、ユーザからのレシピ提供

 

さて、ソフトウェアベンダー側として見ると1の変化がとても大きなものとなります。

まず元々抱えていた問題として

1. マスのあるニーズに答えるために、機能をがつくれない

といった問題がありました。サービスプロバイダがITを一体で抱えることで、自らのサービスに合った機能を出すことができる上に、その機能をやめることもできます。

 

さらに、

1. 既存のサービスプロバイダが減り、市場が狭くなる

2. OSSが高機能化している(google, IBM等の支援もあり)

3. 標準機能はクラウド側から標準で提供されてしまう

 

という状態にあります。

先程の書籍に記載がありますが、今後プラットフォーム以外で残るビジネスは、

1. 供給サイドの差別化が有効な市場(宿泊業など)

2. 利用客が特定のブランドやチェーンにロックインされている

3. プレイヤーが少なく供給する製品やサービスが複雑な市場(発電、国防、コンサル)

と紹介されています。

 

3は元々IBMが取っていた戦略でした。そして、IBMはプラットフォーム化に完全に出遅れています。ソフトウェアベンダはどのように生き残れるのでしょうか。。。