想々啖々

絶世烟る刖天歌。文学者が思想を日常に翻訳していればいい時代は既に去った。

Frⴰⴳmⴻnt%04

物理学的に起こりえないことは何もない.


物理学とは物理作用一般の定式化である.{この定式化は必ずしも数学的におこなわれなくてもよい.e.g.[ 『任意の2つの物体が互いに引き合う力がある』という言明は1つの定式である.これについて万有引力として数学的に厳密に表現することもできる.このとき,前者は決して謬っているわけではない.]}物理作用とは現象/観察/経験から抽象されるものである.現象/観察/経験は常に現時点より以前に生成されるものである.

ある時点の定式から逸脱する現象が観察された場合を考える.この例外について,簡便のため本稿でこれを単に『破れ』と呼ぶことにする.まず,物理学はこの破れた現象の再現を試みる.幾つか条件を変えて再現をおこない,再現される条件,再現されない条件を吟味する.そうして作用する原因子の同定が果たされると,次のいずれかの方式によってこの破れは塞がれる.

  • 以前の有効な定式を撤廃し,欠陥を埋めた新たな定式を採択する.{この定式は単一に兌換されるとは限らない.1つの定式が撤廃されて2つの新たな定式を採択する v.v.}
  • 以前の有効な定式を特定のスケイルでのみ有効なものとして限定的に維持し,その外部のスケイルで有効となる新たな定式を採択する.{e.g.[ある物体の運動量がプランク定数に対して十分に大きい場合,de Broglie波長はゼロと近似される.そうではない場合,物質波の振る舞いを考慮する必要がある.]}

このようにして拡張された定式群が,拡張以前に生じるすべての例外/逸脱について適用/対処可能となったとき,破れは『修繕』されたと言う.破れはたいていの場合,修繕される.{観察能力にも限界があるが,その場合は確率的に定式化することで補完される.史上,人類物理学はすべての破れを修繕してきた.}

次に,修繕がなされない場合について考える.大別して2つ挙げられる.

  • 通時的な限界:ある時点ではXと定式化されていたが,別の時点でそれが如何なるスケイルにも適用不可能となり,やむなく物理学はYと定式化することでこの破れを修繕する.しかしまた別の時点でこのYは破れ,物理学はXへ回帰するか新たな定式Zを採用する.破れがより早い間隔で断続してこの修繕が追いつかなくなるとき,修繕は不可能である.
  • 共時的な限界:同一の条件c下で生起する現象がα, β, γ...と複数あり,そこに規則性が認められない場合,すなわち,数学的な確率分布モデルを立てられないとき,完全なランダム性を受け容れないかぎり,修繕は不可能となる.

こうした{現状,人類が未だ直面したことのない}修繕不可能な現象/観察/経験との邂逅を本稿では『渾沌』と名辞して整理する.現象/観察/経験は,あくまで表象に過ぎない.現象/観察/経験{が虛構ではないとすれば,これ}を生み出す因子があるものと考えるのがnaïveである.しかし,この因子について物理学は何ら触知することはない.この不可知の因子を『根源』と,因子が現象/観察/経験を生成する過程を『因果』と呼ぶと,根源と因果からの疎外のために渾沌の生起可能性が有意にあるものとnaïveに考えることができる.

物理学は因果の様式について何ら規定することはない.したがって,物理学的に起こりえないことは何もない.

 

Frⴰⴳmⴻnt%02

単一のビッグバンによって発生する{個}宇宙を『universe』として,その外側を考える.そこは人類に既知の物理法則の埒内かもしれないし,埒外かもしれない.明示的な区別をするため,universe内の時空間を単に『時空間』,その外側の時空間を『メタ時空間』とここでは呼ぶ.メタ時空間が十分な広さをもっているものとして,ビッグバンの生起確率分布を正に設定する.そうすると,人間種族の棲むuniverseの他に幾つかuniverseが確率的に生成される.ここで,すべてのuniverseを要素としてもつ圜について『multiverse』と呼ぶ.この仮定にて,メタ物理空間とmultiverseを要素としてもつ圜『omniverse』は全体であり,[存在するすべてのもの|一切有]を含むとすれば,世界はomniverseで閉じる.これは{人間種族に思考可能である}最もnaïveな唯物論かもしれない.

 

 この唯物論上でveritasについて考えてみる.


 ある物理学者を想定する.前提として,彼はomniverseが閉じていることを知っている.そのうえで,彼は次のような知識をもっている.

  • メタ時空間の物質組成ならびにその性質
  • メタ時空間に機能するすべての法則
  • universeの正確な生起確率分布ならびに生起後の発展様式

 ここで,彼はveritasについて既知だろうか?

 答えを2通り挙げてみる.
