2015/08/17(月)心理学検定 勉強2日目

本日は4.6の「ステレオタイプ」から4.15の「感情の理論」までを『心理学辞典』を読みながらキーワードを暗記カード化していきました。

「内集団バイアス」「傍観者効果」「自尊心脅威モデル」「ゲイン-ロス効果」「条件即応モデル」「世論形成の公共化モデル」「単純接触効果」あたりは人生で役立ちそうだと感じました。

内定先企業以上にいい(目的をよく達成)できる企業なんてないだろうと思っていますが、一呼吸おいて「内集団バイアス」の影響がないか考えてみるのもいいかもしれません。「ゲイン-ロス効果」はツンデレをよく説明していて面白い。

人助けをしたい場合は、周りが要援助者を知らんぷりでも、「傍観者効果」を疑ってかからねばならないのだと思いました。(実際にそのような場面に遭遇したらかなりの勇気が必要そうですが。)

明日からは修論の準備なので、心理学検定の勉強は数日お休みです。

2015/08/15(土)心理学検定 勉強1日目

自分が心理学を学ぶ目的。

  • 自分を苦しめ続けているものの正体を知りたい。
  • Serial experiments lain(PSのゲーム)をより楽しみたい。
  • 入社したら若者が楽しめるものを業務で創らねばならない。(楽しめるものを創るには心理学の知識があるほうがいいだろう。)
  • できれば若者の心を満たすものを創りたい。 → 心が満ちている状態とは? → 心理学を学ばないと分からなそう。

他にも、騙されれにくくなるという利点もありますし、流行るか流行らないか分からない最新のIT技術よりもよっぽど長い期間役に立ってくれるのではないかと思って心理学を学ぶ所存であります。

本当は心理学検定2級を狙いたかったのですが、修論発表の3日後が試験でそれどころではないため、「社会・感情・性格」の1科目に集中することにしました。

予め読んでおいた本は「感情心理学・入門 (有斐閣アルマ)」「図説社会心理学入門」「図説 心理学入門」「主要5因子性格検査ハンドブック―性格測定の基礎から主要5因子の世界へ」「心理学マニュアル 質問紙法」「性格心理学への招待―自分を知り他者を理解するために (新心理学ライブラリ)」の6冊。その内、「心理学マニュアル 質問紙法」と「性格心理学への招待―自分を知り他者を理解するために (新心理学ライブラリ)」は必要なところのみ読んで、統計学力は統計検定2級を辛うじて合格したレベルで、論文はビッグ・ファイブの日本人向けの質問紙に関する論文をいくつか読んだというのが心理学検定勉強開始前の自分のレベルです。

心理学検定に備えて買った本は以下の3冊。(去年ぐらいから受けたいと思っていたので公式問題集は1年古いです。)

心理学検定 基本キーワード 改訂版
心理学検定 基本キーワード 改訂版

心理学検定 公式問題集 2014年度
心理学検定 公式問題集 2014年度

心理学辞典
心理学辞典

今は基本キーワード本に出てくる太い文字のキーワードを、分かりにくければを心理学辞典で参照しつつ、暗記カード化している状態です。基本キーワード本の p.125「精緻化見込みモデルによれば、前者は説得の中心ルートであり(以下略)」などは意味不明なので、心理学辞典は買う価値ありました。(心理学辞典には精緻化見込みモデルの図があって、中心ルートと周辺ルートが何を指すか分かります。)基本キーワード本は読点の使い方もいまいちです。

今日はキーワード本の4.5の「帰属過程」まで進めました。「譲歩的要請法」で「先っちょだけだから…」を連想してしまった自分が嫌だ…。人生で活かせそうなのは「社会的促進」「初頭効果」「自己説得」「スリーパー効果」。スリーパー効果の説明は心理学辞典のほうで詳細に説明されていて、それによると、低信頼性の送り手の場合と違って、高信頼性の送り手の説得は時間とともに効果が減少してしまうそうな。

2015/01/18(日)Python勉強メモ#5「homura と madoka で形態素の頻度を数えよ」

あらかじめ「pip」とかで「homura」と「madoka」を入れておきましょう。

まずはダウンローダーの「homura」で形態素解析済みの青空文庫のデータをダウンロード。

my-mbp% ipython
Python 3.4.2 (default, Jan 12 2015, 11:46:28) 
Type "copyright", "credits" or "license" for more information.

IPython 2.3.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from homura import download

In [2]: download('http://aozora-word.hahasoha.net/utf8/newnew.csv.gz')
   100%    615.8 MiB      11.1 MiB/s            0:00:00 ETA

