2014年4月30日水曜日

WindowsVista eqlipseへのpython開発環境構築

研究室のノートPCのHDD空き容量が心元なかったので、あらかじめ入っていたEqulipseに
python環境を構築することにしました。

windows eclipseでpython環境

(1) pythonのインストール
http://www.python.jp/Zope/download/pythoncore
から好きなものをダウンロードしてインストール
※Windows用インストーラ python-3.3.0.msi を使用しました。
プログラムファイル -> python.exeでコマンドラインプロンプトを起動できればOK
(2) eclipseインストール
  適宜好きなバージョンをインストールしてください。
  今回は元々入っていたEqulipseを使用するので割愛
  Eclipse SDK Version: 3.7.2です。
(3) PyDevのインストール
ヘルプ→ソフトウェア更新
サイトの追加で・・・「http://pydev.org/updates 」を追加します。
表示した画面で、次の手順を行います。
①「作業対象」に「http://pydev.org/updates」を入力してEnterを押す。
②「PyDev」「Pydev Mylyn統合(オプション)」が表示するので、両方にチェ ックを入れる。
③「次へ」を選択する。
(4) 初期設定
①Eclipseのメニューより、「ウィンドウ」→「設定」を選択します。
②設定画面が表示するので、「python(左側のチョボ)」→「インタープリンター-Python」→「新規」を選択 します。
③以下、(1)でインストールしたpythonの名前と、実行可能ファイルのパスを指定します。
僕の場合は以下のように入力
インタープリター名:python 3.3.0
実行可能ファイル:C:\Python33\python.exe
④OKをクリック
(4) djangoのインストール(pythonフレームワーク)
http://www.djangoproject.com/download/
からダウンロードしてインストール
②tar.gzを展開し、コマンドプロンプトを開き、そのディレクトリに移動(dirやcdで)
③C:\Python33\python.exe setup.py install を実行してインストール
※pythonは(1)でインストールした実行可能ファイルのパスを指定
(5) pathの設定
Windowsキー+Pauseを同時押しでシステムウィンドウを開く

システムの詳細設定をクリック

詳細設定タブで環境設定ボタンをクリック

下の枠内のシステム環境変数で”Path”という変数をクリック

編集ボタンを押して
C:\Python33\;C:\Python33\Scripts\;
を追加

Windows7 VirtualBox,Ubuntu導入、画面解像度、学内プロキシ設定

とりあえず研究室のPCに仮想マシンを立ててUbuntu導入(以下参照)

http://www.ubuntulinux.jp/download/ja-remix-vhd

そしていつもこの後なにかしらトラブるんですが、今回は以下で詰まった

☆画面解像度が小さい☆
初期で画面解像度が2種類しかなく、VirtualBoxのウィンドウを大きくしてもUbuntuの画面は小さいまま。
ググってみると以下の記事が。

http://blogs.yahoo.co.jp/destrade_39/22859830.html

この記事のvboxadditionsのディスク導入まではやったけれど、

☆apt-getでソフトウェアソースへ接続できない☆ことに気づく。
ググるとソフトウェアソースを変えるとうまくいくらしいのだが、どのソースでも繋がらない。

よって、そもそもネットワーク接続ができていないのではと思い、
よくよく考えたらプロキシ設定ができていなかった 笑
学内ネット○ね。

Ubuntuでのkuins.netへの接続の方法は以下の通り

システム設定→ネットワーク設定→ネットワークプロキシ
メソッドを手動、
HTTPプロキシにproxy.kuins.net、ポート番号8080
システム全体に適用するをクリック。

これでOKのはず。

ちなみにfirefoxは

編集→設定→詳細→接続設定
手動でプロキシを設定する、HTTPプロキシにproxy.kuins.net、ポート番号8080
OKをクリック

ネットワーク設定はOKのはず。

apt-getも繋がった。

んで、そもそもの画面解像度はOS再起動するとふつうに大きくなった。
マジ謎。

財閥について

就職活動もひと段落し、財閥について調べてみたくなった。
軽くまとめてみる。
この企業ってこの系列だったんだ!みたいな発見が結構ある
GHQの指定した15大財閥と、現在の関連企業。
  • 三菱財閥(創業者: 岩崎弥太郎)―日本最強の財閥。組織の三菱、独裁政治。ちなみに三菱鉛筆は三菱系じゃない。