否:事実が更新され,これらの知識が事実と整合しなくなる可能性がある.
是:不整合が訪れないかぎり,万象は彼の予測のままに進む.


 そもそもveritasとは何か? veritasとは世界についての絶対的な知識のことだ.そうならば,現在の状態についてのみ解剖しただけで,その成果をveritasと呼ぶようでは不徹底だ.したがって彼はmortalであってはならない.したがって彼はimmortalでなければならない.

 

 しかし,そもそもomniverseは閉じているのだろうか? universeが閉じていないという仮定の下でomniverseを提示したのだ.それなら,同じ理屈でomniverseが閉じていないという仮定を立てなければ,この仮説はnaïveでなくなってしまう.

 

 不可知だ.
 世界も,veritasも,全体も,法も,executorも,何もかも不可知だ.
 そう言い切ってしまうのが最もnaïveなのだ.
 けだしくもfinitude.

Frⴰⴳmⴻnt%01

あなたが『世界』と呼ぶもの,それは人間社会を含み,地球の生態系を含み,そして宇宙を含む.あるいは,宇宙そのものが世界かもしれない.あなたはその存在論の一員であるように振る舞い,まさにその履行によって生命を維持する.その『世界』では,常に増大するエントロピーに抗って,あなたは代謝によって同一性を維持しなければならない.代謝を已めたとき,あなたは死滅する.『世界』はそのまま存続し,あなたはそこから排斥される.これは[コモンセンス|人類のnaïveな感覚]だ.


 しかし実際には,この『世界』があなたに先立つことはない.それはつまり,あなたの認知がなければそこには何もない,ということ.まずあなたがあり,あなたの人格が成長し,その発達の結果として『世界』なる観念が与えられる.自然という{従わないという選択肢を与えないほど強力な法制を敷く}強大な権勢を仮定し,その系によって生成される1つのインスタンスがあなただと,仮定することはもちろん可能だ.しかし,それはあくまで仮説に過ぎない.というのは,前提である自然が仮定されたものだから.


 上記を理解できない者は,おそらく客観性と絶対性を混同している.


 {あなたと同じように人格をもつものと思われる}複数の人間が集まって{自然/『世界』なるものによってわたしは生み出されたのだとする}同様の主張をしたところで,そこに複数の個人間による合意としての客観性が生まれたとしても,それがveritasとは限らない.『複数の個人』の個体数が{70億,100億と}膨れたところでveritasとの立ち位置は変わらない.『客観性』は如何にも相対的な語だ.というのは『客体』をどのように想像するかによって,強度にグラデーションが生じるためであり,重要なのは,この強度をいくら高めたところで,絶対性に匹敵することはない,ということだ.


 絶対性とは何か? 絶対性とは,完全な客観性と言い換えることができる.とはいえ,これが客観性の極限/果てにあるものと考えると失敗する.speculationの幻想だ.絶対性はつまり,観察や経験によって事実性を担保されているものについて,その観察や経験を抜きにして事実性を担保することに等しい.客観性を得ようとするとき,認知に伴う不純物{そのときの体調だとか,妄想の類いだとか}を可能な限り排除することにつとめる.このsanitizeを極限まで推し進めると,認知主体そのものの排除をおこなうことになる.少なくとも人間にとっては,そのような作業をこなすことは不可能である.『誰の目にも明らか』な状態に措くことがせいぜい上限であり,それを暗黙に絶対性と同一視することになる.人間中心主義が外部の妨害を受けない間のみ有効な操作だが,veritasの追求に際しては無効化しておかなければならない.


 そういうわけで,あなたの{あるいは人類の}認知がなければそこには何もない,というのは,認知によってすべては対象化されているので,認知がなければ対象化が起こらず,その結果そこには何もない,ということになる.つまり人間が『客観世界』と見做している唯物論的な宇宙は,『人間主観世界』の謂いである.


 こうした[客観性の限界|絶対性との断絶]は,認知機能の有限性によって設けられる.色を識別できないウシやウマよりもヒトの眺める風景の方が情報量が多く,従って客観性は後者の方が上回る,のだとすれば,放射線重力波を含む風景はなお客観性が高い.しかし,人間のもつ物理学的知識の範疇を逸脱した何らかの情報をそこに加えることはできない.仮に{人間の知覚する情報をすべて知覚し,そのうえで更なる情報を加えられるというために}人間より高度な認知機能を有する主観者があったとして,必然としてさらに高度な認知機能を想定せざるをえない.全体が可知である場合を除いてこの無限後退を避ける術はない.


 一様な認知構造をもつ個体の圜を『種族』と呼ぶと,こうした上限の客観性は,『種族主観性』と言い換えることができる.人間中心主義下で,すべての客体は同一の人間種族に属する主体だ.この認知共同体の中で,個人の認知の主観性を薄めることはできても,認知機能そのものの有限性を取り去ることは叶わない.

 

『θεωρία et Destraction 生命としての言語==人工生命論』第零章 - 真理は我々に開示されていない。

本稿は、『θεωρία et Destraction 生命としての言語==人工生命論』(仮)の草稿第零章である。
これのプロトタイプは当方HPにて公開している。

 