適当に解凍したら「madoka」(Pythonの辞書より省メモリかもしれないデータ構造を提供するライブラリ)で形態素をカウントです。(Madokaの詳細: http://s-yata.github.io/madoka/index.ja.html

#!/usr/bin/env python

import madoka

sketch = madoka.Sketch()

with open('newnew.csv', 'r') as f:
    for line in f:
        morpheme = line.split(',')[3]
        sketch[morpheme] += 1
        print(morpheme)

print(sketch['人'])
print(sketch['面倒'])
print(sketch['蕩尽'])

出力された頻度(推定値)は以下のようになりました。

1418808
57427
1910

実際の頻度は以下の通り。

#!/usr/bin/env python

from collections import Counter

cnt_of = Counter()

with open('newnew.csv', 'r') as f:
    for line in f:
        morpheme = line.split(',')[3]
        cnt_of[morpheme] += 1
        print(morpheme)

print(cnt_of['人'])
print(cnt_of['面倒'])
print(cnt_of['蕩尽'])
217837
1738
23

2015/01/16(金)Python勉強メモ#4「ベンチマークをとれ」

PyPIにある「Benchmarker」を利用。コードはひらがなリストを作る処理です。リスト内包表記が最速でした。

#!/usr/bin/env python

from benchmarker import Benchmarker

with Benchmarker(1000*100, width=20) as bench:
    code_point = range(0x3040, 0x30A0)

    @bench('1')
    def _(bm):
        for i in bm:
            moji_list = []
            for cp in code_point: moji_list.append( chr(cp) )

    @bench('2')
    def _bm(bm):
        for i in bm:
            moji_list = [ chr(cp) for cp in code_point ]

    @bench('3')
    def _bm(bm):
        for i in bm:
            moji_list = list(chr(cp) for cp in code_point)
## benchmarker:         release 4.0.1 (for python)
## python version:      3.4.2
## python compiler:     GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)
## python platform:     Darwin-14.0.0-x86_64-i386-64bit
## python executable:   /Users/username/.anyenv/envs/pyenv/versions/3.4.2/bin/python
## cpu model:           Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz 
## parameters:          loop=100000, cycle=1, extra=0

##                        real    (total    = user    + sys)
1                       3.1367    3.0500    3.0200    0.0300
2                       2.4863    2.4300    2.4200    0.0100
3                       2.8027    2.7300    2.7100    0.0200

## Ranking                real
2                       2.4863  (100.0) ********************
3                       2.8027  ( 88.7) ******************
1                       3.1367  ( 79.3) ****************

## Matrix                 real    [01]    [02]    [03]
[01] 2                  2.4863   100.0   112.7   126.2
[02] 3                  2.8027    88.7   100.0   111.9
[03] 1                  3.1367    79.3    89.3   100.0

2015/01/15(木)Python勉強メモ#3「Unicodeブロック:Hiragana のコードポイントとその文字の順序付き辞書を作り、すべて出力せよ」

ワイの書いたコード↓

#!/usr/bin/env python

from collections import OrderedDict

code_point_list = range(0x3040, 0x30A0)
chara_list      = [ chr(code_point) for code_point in code_point_list ]

moji_dict = OrderedDict(); # 登録順序を記憶
moji_dict.update([ tuple([ code_point, chara ]) for code_point, chara in zip(code_point_list, chara_list) ])
moji_dict.update({ 0x303F: chr(0x3020) }) # 順序が保持されているか確認用

for key, value in moji_dict.items():
    print('U+{0:X} {1}'.format(key, value))
U+3040 ぀
U+3041 ぁ
U+3042 あ
U+3043 ぃ
U+3044 い
U+3045 ぅ
U+3046 う
U+3047 ぇ
U+3048 え
U+3049 ぉ
U+304A お
U+304B か
U+304C が
U+304D き
U+304E ぎ
U+304F く
U+3050 ぐ
U+3051 け
U+3052 げ
U+3053 こ
U+3054 ご
U+3055 さ
U+3056 ざ
U+3057 し
U+3058 じ
U+3059 す
U+305A ず
U+305B せ
U+305C ぜ
U+305D そ
U+305E ぞ
U+305F た
U+3060 だ
U+3061 ち
U+3062 ぢ
U+3063 っ
U+3064 つ
U+3065 づ
U+3066 て
U+3067 で
U+3068 と
U+3069 ど
U+306A な
U+306B に
U+306C ぬ
U+306D ね
U+306E の
U+306F は
U+3070 ば
U+3071 ぱ
U+3072 ひ
U+3073 び
U+3074 ぴ
U+3075 ふ
U+3076 ぶ
U+3077 ぷ
U+3078 へ
U+3079 べ
U+307A ぺ
U+307B ほ
U+307C ぼ
U+307D ぽ
U+307E ま
U+307F み
U+3080 む
U+3081 め
U+3082 も
U+3083 ゃ
U+3084 や
U+3085 ゅ
U+3086 ゆ
U+3087 ょ
U+3088 よ
U+3089 ら
U+308A り
U+308B る
U+308C れ
U+308D ろ
U+308E ゎ
U+308F わ
U+3090 ゐ
U+3091 ゑ
U+3092 を
U+3093 ん
U+3094 ゔ
U+3095 ゕ
U+3096 ゖ
U+3097 ゗
U+3098 ゘
U+3099 ゙
U+309A ゚
U+309B ゛
U+309C ゜
U+309D ゝ
U+309E ゞ
U+309F ゟ
U+303F 〠