---
# System prepended metadata

title: TODO

---

# TODO

- [x] ディベートとディスカッションのロジック選定
- [x] 人間関係の選定
    - 相性
    - 主従関係
- [ ] リレーションを考慮した場合としてない場合での評価を分ける
# 進捗

グルーピングの属性

- A：リーダー力
    - 全体方針・計画に基づき進捗をチェックし、メンバーに作業を指示できるような能力。
- B:実務力
    - 専門的な個別タスクを、もっぱら一人で専従担当できるような能力。
- C：管理能力
    - 打合せなどで、メンバー間の意見を調整してグループ活動が円滑に進むように采配をふるえるような能力。
- Ｄ：時刻調整力
    - 全体の進捗と作業時間をチェックしながら作業を進めていくことができる能力。
- Ｅ：記録管理力
    - 作業の記録や全体の進捗の記録などをパソコンや紙を用いて常にチェックすることができる能力。

能力以外の個人の課題に影響しうる属性

- F：適応性
    - その場で足りないと思われる役割に適応してチームにいち早く貢献する能力。（この値は結構重要かも）
- G:課題の専門性
    - 取り組む課題に対してどれだけ精通しているか

# 進捗(2020-12-19)
グルーピングの目的を３〜４個作成していきたい

- ディべート
チーム内の２つの勢力のパワーバランスを合わせる、勢力を賛成派、反対派で分ける(G の値を賛成値とする)
- ディスカッション
なるべく近い意見を持つもの同士をグループを組ませる（G の値を課題の賛成値とする）
- 個人のバリューを発揮できるグルーピング

12月中に GA は必ず動かせるようにする

評価関数について何を重視していくかを確認していく

# 評価のまとめ
- グループの人数について
    - A~E について基本 A に近いほど不可欠な役割であるため、人数が5人以下の場合は A に近い役割から誰かが担う
    - 6人以上の場合は優先的に A~E の役割に対してグループとしての機能を優先するため、先に誰かが担う、それ以外のものは汎用的な補佐をする役割を担うと考え、特に役割を担う上で特に適応力のある人、そして全体的な能力と専門性が高い人ほどよりその役割を遂行できると考えられるため、A~E の 平均値に\(1+F/100\)倍 , \(1+G/150\)倍の結果を及ぼす（G が 100 ではない理由: 役割もこなせるのに G の値が高い人があえて役割を与えられない可能性を減らすため）
- A~E の誰が担うかについて
    - A~E はチームで最も優れた人が選出されると考えられる。(例: 一番リーダーシップを発揮できる人が自然とチームの中でリーダーになると考えられる)
    - どの役割をこなすためにも専門性は大きく関係していると考えられる。（例えばリーダーシップをいくら発揮できるとはいえその分野に対してあまりにも無知である場合、あまり役割を遂行できないのではないか）A~E の値に対して G の値が\(1+G/100\)倍の乗算で評価に関係する
    - 役割を担う上で特に適応力のある人、そして全体的な能力と専門性が高い人ほどよりその役割を遂行できると考えられるため、A~E の 平均値に\(1+F/100\)倍 , \(1+G/150\)倍の結果を及ぼす（G が 100 ではない理由: 役割もこなせるのに G の値が高い人があえて役割を与えられない可能性を減らすため）
# 進捗(2020/11/28)
- [x] A~G の名称を統一する
- [x] oneMax 問題が大体わかったため、ロジックを組んでいく
- [x] グループの人数によってどのように評価をするか考える
# 進捗(2020/11/19)
与えたデータセットに対してグルーピングのロジックを検討
PULP による制約条件と目的変数を定めた最適化を実行しようとした。
目的変数が変動する値であり、PULP は線形計画法を用いているため、最適値を見つけることができなかった。
次にナップザック問題
動的計画法で回答、python にて動的計画法配列を用意してデータを記録していった。最終的に最も数値が高かったものが回答
ナップザックのように漸化的に数値が変化していくものに対しては有効だが、今回のように組み合わせによる最適化には利用できないと感じた。
やはり、遺伝的アルゴリズム(GA) で解決していき、最適な回答により近づくための工夫をするのが一番良いと感じた。（近似値）
GA について、まだ python にてどのようにデータ処理をしていきばいいか全くわかっていないため、例題を見ながら学習している途中。

# 進捗(2020/11/11)

## グルーピングの目的
すべての人を含む全てのグループにおいて最大の利益、生産性を発揮すること
そのために A~E の役割の貢献度を合計した総合を用いる

## グルーピングの制約について
A~E はそれぞれの値の最も数値の高い人がやる