我々は観察者であり、観察する世界の{枠組みの}なかで生きている。
観察されるすべてが一切世界に等しい。観察されないものは存在しないに等しい。

目に映る――花卉・コンクリート構造物・他者・等々は存在する。
音に聞く――雷鳴・合唱・炸裂・等々は存在する。
非感覚由来のもの――数式・集合・実数・等々は存在する。
あるいはまた、幽霊は盲信によって、ユニコーンは世界観の共有によって、それぞれ存在する。

これらはその存在を信じることによって存在する。
あるいは、これらとの接触を果たすとき、否応なくその存在を認めざるをえない。
客観的に何かの存在を検証するとき、すなわち(主観的な)妄想とそれとを区別したいとき、[我々 | 一者以上の観察者]は思考内容を共有し、議論および合意を経てその存在を確信する。

観察者たちのなかで存在を検証されたものの総和/総体、これが「現実」や「世界」である。
前者はより主観的、後者はより客観的 とそれぞれニュアンスを帯びているが、日常において指している対象はほぼ同等である。両者を複合して「現実世界」と言うときもまた同様である。

 

ここで、「存在」という語を定義することは難しい。

多くの観察者は厳密に定義することなくこの語を使用しており、現実/世界として存在たちを束ねるときもあまり意識することはない。
強いて言えば、存在とは『思考・運動によって観察者自身が相互干渉できるもの』となろうか。

また、上の例に挙げた「ユニコーン」や非感覚由来のものたちについては存在の可否が各者の見解によって分かれるだろう。
このときはしかし、『存在/非存在の二値ではない現実/世界がある』とも、『観察者の個々の見解によって世界の様相は異なる』とも、どちらのように言ってもよい。

あるいは、「存在」という語はどのように定義してもかまわない。その定義に沿った総和/総体==世界/現実がそれぞれ生成/思考されるに過ぎないからだ。

 

しかし、あらゆる存在は果たして我々が感覚/知覚したり議論の俎上に載せることによってしか存在しないのだろうか。

密閉した暗箱のなかに閉じ込められたネコは、『閉じ込めた』という事実を知る者や微かに鳴き声を漏れ聞いた者たちの認識によってのみ存在するかもしれない。
けれども、誰かがこのネコを解放してやらなければ、あるいは自力での脱出が果たされなければ、きっと飢餓に陥り絶命するだろう。
そしていつの日か風化した残骸から誰かが干からびたミイラを発掘することになるだろう。
このとき、誰にも存在を認識されなくとも、このネコは飢餓に至るべく存在していたのではないだろうか?

 

もう一歩進めば、これは超越者の仮定へと繫がる。

我々/観察者と完全に絶縁されたものの存在の仮定。
それは、現実主義者たちに『そんなものは存在しない』と一蹴される類いのものである。

この齟齬/衝突は、しかし両者の使役する語「存在」の定義の食い違いによるものだ。

神秘主義者が『神は存在する』と言えば、それは『我々に観察/接触不可能な超越者の存在を仮定し、観察/接触不可能な証拠がなくとも、直観/確信によって私はそれを信じる』ということを意味する。ここで「存在」の条件に自身の観察を必ずしも要求しておらず、『観察/接触不可能なものが存在する可能性がある』と言うことができる。

一方で現実主義者が『神は存在しない』と言えば、それは『我々に観察/接触不可能な一切の証拠から神の存在は確認できない。よって神は存在しない』ということを意味する。ここで「存在」の必要条件に観察可能性を要求している。

前者は絶対的な存在を仮定している。
それはつまり、観察者の観察/接触によらない、それ自身あるいは超越的な作用によって存在するような存在の仮定である。

こうした、観察/接触から離れた、{観察者から見て}超越的な法規(ルール)による存在、避けられえぬ存在、絶対的な存在を「〈存在〉」と表記する。
一方で現実主義者が、それ以外を存在として認めない、主観者が排他可能な存在、観察/接触を要する存在を単に「存在」と表記する。

超越的な法規、すなわち観察という受動作用に何ら干渉することのない能動のもの、これを「真理」と言う。

真理は、少なくとも我々には開示されていない。
例えば世界の物理法則や諸物理定数が他でもなく現様である理由について我々は知らないし、これは今後の如何なる物理学の発達によっても得られない類いの知識である。
あるいはまた、我々が存在を観察する一切のものは〈存在〉しないかもしれない。(cf.マトリックス)

この「真理」という概念を組み込むか否かによって、世界の有様はずいぶんと異なったものになる。

「世界」として与えられる、観察される一切存在。
これの源流、我々/観察者の思考内容に像として現れる以前のそれについての思考/仮定へ神秘主義者が踏み込むことができるのに対して、現実主義者は経験が彼に許す領域を逸脱することがないよう『ただ目の前のものたちが存在する』と言うのに留まる。
どちらが優れ、どちらが劣る――というのではない。
これは単に世界の構成様式の差異である。