三菱グループ御三家
三菱商事、三菱重工業、三菱東京UFJ銀行
三菱地所、三菱化学、三菱倉庫、三菱総合研究所、三菱自動車工業、旭硝子等
  • 住友財閥(創業者: 住友政友)―世界最古の財閥。平家がルーツ。三井との合併会社も多い。結集の住友。
旧住友御三家
三井住友銀行、新日鐵住金、住友化学
新住友御三家
住友商事、住友電気工業、NEC
ヤマハ、住友3M、住友化学、住友林業、SCSK等
  • 三井財閥(創業者: 三井高利)―三井越後屋がルーツ。人の三井、番頭政治。
三井御三家
三井住友銀行・三井物産・三井不動産
SMBC系、NTT系、ソニー、IHI、サッポロビール、トヨタ自動車、東芝、パナソニック、三越伊勢丹
  • 安田財閥(創業者: 安田善次郎)
みずほ銀行、安田不動産、東京海上日動火災保険、ヒューリック等
以上が4大財閥。
  • 鮎川財閥(創業者: 鮎川義介)―日産コンツェルンとも呼ばれる。日産、日立グループ等
日立製作所、JXグループ、損保ジャパン、日産自動車等
  • 浅野財閥(創業者: 浅野総一郎)
JFEエンジニアリング、太平洋セメント、東亜建設工業等
  • 古河財閥(創業者: 古河市兵衛)―あの有名な足尾銅山の成功で大きくなる。
富士通、古川機械金属、古河電気工業、朝日生命保険、横浜ゴム等
  • 大倉財閥(創業者: 大倉喜八郎)
大成建設、帝国ホテル、リーガル、ニッピ
  • 中島財閥(創業者: 中島知久平)―中島飛行機から。ほどんど残ってない。
スバル(富士重工業)、THKリズム、マキタ等
  • 野村財閥(創業者: 野村徳七)
野村證券、野村貿易、野村総合研究所、りそな銀行、大阪ガス、朝日火災海上保険
以上が10大財閥。
渋沢財閥(創業者: 渋沢栄一)
神戸川崎財閥(創業者: 川崎正蔵)
理研コンツェルン(創業者: 大河内正敏)
日窒コンツェルン(創業者: 野口遵)
日曹コンツェルン(創業者: 中野友禮)
を足して15大財閥

LAILAHP

大分前の制作物。飲食店のHP。
なかなかひどい。

足跡で繋がるコミュニケーションサービス「Footplink」

ハッカソンでの制作物。
kinectで取得した遠隔地の人の位置をプロジェクタで足跡として投影するアプリケーション。
「なんとなく繋がっている」感覚を与え、安心感を生むのが狙い。
詳細は以下スライドにて。


入力側インストーラ:KinectInputClient_v1.0.0.msi
※KinectSDKのインストールが別途必要
出力側インストーラ:Footplink_Output_v1.0.0.msi
※Python,Djangoのインストールが別途必要

マイナー飲料を試してみた

ビブレのビブレキッチンの品揃えに感動したので、
マイナー飲料としての有名どころ(?)を飲んでみました。
試したのは以下の4種類。
A&Wルートビアー
A&Wクリームソーダ
INCAコーラ
ドクターペッパー
A&Wルートビアー
ゲロマズ。もう本当に恐ろしいほどゲロマズ。人間の飲み物じゃない。
味はサロンパス。サロンパスソーダ。飲んだ瞬間リバース。
A&Wクリームソーダ
ゲロウマ。うますぎて写真撮る前に飲み干してしまった。
色は茶褐色の透明だけど、味はクリームソーダ。あまーいクリームの炭酸。
INCAコーラ
これまたうまい。どうやらペルー人は毎日のようにこれをジャブジャブ飲んでいるらしい。
味はコーラというよりも、ドデカミンとかのエネルギー炭酸飲料の味。
ドクターペッパー
某アニメの影響で最早マイナー飲料でもなくなってきたドクペさん。
杏仁豆腐コーラ味。安定。

Processingによるカクテルの味と人気の可視化