# 進捗(2020/11/05)
グルーピングの目的を意識する
# 進捗(2020/11/03)
リレーションのないグルーピングをする上で must 事項と select 事項に分ける
## must 事項
- グルーピングをする上で男性性と女性性はバランスよく組むのが良いとされている。(https://note.com/k_kana/n/n9ac05acd03c3)
- A~E はチームで最も優れた人が選出されると考えられる。(一番リーダーシップを発揮できる人が自然とチームの中でリーダーになると考えられる)
- 基本的にグループワークをする上で自分があまり望む形で貢献できないとパフォーマンスが落ちると考えられる（リーダーとしてチームを引っ張っていくつもりだった人が他の人にリーダーを取られた場合、モチベーションが低下するなど）
- F の値は、適応力が高い人はすぐに自分の役割をみつけられるため、その個人の最も高い属性以外を担当することになった場合の調整を図る
- G の値は、どの役割についたとしても関連して相乗的な効果を示すと考えられるため、最終値に乗算

## select 事項
- G の値（専門にする課題によってことなるので）

また、発言タイプによって今後の属性値に変化を与えていくのも良いと思った。

発言タイプ
- Ｏ：検証家
    - 客観的事実・情報の把握に関する発言。
- Ｐ：:直感派
    - 主観・感情などに基づく直感発想的発言。
- Ｑ：批評家
    - 厳しい意見や指摘を含む発言。
- Ｒ：オプティミスト
    - 前向きな意見や提案を含む発言。
- Ｓ：発想家
    - 新しい発想や視点に基づく発言。
- Ｔ：オーガナイザー
    - 議論全体を俯瞰し統合整理する発言。
# 進捗(2020/10/31)MTG
- [x] python neo4j のリターン値の分解方法を調べる
- [ ] リターン値を分解したら値を見てグルーピングするロジックを考える

グルーピングの属性
- A： リーダー
    - 全体方針・計画に基づき進捗をチェックし、メンバーに作業を指示できるような能力。
- B: 実務エキスパート
    - 専門的な個別タスクを、もっぱら一人で専従担当できるような能力。
- C： 調整役
    - 打合せなどで、メンバー間の意見を調整してグループ活動が円滑に進むように采配をふるえるような能力。
- Ｄ：タイムキーパー
    - 全体の進捗と作業時間をチェックしながら作業を進めていくことができる能力。
- Ｅ：書紀
    - 作業の記録や全体の進捗の記録などをパソコンや紙を用いて常にチェックすることができる能力。
- F：適応力
    - その場で足りないと思われる役割に適応してチームにいち早く貢献する能力。（この値は結構重要かも）
- G:課題の専門性
    - 取り組む課題に対してどれだけ精通しているか
    - B との相関があると考えられる（=RAND()*0.1+\[Bのセル\]-5） 

B と G の違いについて、例えば「鳥類の色彩が与える影響についてクラスター特徴量を用いて説明せよ」というような課題があったとすれば、クラスタリングの実技力が B, 鳥類の色彩についての知識が G となる
# 進捗(2020/10/11)MTG
- [x] グラフデータベースの中身を設定する（参考にする）
# 進捗(2020/10/11)MTG
経験則
https://shukatsu-ichiba.com/article/12747
- 書記
- 監視役
- タイムキーパー
- 役割なし（それぞれの役割のサポート役）

neo4j と python の接続(docker-compose)

docker-compose

```
version: '2'
services:
  python:
    build: ./DockerFolder/python
    image: neo4j-docker-python/python
    volumes:
      - ./python_query:/python_query
    tty: true

  neo4j:
    build: ./DockerFolder/neo4j
    image: neo4j-docker-python/neo4j
    ports:
      - "7474:7474"
      - "7687:7687"
    volumes:
      - ${HOME}/Desktop/mv/matsui_lab_git/neo4j-docker/data/testdata:/var/lib/neo4j/import
      - ${HOME}/neo4j/data:/data
    tty: true

```

サービス名 python と、サービス名 neo4j のコンテナの compose
neo4j のコンテナで起動しているグラフデータベースを python 側でキャッチして抽出

`pip install neo4j`

```
from neo4j import GraphDatabase, basic_auth

driver = GraphDatabase.driver("bolt://localhost", auth=basic_auth("neo4j", "neo4j"))
session = driver.session()

result = session.run("MATCH (n) RETURN n")

for record in result:
    print(record)

session.close()
```

接続うまく行かず...
localhost とは、そのコンテナのメイン機のこと
docker-compose では、サービス名が名前解決をしてくれる。 IP アドレスは変動するがサービス名はかわらない。
test.py には、 localhost ではなく、適切な IP アドレスを入力する必要がある。
IP アドレスは、変動するので名前解決をする

neo4j コンテナでの
curl http://localhost:7474
python コンテナからは
curl http://neo4j:7474

```
from neo4j import GraphDatabase, basic_auth

driver = GraphDatabase.driver("bolt://neo4j", auth=basic_auth("neo4j", "aaaaaaaa"))
# driver = GraphDatabase.driver("bolt://localhost", auth=basic_auth("neo4j", "neo4j"))
session = driver.session()

result = session.run("MATCH (n) RETURN n")

for record in result:
    print(record)

session.close()
```

結果
```
<Record n=<Node id=0 labels=frozenset({'Student'}) properties={'A': 53, 'B': 63, 'C': 65, 'gender': 'male', 'D': 63, 'E': 94, 'year': 19, 'F': 42, 'name': 'student1'}>>
<Record n=<Node id=1 labels=frozenset({'Student'}) properties={'A': 13, 'B': 53, 'C': 69, 'gender': 'female', 'D': 24, 'E': 42, 'year': 19, 'F': 19, 'name': 'student2'}>>
<Record n=<Node id=2 labels=frozenset({'Student'}) properties={'A': 40, 'B': 7, 'C': 10, 'gender': 'female', 'D': 82, 'E': 64, 'year': 20, 'F': 86, 'name': 'student3'}>>
<Record n=<Node id=3 labels=frozenset({'Student'}) properties={'A': 51, 'B': 19, 'C': 36, 'gender': 'female', 'D': 75, 'E': 92, 'year': 19, 'F': 92, 'name': 'student4'}>>
<Record n=<Node id=4 labels=frozenset({'Student'}) properties={'A': 73, 'B': 82, 'C': 22, 'gender': 'male', 'D': 29, 'E': 72, 'year': 20, 'F': 74, 'name': 'student5'}>>
<Record n=<Node id=5 labels=frozenset({'Student'}) properties={'A': 98, 'B': 6, 'C': 38, 'gender': 'female', 'D': 10, 'E': 54, 'year': 19, 'F': 96, 'name': 'student6'}>>
<Record n=<Node id=6 labels=frozenset({'Student'}) properties={'A': 12, 'B': 45, 'C': 90, 'gender': 'male', 'D': 78, 'E': 60, 'year': 20, 'F': 60, 'name': 'student7'}>>
<Record n=<Node id=7 labels=frozenset({'Student'}) properties={'A': 2, 'B': 30, 'C': 74, 'gender': 'female', 'D': 20, 'E': 7, 'year': 20, 'F': 73, 'name': 'student8'}>>
<Record n=<Node id=8 labels=frozenset({'Student'}) properties={'A': 16, 'B': 12, 'C': 61, 'gender': 'male', 'D': 60, 'E': 95, 'year': 19, 'F': 61, 'name': 'student9'}>>
<Record n=<Node id=9 labels=frozenset({'Student'}) properties={'A': 88, 'B': 62, 'C': 98, 'gender': 'male', 'D': 75, 'E': 83, 'year': 19, 'F': 18, 'name': 'student10'}>>
```


# 進捗(2020/10/04)MTG
- ポスター発表について相談
- 今後の方針
    - python と neo4j の接続（前のパソコンでうまく行ったのでおそらくすぐに対応可能）
    - 経験則から指標決め

## 経験則から指標決め
グループ活動とグループワークの役割について ──ASE プログラム実践を通して考える──
一 村 小百合*

課題にもよるが

- それぞれの個人に、一歩前進させる意欲や自信を持たせること
- グループのメンバー全員が参加意欲はあるが言いたい放題の状態でもだめ
- 誰かがリーダーシップを発揮して、それにメンバーが同意
- 役割分担が大事
- 人への理解、協調性、リーダーシップが重要

グループワークのゴールを何に設定しているか（課題）
グループワークの課題はどんなものがあるか

評価方法としてソシオン理論が有効かもしれない（ https://slidesplayer.net/slide/11444192/ ）

## 課題
- ポスターの指標について追記できるのならば追記する（slack にて相談しながら）
- パソコンの移行作業
- グループワークの指標に関して「グループ活動とグループワークの役割について」の参考文献など辿れそうだったらたどる
- Neo4j のノードに関して、属性なども改めて考える
- ソシオグラム（ソシオン理論）についてもう少し深堀りする（どのような指標を使っているか）（**なるべく CSCL に近い分野を見つける**）

# 進捗(2020/09/28)
ポスター発表
# 進捗(2020/09/21)
週報にまとめ
# 進捗(2020/09/14)
週報にまとめ
# 進捗(2020/09/07)
ゼミ論を提出して、 python と neo4j の接続にあたる。 docker-compose で作成した neo4j のコンテナから python のコンテナにアクセスすることには成功。（ゼミ論にはまだ書いていない）
`pip install neo4j-driver`

```
from neo4j.v1 import GraphDatabase, basic_auth

# driver = GraphDatabase.driver("neo4j", auth=basic_auth("neo4j", "neo4j"))
driver = GraphDatabase.driver("bolt://localhost", auth=basic_auth("neo4j", "neo4j"))
session = driver.session()

result = session.run("MATCH (n) RETURN n")

for record in result:
    print(record)

session.close()

```

```
Traceback (most recent call last):
  File "test.py", line 1, in <module>
    from neo4j.v1 import GraphDatabase, basic_auth
ModuleNotFoundError: No module named 'neo4j.v1'
```

neo4j.v1 にて存在しないモジュールとしてトレースバック

`pip install neo4j`

v1 を削除
```
from neo4j import GraphDatabase, basic_auth

# driver = GraphDatabase.driver("neo4j", auth=basic_auth("neo4j", "neo4j"))
driver = GraphDatabase.driver("bolt://localhost", auth=basic_auth("neo4j", "neo4j"))
session = driver.session()

result = session.run("MATCH (n) RETURN n")

for record in result:
    print(record)

session.close()

```

```
Traceback (most recent call last):
  File "test.py", line 3, in <module>
    driver = GraphDatabase.driver("neo4j", auth=basic_auth("neo4j", "neo4j"))
  File "/usr/local/lib/python3.8/site-packages/neo4j/__init__.py", line 149, in driver
    driver_type, security_type, parsed = parse_neo4j_uri(uri)
  File "/usr/local/lib/python3.8/site-packages/neo4j/api.py", line 294, in parse_neo4j_uri
    raise ConfigurationError("URI scheme {!r} is not supported. Supported URI schemes are {}. Examples: bolt://host[:port] or neo4j://host[:port][?routing_context]".format(
neo4j.exceptions.ConfigurationError: URI scheme '' is not supported. Supported URI schemes are ['bolt', 'bolt+ssc', 'bolt+s', 'neo4j', 'neo4j+ssc', 'neo4j+s']. Examples: bolt://host[:port] or neo4j://host[:port][?routing_context]
```

# 進捗(2020/08/31)
ゼミ論にまとめる。ゼミ論には、現状達成したところまで記載している。2020/08/20 の時点でまだ完了していなかった dockerfile の compose 化やそれに伴いコンテナ下で行った作業とかはまだ記述できていない。python と neo4j の接続は必ず必要になってくるがなかなか詰まって前に進むことができない。
```docker-compose.yml
version: '2'
services:
  python:
    build: ./DockerFolder/python
    image: neo4j-docker-python/python
    volumes:
      - ./python_query:/python_query
    tty: true

  neo4j:
    build: ./DockerFolder/neo4j
    image: neo4j-docker-python/neo4j
    ports:
      - "7474:7474"
      - "7687:7687"
    volumes:
      - ${HOME}/Desktop/mv/matsui_lab_git/neo4j-docker/data/testdata:/var/lib/neo4j/import
      - ${HOME}/neo4j/data:/data
    tty: true

```
# 進捗(2020/08/20)
グルーピングとして抽出した物を振り分けをするためにはクエリだけでは足りないかも...
python との連携を目指す
参考文献（ https://qiita.com/kenmatsu4/items/f75616461dc5c63ecfe1 ）
`pip3 install neo4jrestclient`
```
mkdir python_query
cd python_query
touch test.py
```
neo4jrestclient を利用して分析をしようとしたところ、うまく行かず...
苦渋の決断でホストマシンでも試したが上手くいかなかったため、 neo4jrestclient と今回使用している neo4j の問題かと思われる。
docker-compose にて複数のマシンを立てることには成功したため, 接続を試みるもポートの関係かそれぞれ独立したマシンを上手くつなげることができない。。。
かなりの時間を費やしたがまだ解決できていない
# 進捗(2020/08/12)
研究の背景として使用するために、社会構成主義について調査。
「構成主義が投げかける新しい教育」
教育改革での総合学習の導入により, 構成主義に基づく教育の重要性がさらに認識されるようになった。
# 進捗(2020/08/05)
## 前回調べておくべきキーワード
### 協調学習
複数の学習者が意見を交換し，協力し合いながら解を導こうとするという学習形態
期待される効果
- 社会的刺激による学習の動機付け
　他者からの社会的刺激（他の学習者の存在を意識した上での反発，同調，あるいは競争心）により，学習の動機となる。
- 学習形態の多様性
　個別学習環境における学習範囲が，自らの能力や与えられた環境に依存するのに対し，協調学習環境は他者の持つ知識を利用することになるので，より広範囲な学習範囲及ぶことになる。
- 社会的相互作用による学習
　他者とのさまざまな議論の展開を経験する過程で，知識の価値，使い方の学習もでき，さらに，討論を通じて理論的思考を深めることもできる。
- 学習者の知識の洗練化
　自己の内部の理解状態を他者への説明の際に外化することにより，それがフィードバックされ，内部の理解状態も強化される。また他者の誤りを診断する過程で，その誤り原因を自己のものとして取り込むことができ，理解を深めることができる。
### 社会的構成主義（ヴィゴツキー）
「学習は個人の活動であり、学習の効果は個人の能力として評価される」
個人が自分のために学んだものは全て個人のスキルアップにつながり評価される
しかし、本主義では個人の営みを個人単位でのスキルアップとして捉えるのではなく、社会全体の営みとして考える立場をとっている
つまり
「学習を含めて、世の中の事物が社会的に構成されている」
ということである。
```
あなたは、学習なしでは生きていけない。
しかし、学習は一人きりでは成立しない。
だから、あなたは一人きりじゃ生きていけない。
```
参考文献（ https://www.jstage.jst.go.jp/article/jasme/2/0/2_KJ00008199194/_pdf ）
### 最近接領域理論(発達の最近接領域)
ヴィゴツキー
発達と教育との関連を考察し、教育は子どもの「現下の発達水準」に基礎をおくのではなく、発達しつつある水準、予測的発達水準に基づいて行われるべきである、とした。この発達しつつある水準、成熟中の段階にあり、次には現下の発達水準に移行すると予想される領域
つまり、学習の過程やその発達に伴う水準をも含めた学習成果の領域

## 研究における Neo4j のテクニックのキャッチアップ
### CONSTRAINT による制約
`CREATE CONSTRAINT ON (user:User) ASSERT user.email IS UNIQUE`
constraint を貼ることで, 一意性を確保
SQL と一緒
インデックスに似ている
上記の例で行くと user.email がユニークにより一意性が確保されている
同じ email を登録しようとするとエラー
# 進捗(2020/07/20)
## 調べておくべきキーワード
- 協調学習
- 社会的構成主義（ヴィゴツキー）
- 最近接領域理論

## メモ
グルーピングの基準を論文ベースではなく、実際の先生基準で調査をしていく方針に決定
どうやってアンケートをとるか
郵送調査, 留置調査, 電話調査, 面接調査
アンケートの人数について
プレ卒論ではデータの雛形ができていると良い（データの抽出を自在にできるレベルにしていきたい）

## アンケートの目的
グルーピングをした後の指標を決めるため

## 欲しい内容(質問内容)
- どういう時にどのような目的でグルーピングをするのか
- グループの構成メンバーはどのような点に注意して決めているか
- グループ活動のグループごとのパフォーマンスはどのように判断しているか

~~グルーピングをする際に生徒の間で教育的に気をつけていること~~
## 対象
少人数の教師の方々もしくは研究をされている方々
## HINT
このような生徒とこのような生徒は組まないほうがいいとかの豆知識も反映させられるといいかも
グルーピングのパフォーマンスは例えば発言量？とか
最近接領域理論: 多少のばらつきの技量を持ったチームが良いのではないか



# 進捗(2020/07/13)
docker ファイルの調整
# 進捗(2020/07/09)
前回の課題
進捗(2020/06/29) 古澤さんMTG
最適人数やグルーピングの正解について, 一般論に加えて先行研究から位置付けできるようにする
学習内容を絞っていく＆背景を絞っていく(これから)
グラフデータベースで実際に生徒のデータを作る
最適人数やグルーピングの正解について, 一般論に加えて先行研究から位置付けできるようにする

グルーピングに正解を決めるのは若干難しいと思われる
グルーピングの人数は割とそれぞれであるし, 一般論もあまり確立したものは得られなかった
グラフデータベースで実際に生徒のデータを作る
Neo4j に student ノードを作る

Neo4j をしばらく触っていなかったため, 必要となる Neo4j の student ノードを作成する
docker 環境を再構築
→なぜかデータのバックアップがうまく行かずデータが保存されなかった

Docker コマンド

以前自作して git  に上げておいたDocker コマンド

docker run --publish=7474:7474 --publish=7687:7687 -v ${HOME}/プロジェクトファイルへのルート/neo4j-docker/data/testdata:/var/lib/neo4j/import

Neo4j のリファレンス

https://neo4j.com/developer/kb/how-do-i-define-my-graphdb-at-a-path-other-than-under-neo4j-home-for-windows/
によると graph.db というファイルが active_databese として, neo4j.conf にて設定されている
docker コンテナ下の ${HOME}/neo4j/neo4j.conf から確認

Neo4j のリファレンス

conf ファイルを確認するため, vim をコンテナにインストール
root@コンテナID/var/lib/neo4j/conf# apt-get update
root@コンテナID:/var/lib/neo4j/conf# apt-get install vim

Neo4j のリファレンス

Doker コマンドを以下のように変更

docker run --publish=7474:7474 --publish=7687:7687 \
 -v ${HOME}/Desktop/mv/matsui_lab_git/neo4j-docker/data/testdata:/var/lib/neo4j/import\
 -v ${HOME}/neo4j/data:/data neo4j_test

Neo4j のリファレンス

生成された neo4j ディレクトリを丸ごとバックアップ
docker のクリエイト時にマウントをとってからコンテナ起動

 

# 進捗(2020/07/08)
Neo4j に student ノードを作って見る。
ノードを作るために Docker 環境をビルド
初期のノード配置のための csv 作成

# 進捗(2020/06/29) 古澤さんMTG
最適人数やグルーピングの正解について, 一般論に加えて先行研究から位置付けできるようにする
学習内容を絞っていく
背景を絞っていく
# 進捗(研究テーマ)
## テーマ
グラフデータベースを用いた協調学習における多角的視点をもつグループの構築支援の検討
## 概要
協調学習(Computer Supported Collaborative Learning)(CSCL)に関する理論・技術・実践に関する研究は多くの知見が蓄積されてきている．そのような中で年オンライン授業等が汎用的な授業形態になりつつあり，CSCLに関する研究，特にグループ形成に関する研究の重要性が再認識されている．従来の CSCL の研究は, CSCL そのものに目を向けた研究が多かったが, 本研究では, CSCL のグループ形成に目を向ける. この場合の協調学習はオンライン授業とリアルな授業（例えば，教室での対授業）をシームレスにつなぐグループワークとなるため，新たなグループ形成の支援手法の開発が重要である．従来は単一の学習環境でのデータに基づいたグループ形成であったが，ここでは複数の学習環境でのデータに基づくため, より高度なコンピュータ支援が必要となる．そこでデータベースをグラフ構造で保存することのできるグラフデータベースを用いた構築支援を考える. 協調学習として与えられる課題と課題に取り組む生徒たちそれぞれのプロパティをデータベースに保存, また生徒たちが課題に取り組んだ際の情報を生徒から課題に対するエッジ, そして実際に組んだグループをノードとして保存することで CSCL に関する情報をグラフデータベースにまとめ、新たな課題に対する望ましいと推測されるグループの構築をグラフデータベース特有のエッジを生かして提案する. 期待される成果として, CSCL の導入に対して勘や直感ではなくデータに基づいたグルーピングを提案することができるようになる.
# 進捗(2020/06/25)
おそらく人間科学部の方？のグルーピングに関する研究 note（ https://note.com/marumi_japan/n/nee42064d1ed6 ） を見つけたため, 読んでみた。
向後先生のインストラクショナルデザイン(ID)がグルーピングに良い関係をもたらしているかも。向後先生の note から 130 ページほどの ID についての教材を入手。
さらっとみたが今回求めているグルーピングとグルーピングに関わる指標の選定に良い情報はなかった。
いくつかの文献をみたところ、文献の内容全てを見ることはできなかったが グルーピングとその生産性についての実験的研究 という文献が気になって読める範囲だけ読んでみた。グルーピングした結果を生産性として算出するのは指標としてはかなりいいのではないかと思った。
グループワークをする上での生産性の計算をするためにより好まれるグループわけについて調べた
```
１グループの適正受講者人数は？
１グループの人数を何名にするべきか？　弊社の答えは４名または５名です。グループディスカッションが多い研修の場合は、人数が少なすぎると、出てくる意見に多様性が欠けます。逆に多すぎると、発言をしない方がどうしても出てきます。よって５名が最適です。一方４名が最適なのは、ロールプレイングなど、ペアワークが多い研修です。この４名、５名の使い分けだけで、多くの研修に対応できますので、大変便利です。

 

グループ編成はミックスがおすすめ
「同じような役職や年齢で固めた方が視点が同じで良い議論ができるのでは？」と考える方もいらっしゃると思います。しかし、結論から言えば、『同じグループになるべく属性の違う方が混在している』のが良いです。その最大の理由は、多様な視点や観点からの意見が出ることによって、議論がより深まるからです。自分とは違う年齢や職種の方々から出る意見に触れることで、日常業務では考えもしなかった『気づき』を得ることができます。

 

聴き上手・話上手まで考慮できると最高
役職や担当業務といった属性情報のほかにもう１点、気にしていただきたいことがあります。それは、受講者が聴き上手か、話し上手かといった点です。当然、バランス良くグループが構成されているのがベストです。しかし、研修担当者と言っても全社員の個性まで把握することは難しいので、あまりにもバランスが悪い場合は、午前と午後でグループをシャッフルすることがおすすめです。「新たな視点を取り入れるために」などと説明し、自然と席替えしてしまうのがコツですね。
```
# 進捗(2020/06/11)
仮テーマ「グラフデータベースを用いた協調学習における多角的視点をもつグループの構築支援の検討」
研究概要
協調学習(Computer Supported Collaborative Learning)(CSCL)は近年オンライン授業等が注目を浴びるにつれて同様に話にのぼるようになってきた。協調学習はグループワークであるため、通常その講義または授業の参加者がランダムにグループ分けをされているがグループの組み方によって協調学習をより効果的な学習方法として活かすことができるのではないかと考えた。そのグループの構築にあたって、データベースをグラフ構造で保存することのできるグラフデータベースを用いた構築支援を考える。協調学習として与えられる課題と課題に取り組む生徒たちそれぞれのプロパティをデータベースに保存、また生徒たちが課題に取り組んだ際の情報を生徒から課題に対するエッジ、そして実際に組んだグループをノードとして保存することで CSCL に関する情報をグラフデータベースにまとめ、新たな課題に対する望ましいと推測されるグループの構築をグラフデータベース特有のエッジを生かして提案する。

グループに対して様々な視点から多角的に捉えた方がいいという仮説も過去データとして格納して見るのもいいか、過去データの蓄積によって最適解を出すようなイメージ

# 進捗(2020/06/04)
CSCL におけるグルーピングを行うためのグラフデータベースを考える。データとして, 多数の生徒のノードと課題のノードを用意して課題に対する生徒のエッジを構築する。集まった多数のプロパティとエッジの情報から「多角的な視点を持つグループ」の生成をロジックとして考える。そのためにどのくらい「多角的視点を持つグループ」かを判断できる指標を考える必要がある。その点を踏まえて文献を読む。

本日のキーワード
・協調学習
・社会的構成主義（ヴィゴツキー）
・最近接領域理論

# 進捗(2020/06/02)
テーマ
「CSCLを行う上での問題課題に対して多方面からの視点で考えることのできるグループ」の作成を目指したい
テーマ「グラフデータベースを用いた CSCL における◯◯◯◯のグルーピング支援の検討」

- 多様性
- 複合的
- 多角的
- 多角的視点を持つグループ
- ヘテロジニアス x ホモジニアス
- 異種混在環境

テーマ「グラフデータベースを用いた CSCL における多角的視点をもつグループの構築支援の検討」
テーマ「**グラフデータベースを用いた協調学習における多角的視点をもつグループの構築支援の検討**」
CSCLにおける多面的視点を有するグループの構成支援

# 進捗(2020/05/25)
グラフデータベースをメインにするか, 課題（CSCL)をメインにするか
グラフデータベースをメインにする場合
グラフデータベースには可視化できたりエッジに着目したりできる。こんな課題がある。実際にグラフデータベースを活用して見た。上手くできた。
課題をメインにする場合
こんな課題がある、それに対してグラフデータベースを使う、可視化できたりエッジに着目できたりして良い、実際にグルーピングして見た。上手くできた。
課題をメインにした方が研究らしい
仮テーマ「グラフデータベースの CSCL におけるグルーピングの検討」
仮テーマ「教育的分野における関係性に着目したグルーピングの検討」
**仮テーマ「CSCL におけるグラフデータベースを用いたグルーピングの検討」**
仮テーマ「CSCL における関係性に着目したグルーピングの検討」
CSCL(https://fukutake.iii.u-tokyo.ac.jp/archives/beat/seminar/012.html)の問題点について調べる。

# 進捗(2020/05/14)
CSCL コンピュータを介した強調学習について調査
メリットと捉えられている点
問題を一つ捉えても個人単位で見たらあまり問題ではないことなど、強調学習をすることでより俯瞰的に問題を捉えることができる。（強調学習のメリット）
頭の中にある概念を記号として外化するのに都合がよい。また、外化したものの理解もより早くなると考えられる。（コンピュータを使用するメリット）
 グルーピングに関する考察は調べた限りではあまりなかった。ただ、CSCL のメリットの一つとして **問題を一つ捉えても個人単位で見たらあまり問題ではないことなど、強調学習をすることでより俯瞰的に問題を捉えることができる** というのがあるので問題に対して様々な視点から人選してグループを組むと良い結果が出るのではないかという仮説が考えられる。
 
# 進捗(2020/05/07 発表)
eラーニングの強調学習(computer supported collaborative learning)cscl について, 研究等調べておく

# 進捗(2020/05/07)
研究調査と深い目標設定を決めるために論文「学級編成替えが児童の学級適応感に及ぼす影響に関する研究」（http://repository.hyogo-u.ac.jp/dspace/bitstream/10132/3353/1/AN1007009802203.pdf）
を読んだ。兵庫教育大学の西村らによるもの

簡潔にまとめるとこうである。

問題
児童の問題行動や不適切行動は個人またはその過程に原因が帰属されがちであるが児童自身の要因と環境要因の相互作用ではないかという視点もある。環境による受動的な順応だけでなく個人の側からも積極的に環境を探索し，情報を収集し，環境についての自己の世界を構築，構造化していくものである。

目的
学級編成替えが行われた学級の児童が新たな環境へ適応していく過程を学級適応感と学級雰囲気の認知，および友人関係を関連づけながら検討していくこと

方法
調査対象者
T市内公立小学校5年生（調査時期2回目以降は6年生）
83名の児童
要因計画
3 (調査時期)×3 (社会測定的地位水準) の2要因混合計画
質問紙
質問紙は，学級適応感尺度 (渡邊,2006)，心理的距離
地図（PDM; 古川他，1983)，学級雰囲気尺度（根本,1983）