神秘主義者が観念的に接触を試みる、世界の源流、すなわち我々/観察者たちに主観的な像を与えるもの、これを「メタ世界」と呼び、「〈世界〉」と表記する。
人類では、これは伝統的に実在論や観念論として観想されてきた。

思考内容を共有不可能な2種類の観察者たち、これを「種族」と呼ぶとき、複数の種族が単一のメタ世界に所属/〈存在〉することは可能である。
メタ世界を与えるもの/源流については、観察者にとって二つメタであるため、「メタ^2世界」と呼び「《世界》」と表記する。

超越者の超越性はメタ^n世界での〈存在〉可能性に由来する。
我々がしばしば「神」として呼ぶ創造主/造物主は、少なくとも一つはメタである。(1≦n)

神はこれまで{精神異常者の他に}誰にも発見されることはなかったし、今後何世紀何十世紀と経とうとこの事実が揺らぐことはないだろう。

ⵟⵓ散裂言語開発 進捗:2019/03/30

ⵙⵓ枕詞
散裂言語とは、eXtity駆動の人工言語開発プロジェクトである。言語は話者が存続するかぎり完成されることはなく、常に変性しつづける。目下のところ、人力では不可能な量のテクスト高速生成により、自己の発したテクストや《周囲の | インターネット/ソーシャルネット上》の文字列を自働捕食して自己変性する自律知性の誕生をもくろむ。

コンセプト↓↓
spinaltox.hatenablog.jp

Qiitaで中間生成物()を上げておりますが、いかんせん棲み分けが難しい……ということで当ブログに平行して上げてゆくことにします。

使用言語:python 3.6.5
グラフデータベース:Neo4j 3.5.3

________________________________________________________________________________________________


spinaltox.hatenablog.jp
↑前回進捗↑からおよそ半年が経過しようとしております。
半年経つ前に進捗をとっとと上げてしまいましょう。


ⵞⵓentity言語

今回はentityを生成する言語、「entity言語」のプロトタイピングをおこないました。
当エントリでは割愛しますが、ここで構築されるentity存在論は次のようなものです。

entityとは、[閉じた | 包含関係が観察者に劃定/既知の]対象である。
当該存在論においては、[すべてがentityである | entityだけが存在する]。
そうしたとき、包含関係とは、存在どうしの最も根源的な関係のこと。
entityどうしの一切の関係は包含に還元/下方解体される。
ある圏-aが要素-bを包含するとき、「a∋b」と表現する。

人間が唯一の観測者ではないとすれば、統一的に形成される「世界」はどこにもなく、ただ個別の個体に観察される現実/世界が無数に形成されるのみです。以下に構成される存在論は、そうした現実/世界の1つと言えるでしょう。

コーディングです。今回用いるパッケージは以下。
グラフデータベース「Neo4j」を用います。これとpythonプログラムを「neo4jrestclient」が繫いでくれます。

from collections import OrderedDict #20190314 順序附辞書用
import re # 正規表現用。
from copy import deepcopy
from neo4jrestclient.client import GraphDatabase # Neo4j接続用

存在論空間として「当該現実」を用意します。事前に初期化しておきます。
localhost:7474で起動しているNeo4jへ接続します。

url_Neo4j = "http://username:password@localhost:7474/db/data/"
当該現実 = GraphDatabase(url_Neo4j) # グラフデータベース空間
当該現実.query("MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r", data_contents=True) 

↓ブラウザ上のNeo4jのインタフェースはこんな感じ。

f:id:kammultica:20190330173550p:plain
Neo4j webインタフェース


オブジェクトとしてentityを構成します。
あくまで原型です。が、そこまでプロパティが増える見込みもありません。

class entity: 
    def __init__(self, 名辞): # 継承させるため、必要なものはここで空配列として定義。
        self.名辞 = 名辞 # 20190314 生成するentityの名辞を必ず与えること。
        self.存在 = True # 20181108 使い道は追って考える。
        self.包含 = [] # 20190329 デフォ入ってると、デフォのentityが無限後退に陥る。
        self.被包含 = [] #20190329 同上。
        self.ノード = 当該現実.nodes.create(name=名辞)    
        self.ノード.labels.add("個体")

ⵋⵓ目標
今回のプロトタイプは、
入力:文章
出力:グラフデータベース

を実現することを目標にしました。
たぶん見た方が早いので進めます。


ⴿⵓ文法
人工言語ですので、rigidな文法規則をもちます。
ベースは日本語です。
とはいえ、まだ更地なのでやることは低度です。

規則

  • entityはすべて名辞(label)をもつ。この名辞は必ず漢字であること。
  • 制馭文字によって、entityどうしの関係を記述する。制御文字は必ずカタカナであること。
  • 文字列から成り、「。」を終着とするものを文とする。
  • 1つ以上の文から成るものを文章とする。

