やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Rust自習(人称辞典 1)

 まずはDBをつくる。

成果物

クレート作成

cargo new personal_pronoun --bin

DB名の設定

cd personal_pronoun
echo DATABASE_URL=./PersonalPronoun.sqlite3 > .env

DBファイル作成

diesel setup

マイグレーション作成1

diesel migration generate create_FirstPersons

FirstPersonsテーブル生成

up.sql

create table FirstPersons(
    id integer primary key,
    value text not null, -- 代表的な表記
    ruby text,           -- ふりがな、ルビ
    comment text         -- 補足
);
  • 表記ゆれはどうするか? (僕、ぼく、ボクなど)
  • ルビは漢字のみ? 全文?

FirstPersonsテーブル削除

down.sql

drop table FirstPersons;

マイグレーション実行

diesel migration run

ロールバック方法

diesel migration redo

データCSV用意

 主にwikipediaを参考にしてテキストエディタの置換やLibreOffice Calcを使って整形した。

FirstPersons.tsv

1 私 わたし   公的表現
2   私 わたくし    公的表現
3   自分  じぶん   私的表現
4   僕 ぼく  私的表現
5   俺 おれ  私的表現
6   俺様  おれさま    私的表現
7   儂 わし  私的表現
8   私 わし  私的表現
9   あたし   あたし   私的表現
10  あたくし    あたくし    私的表現
11  あたい   あたい   私的表現
12  わて  わて  私的表現,方言
13  わい  わい  私的表現,方言
14  うち  うち  私的表現
15  己等  おいら   私的表現
16  俺ら  おら  私的表現
17  おい  おい  私的表現
18  おいどん    おいどん    私的表現
19  うら  うら  私的表現
20  わ わ 私的表現
21  わー  わー  私的表現
22  ぼくちゃん ぼくちゃん 私的表現
23  ぼくちん    ぼくちん    私的表現
24  おれっち    おれっち    私的表現
25  おれぁ   おれぁ   私的表現
26  おりゃあ    おりゃあ    私的表現
27  ぼかぁ   ぼかぁ   私的表現
28  わたしゃ    わたしゃ    私的表現
29  あたしゃ    あたしゃ    私的表現
30  わしゃあ    わしゃあ    私的表現
31  おらぁ   おらぁ   私的表現
32  ミー  みー  私的表現
33  ぽっくん    ぽっくん    私的表現
34  あーし   あーし   私的表現
35  あてくし    あてくし    私的表現
36  あちし   あちし   私的表現
37  わだす   わだす   私的表現,田舎
38  あだす   あだす   私的表現,田舎
39  わす  わす  私的表現,田舎
40  俺様ちゃん おれさまちゃん   私的表現
41  僕様ちゃん ぼくさまちゃん   私的表現
42  うちっち    うちっち    私的表現
43  (自分の名前)   (自分の名前)   私的表現
44  オジサン    おじさん    私的表現
45  ヴァターシ ゔぁたーし 私的表現
46  我輩  わがはい    古風
47  吾輩  わがはい    古風
48  我が輩   わがはい    古風
49  吾が輩   わがはい    古風
50  某 それがし    古風
51  朕 チン  古風
52  麻呂  まろ  古風
53  麿 まろ  古風
54  あ あ 古風
55  我 われ  古風
56  吾 わ 古風
57  余 よ 古風
58  予 よ 古風
59  小生  しょうせい 古風
60  吾人  ごじん   古風
61  愚生  ぐせい   古風
62  非才  ひさい   古風
63  不才  ふさい   古風
64  不佞  ふねい   古風
65  あっし   あっし   古風
66  あちき   あちき   古風
67  わちき   わちき   古風
68  わちき   わちき   古風
69  妾 わらわ   古風
70  拙者  せっしゃ    古風
71  身ども   みども   古風
72  僕 やつがれ    古風
73  手前  てまえ   古風
74  此方  こなた   古風
75  此方人等    こちとら    古風
76  私め  わたしめ    古風
77  私め  わたくしめ 古風
78  当方  とうほう    ビジネス文書
79  本官  ほんかん    職業
80  小官  しょうかん 職業
81  本職  ほんしょく 職業
82  小職  しょうしょく  職業
83  当職  というしょく  職業
84  弊職  へいしょく 職業
85  愚僧  ぐそう   職業
86  拙僧  せっそう    職業
87  愚禿  ぐとく   職業
88  当社  とうしゃ    団体・組織
89  弊社  へいしゃ    団体・組織
90  当行  とうこう    団体・組織
91  弊行  へいこう    団体・組織
92  当法人   とうほうじん  団体・組織
93  弊法人   へいほうじん  団体・組織
94  当組合   とうくみあい  団体・組織
95  弊組合   へいくみあい  団体・組織
96  当院  とういん    団体・組織
97  弊院  へいいん    団体・組織
98  当校  とうこう    団体・組織
99  弊校  へいこう    団体・組織
100 当局  とうきょく 無線
101 こちら   こちら   無線
102 〜達  たち  一人称複数代名詞
103 〜共  ども  一人称複数代名詞
104 〜等  ら 一人称複数代名詞
105 我々  われわれ    一人称複数代名詞
106 父さん   とうさん    地位・立場,親族呼称
107 母さん   かあさん    地位・立場,親族呼称
108 姉さん   ねえさん    地位・立場,親族呼称
109 兄さん   にいさん    地位・立場,親族呼称
110 爺さん   じいさん    地位・立場,親族呼称
111 婆さん   ばあさん    地位・立場,親族呼称
112 叔父さん    おじさん    地位・立場,親族呼称
113 叔母さん    おばさん    地位・立場,親族呼称
114 爺 じじい   地位・立場,親族呼称
115 婆 ばば  地位・立場,親族呼称
116 じーじ   じーじ   地位・立場,親族呼称
117 ばーば   ばーば   地位・立場,親族呼称
118 パパ  ぱぱ  地位・立場,親族呼称
119 ママ  まま  地位・立場,親族呼称
120 作者  さくしゃ    地位・立場
121 先生  せんせい    地位・立場
122 編集子   へんしゅうし  地位・立場
123 筆者  ひっしゃ    地位・立場