結果
学級適応感尺度
α係数は，「教師との関係」.88，「集団
での規律・役割」.72，「級友との関係」.77，「学習にお
ける積極性」.84
学級雰囲気尺度
SDを整理しての2要因分散分析

社会測定的地位指数の高い児童が，良好な友人関係を築き，安定した友人感情を持つという結果
児童の学級適応感において時期的変動が見られなかったことから，児童にとって学級編成替えは危機的な環境移行と認知されていない

６年時のクラス替えはあまり学生への影響や意識がなかった。すでに同じクラスになったことのある児童がまた次同じクラスになる可能性があること、あまり環境の変化がないからではないか。

# 進捗(2020/04/30)
作成すべきエッジについて考える
親密度, 兄弟, 
生徒ノード間のエッジについてはあまりおおく記述できないかも
住みについては, 地区のノードを作って含めることができるかも(A地区{←Aさん, ←Bさん, ←Cさん}, B地区{}...)

# 進捗報告(2020/04/27)
古澤さんとの MTG
生徒間のグルーピングを一旦目標にして、研究調査と深い目標設定を決めていくのが良いか。
５月中に目標設定をする、６月中にデータを作るか
５月なかばにいくつか論文を読んでおく（データを決めていくために）

# 進捗(2020/04/23)
来週を目処に古澤さんとの MTG をセッティング
先週の松居先生との個別面談にて扱うデータのノード今回の場合, 生徒について属性を具体的に考える。
生徒の属性としてまず教師が持ち得ていそうなデータを想定する。
年齢(age), 性別(gender), 身長(height), 体重(weight), 学力(study_ranking), 家庭環境(home_environment),
部活動(club), 運動能力（sports_ability）, ケータイ所有の有無(having_phone)