概要
代表的なカクテルのwebサイト(カクテルタイプ:http://www.cocktailtype.com/) での閲覧数の視覚化、
およびそれぞれのカクテルの味の視覚化
コード
import de.bezier.data.sql.*;
import controlP5.*;
MySQL mysql;
MySQL mysql2;
ControlP5 cp5;
String[] name = new String[100];
int[] id = new int[100];
int[] strength = new int[100];
int[] briskness = new int[100];
int[] sweetness = new int[100];
int[] rank = new int[100];
int[] refer = new int[100];
int i = 0;
int maxi = 0;
int clickid = 0;
void setup(){
size(700,600);
mysql = new MySQL(this,"localhost","cocktail","root","");
if(mysql.connect()){
mysql.query("select * from cocktail_table");
while(mysql.next()){
name[i] = mysql.getString("name");
id[i] = mysql.getInt("id");
strength[i] = mysql.getInt("strength");
briskness[i] = mysql.getInt("briskness");
sweetness[i] = mysql.getInt("sweetness");
println(name[i] + " " + id[i] + " " + rank[i] + " " + strength[i] + " " + briskness[i] + " " + sweetness[i]);
i = i + 1;
}
maxi = i;
mysql2 = new MySQL(this,"localhost","cocktail","root","");
mysql2.connect();
for(int u = 0;u < maxi;u++){
println("select * from ranking_table where name = \"" + name[u] + "\" ");
mysql2.query("select * from ranking_table where name = \"" + name[u] + "\" ");
mysql2.next();
rank[u] = mysql2.getInt("rank");
refer[u] = mysql2.getInt("refer");
println(name[u] + " " + rank[u] + " " + refer[u]);
}
cp5 = new ControlP5(this);
cp5.addButton("ALL")
.setId(0)
.setPosition(600,10)
.setSize(100,25);
for(int j = 0;j < maxi;j++){
cp5.addButton(name[j])
.setId(j+1)
.setPosition(600,j*20+35)
.setSize(100,20);
}
}
}
void draw(){
background(0, 0, 0);
fill(0,0,0);
stroke(255,255,255);
triangle(250,100,50,450,450,450);
fill(255,255,255);
text("strength",250,80);
text("briskness",400,475);
text("sweetness",0,475);
//(250,100 250,450) -> 250,333
fill(0,0,0);
ellipse(250,333,5,5);
if(clickid == 0){
for(int k = 0; k < (maxi); k++){
int st = strength[k];
int br = briskness[k];
int sw = sweetness[k];
int upx = 250;
int upy = 333+(100-333)*st/3;
int rightx = 250+(450-250)*br/3;
int righty = 333+(450-333)*br/3;
int leftx = 250+(50-250)*sw/3;
int lefty = 333+(450-333)*sw/3;
int centerx = upx+ ((leftx+(rightx-leftx)/2)-upx)*2/3;
int centery = upy+ ((lefty+(righty-lefty)/2-upy))*2/3;
int pointx = 255+(centerx-255)*2;
int pointy = 333+(centery-333)*2;
//fill(255,0,0);
//ellipse(centerx,centery,10,10);
fill(0,0,0);
if(refer[k] != 0){
ellipse(pointx,pointy,refer[k]/300,refer[k]/300);
}else{
ellipse(pointx,pointy,10,10);
}
//text(name[k],centerx,centery);
}
}else{
int k = clickid-1;
int st = strength[k];
int br = briskness[k];
int sw = sweetness[k];
int upx = 250;
int upy = 333+(100-333)*st/3;
int rightx = 250+(450-250)*br/3;
int righty = 333+(450-333)*br/3;
int leftx = 250+(50-250)*sw/3;
int lefty = 333+(450-333)*sw/3;
stroke(71,234,126);
fill(71,234,126);
triangle(upx,upy,leftx,lefty,rightx,righty);
int centerx = upx+ ((leftx+(rightx-leftx)/2)-upx)*2/3;
int centery = upy+ ((lefty+(righty-lefty)/2-upy))*2/3;
int pointx = 255+(centerx-255)*2;
int pointy = 333+(centery-333)*2;
//fill(255,0,0);
//ellipse(centerx,centery,10,10);
stroke(255,0,55);
fill(255,0,55);
if(refer[k] != 0){
ellipse(pointx,pointy,refer[k]/300,refer[k]/300);
}else{
ellipse(pointx,pointy,10,10);
}
}
}
void controlEvent(ControlEvent theEvent){
clickid = theEvent.controller().id();
}
データベース(MySQL)
cocktail_table
カクテルごとの味(Strength,briskness,sweetness)の値とid,nameからなる。
全25データ
元データはShotbarLAILA(http://laila.daa.jp)のmenuより。
ranking_table
Webサイト「カクテルタイプ」のカクテルページに対する閲覧数。
スクリーンショット
図1:ALL表示
2:カクテル別表示
 
画面解説
左 メイン表示画面
右 UIボタン(ALL ,それぞれのカクテル名)
操作と挙動
ALL(図1)
カクテルの味の特徴─Strength(アルコールの強さ),Briskness(爽やかさ),Sweetness(甘さ)の値によって形成される三角形の重心※─を座標とし、カクテルのwebサイトにおける閲覧数を直径とする円を全てのカクテルについて表示する。
それぞれのカクテル名(2)
そのカクテルの味─Strength(アルコールの強さ),Briskness(爽やかさ),Sweetness(甘さ)の値によって形成される三角形─と、味の特徴─三角形の重心─を表示する。
工夫点
全てのカクテルに対する四つのパラメータ(Strength,Briskness,Sweetness,閲覧数)を1画面で俯瞰できるように可視化方法を工夫した。味の特徴として、三角形の重心を利用することでパっと見て分かりやすくデータの閲覧ができるようにした。
単純に三角形の重心を表示するだけではベースの三角形の中心部分に必然的に集約されてしまい、差異がわかりにくいので、座標を分散させるため、ベースの三角形の重心を原点として、味の重心の位置ベクトルを定数倍している。
また、味の特徴と同時に閲覧数を円の大きさとして表示することで、どういった味の特徴をもつカクテルが人気であるか一目で分かるようにした。(図1から、味のバランスが良い物が比較的閲覧数が多いことが分かる)
また、デザインに関して、見た目の美しさにこだわった。
今回のデータがカクテルであることから、
ALL(図1)では白いラインの円を用いて炭酸の泡を表現し、
それぞれのカクテルの個別表示では、味の三角形でカクテルグラス、特徴の円でマラスキーノ・チェリーを表現し、全体でカクテルを表現している

音声入力を用いたカクテル自動注文システムの作成

バーの注文は複雑で、カクテルの数も多い。
また、雰囲気を壊すため、パッドによる注文は違和感を感じることが考えられる。
そのため、現在居酒屋で導入されているような注文の自動化は簡単にはできない。
従ってWebページからのデータベース作成を行い、音声認識システム「Julius」を用いた自動注文システムの作成を行った。
システム用途
音声入力
注文
例:「~を下さい」「~を一つ」
質問
例:「~って何ですか」
  「~ベースは何がありますか」
会計
例:「お会計で」
  「チェックをお願いします」
バーテンダー側
 注文→カクテル情報の提示
 レシピを忘れても大丈夫
 レシピを調べる手間が省ける
注文→伝票の自動計算/会計→伝票の表示
 伝票を付けていなくても良い
お客様側
注文→カクテル情報の表示
 操作なしでカクテルの詳細な情報が見られる
質問→カクテルリストの表示
 リストを見ながら注文ができる
注文→伝票の自動計算/会計→伝票の表示
 伝票のチェックが可能
システム詳細
検索可能なカクテルの数 427
学習テキスト 16730
単語数 606単語
システム構成
MCL.py
50音順のカクテル一覧 ─wikipedia
wgethtmlファイルとしてリンクの深さ1階層までをあらかじめ取得しておく。
MCL.pyはこの50音順のカクテル一覧htmlファイルからカクテルの名前,それぞれのカクテルの説明ページURL,カクテルベースを文字列処理により取得し、「学習テキスト(train.txt)」と「データベース」を自動作成する。
作成するデータベースは一行を「カクテル名->URL->ベース\n」とするテキストファイル。
作成する学習テキストの文の種類は以下の通り。
注文
”カクテルの名前”。
”カクテルの名前”をください。
”カクテルの名前”をいただけますか。
”カクテルの名前”を”個数”つ。
”カクテルの名前”を”個数”つください。
”カクテルの名前”を”個数”ついただけますか。
”カクテルの名前”を”個数”個。
”カクテルの名前”を”個数”個ください。
”カクテルの名前”を”個数”個いただけますか。
質問
”カクテルの名前”って何ですか。
”カクテルの名前”ってどんなのですか。
”カクテルの名前”ってどんなの。
”カクテルの名前”って何が入ってますか。
”カクテルの名前”って何なの。
”カクテルの名前”ってどんな味ですか。
”ベース名”で何か作れる。
”ベース名”で何か作れますか。
”ベース名”で何か。
”ベース名”ベースで何がありますか。
”ベース名”ベースで何か。
”ベース名”ベース。
”ベース名”ベースで何か作れますか
会計
チェックをお願いします。
チェックお願いします。
チェックで。
お会計お願いします。
お会計で。
言語モデル・発音辞書作成
茶釜によるテキストの形態素解析を行う
txt2dat.sh train.txt
語彙ファイルを作る
text2wfreq < train.dat > train.wf
wfreq2vocab -gt 0 < train.wf > train.vocab
テキストの語順をひっくりかえす
reverse.pl < train.dat > train.rev.dat
順向き2-gram
text2idngram -vocab train.vocab -n 2 < train.dat > train.id2gram
idngram2lm -vocab train.vocab -idngram train.id2gram -n 2 -cutoffs 0 -arpa train.bi.arpa
逆向き3-gram
text2idngram -vocab train.vocab -n 3 < train.rev.dat > train.rev.id3gram
idngram2lm -vocab train.vocab -idngram train.rev.id3gram -n 3 -cutoffs 0 0 -arpa train.rev.arpa
辞書ファイルを作る
vocab2htkdic.pl -u keitaiso -k -o train.dic -e train.dicerr train.vocab
cat sp.dic train.dic > train.htkdic
Julius用に2つのARPAファイルをまとめてバイナリ化する
mkbingram -nlr train.bi.arpa -nrl train.rev.arpa train.bingram
Controller.py
Juliusを外部プロセスで実行
(julius -C ../dictation-kit-v4.1/fast.jconf -d train.bingram -v train.htkdic -silhead '#0' -siltail '#1' -charconv EUC-JP UTF-8)し、その出力文を入力として、入力の種類に応じたタスクを実行する。
  • 注文・カクテルに対する質問
    カクテル名でデータベースを検索し、対応するURLを取得、URLからhtmlファイルをブラウザに出力する。
    注文の場合は注文されたカクテルの単価*個数を合計金額にプラスし、「注文したカクテル名 個数 単価」の文字列を伝票テキストファイルに書き込む
  • ベースでの検索
    ベース名でデータベースを検索し、対応するそれぞれのカクテル名とURLを取得し、
    それぞれのカクテル名に対応するURLへのリンクを張った
    <a href="URL">カクテル名</a><br>
    をファイルに書き込み、htmlファイルを自動作成し、そのベースのカクテルのリストとしてブラウザに出力する。
  • 会計
    伝票テキストファイルに合計金額を書き込み、伝票テキストファイルをブラウザに出力する。

データベース
MCL.py
Controller.py
※ 言語モデル・発音辞書作成には諸々のツールのインストールが必要です

怒り顔優位効果についての論文まとめ及び分析

怒り顔優位効果
 Hansen[1]によれば,表情探索課題において怒り表情がその他の表情(福,無表情)よりも迅速かつ適切に探索される.この現象を怒り顔優位性効果(Anger Superiority Effect)と呼ぶ.
 しかし,種々の論文に見られるような怒り顔優位性効果が本当に見られるのか疑問を持った.
 なぜなら,一般的な表情において,無表情と怒り顔の画像的差異よりも,無表情と幸福顔の差異の方が大きいと考えたためである.また,怒り顔優位性効果の要因として挙げられる,脅威刺激の注意捕捉説の観点からすれば,無表情を怒り顔ないしはマイナス的,脅威的な感情であると認識するケースもあるだろうと考え,これにより怒り顔優位性効果が薄れるだろうと考えた.
 従ってこれらの観点から論文を調査した.
 Becker[2],怒り優位性を報告している研究の多くで用いられている模式的表情の知覚特徴が優位性の要因である可能性を指摘している.これはつまり,無表情と幸福顔の差異よりも,無表情と怒り顔の画像的差異の方が大きい表情を用いているから,怒り顔の知覚が優位的に働き,探索時間が短くなっているとしているのである.
 また,衣笠ら[3]の実験によると,表情探索課題を行った結果,情動妨害の場合は怒り目標と幸福目標の探索に有意差が見られず,さらに無表情妨害の場合は幸福目標の方が怒り目標より迅速に探索された.
 また,幸福妨害よりも怒り妨害の中から無表情目標の探索する場合の反応時間が長くなった.
 衣笠ら[3]の実験の内容は以下の通りである.
実験内容
実験参加者 学生36名,年齢1824歳 (平均 21.8)
刺激 7種類の顔表情 (幸福,怒り,悲しみ,恐怖,嫌悪,驚き,無表情)を撮影した.この顔刺激に基づき二冊の質問紙を作成し(冊子AB),冊子Aは大学生 68名,B64名に評定させた.用意した顔刺激全てに対して,7カテゴリ(幸福,怒り,悲しみ,恐怖,嫌悪,驚き,無表情)から強制選択させ,さらに選択したカテゴリの強度を5段階で評定させた.その結果,本実験で使用する怒り,幸福,無表情の3表情についていずれもカテゴリ一致率が50%以上で,強度の評定平均2.5以上の5(女性3名,男性2)顔写真を刺激として採用した.
顔写真刺激は顔の外的特徴の効果を除去するために顔のみを楕円形にくりぬき,観察距離40cmのとき視1.8×1.4°となるようサイズを統一した.また,5× 5cmの仮想正方形内に中心からの距離が一定になるように配置した.刺激には目標刺激(怒り,幸福,無表情妨害刺激 (怒り,幸福,無表情)9種類があり,全て20回ずつランダムに呈示した.一度に呈示する刺激として実験1では同一人物,実験2では複数人物の写真を使用した.
手続き 詳細は以下のFigure1による.刺激画面は4つの表情写真からなる.実験参加者には呈示される顔写真が全て同じ表情であるか,1つだけ異なる表情を含んでいるか,をキー (Z」あるいは「/)を押し分けることで判断させた.
反応に使用するキーは参加者間でカウンターバランスをとった.実験12共に前半54試行,中盤63試行,終63試行の3ブロック計180試行からなり,そのうち目標ありの試行は120試行,目標なしの試行は60試行であった.全ての参加者が両実験を行なった.なお,本試行前に10試行の練習試行を設けた.
 衣笠ら[3],無表情妨害の場合は幸福目標の方が怒り目標より迅速に探索された結果の要因として,怒り表情と無表情を見分けるほうが幸福 表情と無表情を見分けるよりも困難であったという可能性を挙げている.これは先の私の仮説のように,無表情と怒り顔の画像的差異よりも,無表情と幸福顔の差異の方が大きいために生じた事象ではないだろうか.
 また幸福妨害よりも怒り妨害の中から無表情目標の探索する場合の反応時間が長くなった要因として,怒り顔に対する注意の解放の遅延の可能性を挙げている.注意の解放に関しては次章で述べる.
 さらに,これらの傾向は顔写真刺激の人物が同一のときよりも複数のときに増大したことから,表情探索の際に注意が表情に関する情報のみならず人物の同定に関する情報にも向けられているということが示唆されている.これはつまり,元々無表情が怒ったような顔であるような人物というのは日常生活で経験則から存在している.複数の人物を用いた場合に探索に時間がかかったのは,これの判断に時間をとられることを示唆しているのではないだろうか.これは,私の仮説にあった,無表情を怒り顔ないしはマイナス的,脅威的な感情であると認識するケース,を被験者観点とするならば,情報提示側の観点としての同様の問題であると考えられる.
 Becker[2],衣笠ら[]の論文等から読み取れることは,怒り顔優位性効果の存在は確固たる物ではないということである.確かに,脅威刺激の注意捕捉から,怒りの情動自体に対するバイアスは存在しているかもしれないが,単純な画像的,知覚的な差異や人物の同定,表情の個人差,種々の要因によってバイアスが機能しなかったり,怒り顔優位性による探索時間短縮であると明確に分析できなかったりすることは可能性として高い.
 いずれにせよ,少なくとも2次元画像のみの探索環境では怒り顔優位性の効果は薄く,また種々の別の要因を排除しきれない,また,それらとの関連性を調べることが困難なため,有効性の確認は非常に難しいものであると考えられる.
 加えて,画像のみの判断に止まらず,音声や3次元環境を加えた怒り感情の探索も行うと,違った結果が見えてくるかもしれない.
注意の解放
注意の解放とは,一度何かに注意を払ってしまうと、注意していなかった状態には戻りにくくなる心理現象のことである.
この注意の解放について,先ほどの怒り顔優位性に関連し,脅威刺激に対する注意の解放に着目して,
論文を調べた.
MacLeod[4] は,全般性不安障害の患者と健常大学生を対象にドット・プローブ課題(意の解放を調べる課題の一つで,視覚的に脅威刺激と中性刺激とを対呈示した後,タイムラグ,つまりSOA (stimulus onset asynchrony) を置かず,どちらかの刺激と同じ位置にドットを呈示する。実験 参加者はドットを発見したらキーを押すよう教示され,反応時間が測定されるを行った.その結果,全般性不安障害の患者は脅威刺激と同じ位置にドットが呈示された条件(congruent 条件)の方が,脅威刺激と反対の位置(中性刺激と同じ位置)にドッが呈示された条件(incongruent 条件)より反応時間が短くなることが示された.この効果は congruency effect と呼ばれている.この congruency effect に関して,MacLeo[4]は,高不安者がネガティブな情報に対して過敏であるため,この課題においても脅威刺激を素早く検出することにより起こると説明している.
 大友ら[4]の実験では,全般性不安障害の患者に対し,不安度の差異によってSOAを長さを変えて追加したドット・プローブ課題によって 高不安者が持つ注意の解放の困難さの持続時間を調べている。
実験結果(以下のFigure1)から,脅威刺激からの注意の解放の困難さは低不安群では起こらず,高不安群のみで生じることが示唆されている
 また,SOA250 ms, 500 ms の条件においては neutral 条件と incongruent 条件の反応時間に有意な差が認められず,注意の解放の困難さが持続しているとは言えなかった。このような結果となった理由として,SOA の間は画面に一切の刺激が呈示されなかったことが挙げられる。つまり,高不安者は注意の解放の困難さを示すものの,画面から脅威刺激が消えることによって,注意が脅威的な情報から解放された可能性を示唆している.
 
 これらから,不安度が大きい人間程,脅威刺激に対する注意の解放が困難になる,ないしは解放時間が大きくなり,それらは脅威刺激が消えた後には持続しないということが分かる.
 脅威刺激にたいする注意の解放の困難さの持続性に関しては,持続性が存在しないというよりは,脅威刺激が消えることに対する(または消える時間に対する)被験者の学習が要因であるように思える.
 いずれにせよ,被験者の不安度数の違いによって注意解放に互いが出ることは明らかである.
 従って,先の怒り顔優位性に関連付けて言えば,被験者の不安属性をSTAI の特性不安尺度で測る等して,不安属性による怒り顔優位性への影響も調査し,再度怒り顔優位性と脅威刺激の注意補足の関連性を調べることも重要であるように思う.
まとめ
視覚探索の「注意の優先的割当てに影響する要因」,特に怒り顔優位効果に対して,
「画像的差異の違いによって怒り顔優位性が生じないケースや,脅威刺激の注意捕捉説の観点から,無表情を怒り顔ないしはマイナス的,脅威的な感情であると認識するケースもあるだろうと考え,これにより怒り顔優位性効果が薄れるだろう」という仮説を立て,その観点から調査した論文を調査した.
これらの論文から,怒り顔優位性効果の存在は確固たる物ではない可能性が示唆された.それは,単純な画像的,知覚的な差異や人物の同定,表情の個人差,種々の要因によってバイアスが機能しなかったり,怒り顔優位性による探索時間短縮であると明確に分析できなかったりする可能性が高いことが考えられるからである.
 また,衣笠ら[3]の論文で示唆されていた注意の解放について,怒り顔優位性に関連付け,脅威刺激の注意解放に関する論文を調べ,考察を行った.
参考文献
  1. Finding the face in the crowd: An anger superiority effect.
    Hansen, Christine H.; Hansen, Ranald D.
    Journal of Personality and Social Psychology, Vol 54(6), Jun 1988, 917-924
  2. Perceptual grouping, not emotion, accounts for search asymmetries with schematic faces.
    Becker, Stefanie I.; Horstmann, Gernot; Remington, Roger W.
    Journal of Experimental Psychology: Human Perception and Performance, Vol 37(6), Dec 2011, 1739-1757.
  3. 怒った人か怒った顔か?─怒り優位性効果の検討
    衣笠 由梨,松本 絵理子
    Technical Report on Attention and Cognition,2010,No. 2
  4. Attentional bias in emotional disorders.
    MacLeod, Colin; Mathews, Andrew; Tata, Philip
    Journal of Abnormal Psychology, Vol 95(1), Feb 1986, 15-20.
  5. 高不安者における選択的注意と注意の解放の困難さ
    大友和則, 上野真弓, 松嶋隆二, 丹野義彦
    パーソナリティ研究, 2008,第 16 ,第 2,253–255