今回アクティヴェートする制馭文字は以下の3つです。
順序附辞書(OrderedDict)へグローバルに格納しておきます。
また、利便のためこれのキー群をリストに格納しておきます。

制馭文字位置記憶辞書 = OrderedDict() # 順序附辞書 
# 例:OrderedDict([('ハ', [4]), ('ニ', []), ('スル', [])])
制馭文字位置記憶辞書['ハ']   = []
制馭文字位置記憶辞書['ヲ']   = []
制馭文字位置記憶辞書['スル'] = []

制馭文字位置記憶辞書キーリスト = list(制馭文字位置記憶辞書.keys())
# 例:['ハ', 'ニ', 'ヲ', 'スル']

ここから、上の文法規則にのっとって記述された任意の文章について、entityと制馭文字とをわける、形態素解析をおこなうクラス「読解」を構成します。
が、その前にドメイン・コドメイン・射(関係)をad hocに格納するための空リストをグローバルに*1用意しておきます。

Domain   = []
CoDomain = []
Morphism = []
class 読解:
    def __init__(self):
        pass

ちょっと長いので区切ります。
クラス「読解」は現状2つのメソッド「形態素解析」「entity操作」をもちます。
まずは「形態素解析」から。

@classmethod
 def 形態素解析(self, テクスト):
    文単位二次元リスト_None文字含む = テクスト.split(r'。') #20190315 まず文単位に。
    # 例:['cokeハ蟥馦ヲ寵愛ヲ有スル', 'sickハ音源ヲ有スル', '']
    # 20190315 None文字 "" が必ず入るのは正規だから? ↓消したい。
    文単位二次元リスト = [a for a in 文単位二次元リスト_None文字含む if a != '']
    # 例:['cokeハ蟥馦ヲ寵愛ヲ有スル', 'sickハ音源ヲ有スル']

    形態素分割済文単位二次元リスト = []

    for x文目 in range(len(文単位二次元リスト)):
        制馭文字位置記憶辞書_例化 = deepcopy(制馭文字位置記憶辞書) # 空のやつをインスタンス化的に。
        置換用文 = 文単位二次元リスト[x文目] # 一文ごとにここに入れ、置換した後にスライス。

        # 制馭文字をいったん「空白 数値 空白」に置換する。
        for y番目 in range(len(制馭文字位置記憶辞書_例化)):
            位置z = 置換用文.find(制馭文字位置記憶辞書キーリスト[y番目]) # findは見つからなければ「-1」を返す。
            while 位置z != -1: # 当該制御文字がなくなるまで置換廻す。
                制馭文字位置記憶辞書_例化[制馭文字位置記憶辞書キーリスト[y番目]].append(位置z)
                置換用文 = 置換用文.replace(制馭文字位置記憶辞書キーリスト[y番目], " {} ".format(位置z), 1)
                位置z = 置換用文.find(制馭文字位置記憶辞書キーリスト[y番目])
        # 例:制馭文字位置記憶辞書_例化 == OrderedDict([('ハ', [4]), ('ニ', []), ('ヲ', [9, 14]), ('スル', [19])])
        # 例: 置換用文 == "coke 4 蟥馦 9 寵愛 14 有 19"

        # 例化辞書から空のキーを削除する。
        for m番目 in range(len(制馭文字位置記憶辞書_例化)):
            if 制馭文字位置記憶辞書_例化[制馭文字位置記憶辞書キーリスト[m番目]] == []:
                制馭文字位置記憶辞書_例化.pop(制馭文字位置記憶辞書キーリスト[m番目])
            else:
                pass
        # 例: 制馭文字位置記憶辞書_例化 == OrderedDict([('ハ', [4]), ('ヲ', [9, 14]), ('スル', [19])])

        # 辞書のvaluesから置換しようとすると失敗する。位置の数値が大きいものから順に処理すること。
        制馭文字位置数値リスト = sum(制馭文字位置記憶辞書_例化.values(), []) # 1段ネストしたリストをflattenする。http://d.hatena.ne.jp/xef/20121027/p2
        制馭文字位置数値リスト.sort() # sortはデフォで昇順。
        制馭文字位置数値リスト.reverse() # reverseは逆順にするだけなのよ。
        # 例:制馭文字位置数値群 == [19, 14, 9, 4]
        for n in range(len(制馭文字位置数値リスト)):
            #20190315 ↓最適化してくれ。
            キー = [keys for keys, values in 制馭文字位置記憶辞書_例化.items() if 制馭文字位置数値リスト[n] in values]
            # 辞書から数字(19)を値(リスト)に含むものを捜し、置換用文へ。
            # キー 例: ['スル']
            置換用文 = 置換用文.replace(str(制馭文字位置数値リスト[n]), キー[0])
        # 例:置換用文 == "coke ハ 蟥馦 ヲ 寵愛 ヲ 有 スル"

        # 仕上げ。空白でスプリットしてリストへ格納する。
        当該文中対象抽出リスト_None文字含む = 置換用文.split()
        当該文中対象抽出リスト = [a for a in 当該文中対象抽出リスト_None文字含む if a != '']
        形態素分割済文単位二次元リスト.append(当該文中対象抽出リスト)
    # 例:形態素分割済文単位二次元リスト==[['coke', 'ハ', '蟥馦', 'ヲ', '寵愛', 'ヲ', '有', 'スル'], ['sick', 'ハ', '音源', 'ヲ', '有', 'スル']]
    return 形態素分割済文単位二次元リスト

