このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

制御自然言語による記述

テンプレート

  • 二項関係: ××は、××を、××○○。
  • 写像:××に、××が決まり、××は○○である。
  • 直積:××データ○は、××○と××○からなる。

オーバーロード規則(名前空間

  • 集合(型)名と写像・関係名は別の名前空間で、同一名を使用してもよい。
  • 始域が違えば、同じ写像・関係名を使用してもよい。

テンプレートに従う自然言語文。

  1. 学生sは、コースcを、`履修`する。(を、する);履修(s:学生, c:コース) : bool
  2. 学生sに、`学年`yが決まり、yは整数である。:y = 学年(s:学生), y : int
  3. 履修データxに、`成績`sが決まり、sは整数である。;s = 成績(x:履修データ), s : int
  4. 履修データxは、整数sを、`成績`として持つ。(を、として持つ);成績(x:履修データ, s:int,
  5. 履修データxは、学生sとコースcから`なる`。;x:履修データ = (s:学生, c:コース)
  6. 教員tは、授業ℓを、`担当`する。(を、する);担当(t:教員, ℓ:授業) : bool
  7. コースcは、本tを、`テキスト`として持つ。(を、として持つ);テキスト(c:コース, t:本) : bool
  8. 授業ℓに、`コース`cが決まり、cはコースである。;コース(ℓ:授業, c:コース) : bool
  9. 教室rに、`建物`bが決まり、bは建物である。;b = 建物(r:教室), b:建物
  10. 研究室xに、`学科`fが決まり、fは学科である。;f = 学科(x:研究室), f:学科
  11. 研究室xに、`教授`yが決まり、yは教員である。;y = 教授(x:研究室), y:教員
  12. 学生xに、`指導教官`yが決まり、yは教員である。;y = 指導教官(x:学生), y:教員
  13. 学生xは、教員yを、`尊敬`している。(を、している);尊敬(x:学生, y:教員) : bool
  14. 学生xは、学生yを、`親友`と思っている。(を、と思っている);親友(x:学生, y:学生) : bool
  15. 学生xに、`住所`aが決まり、aは文字列である。(住所概念を文字列にエンコード);a = 住所(x:学生), a:string
  16. 授業ℓに、`教室番号`nが決まり、nは整数である。(教室を整数にエンコード);n = 教室番号(ℓ:授業), n:int

出現する実体名

  1. 学生
  2. コース
  3. 教員
  4. 授業
  5. 研究室(組織上の存在か建物の部屋か)
  6. 学科

埋め込まれた実体

  1. 成績
  2. 住所
  3. 教室

埋め込まれた実体は実体として扱うかも知れない。

  1. 教室
  2. 建物
  3. キャンパス

写像写像でなくなるかも知れない。

  1. 授業にコースが決まらない。特別授業。
  2. 履修に成績が決まらない。コースが途中。
  3. コースに担当が複数付くかも知れない。
  4. 授業ごとに担当が変わるかも知れない。
  5. 事前の担当以外に、臨時代講が発生するかも知れない。
  6. 授業に教員が決まる。招待講演などを授業扱いすると、講師は教員ではない。
  7. コースにテキストがないかも知れない。複数のテキスト本があるかもしれない。
  8. 数人での授業を近所のカフェでやるかも知れない。授業に教室が決まらない。