Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to refsort_20190216

850 views

Published on

An introduction to Refsort/Ruby and its application to taxonomy, including a discussion on Theorem of the Ugly Duckling

Published in: Science
  • Be the first to comment

  • Be the first to like this

Introduction to refsort_20190216

  1. 1. Refsort/Rubyの紹介と 分類学への応用 Introduction to Refsort/Ruby and its application to taxonomy 2019年2月16日 大田黒俊夫
  2. 2. 自己紹介 • 流体力学の研究者(だった😢),特に乱流の研究をしていた ので,「乱れ」や「揺らぎ」というキーワードには敏感に反応 • 実験屋なので,計測関係のハードウェア,ソフトウェアにはそ れなりに詳しい • 大学院生のころ,パターン認識の勉強中に渡辺慧の「みにく いアヒルの子の定理」で分類学に目覚める • バードウォッチング,自然観察は学生のころからの趣味 • ブログ 望湖庵日記 http://griffin.cocolog-nifty.com/lakesidediary/ 2019/2/16 (c) Toshio Otaguro, All rights reserved 2
  3. 3. 初めに Introductory Notes 2019/2/16 (c) Toshio Otaguro, All rights reserved 3
  4. 4. Refsort/Rubyとは何か? • 辞書参照型の汎用ソーティング・フィルタ • 探鳥会のフィールドノートを自動的に整理するため,DOS用 のプログラムとしてC言語で実装(1991年) • Windows用にRubyスクリプトとして再実装(v1.00, 2001年) • 機能拡張とバグ修正を加え,現在v2.96(2018年) • Excelとのインターフェースを作成(2018年) • Ruby 2.4系列以降で動作 • マルチエンコーディング…ASCII, CP932, UTF-8, etc. • マルチプラットフォーム…Windows, Linux, Mac 2019/2/16 (c) Toshio Otaguro, All rights reserved 4
  5. 5. Refsort/Rubyは何ができるのか? • 入力された文字列を辞書と照合し,行単位で並べ替える • 並べ替えの基準は辞書内の順序,文字コードや数値に依らない • 長所 • 辞書ファイルをユーザが簡単に作成可能 • 複数フィールドからなる柔軟なレコード処理が可能 • フィールド内に複数の別名を定義可能 • 出力の柔軟な編集が可能 • 辞書に埋め込んだ階層型ラベルを出力可能 • Excelから手軽にGUIで操作可能 • 短所 • Rubyをインストールする必要がある • 辞書に書かれていないものは並べ替えの対象としないため,想定され る対象すべてを,一字一句正確に辞書に網羅しておく必要がある 2019/2/16 (c) Toshio Otaguro, All rights reserved 5
  6. 6. 辞書ファイルの例 日本鳥類目録 v7 #!E -*- coding: Windows-31J -*- #!R "," (中略) #!m > [GALLIFORMES; キジ目] #!m >> [Phasianidae; キジ科] #!m >>>> [Tetrastes; エゾライチョウ属] # "Keyserling & Blasius" Tetrastes bonasia, Hazel Grouse, エゾライチョウ # "(Linnaeus, 1758)" Tetrastes bonasia vicinitas, , 亜種エゾライチョウ # "Riley, 1915" (中略) #!m >> [Emberizidae; ホオジロ科] #!m >>>> [Emberiza; ホオジロ属] # "Linnaeus" Emberiza lathami, Crested Bunting, レンジャクノジコ # "Gray, 1831" Emberiza citrinella, Yellowhammer, キアオジ # "Linnaeus, 1758" Emberiza citrinella erythrogenys, , 亜種キアオジ # "Brehm, 1855" Emberiza leucocephalos, Pine Bunting, シラガホオジロ # "Gmelin, 1771" Emberiza leucocephalos leucocephalos, , 亜種シラガホオジロ # "Gmelin, 1771" Emberiza cioides, Meadow Bunting, ホオジロ # "Brandt, 1843" (後略) フィールド構成 〔学名,英名,和名 # コメント〕 全体で1,675行のテキストファイルに1,145の種と亜種を収録 #以降はコメントとして扱う 2019/2/16 (c) Toshio Otaguro, All rights reserved 6
  7. 7. 入力ファイル例 # ---- tamagawa.txt ----- ツグミ # 雑木林の落ち葉の上 スズメ # 民家の庭 ジョウビタキ # ♂ 土手の薮 マガモ # 約 50 羽 カルガモ # 100 羽以上 ヒドリガモ # 約 50 羽 オナガガモ # 約 100 羽 ハシビロガモ # ♂♀ セグロセキレイ トビ # 河原の上空 アオジ # 川の土手の薮の中 アトリ # あまりよく見えなかった ユリカモメ # 約 20 羽 カイツブリ # 堰堤の上流部 モズ # ♂の高鳴き #以降はコメントとして扱う 2019/2/16 (c) Toshio Otaguro, All rights reserved 7
  8. 8. 実行コマンドの例 〔コンソール入力〕 ruby refsort.rb –f jpblist_v70p3w.ref –n -r2 tamagawa.txt Rubyスクリプトの実行 辞書ファイルの指定 オプション 入力ファイルの指定 〔コンソール出力〕(標準エラー出力) jpblist_v70p3w.ref: 1145 records tamagawa.txt: 15 records tamagawa.txt: 15 identified records tamagawa.txt: 15 unique records これに引き続いて並べ替え結果が表示される ・・・辞書ファイルレコード数 ・・・入力ファイルレコード数 ・・・同定された入力レコード数 ・・・非重複入力レコード数 -n 出力に通し番号をつける -r2 辞書ファイルの第2フィールドをキーにする- 2019/2/16 (c) Toshio Otaguro, All rights reserved 8
  9. 9. 並べ替え結果の例 〔コンソール出力〕(標準出力) 1 ヒドリガモ # 約 50 羽 2 マガモ # 約 50 羽 3 カルガモ # 100 羽以上 4 ハシビロガモ # ♂♀ 5 オナガガモ # 約 100 羽 6 カイツブリ # 堰堤の上流部 7 ユリカモメ # 約 20 羽 8 トビ # 河原の上空 9 モズ # ♂の高鳴き 10 ツグミ # 雑木林の落ち葉の上 11 ジョウビタキ # ♂ 土手の薮 12 スズメ # 民家の庭 13 セグロセキレイ 14 アトリ # あまりよく見えなかった 15 アオジ # 川の土手の薮の中 • デフォルトでは,各入力行を並べ替えてそのまま出力 • ただし行頭には –n オプションに基づく通し番号を付加 2019/2/16 (c) Toshio Otaguro, All rights reserved 9
  10. 10. レコードとフィールド Records and Fields 2019/2/16 (c) Toshio Otaguro, All rights reserved 10
  11. 11. レコードとフィールド • 情報処理の最も基本的な単位がレコード • テキスト処理の場合には行をレコードとするのが自然 • 行とは改行で区切られた文字列 • ただし改行コードはプラットフォームに依存…CR/LF, LF, CR • Refsort/Ruby では,レコード番号は0から始まることにする • レコード内部に下位構造としてフィールドを定義 • フィールドは特定の記号で区切られた文字列 • 空白文字(空白とタブ)やカンマが用いられることが多い • 同時に複数のフィールド区切り記号を定義することも可能 • 例 カンマとセミコロンがともに区切り記号 • Refsort/Ruby では,フィールド番号は0から始まることにする 2019/2/16 (c) Toshio Otaguro, All rights reserved 11
  12. 12. レコードとフィールドの例 Tetrastes bonasia, Hazel Grouse, エゾライチョウ # "(Linnaeus, 1758)"↵ Tetrastes bonasia vicinitas, , 亜種エゾライチョウ # "Riley, 1915"↵ 〔日本鳥類目録 v7〕 第0フィールド 第1フィールド 第2フィールド 第0フィールド 第1フィールド 第2フィールド • レコード区切り記号は改行 • 改行を表す文字コードはプラットフォームに依存 • この例でのフィールドの区切りはカンマ • フィールド区切り記号に隣接する空白文字は無視される 第 xx レコード 第 yy レコード 2019/2/16 (c) Toshio Otaguro, All rights reserved 12
  13. 13. Refsortでのフィールド区切り記号 • デフォルトのフィールド区切り記号は空白とタブ • ただし,コマンドライン・オプションや,辞書ファイル・入力ファイ ル内部で何度でも再定義できる • それぞれ –R オプションと –I オプションで再定義可能 • 辞書ファイルや入力ファイルの途中からフィールド区切り記号 を変更することも可能 • 複数の区切り記号が混在することも許す • Refsortでは,辞書ファイルのフィールド区切り記号としてカン マを推奨,すなわち CSV を推奨する 2019/2/16 (c) Toshio Otaguro, All rights reserved 13
  14. 14. キーとなるフィールドの指定 • どのようなフィールドの組み合わせを並べ替えのキーにする のか指定できる 〔コマンドラインの例〕 ruby refsort.rb -f jpblist_v70p3w.ref -n -r2 tamagawa.txt • この辞書ファイルでは和名は第2フィールドにあるので,それをキーにして並べ替え るためには -r2 というオプションが必要 • 入力テキストの並べ替えのキーは –i オプションで指定 • 何も指定しなければ,-r0 -i0 と指定したと見なされる • フィールド指定では -r2,3,0-1 のような順序付きのフィールドの組が可能,重複 した場合は最初のフィールドのみを採用 • 複数フィールドを指定しても,多重キーソートとはならないことに注意 2019/2/16 (c) Toshio Otaguro, All rights reserved 14
  15. 15. 別名とは • 辞書の一つのフィールド内部に複数の「別名」を定義可能 • それぞれの別名は互いに対等なものとして扱われるので,並 べ替えの順位も対等となる • 別名の区切り記号は ‘|’,隣接する空白は無視 • 学名・英名のバリエーションや,分類体系の改変,変遷に柔軟 に対応可能 • 植物は別名が多いので,この機能は必須 〔辞書ファイル中の別名の例〕 Columba livia, Rock Dove, カワラバト | ドバト Passerculus sandwichensis, Savannah Sparrow, サバンナシトド | クサチヒメドリ クロビ | クロベ | ゴロウヒバ | ネズコ, Thuja standishii 2019/2/16 (c) Toshio Otaguro, All rights reserved 15
  16. 16. 埋め込みラベル Embedded Labels 2019/2/16 (c) Toshio Otaguro, All rights reserved 16
  17. 17. 階層別分類と埋め込みラベル • 生物分類の階層 • ドメインー界ー門ー綱ー目ー科ー属ー種 • regio-regnum-phylum-classis-ordo-familia-genus-species (Latin) • domain-kingdom-phylum-class-order-family-genus-species (Eng) • 門ごとに分類・命名規約(接尾辞の慣習)が決められている • 鳥類では 目ー科ー亜科ー属ー種 と階層化するのが代表的 • 植物は,種以下に亜種,変種などの多様性が加わる • 階層ごとのラベル(…科,...属など)は重要でよく参照される • ラベルを辞書ファイルにコメントとして埋め込んでおけば,Refsort のオ プション指定によってそれらを参照し出力できる • 汎用性を考え,これを埋め込みラベルと呼ぶ 2019/2/16 (c) Toshio Otaguro, All rights reserved 17
  18. 18. ラベルを埋め込むルール • 辞書への埋め込み規則 1. #!m + 空白文字列 + 階層深さを表す1個以上の記号 + 空白文字列 + ラベル文字列 2. #!m + 空白文字列 + 記号と深さを表す数字 + 空白文字列 + ラベル文字列 • 階層の深さを表す記号は何でもよいが統一すること • 階層が深い場合は2番目の規則が便利 • 途中の空白文字列とは,1個以上のスペースまたはタブ • 出力するためのオプション指定 • -m または –M を指定すると,ラベルを追加して出力する • 後者を指定すると,階層の深さに応じて字下げして出力 • オプションを指定しなければ,ただのコメントとして無視される 〔辞書ファイルの例〕 #!m >> [Emberizidae; ホオジロ科] #!m >>>> [Emberiza; ホオジロ属] # "Linnaeus“ #!m >4 [Zonotrichia; ミヤマシトド属] # "Swainson, 1832" 2019/2/16 (c) Toshio Otaguro, All rights reserved 18
  19. 19. 埋め込みラベルの出力例 ruby refsort.rb –f jpblist_v70p3w.ref –Mnr2 sample.txt [GALLIFORMES; キジ目] [Phasianidae; キジ科] [Bambusicola; コジュケイ属] 1 コジュケイ コジュケイ #2 [ANSERIFORMES; カモ目] [Anatidae; カモ科] [Cygnus; ハクチョウ属] 2 コブハクチョウ 3 コハクチョウ 4 オオハクチョウ [Anas; マガモ属] 5 オカヨシガモ 6 ヨシガモ 7 ヒドリガモ 8 カルガモ 2019/2/16 (c) Toshio Otaguro, All rights reserved 19
  20. 20. 辞書ファイルいろいろ Different Reference Files 2019/2/16 (c) Toshio Otaguro, All rights reserved 20
  21. 21. 日本鳥類目録に準拠した辞書 • 日本鳥学会の日本鳥類目録改訂第7版(2012)に準拠 • 日本で観察記録のある合計1,145の種と亜種を収録 • 英名は IOC List v3.2 に準拠して修正 • フィールド構成 {学名,英名,和名 # コメント} • 目,科,属をラベルとして埋め込み • エンコーディングは Windows-31J(CP932) と UTF-8 • それぞれ jpblist_v70p3w.ref と jpblist_v70p3u.ref • Windows-31J とは Shift-JIS の拡張版 • 日本での野鳥観察記録の整理にはこれで(ほぼ)十分 • 10年に一度の改訂頻度の低さが玉にきず 2019/2/16 (c) Toshio Otaguro, All rights reserved 21
  22. 22. IOC World Bird List に準拠した辞書 • International Ornithological Congress が制定 • 全世界の鳥の学名と標準英名のリスト • 最新版はv9.1 (2019-01-20),10,897の種と20,046の亜種を収録 • 近い将来,他の主要チェックリストと統合される見込み • フィールド構成 {学名,英名 # コメント} • 上目,目,科,属をラベルとして埋め込み • エンコーディングは US-ASCII と UTF-8 • それぞれ ioclist_v91a.ref と ioclist_v91u.ref • 正版は UTF-8 であり,US-ASCII 版は人名などを英文字に簡略化 • 年に2回の高頻度改訂 • 種の分割や属の異動が頻繁に起こる • 種ごとの改訂の根拠やコメントは充実 2019/2/16 (c) Toshio Otaguro, All rights reserved 22
  23. 23. IOC World Bird List 和名追加版辞書 • IOC List のすべての種に和名を追加したリスト • 亜種のうち日本鳥類目録にも存在する亜種にはその和名を追加 • その結果合計 11,312 の種と亜種の和名を収録 • 最新版はv9.1,学名と英名は IOC List と完全に同一 • 和名はさまざまな文献から収録,未命名のものについては和名を創作 し,推奨和名として提案 • フィールド構成 {学名,英名,和名 # コメント} • 上目,目,科,属をラベルとして埋め込み • エンコーディングは Windows-31J(CP932) と UTF-8 • それぞれ ioclist_v91jw.ref と ioclist_v91ju.ref • 正版は UTF-8,Windows-31J 版は人名などを英文字に簡略化 2019/2/16 (c) Toshio Otaguro, All rights reserved 23
  24. 24. IOC World Bird List の履歴 6 7 0 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 1 2 1 0 2 4 6 8 10 12 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 系列のsub-versionの推移 v1 v2 v3 v4 v5 v6 v7 v8 v9 2019/2/16 (c) Toshio Otaguro, All rights reserved 24
  25. 25. IOC World Bird List の特徴 • 基本思想は「統一性」と「唯一性」 • 学名も英名も唯一性を追求し,多様性(別名)を認めない • 英名の地域による多様性を統一(Loon > Diver) • スペリングの英米差については,過去の実績にもとづき片方に決定 • grey > gray, sombre > somber, color > colour • 一方で,大陸系のアルファベット(ウムラウトやアクセントを含む人名)を 使った英名や,現地語の使用もある • e.g., Alström's Warbler • ハイフンや語頭の大文字の使い方についても規定 • 多様性との共存が論点 • Refsort は多様性を許容する思想で開発してきた • 別名との共存や,大文字/小文字,ハイフンと空白の同一視が可能 2019/2/16 (c) Toshio Otaguro, All rights reserved 25
  26. 26. 日本産種子植物リスト • 日本産の種子植物を新エングラー体系の順列で記載したもの • NIFTY-Serve FBIRD フォーラムで初代 Refsort 用辞書ファイルとして 公開された PLANT03.REF by PALITAN (1994) の再録 • 合計 5,381 種 • フィールド構成 {和名, 学名 # コメント} • 科,属をラベルとして埋め込み • 文字コードは Windows-31J(CP931) と UTF-8 • jplant056w.ref と jplant056u.ref • 残念ながら保守管理できていない • APG に準拠した辞書ファイルを作成したいが,元にすべき データがわからない 2019/2/16 (c) Toshio Otaguro, All rights reserved 26
  27. 27. 使用例 (詳細はユーザーズガイドを参照のこと) Examples 2019/2/16 (c) Toshio Otaguro, All rights reserved 27
  28. 28. もっとも簡単な例 入力 出力 # ----- test.txt ----- カモメ # 見誤り? ツグミ # 鳴き声明瞭 オオタグロカモメ # 見たことある? セグロセキレイ ヒヨドリ マガモ ヒバリ # 揚げヒバリ タシギ ミヤマセキレイ # こんな鳥いたかしら? ハシブトガラス # 多数 ホオジロ 辞書ファイル: jpblist_v70p3w.ref Option: -r2 !R 54: -R "," redefined jpblist_v70p3w.ref: 1145 records !I 4: "オオタグロカモメ" not found in … !I 10: "ミヤマセキレイ" not found in … test.txt: 11 records test.txt: 9 identified records test.txt: 9 unique records マガモ タシギ カモメ # 見誤り? ハシブトガラス # 多数 ヒバリ # 揚げヒバリ ヒヨドリ ツグミ # 鳴き声明瞭 セグロセキレイ ホオジロ 2019/2/16 (c) Toshio Otaguro, All rights reserved 28
  29. 29. 数値や日付時刻での並べ替え 第1フィールドの数値がキー 第1フィールドの日付時刻がキー 辞書ファイル: なし Option: -i1 –e カワアイサ 2 1.20 ハシビロガモ 2 3.33 マガモ 10 4.22 ハシビロガモ 10 4.44 マガモ 20 0.56 キンクロハジロ 20 12.41 マガモ 20 -2.25 アオサギ 20 6.96 カルガモ 30 3.14 カルガモ 50 2.45 スズガモ 50+ 1.45 カルガモ 50+ -0.87 ヒドリガモ 50+ 8.02 ヒドリガモ 100+ 3.21 オナガガモ 100+ 3.21 オナガガモ 150+ -0.09 オナガガモ 150+ 1.93 ヒドリガモ 200+ 10.40 辞書ファイル: なし Option: -i1 -t オオヨシキリ 2017-04-28T11:21 ハシブトガラス 2017-04-29T09:38 ムナグロ 2017-04-29T10:13 ホオジロ 2017-04-29T10:25 コサギ 2017-04-30T14:00 ダイサギ 2017-04-30T14:01 アマサギ 2017-04-30T14:20 スズメ 2017-05-03T09:02 シジュウカラ 2017-05-03T09:03 ヒヨドリ 2017-05-06T10:12 ムクドリ 2017-05-06T10:13 2019/2/16 (c) Toshio Otaguro, All rights reserved 29
  30. 30. 埋め込みラベルの出力例 フラット型 インデント型 辞書ファイル: jpblist_v70p3w.ref Option: -mn -r2 [ANSERIFORMES; カモ目] [Anatidae; カモ科] [Anas; マガモ属] 1 マガモ [PODICIPEDIFORMES; カイツブリ目] [Podicipedidae; カイツブリ科] [Tachybaptus; カイツブリ属] 2 カイツブリ [Podiceps; カンムリカイツブリ属] 3 ハジロカイツブリ [GAVIIFORMES; アビ目] [Gaviidae; アビ科] [Gavia; アビ属] 4 アビ [SULIFORMES; カツオドリ目] [Phalacrocoracidae; ウ科] [Phalacrocorax; ウ属] 5 カワウ 6 ウミウ [CHARADRIIFORMES; チドリ目] [Laridae; カモメ科] [Larus; カモメ属] 7 オオセグロカモメ 辞書ファイル: jpblist_v70p3w.ref Option: -Mn -r2 [ANSERIFORMES; カモ目] [Anatidae; カモ科] [Anas; マガモ属] 1 マガモ [PODICIPEDIFORMES; カイツブリ目] [Podicipedidae; カイツブリ科] [Tachybaptus; カイツブリ属] 2 カイツブリ [Podiceps; カンムリカイツブリ属] 3 ハジロカイツブリ [GAVIIFORMES; アビ目] [Gaviidae; アビ科] [Gavia; アビ属] 4 アビ [SULIFORMES; カツオドリ目] [Phalacrocoracidae; ウ科] [Phalacrocorax; ウ属] 5 カワウ 6 ウミウ [CHARADRIIFORMES; チドリ目] [Laridae; カモメ科] [Larus; カモメ属] 7 オオセグロカモメ 2019/2/16 (c) Toshio Otaguro, All rights reserved 30
  31. 31. 植物観察リストの出力例 辞書ファイル: jplant056w.ref Option: -n 1 アキノキリンソウ 2 セイタカアキノキリンソウ # i.e., セイタカアワダチソウ セイタカアワダチソウ 3 アキノノゲシ 4 ノハラアザミ 5 オオオナモミ 6 ヤクシソウ 7 リュウノウギク 8 コウヤボウキ 9 ノコンギク # 1 ノコンギク # 2 10 アメリカセンダングサ 11 コセンダングサ 12 ダンドボロギク 13 セイヨウタンポポ 14 ノゲシ 15 オオアレチノギク 16 ヒメムカシヨモギ 2019/2/16 (c) Toshio Otaguro, All rights reserved 31
  32. 32. REFSORT ON EXCEL Interface connecting Refsort with Excel 2019/2/16 (c) Toshio Otaguro, All rights reserved 32
  33. 33. Refsort on Excel 2019/2/16 (c) Toshio Otaguro, All rights reserved 33 • RefsortをExcelから利用するためのインター フェース • Refsortのほとんどの機能を利用可能 • ワークシート上に常駐するコントロールパネ ルで直感的に操作 • 辞書の切り替えやオプションの変更が容易 • 並べ替え対象のリストを選択し,Sortボタン を押すだけ • 並べ替え結果はクリップボードに格納される ため,ワークシートのみならず他のアプリ ケーションへも簡単に貼り付け可能 • スピード重視の実装により,長大なリストで も実用的な処理速度を実現
  34. 34. 長大なリストを高速・柔軟に編集して出力 2019/2/16 (c) Toshio Otaguro, All rights reserved 34 • Refsort on Excel v1.70の表示例 • 全部で15レコードの入力(第1フィールドにはコ メントあり)をラベル付きで出力したもの • IOC List v8.2に収録された全30,924種をワー クシートから読み込み,IOC Listに従って並べ 替え,クリップボードに格納するのに要する時 間は5-6秒ほど
  35. 35. 分類学について思うこと Quo vadis, Taxonomy? 2019/2/16 (c) Toshio Otaguro, All rights reserved 35
  36. 36. 分類とはなにか? • なぜ分類するとわかったような気になるのか? • Wisdom begins with putting the right name on a thing. (Confucius) • 単なる気のせいではないのか?人間の脳機能の特性? • 分類すると何がうれしいのか? • 情報量を圧縮できて思考を節約できる(エントロピーを極小化?) • 世界を体系的に認識できる(ような気がして気分がよい) • 生きていくうえでなにかと役に立つ • (分岐)分類学に対する違和感 • 分岐分類学: できるだけ多数の形質を重みづけせずに比較して,進化 における分岐パターンを推測し,それに基づいて分類する • 「みにくいアヒルの子の定理」の含意を知らないのか? • 魚類,爬虫類,双子葉植物は側系統なので分類群とは認められない 2019/2/16 (c) Toshio Otaguro, All rights reserved 36
  37. 37. 種は実在するのか? • 分類は人間の「認識」という行動に深く関係 • 実在論(Realism)と唯名論(Nominalism)…古代ギリシアから 続いた哲学上の大論争 • 類(普遍者,Class)は実在するのか? • それとも類とは似たものどうしを集めた器に付けた単なる名前か? • 類似性が類の凝集力となっているが,「似ている」とはどういうことか? • みにくいアヒルの子の定理 (Watanabe, 1969) • 有限個の述語で特徴を記述できるものに対して,共有する述語の数に よって互いの類似度を測ることにすると,すべてが同じ類似度を持つこ とを証明できる • これにより,類を客観的に定義する根拠は崩壊する • 人間は各述語を重みづけして,つまり主観的に認識しているらしい • 重みづけとは便宜そのもの,生きていくうえで重要なものを区別すること 2019/2/16 (c) Toshio Otaguro, All rights reserved 37
  38. 38. 私にとっての分類学 • どちらかというと(穏健な)唯名論者 • 種(という抽象的な類)は実在しない,ましてや科や目などは実在しない • 種(と呼ばれているもの)の境界は,程度の差はあるがぼんやりとした 曖昧なもので常に揺らいでいる • 交配し変異しながら子孫を残す凝集性のある個体群こそ実在し,意味 がある集合 • 種は人間が便宜上考え出した類 • 分類とは,人間(生物)が進化の過程で獲得した適応「行動」の一つ • 種や系統は認識という行為の産物であって,所与の実在ではない • 人間にとって役立つよう類も系統も認識されている • 種も系統も便宜であって実在ではない,しかし,だからこそ役に立つ • そのような分類観と分岐分類学との折り合いはつくか? 2019/2/16 (c) Toshio Otaguro, All rights reserved 38
  39. 39. 付録 みにくいアヒルの子の定理 Theorem of The Ugly Duckling 2019/2/16 (c) Toshio Otaguro, All rights reserved 39
  40. 40. みにくいアヒルの子の定理 「認識とパタン」渡辺慧著,岩波新書(1978) 例題 基本述語 2個 (n=2) A: 頭部の羽毛は白色 B: 趾(あしゆび)はオレンジ色 この組み合わせは m = 2n = 4通り A B a2 a1 a3 a4 Atom 論理式 物件の例 a1 A ⋂ B アヒルの親や子 a2 A ⋂ ¬B ハクチョウの親 a3 ¬A ⋂ B ミヤコドリ a4 ¬A ⋂ ¬B みにくいアヒルの子 • これらの Atom から作られる述語をすべて列記するには,0個から4個までのすべての Atom の組合せを羅列する必要がある • 述語の数は,上図の4つに分けられた領域 a1, … , a4 から r 個 (r = 0, 1, 2, 3, 4) を取る 組合せの総数 Σ mCr = 2m に等しい(r を述語の階数 rank と呼ぶ) • 任意の2物件は a1, … , a4 の Atom のどれかに属するが,共有する述語の数は各 rank について m-2Cr-2個,r について合計して 2m-2 個となり,ともに物件の取り方によらない • A と B ではなく,例えば A と C = A⋓B (排他的論理和)を 基本述語に選ぶと,B = A⋓C と書ける.基本述語の選び 方には自由度があり,基本述語の見かけの単純さに惑わ されてはならない. • すべての論理的組合せを尽くして(ブール完備束)述語を 構成し,基本述語の選び方によらない公平な数え方をす る必要がある.← この定理のキモ,最も引っかかるところ 2019/2/16 (c) Toshio Otaguro, All rights reserved 40 記号 ¬ は否定を表す
  41. 41. 共通述語:アヒルの親や子⇔ハクチョウの親 述語 階数 # アヒルの親や子 ∈ a1 ハクチョウの親 ∈ a2 ミヤコドリ ∈ a3 みにくいアヒルの子 ∈ a4 ø 0 0 a1 1 1 ✔ a2 1 2 ✔ a3 1 3 ✔ a4 1 4 ✔ a1 ⋃ a2 2 5 ✔ ✔ a1 ⋃ a3 2 6 ✔ ✔ a1 ⋃ a4 2 7 ✔ ✔ a2 ⋃ a3 2 8 ✔ ✔ a2 ⋃ a4 2 9 ✔ ✔ a3 ⋃ a4 2 10 ✔ ✔ a1 ⋃ a2 ⋃ a3 3 11 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a4 3 12 ✔ ✔ ✔ a1 ⋃ a3 ⋃ a4 3 13 ✔ ✔ ✔ a2 ⋃ a3 ⋃ a4 3 14 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a3 ⋃ a4 4 15 ✔ ✔ ✔ ✔ 2019/2/16 (c) Toshio Otaguro, All rights reserved 41
  42. 42. 共通述語:ハクチョウの親⇔ミヤコドリ 述語 階数 # アヒルの親や子 ∈ a1 ハクチョウの親 ∈ a2 ミヤコドリ ∈ a3 みにくいアヒルの子 ∈ a4 ø 0 0 a1 1 1 ✔ a2 1 2 ✔ a3 1 3 ✔ a4 1 4 ✔ a1 ⋃ a2 2 5 ✔ ✔ a1 ⋃ a3 2 6 ✔ ✔ a1 ⋃ a4 2 7 ✔ ✔ a2 ⋃ a3 2 8 ✔ ✔ a2 ⋃ a4 2 9 ✔ ✔ a3 ⋃ a4 2 10 ✔ ✔ a1 ⋃ a2 ⋃ a3 3 11 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a4 3 12 ✔ ✔ ✔ a1 ⋃ a3 ⋃ a4 3 13 ✔ ✔ ✔ a2 ⋃ a3 ⋃ a4 3 14 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a3 ⋃ a4 4 15 ✔ ✔ ✔ ✔ 2019/2/16 (c) Toshio Otaguro, All rights reserved 42
  43. 43. 共通述語:ミヤコドリ⇔みにくいアヒルの子 述語 階数 # アヒルの親や子 ∈ a1 ハクチョウの親 ∈ a2 ミヤコドリ ∈ a3 みにくいアヒルの子 ∈ a4 ø 0 0 a1 1 1 ✔ a2 1 2 ✔ a3 1 3 ✔ a4 1 4 ✔ a1 ⋃ a2 2 5 ✔ ✔ a1 ⋃ a3 2 6 ✔ ✔ a1 ⋃ a4 2 7 ✔ ✔ a2 ⋃ a3 2 8 ✔ ✔ a2 ⋃ a4 2 9 ✔ ✔ a3 ⋃ a4 2 10 ✔ ✔ a1 ⋃ a2 ⋃ a3 3 11 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a4 3 12 ✔ ✔ ✔ a1 ⋃ a3 ⋃ a4 3 13 ✔ ✔ ✔ a2 ⋃ a3 ⋃ a4 3 14 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a3 ⋃ a4 4 15 ✔ ✔ ✔ ✔ 2019/2/16 (c) Toshio Otaguro, All rights reserved 43
  44. 44. 共通述語:アヒルの親や子⇔ミヤコドリ 述語 階数 # アヒルの親や子 ∈ a1 ハクチョウの親 ∈ a2 ミヤコドリ ∈ a3 みにくいアヒルの子 ∈ a4 ø 0 0 a1 1 1 ✔ a2 1 2 ✔ a3 1 3 ✔ a4 1 4 ✔ a1 ⋃ a2 2 5 ✔ ✔ a1 ⋃ a3 2 6 ✔ ✔ a1 ⋃ a4 2 7 ✔ ✔ a2 ⋃ a3 2 8 ✔ ✔ a2 ⋃ a4 2 9 ✔ ✔ a3 ⋃ a4 2 10 ✔ ✔ a1 ⋃ a2 ⋃ a3 3 11 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a4 3 12 ✔ ✔ ✔ a1 ⋃ a3 ⋃ a4 3 13 ✔ ✔ ✔ a2 ⋃ a3 ⋃ a4 3 14 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a3 ⋃ a4 4 15 ✔ ✔ ✔ ✔ 2019/2/16 (c) Toshio Otaguro, All rights reserved 44
  45. 45. 共通述語:ハクチョウの親⇔みにくいアヒルの子 述語 階数 # アヒルの親や子 ∈ a1 ハクチョウの親 ∈ a2 ミヤコドリ ∈ a3 みにくいアヒルの子 ∈ a4 ø 0 0 a1 1 1 ✔ a2 1 2 ✔ a3 1 3 ✔ a4 1 4 ✔ a1 ⋃ a2 2 5 ✔ ✔ a1 ⋃ a3 2 6 ✔ ✔ a1 ⋃ a4 2 7 ✔ ✔ a2 ⋃ a3 2 8 ✔ ✔ a2 ⋃ a4 2 9 ✔ ✔ a3 ⋃ a4 2 10 ✔ ✔ a1 ⋃ a2 ⋃ a3 3 11 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a4 3 12 ✔ ✔ ✔ a1 ⋃ a3 ⋃ a4 3 13 ✔ ✔ ✔ a2 ⋃ a3 ⋃ a4 3 14 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a3 ⋃ a4 4 15 ✔ ✔ ✔ ✔ 2019/2/16 (c) Toshio Otaguro, All rights reserved 45
  46. 46. 共通述語:アヒルの親や子⇔みにくいアヒルの子 述語 階数 # アヒルの親や子 ∈ a1 ハクチョウの親 ∈ a2 ミヤコドリ ∈ a3 みにくいアヒルの子 ∈ a4 ø 0 0 a1 1 1 ✔ a2 1 2 ✔ a3 1 3 ✔ a4 1 4 ✔ a1 ⋃ a2 2 5 ✔ ✔ a1 ⋃ a3 2 6 ✔ ✔ a1 ⋃ a4 2 7 ✔ ✔ a2 ⋃ a3 2 8 ✔ ✔ a2 ⋃ a4 2 9 ✔ ✔ a3 ⋃ a4 2 10 ✔ ✔ a1 ⋃ a2 ⋃ a3 3 11 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a4 3 12 ✔ ✔ ✔ a1 ⋃ a3 ⋃ a4 3 13 ✔ ✔ ✔ a2 ⋃ a3 ⋃ a4 3 14 ✔ ✔ ✔ a1 ⋃ a2 ⋃ a3 ⋃ a4 4 15 ✔ ✔ ✔ ✔ 2019/2/16 (c) Toshio Otaguro, All rights reserved 46
  47. 47. ブール完備束の格子表現 2019/2/16 (c) Toshio Otaguro, All rights reserved 47 ø a1 A ⋂ B a2 A ⋂ ¬B a3 ¬A ⋂ B a4 ¬A ⋂ ¬B a1 ⋃ a2 A a1 ⋃ a3 B a1 ⋃ a4 ¬(A ⋓ B) a2 ⋃ a3 A ⋓ B a2 ⋃ a4 ¬B a3 ⋃ a4 ¬A a1 ⋃ a2 ⋃ a3 A ⋃ B a1 ⋃ a2 ⋃ a4 A ⋃ ¬B a1 ⋃ a3 ⋃ a4 ¬A ⋃ B a2 ⋃ a3 ⋃ a4 ¬A ⋃ ¬B a1 ⋃ a2 ⋃ a3 ⋃ a4 □ Rank 4 Rank 3 Rank 2 Rank 1 Rank 0 180度の回転と否定に対して対称
  48. 48. 定理を理解するための補足 • {A, B} や {A, A⋓B} と {A∩B, A∩¬B} とは情報の冗長性のレベルが異なる ので,それらを平等に数えるのはおかしい.冗長性が同じレベルの述語ど うしを比較して共通述語を数えるべきだ(小野山, 1995) ⇒ 「みにくいアヒルの子の定理・情報版」 と名付ける • 冗長性のレベルとは述語の rank のことらしいが,定理はそれぞれの rank 内の述語に対 しても成り立つので,定理を修正する必要がないことを小野山も承知している 2019/2/16 (c) Toshio Otaguro, All rights reserved 48 • ブール完備束は互いに否定関係にある述語の対で構成されており,その 冗長性のために共有述語が二重計上されているのではないか? • 冗長な述語は互いに否定関係にある対となっているため,二重に計上されることはない (Lattice diagramを見るとわかる) • なぜ考えうるすべての述語を平等に扱わなければならないのか?例題の A⋓B や A∪¬B に相当する自然言語の述語や概念はないのに • 誰もが最も疑問に思う点 ⇒ 次のスライドで説明
  49. 49. 渡辺が(たぶん)言いたかったこと • 真に客観的に(人間がコンピュータに各述語の価値や重みを事前 に教えないで)分類を行おうとすると,考えうるすべての述語を網羅 する(あらゆる切り口で対象を評価する)徹底が必要だろう • たとえある述語の対応物が人間の自然言語にはないとしても,たとえ人間 がその切り口で物事を認識することはないとしても • 地球型生命とは異なる生命原理で進化した知的生命が,地球に探査ロボッ トを送り込むとき,どのような述語体系を持たせればよいだろうか? • しかし,網羅した述語を平等に扱うと,この定理の罠に捕らえられ, 分類が不可能となる • 重み付けされた述語体系があって初めて分類は可能となる • 重み付けは価値(主観)に基づくのであり,だからこそ役に立つ • 重み付けとは,長い試行錯誤を含む帰納的プロセスであり,生物は進化の 過程でそのプロセス(感覚器官や脳・神経系の発達)を実行してきた 2019/2/16 (c) Toshio Otaguro, All rights reserved 49
  50. 50. で,どうすりゃいいのさ? • 分類学から「客観」という看板を下ろしてはどうか? • 「客観」を言い過ぎると,みにくいアヒルの子が襲ってくる • 「客観」を掲げることで神の視点に近づきたいのだろうが,客観とは人工 知能の学習前の初期状態・・・分類も認識も不可能 • 人間の認知機能は本質的に主観的だと認めよう • 「主観」の有用性を訴えるしかないのでは? • 例えば,進化系統を最重視すること自体に何ら問題はない • そのほうが生物界を理解しやすいのであれば • ただしそれは神の視点ではなく,ある評価尺度に基づく一つの主観 • 「分類とは,世界観の表明にほかならない」 (野口悠紀雄,1993) • 有用性が客観性よりも劣っているとか低レベルということはない • 複数の異なる主観に対して,ほぼ一定の塊りを保つカテゴリが得られれ ば,それは普遍的な価値を持つと言ってよいのではないか? 2019/2/16 (c) Toshio Otaguro, All rights reserved 50

×