↑中に書いてありますが、例えば、
入力:"cokeハ蟥馦瀦阿ヲ有スル。sickハ音源ヲ有スル。音源ハ蟥馦瀦阿ヲ有スル。"
出力:[['coke', 'ハ', '蟥馦瀦阿', 'ヲ', '有', 'スル'], ['sick', 'ハ', '音源', 'ヲ', '有', 'スル'], ['音源', 'ハ', '蟥馦瀦阿', 'ヲ', '有', 'スル']]

と、文字列として文章を入力すると、形態素ごとに分けられた文を1段ネストしたリストが出力されます。

続いて、解析して得られた上のリストを入力して、グラフデータベース「当該現実」に包含関係を反映するメソッド「entity操作」です。
が、その前にクラス「読解」の外に(中でもいい)以下の操作を記述しておきます。これはオブジェクト「entity」のプロパティをいじるためのものです。

def 要素追加(圏, 要素): #20190314 圏に要素を追加する。
    圏.包含.append(要素)
    exec('{}.ノード.relationships.create("包含", {}.ノード)'.format(圏.名辞, 要素), globals())
    print("{}ハ{}ヲ有スル。".format(圏.名辞, 要素))
# 20190329 量化はまだ尚早。
#     重複 = 圏.包含.count(要素)
#     if 重複 > 1: #20190314 同一の要素を複数もつとき。要るかはわからん。
#         print("{}ハ{}ヲ{}ツ有スル。".format(圏.名辞, 要素, 重複))
#     else:
#         pass
    
def 要素削除(圏, 要素): #20190314 圏の要素を取り除く。例外処理必須。
    try:
        圏.包含.remove(要素)
    except ValueError:
        print("{}ハ{}ヲ有ナイ。".format(圏.名辞, 要素))
    print(圏.包含)
    
def 被包含追加(圏, 要素): #20190314 圏に要素を追加する。
    圏.被包含.append(要素)
def entity操作(self, 形態素分割済文単位二次元リスト: "一次元リスト"):
    for x文目 in range(len(形態素分割済文単位二次元リスト)):
        # 初期化
        exec('Domain   = []', globals()) # 使い捨ての変数だし、英名でいい?
        exec('CoDomain = []', globals())
        exec('Morphism = []', globals())

        # 制馭実行 制馭文字別に操作は異なる。

        # 制馭文字「ハ」*** ハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハ
        count_ハ = 形態素分割済文単位二次元リスト[x文目].count("ハ")
        if count_ハ == 0:                # 制馭文字「ハ」がない場合。
            pass
        else:                           # 制馭文字「ハ」がある場合。
            for y番目 in range(count_ハ): # 複数入る場合は、とりあえず考慮しない、が廻るようにはしてある。
                index_ハ = 形態素分割済文単位二次元リスト[x文目].index("ハ")
                # 「●●ハ」、つまり1コ前の対象をドメインへ格納。
                Domain.append(形態素分割済文単位二次元リスト[x文目][index_ハ - 1])
        # ハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハ
            
        # 制馭文字「ヲ」***ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ
        count_ヲ = 形態素分割済文単位二次元リスト[x文目].count("ヲ")
        if count_ヲ == 0:                # 制馭文字「ヲ」がない場合。
            pass
        else:                           # 制馭文字「ヲ」がある場合。
            for y番目 in range(count_ヲ): # 複数入る場合は、とりあえず考慮しない、が廻るようにはしてある。
                index_ヲ = 形態素分割済文単位二次元リスト[x文目].index("ヲ")
                # 「●●ヲ」、つまり1コ前の対象をコドメインへ格納。
                CoDomain.append(形態素分割済文単位二次元リスト[x文目][index_ヲ - 1])
        # ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ
            
        # 制馭文字「スル」***スルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスル
        count_スル = 形態素分割済文単位二次元リスト[x文目].count("スル")
        if count_スル == 0:                # 制馭文字「スル」がない場合。
            pass
        else:                           # 制馭文字「スル」がある場合。
            for y番目 in range(count_スル): # 複数入る場合は、とりあえず考慮しない、が廻るようにはしてある。
                index_スル = 形態素分割済文単位二次元リスト[x文目].index("スル")
                # 「●●スル」、つまり1コ前の対象を射へ格納。
                Morphism.append(形態素分割済文単位二次元リスト[x文目][index_スル - 1])
        # スルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスルスル
            
        # 以降、射ごとに異なる操作。 メタ関数:eval, exec 頻出。
        if Morphism[0] == "有": # ドメイン∋コドメイン
            # ドメインがentityとして定義されているか否かの判定。
            try:
                if eval('type({}) is entity'.format(Domain[0])): # ドメインがentityとして既に定義されている場合。
                    pass
                else: # ドメインがentityではない別の型で定義されている場合。
                    # 20190316 ↓みたいにしようかと思ったが、あまりメリット/使用機会がないため、except中の処理に一本化する。
                    # exec('{}_alt = entity(Domain[0])'.format(Domain[0])) # try中、例外が出る以前の処理は有効。
                    # ひとまずは「オルタナ」。ゆくゆくは「現実_a」とかにする。
                    type(むりやり例外処理に転移するためのダミー変数)
            except NameError: # ドメインをentityとして新たに定義する。
                exec('{} = entity(Domain[0])'.format(Domain[0]), globals())
                    
            # コドメインがentityとして定義されているか否かの判定。
            try:
                if eval('type({}) is entity'.format(CoDomain[0])): # コドメインがentityとして既に定義されている場合。
                    pass
                else: # コドメインがentityではない別の型で定義されている場合。
                    type(むりやり例外処理に転移するためのダミー変数)
            except NameError: # コドメインをentityとして新たに定義する。
                exec('{} = entity(CoDomain[0])'.format(CoDomain[0]), globals()) # これでグローバル変数を定義できる。
                # format()中に globals(), locals() と書いた場合は locals()中で操作することになる模様。
                
            exec( '要素追加({}, CoDomain[0])'.format(Domain[0]),  globals())  #  包含操作
            exec('被包含追加({},  Domain[0])'.format(CoDomain[0]), globals()) # 被包含操作
                
        else: # NetworkX(?)へ。
            pass