家庭環境は, 子供に与える影響が大きい
運動能力は, スポーツ等においてのチームバランスに
ケータイの有無については SNS において参加しているか
がわかるため含めたい
運動能力は体力測定テスト？などを適当に指標を決めるのが良いか

思いつくものはなるべくたくさん追加していきたい
しかし、教師が客観的にわかる情報のみ

# 進捗報告(2020/04/15)
発話量などをデータの重みに入れる
グルーピングの際に役立てないだろうか。（発話量が多い人は話を進めてくれるためリーダーシップをとりそうみたいな）

# 進捗報告(2020/03/29)
Slack にてやるべきことを古澤さんにご指摘いただいたのでこちらに掲載

修正優先度) 内容　の順番で記載
- [x] (低) 基本的な分量とかは大丈夫だと思います。細かいところは僕が前に添削した内容を見ながら修正してください
- [x] (高) 背景にデータベースの設計だけでなく、分析する旨も記載してください

- [x] (中) できれば教育データにすることが決まったので、教育データでどのような問題があり、どのような目標を掲げているのかとかを書くと尚良いです
section{本研究で利用するデータ} にて記載しました
- [x] (高) 図が、「図5.4: 図6 統計局主要家系指標」みたいになっているので、「図5.4　統計局主要家系指標」にしてください。
- [x] (低) サイト等を引用する場合は、閲覧日時を掲載してください

