書きかけ
2022/10/28 22:34:00
書きかけ
word2vecを念頭に置くと
\(a = 日本\)
\(R = 首都\)
\(b = 東京\)
の場合、
\(a = b - R\)
\(b = a + R\)
\(R = a - b\)
\(a - b - R = \vec{0}\)
の関係が移項によって得られる。
この関係の\(a - b - R = \vec{0}\)に着目すると、\(\vec{0}\)が「真」を表すと計算上都合が良い。余計な計算がなくて単純である。
書きかけ
オブジェクト指向的な発想では、データベースにpersonというテーブルがあったときに、personテーブルのカラムとしてnameを持つことになる。そして、ソフトウェア開発の現場ではしばしば「personはnameを持つ」と呼ぶ。したがって「nameはpersonに属する」と認知されている。
しかし、発想を逆転すると、「あるpersonの個体(つまりレコード)は、あるnameの個体の集合に属する」という見方ができる。具体的かつ日本語にすれば、「personの個体であるところの田中さんは、nameの個体であるところの"田中"という集合に属している」。
上記をテーブルにするならば、personテーブル、nameテーブル、
ソフトウェア開発ではしばしば、「テーブル間の関係が1対1であると思われていたが、実は1対多だった」あるいは、「実は多対多だった」ということが発生する。実際、多くのプログラマーの認知に反して、人と名前の関係は1対1ではない。