マイグレーション作成2

diesel migration generate insert_FirstPersons

CSV→INSERT文

 以下Webツールを借りた。感謝。

 先頭に以下を追加して生成。

 c   c   c
id  value   ruby    comment

INSERT文

INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (1,'','わたし','公的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (2,'','わたくし','公的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (3,'自分','じぶん','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (4,'','ぼく','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (5,'','おれ','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (6,'俺様','おれさま','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (7,'','わし','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (8,'','わし','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (9,'あたし','あたし','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (10,'あたくし','あたくし','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (11,'あたい','あたい','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (12,'わて','わて','私的表現,方言');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (13,'わい','わい','私的表現,方言');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (14,'うち','うち','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (15,'己等','おいら','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (16,'俺ら','おら','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (17,'おい','おい','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (18,'おいどん','おいどん','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (19,'うら','うら','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (20,'','','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (21,'わー','わー','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (22,'ぼくちゃん','ぼくちゃん','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (23,'ぼくちん','ぼくちん','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (24,'おれっち','おれっち','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (25,'おれぁ','おれぁ','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (26,'おりゃあ','おりゃあ','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (27,'ぼかぁ','ぼかぁ','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (28,'わたしゃ','わたしゃ','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (29,'あたしゃ','あたしゃ','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (30,'わしゃあ','わしゃあ','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (31,'おらぁ','おらぁ','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (32,'ミー','みー','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (33,'ぽっくん','ぽっくん','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (34,'あーし','あーし','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (35,'あてくし','あてくし','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (36,'あちし','あちし','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (37,'わだす','わだす','私的表現,田舎');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (38,'あだす','あだす','私的表現,田舎');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (39,'わす','わす','私的表現,田舎');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (40,'俺様ちゃん','おれさまちゃん','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (41,'僕様ちゃん','ぼくさまちゃん','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (42,'うちっち','うちっち','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (43,'(自分の名前)','(自分の名前)','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (44,'オジサン','おじさん','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (45,'ヴァターシ','ゔぁたーし','私的表現');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (46,'我輩','わがはい','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (47,'吾輩','わがはい','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (48,'我が輩','わがはい','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (49,'吾が輩','わがはい','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (50,'','それがし','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (51,'','チン','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (52,'麻呂','まろ','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (53,'麿','まろ','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (54,'','','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (55,'','われ','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (56,'','','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (57,'','','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (58,'','','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (59,'小生','しょうせい','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (60,'吾人','ごじん','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (61,'愚生','ぐせい','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (62,'非才','ひさい','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (63,'不才','ふさい','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (64,'不佞','ふねい','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (65,'あっし','あっし','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (66,'あちき','あちき','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (67,'わちき','わちき','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (68,'わちき','わちき','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (69,'','わらわ','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (70,'拙者','せっしゃ','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (71,'身ども','みども','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (72,'','やつがれ','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (73,'手前','てまえ','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (74,'此方','こなた','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (75,'此方人等','こちとら','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (76,'私め','わたしめ','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (77,'私め','わたくしめ','古風');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (78,'当方','とうほう','ビジネス文書');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (79,'本官','ほんかん','職業');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (80,'小官','しょうかん','職業');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (81,'本職','ほんしょく','職業');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (82,'小職','しょうしょく','職業');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (83,'当職','というしょく','職業');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (84,'弊職','へいしょく','職業');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (85,'愚僧','ぐそう','職業');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (86,'拙僧','せっそう','職業');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (87,'愚禿','ぐとく','職業');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (88,'当社','とうしゃ','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (89,'弊社','へいしゃ','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (90,'当行','とうこう','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (91,'弊行','へいこう','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (92,'当法人','とうほうじん','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (93,'弊法人','へいほうじん','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (94,'当組合','とうくみあい','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (95,'弊組合','へいくみあい','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (96,'当院','とういん','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (97,'弊院','へいいん','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (98,'当校','とうこう','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (99,'弊校','へいこう','団体・組織');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (100,'当局','とうきょく','無線');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (101,'こちら','こちら','無線');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (102,'〜達','たち','一人称複数代名詞');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (103,'〜共','ども','一人称複数代名詞');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (104,'〜等','','一人称複数代名詞');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (105,'我々','われわれ','一人称複数代名詞');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (106,'父さん','とうさん','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (107,'母さん','かあさん','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (108,'姉さん','ねえさん','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (109,'兄さん','にいさん','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (110,'爺さん','じいさん','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (111,'婆さん','ばあさん','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (112,'叔父さん','おじさん','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (113,'叔母さん','おばさん','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (114,'','じじい','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (115,'','ばば','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (116,'じーじ','じーじ','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (117,'ばーば','ばーば','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (118,'パパ','ぱぱ','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (119,'ママ','まま','地位・立場,親族呼称');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (120,'作者','さくしゃ','地位・立場');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (121,'先生','せんせい','地位・立場');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (122,'編集子','へんしゅうし','地位・立場');
INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (123,'筆者','ひっしゃ','地位・立場');

データ挿入

 上記INSERT文をすべてコピペする。

up.sql

INSERT INTO FirstPersons (id,value,ruby,comment) VALUES (1,'','わたし','公的表現');
...

TSVデータ削除

down.sql

delete from FirstPersons where id < 124;

マイグレーション実行2

diesel migration run

 DBを確認する。

$ sqlite3 /tmp/work/Rust.Diesel.PersonalPronoun.20190731072900/src/0/personal_pronoun/PersonalPronoun.sqlite3
SQLite version 3.22.0 2018-01-22 18:45:57
Enter ".help" for usage hints.
sqlite> select * from sqlite_master;
...
table|FirstPersons|FirstPersons|4|CREATE TABLE FirstPersons(
    id integer primary key,
    value text not null, -- 代表的な表記
    ruby text,           -- ふりがな、ルビ
    comment text         -- 補足
)
sqlite> select * from FirstPersons;
1|私|わたし|公的表現
...

schema.rs

 以下のように自動生成されている。

table! {
    FirstPersons (id) {
        id -> Nullable<Integer>,
        value -> Text,
        ruby -> Nullable<Text>,
        comment -> Nullable<Text>,
    }
}

失敗ログ

失敗

 TSVファイルを.importコマンドで取り込もうとしたがダメだった。dieselフレームワークではSQL文しか使えないっぽい。そしてTSVファイルを取り込むSQL構文はSQLite3にはない。

TSVデータ挿入

up.sql

.separator "\t"
.import ./FirstPersons.tsv FirstPersons

TSVデータ削除

down.sql

delete from FirstPersons where id < 124;

マイグレーション実行2

diesel migration run

 以下エラーになった……。

Failed with: near ".": syntax error

 おそらく.importのようなコマンドは使えない。SQL文でなければ。つまり、INSERT文に変換する必要がある。面倒くせぇ……。

 以下のようにコマンド実行できれば取り込めると思うのだが、dieselマイグレーションBashスクリプトを実行する方法がわからない。そもそもできるのか?

sqlite3 DBFilePath < up.sql
sqlite3 -separator "\t" DBFilePath ".import ./FirstPersons.tsv FirstPersons"

データベースの問題

データベースの問題

網羅

 以下は網羅できていない。

 全パターンの網羅も難しいが、表記ゆれをどう正規化するかも曖昧で難しい。たとえば親族呼称について、「お父さん」「父上」「お父様」「パパ」など数多くのパターンがある。そもそも、それらを一人称代名詞として網羅することは適切なのか疑問。仮に網羅するとして、それらはどう正規化すべきか。「父」という一つのくくりにして表記ゆれとすべきか、それとも個別の表記にすべきか。

 そもそも親族呼称は一人称にも二人称にも三人称にもなりうる。そう考えれば「親族呼称」という別のテーブルにすべきかもしれない。

正規化

  • 表記とルビ
    • 表記がひらがなのときルビはどうする?(NULLは使わないとして、空文字? それとも同値?)
    • 表記がカタカナのときルビはどうする?(ひらがなで振る? それとも空文字? 多分ひらがなとカタカナは相互変換できるので空文字?)
    • 表記が漢字とひらがなのときルビはどうする?(漢字部分のみ? 全文?)
  • 表記ゆれ
    • どれを同じとみなすか

 以下のようなパターンも存在する。

  • 表記が同じだがルビが違う(例: 私(わたし、わたくし))
  • ルビが同じだが表記が違う(例: よ(余、予))
  • 敬称の有無や種類が違う(例: 俺、俺様)
  • 訛(例: おれら、おいら、おら、おれぁ、おりゃぁ、おれたち、おれっち)

認知

 そもそも、単数形だったり複数形だったり、果ては二人称になったりするものまである。果たして単純に「一人称代名詞」として分類できるのか。それすら怪しい。「自分」の認知は時代などによって変化するものにも思える。

  • 単数形/複数形
    • おれら(おら)
      • 自分たち
        • おそらく個人でなく共同体をひとつの単位としている。群れとして生活していればそれが自然な認知の仕方なのだろう。個性化の進む現代には合わないかもしれないが。
  • 自分/相手
    • 考えてみれば「自分」の境界線は曖昧である。自分は自分以外のものでできている。よって仲間と自分を同化したり、相手を指すとき「自分」と呼ぶことが起こっても不思議ではない。たまたま現代の風潮は個人主義に傾いているが、時代によって変化する程度の曖昧なものなのだろう

 そもそも何事も「分類」するには特有の観点に縛られる。だがそれが絶対の物理法則でもないかぎり、明確に分類できるものではない。用途すらちゃんと考えていないので当然の結果。

結論

 適当に分類するしかない。もしかしたら言語学者ならもっと明快に体系化した分類ができるのかもしれないが。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux

前回まで