- [x] (高) 期待される成果と課題にも教育文脈の内容を記載してください
- [x] (高) 「本研究の課題」では、まだ現状固まっていないのだったら、わかっている範囲でやろうとしている内容を描いてください。
今後の調査や研究でやろうとしていることを記載しました
- [x] (高) 参考文献ですが、「[岡本 2018] [1] …」のようになっているので、論文の体裁的に「[1] …」にしてください。([岡本 2018]の部分を消す)

# 進捗報告(2020/03/12)
方向性としては, 教育的の観点で主に生徒たちの情報からテーブルデータ（エクセル上で管理出来るデータ）と**グラフデータ**（友人関係とか, その他関係性のあるデータ）を利用してグルーピングに役立てることが出来るかどうかの研究を進めていきたい
テーブルデータでのクラス分けとかは、おそらく現状でも行われている？と思われる。（学力や運動能力が均等になるようにクラス分けを行うなど）
それに加えて, グラフデータを考慮することでどのように良いと思われる影響を与えることができるか
## 進捗状況
前回より、データを選定するにあたって教育分野に目を向けた。教育分野において、関係性を記述することでどのような効果をもたらせるかを自分なりに考えた
## わからないこと ・ 問題点
特になし、明日の個別MTGで洗い出し
## 今後の方針
明日（2020/03/13）の個別面談に向けて研究内容をまとめる。