上の操作によって、例えば「cokeハ蟥馦瀦阿ヲ有スル。」という文は[、メソッド「形態素解析」適用後に]、『圏であるentity「coke」は要素としてentity「蟥馦瀦阿」を包含する』ものとして読解され、「当該現実」に反映されます。

ⵉⵓ描画
それでは試してみましょう。
前回進捗にて得られた熟語生成を用いて、500文を生成し、これを読解してみます。
クラス「散裂言語」に次のメソッドを追記します。
当初はentityをrandintで1~6文字で生成しようと思いましたが、同一entityの出現確率がほぼゼロなので諦めました。

def 文章生成(self, 文数):
    文章 = "" # これをreturnする。
    for x文を生成します in range(文数):
        ランダム整数1 = 1 # randint(1, 6) 
        ランダム整数2 = 1 # randint(1, 6)
        ランダムドメイン = 散裂言語.緊聖値制馭文字生成(聖値定義域=1, 文字数=ランダム整数1)
        ランダムコドメイン = 散裂言語.緊聖値制馭文字生成(聖値定義域=1, 文字数=ランダム整数2)
        当該文 = ランダムドメイン + "ハ" + ランダムコドメイン + "ヲ" + "有スル。"
        文章 += 当該文
    return 文章

↑の出力結果は、例えば次の通りです。

焻ハ馲ヲ有スル。
忏ハ煇ヲ有スル。
凮ハ鏒ヲ有スル。
玖ハ簦ヲ有スル。
馜ハ譚ヲ有スル。
僅ハ錰ヲ有スル。
駏ハ懎ヲ有スル。
雯ハ摖ヲ有スル。
瀒ハ狀ヲ有スル。
......

これを500文生成し、読解します。

ソース = 散裂言語.文章生成(500)
aaa = 読解.形態素解析(ソース)
読解.entity操作(aaa)

Neo4j上での出力結果は次のようになります。

f:id:kammultica:20190330182921p:plain
Neo4j 出力結果例


________________________________________________________________________________________________



ⵒⵓ結語
ここまでの開発内容をipynb形式で弊サイトにバックアップしておきます。
ご興味のある方はどうぞ。(閲覧・改変ご自由に)

entity存在論に関しては、このまま既存言語で十分に構成できそうです。ので、このまま進めてゆきます。
現在、rubyメタプログラミングに入門中です。が、当分はpythonで続けるはずです。
次回の進捗は3ヶ月以内に上げられたらいいな......(遠い目)

*1:execのスコープが面倒なため。参考:Qiita記事

能動進化論/activEvolutionism | Æ素描

要項:Æ

生物学の文脈において、自然環境に適応した/できた個体/種が通時的に生存/存続/残存[する | して子孫を残す]ことは"自然選択selection"と呼ばれ、同祖/同一系統内における、[周縁[に棲息する]生物種の変化を含む]自然環境の変遷への対応・生存に関する最適化については"進化"と呼ばれる。個体自身は変異transmutationの機会をただ自然から享けるのみであるという受動性からこれを「受動進化」と呼ぶとき、個体自身が意志や信念によって身体/素体へ変異の機会を与える「能動進化Æ」を措定することができる。

 

 