# 進捗報告(2020/02/26)

## 進捗状況
グラフ構造のデータを生かした研究か or オントロジーの研究でグラフデータベースを利用するか
**グラフ構造のデータを生かした研究をしたい**
オントロジー研究は独特な記述等をしなければいけないため、少々方向性が違うかも
グラフ構造のデータを生かした研究に注力
データを探すうえで人ではなく, 商品（もの）に注目してもいいかも
**SNS での人間関係, 人と人とのつながりの重みなどをグラフデータベースの構造を生かして研究していきたい**
現実のデータを調査などを含めてデータを構築していく。現実データを元に多少自身で足りない部分を補ってもよい
どのようなデータがあれば、研究を進められるかを考える
**SNSでいうと、どのようなサービスに対してグラフデータベースを使えばどのようなメリットがあるのかを先に考える**
そのためのデータを仮想で作成するのがよい
e-learning でのオンライン上でグルーピングをする際に教育コミュニティの推奨に使えないかどうか
**社会的な文脈を意識したテーマにすると面白いかもしれない**

## わからないこと ・ 問題点
ゼミ論の書き進め方

## 今後の方針
- テーマの選定をする
    - グラフ構造のデータを生かした研究をしたい
    - SNS での人間関係, 人と人とのつながりの重みなどをグラフデータベースの構造を生かして研究していきたい
    - SNSでいうと、どのようなサービスに対してグラフデータベースを使えばどのようなメリットがあるのかを先に考える
    - 社会的な文脈を意識したテーマも少し考えてみる
- ゼミ論を書き進める
    - ex: 目的, 背景, グラフデータベースの利用方法技術的な章, 自身の研究の背景, 自身の研究に必要なデータセットの定義, 研究の内容
    - **やったことを全部書く**
    - 3月中にどのようなデータが必要なのかをはっきりさせる（研究対象と研究の中身を考える）, ４月からデータを作成する。
    - 語彙の定義をはっきりさせる。基準は自分の論文で使っているワード。


# 進捗報告(2020/02/13)

## 進捗状況
総務省統計局, 国立情報学研究所などのデータは統計的なものが多く、グラフデータベースで管理すべきデータではないと考えられる
→データの関係性を表すデータではないため
グラフデータベースは統計的なデータではなく、複雑で一つ一つのいわゆる個人的なデータに近いデータを格納するのに優れているため、なかなかオープンのデータとして取得するのが難しいと思われる
そのため、自分で模擬的なデータを作成して進めるのが一番現実的ではないかと考えた
もしくは被験者を募って web アンケート等でデータを収集

## わからないこと ・ 問題点
- 模擬データを使うとしたら研究の成果としてどのような着地が望ましいか（模擬的なデータだと現実のデータと違い、仮説を立てにくい）
    疑似データは自身で背景を作っていくことができる（理想的なデータを作成できる）
    目的を持って疑似データを作成することができる
    クエリ実行速度の差などで条件を揃えることができる
    *分析方法がわからない*
    