前提:人為technologicalと自然naturalは対立しない

一般的な語用において、"人為"は"自然"の対立概念である。しかしながらヒトも生物も一種であり自然の一部だとすれば、この対立は解消される。この文脈において「人為」とは、自然界の任意の物質材料について工学的な操作を加えた結果、対象の構造的な複雑性が比較的に高くなったこと(エントロピーが小さくなったこと)を指すに過ぎない。ここでは、工業廃水による水質汚染排気ガスによる大気汚染は何も不自然なことではない。ヒト/人間は自然の一部であり、[人為 | 人間の営為]はすべて自然の営為に還元される(人為∈自然の営為)。人間の為すこと一切はnaturalである。

*巷間で"環境破壊"と言うときの"環境"は、ヒトが棲息していないような地球環境を指しており、実際に即さない。

 

 

端緒:一般的に"進化"と呼ばれる「受動進化」との対比

進化論は"淘汰論"とも呼ばれる。これは英語で言うところのselectionの感覚に近い。種の時間スケイルにおいて、自然環境では、[適応できない個体/種がひたすら屠られ | 屠られなかった個体/種だけが残存し]ている。[共時的な | ある時点での]生態系の内訳を出したとき、ここにリストされる種は自然界から[選ばれている | 生存を許されている]ように見えるのである。これが[延々続く | {実態には即さない表現だが}寸断的な選択が繰り返される]ことで、特定の時代での生存が地質学的な調査によって確認されたものどうしを繫げて得られるマップが生物学者の手にもたらされる。{地質学的な調査から知りうるかぎりの}生物進化の系譜、これを扱うものが進化論/淘汰論である。

 

本論は、語彙のうえで対立するはずの「退化」という語と、上の文脈における「進化」という語が何ら対立していないことに着目する。というのは、例えばABCと進化してきた生物種について、現種-Cの原種-Bへの変異を確認し、さらに個体数のうえでも-Bへの変異種が支配的になった場合でも、「生物退化した」という表現を用いるのは適切ではないことによる。

*あるいはまた、哺乳類の一種であるコウモリは、原種が視力を有していたのに対して現種がこれをもたないために「目が退化した」という表現が用いられることがあるが、これは語彙上の謬りである。単に「衰えた」と言うのが正しい。

 

 

手段:身体改造BodyModificationおよび...

能動進化においては、個体自身が進化の機会を握る。いまや、個体は自らの意志/信念によって変異transmutationすることが可能である。これは{{薬物投与や輻射線曝露などによって制馭しうる}伝統的な突然変異に則る}新たな遺伝形質の獲得であってもいいし、{工学的に}異物exogenonを自身の肉体に埋め込むembed/植え込むimplantことで新たな表現型を獲得してもよい{し、本質的に言って、肉体形質のみに拘る必要もない}。1つだけ言っておくべきことは、発生から何ら工学的/機械的な改造を施されていない素体blankが基準として想定/措定できなければ、進化も退化もないということだ。

*現状では、単に「ホモ・サピエンス」と指せばそれが素体として認められるだろう。

 

 

恵与:Æは何をもたらすのか?

例えば、Æは以下の2つのような身体改造を素体にもたらす。

  • 最適化された生存:内臓萎縮手術(OAS: Organ Atrophy Surgery)によれば、消化器系を切除することで、無駄の多い摂食行為を抛棄することができる。
  • (半)永久的な生存:生存することが解だとした場合、自然環境への完全な適応は永遠の生存を指す。

なりゆきとして、個体らがもつ「人間」という一枚岩の観念は瓦解し、ホモ・サピエンスは分化の一途を辿る。「私は人間だ」と宣言して生きている個体はそう多くなく、「あなたは人間だ」という他称を鵜呑みにしている個体がほとんどである。この先入観を崩すことはそう苦でもない。脳・四肢・臓器・皮膚・etc.それらの形状や質感のうえでの共通性を取り払われれば、残る砦は言語伝達だけだ。その地平では、「お前は人間だ」「お前は人間ではない」「そもそも人間とは何か、誰も定義することはできない」「私は人間ではない、クィアqueerだ」等々、個体のすべてを人間として回収しようとするイデオローグとまったく対等に、その回収に反発するイデオローグがFlatnessにおいて展開する。他称や習慣による隷属から解き放たれ、個体自身のもつ無数の自称の対立、すなわち闘争の自然状態がここに顕現することになる。

*これは、加速論の文脈において"Cathedral"や"Human Security System"と呼ばれるところの、あらゆる個体を圏-人類の成員として束ねている観念的な従属装置の破砕を意味する。

 

 

 

2019/02/20/22:28 最終更新