- これらの調べた過程などどのようにゼミ論に書いていくのが良いか
    松居研の卒論の立ち位置として後世にのこしていくようなイメージ（やってみたことを全部書いてみる）

## 今後の方針
グラフデータベースでデータとして作成することに注力
人間関係のようなグラフ構造の情報をどのように処理しているかを調べる
**グラフ構造のデータを活かした研究を調べてみる**
**オントロジーの研究を少しみてみる**(wiki からオントロジーを作るなど)

1. オントロジーの作成に振り切る（web のデータからオントロジーを作成する）
2. 普通のグラフデータを分析する

# 進捗報告(2020/02/09)
2/13 に延期

## 進捗状況
総務省統計局, 国立情報学研究所などのデータを実際に見てみる
データの特徴を確認
- 前回の調べたワード
    - 人間関係ネットワーク
        話した通り、グラフデータベースで管理するのにふさわしいデータであった
    - ソシオグラム
        ソシオグラム（人間関係などを図式化したもの）をデータとしてコンピュータに読み込ませることができるのがグラフデータベース
        図でしか作成できなかったソシオグラムをシステム的にグラフデータベースで作成することができればよりコンピュータと人間の感覚的な距離が縮まったと言えそう

## わからないこと ・ 問題点

## 今後の方針


# 進捗報告(2020/01/18)

## 進捗状況
初回なので研究の大まかな方針案を記載
- 現行とグラフデータベースの違いをみいだす
- ノードを人間や出来事で置く
- 仮想のデータ（ソシオグラム）を作成してみる
- 公的データを使用する（人間関係に限らず）
- 時事ネタが扱えるデータをしようする（総務省統計局, 国立情報学研究所などから）
- 企業間の関係などを見てみてもいいかも
- **予測モデルの作成(グラフデータベースのリレーションを予測)**
- グループ形成をシステム化

## わからないこと ・ 問題点
- 実データがとりにくい（人間関係ネットワーク）
- テストデータを用いた際に研究の結果をどう持っていくかがイメージがつかない

## 今後の方針
- リレーションを含むデータのエクスポート
- いろんなデータでたくさん動かしてみる
- 実データの収集
- データの選定
- **１月中にどのようなデータを使うか、また使えそうかの構想をする**
    ### 検索すべきワード
      - 人間関係ネットワーク
      - ソシオグラム