読者です 読者をやめる 読者になる 読者になる

プロクラシスト

みんなのProcrastination(先延ばし、回り道)を少しでも有意義に。

MENU

フィンランドの小学生の『議論における10のルール』を久しぶりに見返したら頷きが止まらなかった

ライフハック

f:id:imslotter:20170412014844p:plain

こんにちは!ほけきよです。

2010年から使っている、化石のような自家用Macbook、 1年ぶりに充電器が手に入ったので電源を入れてみると、 久しぶりに懐かしい物を目にしました。スティッキーズに残していた自分のメモです。

フィンランドの小学生が定めた議論のルールというモノです。 それがこちら。

議論における10のルール

  1. 他人の発言をさえぎらない
  2. 話すときは、だらだらとしゃべらない
  3. 話すときに、怒ったり泣いたりしない
  4. わからないことがあったら、すぐに質問する
  5. 話を聞くときは、話している人の目を見る
  6. 話を聞くときは、他のことをしない
  7. 最後まで、きちんと話を聞く
  8. 議論が台無しになるようなことを言わない
  9. どのような意見であっても、間違いと決めつけない
  10. 議論が終わったら、議論の内容の話はしない

人の振り見て我が振り直せ

いかがでしょう。本当に小学生が考えたんでしょうか?と思うくらい、含蓄に富んだ内容です。 久しぶりに見返すと、うんうんと頷きが止まりませんでした笑

  • 相手を尊重する
  • 常に建設的であることを意識する
  • 感情に左右されない

できていない人多いですよね。今の会社でも、

  • 中途半端なタイミング(収束フェーズ)でのそもそも論
  • 自己主張が強いくせにまとめる能力はなくとっ散らかる議論
  • だらだらと朝から晩まで延々と続く会議

などがたまに発生します。

正直、議論したい時、真面目に話したいときにこの辺りができていない人と話をすると、 時間を無駄にした気になってしまいます。

こういうとき、いつも

「自分はああなっていないか?客観的に自分を見て、ならないように気をつけよう」

と自戒します。多分気をぬくと惰性でこんな議論してしまうので、日頃からこの10カ条を意識しないとなと改めて思いました。

まとめ

学生の間、とくに団体でプロジェクトを回している時に常に意識しようと思って一番目につくデスクトップに配置していました。

f:id:imslotter:20170412013645p:plain

作成日が"2011年5月20日"なので、実に5年くらいはこれを見ながらいろんなことをやっていたわけです

この1年くらい、見ていなかったので忘れかけていましたが、また思い出すことができてよかったです。

社会人になってこのルールを見返すと、その通りだなと思ってまた味わい深いですね。

皆さんも、議論を有益にするために、この10カ条を意識してみてはいかがでしょうか。ではでは!

DeepMind社謹製の深層学習用ライブラリ『Sonnet』をちょっと触ってみた

f:id:imslotter:20170411211409p:plain

こんにちは、ほけきよです。

DeepMindが数日前に、tensorflowを用いたモジュール"sonnet"をオープンソース化しました。

普段Kerasしか使っていないのですが、ちょっとだけ触ったり調べたりしたので

  • インストール方法
  • Exampleについて
  • Kerasとの違い。想定ユーザ

など、所感とともにメモとして残しておきます。

sonnetとは

  • DeepMind(今一番キテるGoogle傘下の研究所)が社内用に使っていた深層学習用ライブラリ
  • tensorflowのラッパー的立ち位置(tensorflowが入っていることが必要)
  • Linux/MacOSXで対応

requirement

  • python2.7 : 3系はまだ対応していないそう
  • tensorflow >= 1.0.1 : Deeplearning用ライブラリ
  • bazel (>= 0.4.5 )  : Google謹製のビルドツール

インストール方法

bazelのインストール

Documentをみる。自分のOSに応じて。(今回は MacOSXのhomebrew)

Installing Bazel - Bazel

brew cask install java #javaのインストール
brew install bazel

sonnetをダウンロード、チェック

  • githubからコードを取ってきて、まずはインストールできるかチェック
git clone --recursive https://github.com/deepmind/sonnet
cd sonnet/tensorflow
./configure

ないものはエラーに従って入れていく。

./configureで色々聞かれる(コンパイラを最適なやつ使うかとか、OpenCL使うかとか、pythonのパスとか) 別にこだわりがない人はEnter連打で(でも一応メッセージはみておこう)

うまくいくとこんなメッセージが。

Extracting Bazel installation...
..............................................................
INFO: Starting clean (this may take a while). Consider using --expunge_async if the clean takes more than several minutes.
.............................................................
INFO: All external dependencies fetched successfully.

ビルド、インストール

sonnetをビルド

mkdir /tmp/sonnet
bazel build --config=opt :install
./bazel-bin/install /tmp/sonnet

/tmp/sonnet以下にpip installできるファイルができるので、

pip install /tmp/sonnet/*.whl

とする。これで完了

チェック

pythonを起動し、以下のコードを打つ

 import sonnet as snt
 import tensorflow as tf
 snt.resampler(tf.constant([0.]), tf.constant([0.]))

下記の表示になればOK

<tf.Tensor 'resampler/Resampler:0' shape=(1,) dtype=float32>

Exampleを試す

タスク

使えるようになったので、exampleを実際に動かしてみる。 普通こういうのはMNISTを使って分類が定番だが、今回のexampleはRNN(多層のLSTM)を使ったもの。まだexampleはそれしか用意されていないよう。

中身のコードを見ながらLSTMをどうやって書くのか眺めるのはいいかもしれない。今回は結果だけ。

データセット

シェークスピア“CORIOLANUS”を使って学習させ、それっぽい文章を生成するRNNを作ろうという感じ。

Coriolanus (The New Cambridge Shakespeare)

Coriolanus (The New Cambridge Shakespeare)

結果

中身は置いておいて、とりあえず実行してみる。*1

python rnn_shakespear.py

はじめにWARNINGがたくさんでた後に、学習が進んだ。WARNINGは

「お前、もっと環境を最適化できるけどしないの?」

というやつ。

結果はたまに文章ぽいのもあるがちゃんとした文章とは程遠い。学習データが少ないから?

INFO:tensorflow:9999: Training loss 78.764648. Validation loss 100.533051. Sample = b_0: 
ht this, and we letter my house of Hereford,|Will reason at wailer, I have by found you.||BENVOLIO:|
No, therefore, none me thy ear, or we were not a|great-father uncle Edward's right divined soul six with his first,|
And then I tear the back of pleasure; and our sword|
To bowly me of preceion dubfil-god:|Go well in Aufidius to year:|
You may not show thy length.|
|PARIS:|
His lady.|
|POLIXENES:|So Margaret.|
|LEONTES:|Hail, sir, too saying!|
|NORTHUMBERLAND:|So parentme: call me wench-for my greatest,|
Twear have a man; twerver it sorrows I lovely curs you,|Gives me, encorst, for his masters did not myself;|
For thy welcome visiting name of your native|hath not all thy desires to run broke us|
Yon me--and Phoebus Derby, be said, hast thou no man all, my oaths,|Break not that maids with this nighuls of your life|
Will grow themselves: both best in earth! had he were no;|
Who adveral with punish made both|To do them, and majesty, Aumelle;|Many to this the coming love marriage|What, lost deny here: h
INFO:tensorflow:Reducing learning rate.
INFO:tensorflow:Test loss 129.366608

また、学習したモデルは /tmp/sonnet以下に保存される。

中身をちょっとだけ見る

sonnetでは、Deeplearningのネットワークをを作る部品がsonnet/python/modulesに色々と揃っている。

sonnet/sonnet/python/modules at master · deepmind/sonnet · GitHub

例えば

  • conv : CNNのconvolution層を作ることができる
  • gated_rnn : LSTMなど、RNNに用いるゲートを作ることができる

また、ここに、いくつかの既製のネットワークがあるようだ。

sonnet/mlp.py at master · deepmind/sonnet · GitHub

  • Alexnet
  • ConvNet
  • Multi Layer Perceptron
  • Dilation

f:id:imslotter:20170411212105p:plain
(例 : AlexNetのアーキテクチャ(Krizhevsky 2012))

例えば、自分でネットワークを作りたければ↓のようにネットワークを構成していく (DeepMindのSonnetを触ったので、TensorFlowやKerasと比較しながら解説してみた より拝借)

def build(inputs):
    outputs = snt.Conv2D(output_channels=32, kernel_shape=4, stride=2)(inputs)
    outputs = snt.BatchNorm()(outputs)
    outputs = tf.nn.relu(outputs)
    outputs = snt.BatchFlatten()(outputs)
    # TensorFlow
    weight = tf.Variable(tf.truncated_normal(shape=[4096,10]))
    bias = tf.Variable(tf.constant(0.1, shape=[1,10]))
    outputs = tf.matmul(outputs, weight) + bias
    outputs = tf.nn.relu(outputs)
    return outputs
model = snt.Module(build)

学習はtensorflowの記法にしたがって行う。

これがKerasだと、以下のような感じで書く

model = Sequential()
model.add(Conv2D(32, kernel_size=(2,2), activation='relu', input_shape=(28,28,1))
model.add(BatchNormalization())
model.add(Activation('relu'))
model.add(Flatten())
model.add(Dense(10))
model.compile(loss='mean_squared_error', optimizer=Adam())

学習はmodel.fit(...)を使う。

最も大きな違いは

  • sonnetはtensorflowとコード上で組み合わせて使うことができる
  • Kerasはkerasとして閉じている

ということ。これは一長一短で、Kerasは全てKerasとして使うことができるので、終始一貫して直感的に扱うことができるように構成されている。しかし少し手の込んだネットワークに拡張しようとすると、柔軟性が低いと感じることがある。

一方でsonnetは面倒なところだけをモジュール化して、細かく設定したい時にはtensorflowをそのまま用いることができるので、自分で柔軟性を自由に調節できる。 しかし、tensorflowを使うのは、Kerasに比べて少し敷居が高いように感じられる。

あとは、ドキュメントやtutorialが圧倒的に少ない。そしてもちろん日本語はない。

所感

sonnetは、すでにtensorflowを使っている強い人たち が対象なのかなって思った。 そういう意味ではまさにDeepMindの社員が使うようなイメージに近い。面倒なところをなるべく省いて、本当に大事なところだけ集中するためのツール、というイメージでした。研究者の間では流行るかもしれない。

個人的には、Kerasを使えればまずはいいかな… もうちょっとtensorflowになれる必要があるなと感じました。

*1:ちゃんと勉強したらまたメモとして記事にしようかな…

塵も積もれば山となる!?ちょっと気になる「自動変換」と「消費税8%」の影響

20代の主張

f:id:imslotter:20170410224904p:plain

こんにちは、ほけきよです。

小さなことでも、積もりに積もって大きな影響を及ぼすことってあるじゃないですか。 言語なんてそうで、東京に来ると方言が抜けちゃったり。

私も実家に帰ると「えっ標準語きもい」と妹に言われて、枕を濡らした記憶があります。 抜けていないと思っていたのに。。。

そんな私が、気になっている微妙な影響。「チリツモ」の影響についてちょっと話します。 妄想の記事ですので、適当に読んでください

自動変換の危うさ

私はMacを使っているんですが、最近のMacは、タイプすると自動でよしなに変換してくれる機能がついていますよね? 結構後に続く言葉とかまでちゃんとみていて、便利です。便利なんですけど、これ結構危なくないですか

何が危ないって、例えば「ふいんき」って打つとするじゃないですか。

ふいんきなぜか変換できない」などと、一時期ネット上で揶揄されてましたね。

ただこれ、今は「ふいんき←なぜか変換できる」なんですよね。 「ふいんき」と打つと、こんな感じになります

f:id:imslotter:20170410222119p:plain

他にも色々と自動変換で無理やり正しくしてくれるものがあります。

下が、調べてみた間違えやすそうな単語リストです

単語 なぜか変換
ふいんき できる
そのとうり できない
たいく できる
せんたっき できる
はなじ できる
ぜいいん できない

このように、間違っているのに変換してしまうものがたくさんありました。これ、私はちょっと怖いです。間違ったものを無理やり捻じ曲げて正しくしている感じがあって。 実際、「あれ?せんたっきって使っていいんだっけ?」とかって思わず調べてしまいましたからね。正 しく覚えている人まで戸惑っちゃう。

ああ、これでも正しいんだ。と思う人も必ず出てくるでしょう。こういうことをしていると、漢字が書けないし読めなくなるような気がします。

最近は小学生でもパソコンをいじっています。間違ったことを堂々と言う大人を作らなためにも、最低限間違っているところの是正くらいはしてもらいたいものです。

例えば「ふいんき」と打つと、自動変換する前に「ふんいき」に一度自動変換するなどで構いません。間違えを正解に捻じ曲げるのはちょっと…という気がします。*1

消費税8%と計算力

これはさらにチリツモ妄想です。私の仮説は消費税8%にすると、世の人々の計算能力が少し向上するのでは??と言うものです。

消費税5%より消費税8%の方が計算、難しくないですか???

私は5%の消費税の計算は、「末尾の0をとって2で割る」と言う方法で行なっていました。

5500→550/2→275 ⇨ 5500+275

1.05かけるのはめんどくさいので、1/20を足すと言う発想ですね。 すると、どんなに大きな数でも、だいたいの値をパパッと見積もることができたんです。

でも、8%はきつくない???

いい計算方法見つからないし、8倍って結構大きな数。200円の消費税が16円だよ?難しすぎでしょ。 日々の暮らしで消費税を考えて買い物すること、割とあると思います。そんな時に、額を計算するのが難しくなったから、少し頭を使うようになったのではないでしょうか。

私は、概算にちょっと頭を使うようになりました。どのくらい影響があるかはわかりませんが、少なくとも5%の時よりも考えてはいると思います。消費税8%は日本国民の計算力の底上げに繋がると思うのですが、いかがでしょうか。

なので、消費税10%はやめましょう!日本人がまた馬鹿になります!!!

まとめ

普段から意識しないものが人間に与える影響は、実際バカにならないと思います。 今回の説が実際にどうかはわかりませんが、こんな影響もあるのかなーと妄想してみました。

他にも色々とあると思います。妄想するのもたまにはいいですね。ではではっ!

*1:ちゃんとしたIMEを使うので解決する話なのかもしれませんが…!

はてブ情報をpythonで可視化できるようにしたよ!

技術Tips 理系ネタを全力で

f:id:imslotter:20170409153655p:plain

こんにちは!ほけきよです!

はてなブログをしている皆さんなら、当然アレ、気になりますよね??

そうはてブです。

自分の記事が拡散された時の満たされる感じは、クセになりますよね。 今回は、自分の記事のはてブがどのように増えて行くかを、APIを使って取得できるようにしてみました。

また、はてブが伸びるかどうかを左右する情報も取得できるようにしました!! 基本コピペでOKになっているはずなので、pythonを使っている方は、一回試してみると楽しいですよ!

必要なモジュール

まず、モジュールをインポートしていきましょう。デフォルト以外で入れなければ行けないのは以下の二つ

pipで入れちゃいましょう。 windowspythonを使いたい方は、関連記事へGO. Anacondaには上の二つが含まれているのでそれだけでOKですよ。

コード

#coding:utf-8
%matplotlib inline #jupyterを使う方はこれを入れておく
import urllib2 
from bs4 import BeautifulSoup
import json
import datetime
import matplotlib.pyplot as plt
url = "http://www.procrasist.com/entry/2017/01/07/154441"

はてブの情報を取得

はてなブックマークには、簡単に情報をGETできるように、APIが設計されています。 公式HPか、Syncerさんのページがとてもわかりやすいので参照するにはオススメです

はてブの情報をとってくるためには、自分が調べたいurlの前にhttp://b.hatena.ne.jp/entry/json/をくっつける必要があります。ここにアクセスすることで、情報をGETできます。

ここで一つ注意です。ブックマークを非公開にしている人の情報の詳細ブックマーク情報(時間・コメント等)は取得することができません。ですので、結果的には本来のブックマーク総数より小さく表示されてしまうこともあります。

コード

def get_timestamps(url):
    """
    はてブのタイムスタンプをget
    """ 
    data = urllib2.urlopen("http://b.hatena.ne.jp/entry/json/{}".format(url)).read()
    info = json.loads(data.strip('(').rstrip(')'))
    timestamps = list()
    if info != None: # 公開ブックマークが存在する時に、それらの情報を抽出
        bookmarks=info["bookmarks"]
        title = info["title"]
        for bookmark in bookmarks:
            timestamp = datetime.datetime.strptime(bookmark["timestamp"],'%Y/%m/%d %H:%M:%S')
            timestamps.append(timestamp)
        timestamps = list(reversed(timestamps)) # ブックマークされた時間を保存しておく
    return info, timestamps

はてブの伸びを左右する情報たち

以前もブログで少し話したことがありますが、はてブの伸びは、 エントリーに掲載されるかどうかによって左右されます。

私が伸びるかなーどうかなー。と気になるときにチェックするのは以下の5箇所です

  • カテゴリ新着エントリ
  • カテゴリ人気エントリ
  • 総合新着エントリ
  • 総合人気エントリ
  • はてなブログトップ

新着エントリ < 人気エントリ < はてなブログトップ

の順で掲載期間が長くなっている気がします。これら5つについて、情報をGETできるようにしました!

他に集めておいたほうがいいデータあれば教えてください!

コード

# ページカテゴリ取得
def get_category(url):
    try:
        html = urllib2.urlopen("http://b.hatena.ne.jp/entry/{}".format(url))
        soup = BeautifulSoup(html,"lxml")
        return soup.find("html").get("data-category-name")
    except urllib2.HTTPError as e:
        print(e.reason)
    except urllib2.URLError as e:
        print(e.reason)

#はてブのエントリリストの順位チェック
def rank_checker(url,hatebu_url):
    try:
        html = urllib2.urlopen(hatebu_url)
    except urllib2.HTTPError as e:
        print(e.reason)
    except urllib2.URLError as e:
        print(e.reason)
    soup = BeautifulSoup(html,"lxml")
    a = soup.find("a",href=url)
    if a == None:
        rank = None
    else:
        rank = a.get("data-entryrank")
    return rank

# はてなブログのトップページに乗っているか
def is_hatenatop(url):
    try:
        html = urllib2.urlopen("http://hatenablog.com/")
    except urllib2.HTTPError as e:
        print(e.reason)
    except urllib2.URLError as e:
        print(e.reason)
    soup = BeautifulSoup(html,"lxml")
    a = soup.find("a",href=url)
    if a is None:
        return False
    return url == a.get("href")

def getdata(url):
    category = get_category(url)
    # カテゴリ新着エントリ
    category_entrylist = "http://b.hatena.ne.jp/entrylist/"+category 
    new_cate = rank_checker(url,category_entrylist) 
    # カテゴリホットエントリ
    category_hotentry = "http://b.hatena.ne.jp/hotentry/"+category 
    hot_cate = rank_checker(url,category_hotentry)
    # 総合新着エントリ
    entrylist = "http://b.hatena.ne.jp/entrylist"
    new_all  = rank_checker(url,entrylist)
    # 総合ホットエントリ
    hotentry = "http://b.hatena.ne.jp/hotentry/"      
    hot_all  = rank_checker(url,hotentry)
    # はてなトップ
    hatena_top = is_hatenatop(url)
    # データまとめ
    string  = "hatebu category entrylist rank  : {}\nhatebu category hotentry rank  : {}\nhatebu overall entrylist rank   : {}\nhatebu overall hotentry rank   : {}\nlisted up to hatenablog toppage : {}"\
    .format(rank_checker(url,category_entrylist),rank_checker(url,category_hotentry),
            rank_checker(url,entrylist),rank_checker(url,hotentry),is_hatenatop(url))
    print(string)
    return string

プロットをする

先ほどのタイムスタンプと、GETしたエントリ情報をグラフにしていきます。 visualize関数を作り、タイムスタンプで可視化。情報はannotate関数で入力します。

記事が初めてブクマされた時から2日間のプロットとしています。

※注 :グラフの範囲やannotateは、グラフの形によって変えたほうが見栄えが良くなることもあるので、dayrangeで範囲を、plt.annotate内のxytext=(timestamp[-1],5)`の座標を変えることで、調整してください。

コード

# プロット
def visualize(info, timestamp, data, label="", dayrange=2,annotate=True):
    plt.xkcd()
    count = len(timestamp)
    number = range(count)
    submit = timestamp[0]
    plt.plot(timestamp,number,"-",lw=3,label=label)
    plt.xlim(submit,submit+datetime.timedelta(days=dayrange))
    if annotate:
        plt.annotate(data,xy=(timestamp[-1], number[-1]), arrowprops=dict(arrowstyle='->'), xytext=(timestamp[-1],5))

実行してみる

以上が具体的な内容です。それでは、実際にはてブのリストからいくつか可視化したものをみてみましょう

  • かキタローさんのバズっている記事

www.kakitaroo.com

Udemy、いいですよね。プログラミングとかの勉強のために使ったりしています!この記事、今までのはてブの推移と、現在(2017/4/9 15:00)のステータスを見てみましょう。

コード

url = "http://www.kakitaroo.com/entry/Udemy"
plt.figure(figsize=(10,7))
entry_info = getdata(url)
hatebu_info, timestamps = get_timestamps(url)
visualize(hatebu_info, timestamps, entry_info, label="Udemy")
plt.legend()
plt.show()

結果

f:id:imslotter:20170409153056p:plain

まだまだ伸びそうですね!

比べることもできる

時系列データを見ることができるので、他のデータと重ねて比べることもできます。*1 先ほどの記事と、もう一つバズっている↓の記事を比べてみましょう

www.sekkachi.com

plt.figure(figsize=(10,7))
url2 = "http://www.kakitaroo.com/entry/Udemy"
url1 = "http://www.sekkachi.com/entry/Heikin_HyoujunHensa_Flow"
entry_info = getdata(url1)
hatebu_info, timestamps = get_timestamps(url1)
visualize(hatebu_info, timestamps, entry_info,label="Udemy", annotate=False)
entry_info = getdata(url2)
hatebu_info, timestamps = get_timestamps(url2)
visualize(hatebu_info, timestamps, entry_info,label="Ave, Std", annotate=False)
plt.legend()
plt.show()

結果

f:id:imslotter:20170409153109p:plain

後発記事が伸びてきていることがわかると思います! こうやって競争させるのも面白いですよね!

まとめと今後やりたいこと

今後やりたいのは、順位を使って、はてブ数を予測できないかな〜ってこと。 データを集める土台はできたので、あとは学習器に各情報と数分後のはてブ数のデータを投げてやって、伸びを予測してみたいなぁ。と思いました。

色々データを集められると、それを使って色々と考えることができるので、楽しいですね!

ブックマーク研究家、始めます。ではではっ!

*1:適当に重ねているだけなので、もうちょっと出力を整えたほうがいいかもしれません。

【写真付き】静かで美しい、都内の穴場お花見スポット『多摩センター』周辺が素敵すぎた

旅と写真 行って良かった場所

f:id:imslotter:20170408224743p:plain

こんにちは!ほけきよです。

先週・今週はお花見シーズンですね。 都内にはたくさん素晴らしいおすすめスポットがありますね。 今回、ある情報筋から推薦してもらって、「多摩センター」周辺を桜を見ながら散策してきました。 地元の人しか知らない、地元の人に愛されている素敵なスポットを紹介いたします。

多摩センター周辺

まず、多摩センターがどこにあるか。 都心で生きている人には、都内といえどもあまり馴染みがないのかもしれません。 内側の緑が大体山手線のあたりなので、なかなか東京の中心からは離れた場所にあります。 京王線小田急線で行くことができます。

東京は西に行くほど伝統的な文化を重んじる人などが多い気がします。 京王線に乗っていると、府中辺りから着物をお召しになられた方々が増えてきて、とても風情があります。

f:id:imslotter:20170408215627p:plain

桜スポット

オススメする理由

都内にたくさん桜スポットはありますが、どこも人でごった返していて、落ち着いて眺めることができませんよね。 しまいには荒れ狂う若者に一番いい場所を占拠され、迷惑を被る始末。

しかし、多摩センター周辺はそのようなことが一切ありません。基本的に家族連れの方が多く、たくさんのハピネスがそこにあります。 落ち着いた時が流れていて、まさに癒されながらゆったりお花見をすることができます。

①乞田川(京王永山〜多摩センター)

桜スポットその1は、乞田川です。 あまり馴染みのない川名ですが、とっっっっても素敵です!

京王(小田急でもOK)永山駅から多摩センターまでの線路沿いに川が走っていて、この間3km、実に見事な桜の道が続いています。

f:id:imslotter:20170408220214p:plain

時間にして30-40分くらいでしょうか。 その間延々と続く桜並木、贅沢な時間です。

②宝野公園(多摩センター)

多摩センター駅からほどなく歩くと現れる公園、『宝野公園』 ここも、緑があふれていて、ゆったりと桜を見ながらお酒を飲むのに最高の場所です。

写真

最後に、見に行きたい人、見に行けなかった人のために、今 日撮った写真をいくつか。

乞田川

川沿いの桜並木。

提灯が素敵

うらら

溢れる桜

髪飾りのよう

色合いが美しい

宝野公園

桜並木

街灯と桜のコラボレーション

落ち着いた時間を過ごしたい人は、ぜひ行ってみてはいかがでしょうか。ではでは!

1ヶ月で偏差値20, TOEIC150点UPさせた英語勉強法を紹介するよ

ライフハック

f:id:imslotter:20170407205915p:plain

こんにちは!ほけきよです

英語、皆さん得意ですか?

私は年を取るたびに英語を学んでおけばよかった。と後悔だけが募って結局何もしない毎日を過ごしています。 継続が苦手なんです。すぐprocrastinateします。

だからスピーキングは全然だめ。その他の英語力も、全然だめ。

けれど、短期間で英語の点をあげることは可能です。 というか、短期間で英語の点をあげるにはこれしかないです。

『単語を覚える』

実際、高校2年生で英語が伸び悩んでいるとき、模試の偏差値が55から75に上がりました。 また、社会人になってTOEICを受ける直前に頑張って、点数が730から880にあがりました。どちらも1ヶ月です。

単語の暗記は、即効性がある最もシンプルな方法です。 今日は、具体的にどういう風に単語を覚えているかを、紹介します。 これは単語に限らず、私が試験とかで暗記するときには、ルーティンワークとして行うもので、汎用性もあると思います。*1

今日はそんな『ほけきよメソッド』を紹介します!

暗記の手順

1. 続ける日数と覚える単語数を定める。

そんなことから…と思うかもしれませんが、実際はここが一番大事かもしれません。 まず、明確な目標を持ちましょう。その際のポイントを2つ挙げます

■ 自分がちゃんとクリアできそうだと思う課題を課す

■ 日々のインプットは自分がギリギリ追い込めるところまで行う

一見この2つ、相反していそうですよね。具体例を見ていきましょう。

例えば、

『50日で1000単語』

という目標を定めたとしましょう。一日20単語ペースなら、なんとか行けそうですよね。 けれど、1日にインプットする量は自分のMaxだと思う量 (50とか100)にします。理由は2つあります

  • 時間とともに忘れる量が増えていくので、繰り返すことを考慮して覚えていくのが良い
  • 目標より先行している方が、モチベーションが続く

こういう単純作業は、自分の気持ちと記憶力との戦いです。その2つをキープできるように、このような目標設定にするといいでしょう。

2. 暗記の準備

目標を設定したら、あとは覚えていきましょう。

用意するのは、
・ ルーズリーフ
・ 黒いペン(鉛筆)
・ オレンジのボールペン
・ 赤い下敷き

どうやって使っていくかは以下の通りです。

  • ルーズリーフを4等分に線を引く
  • 左側は単語用、右側は意味用にする。
  • 単語は黒で書いてOK, 意味はオレンジのボールペンで書く
    • 赤だと赤下敷きを敷いたときに、微妙に見えちゃうのでオレンジがbetter

図にするとこんな感じ

f:id:imslotter:20170407204056p:plain

3. 暗記をする

準備は整ったので、いよいよ実際に暗記をしていきます。ここは、ステマティックに暗記!です

ポイントは至ってシンプル。

ただがむしゃらに口に出して書いてを繰り返す。

です。読んだだけで覚えられるヒトもいます。けれど、書いたほうが確実に覚えられます。 単語を口に出して、書いて、まさにあらゆる感覚に単語を刻み込むように覚えていきましょう。

【初日】

1. 単語帳を開き、予め定めた単語数分、初見テストをする。
2. 初見テストで間違ったものは意味を確認し、その都度単語と意味を書く
3. 1セット終了したら、再度テストを行う
4. 間違えたものは同様に意味を確認し、ルーズリーフに単語と意味を書いていく
5. 全部間違えなくなるまで、繰り返す

泥臭くて、正直結構時間がかかります。けれど、一番確実に覚えます!! 実際にやってみると、こんな感じ

f:id:imslotter:20170407205528p:plain

【二日目以降】

1. 少なくとも、3日以内のinput分ははじめにテストをする (目標が100単語/日なら300)
2. 間違ったものはルーズリーフに単語と意味を書く
3. (1日の目標にしている語数) ー (はじめのテストで間違った単語) 分のinputをする
4. 一日目の繰り返し

1日だけの暗記では、短期的に覚えただけになりますので、記憶を定着させるためにも、何日間か繰り返しましょう。

できれば、たまに今まで覚えた所全部のテストをしたほうが良いです。本当に定着しているかのテストですね。 大方は覚えていますが、おそらく、何回も書いている苦手単語などにほころびがあるはずです。

また、inputが多すぎても覚えきれず逆効果なので、その日に覚える単語数は、標数からテストで間違った単語数を引いた数程度にしておきましょう。

これを繰り返すだけです。 単純作業でしょう? 詰め込んでいくので、日を追うごとにきつくはなりますが、そこはなんとかモチベーションを保ちましょう。

長続きさせるためのTips

とはいえ辛くなってくるので、少しだけTipsです。単純作業の一番の敵、それはモチベーションです。

私が行っていた具体的なモチベーション継続方法は、進捗の可視化です。

標数 (今回は1000) のバーやマス目を作り、目標に従って覚えるべき単語数に線を区切っていきます。 一日が終わって単語を覚えたら、どんどん塗りつぶしていきましょう。

f:id:imslotter:20170407205026p:plain

一日のinput量をかなり多く定めているため、初めのほうはかなり余裕を持ってタスクをこなせている感が出ると思います。 これが大事です。ゆとりを持って取り組めているというのを可視化することで、モチベーションが落ちること無く望めます。

オススメ単語帳

単語の暗記なので、オススメの単語帳を最後に紹介します。

正直、なんでもよいです。、一冊やり遂げる方が難しく大事なことなので、学校ですでに配られているのならそれをやり遂げましょう。

あえておすすめするなら、というのを幾つか紹介します

大学入試

私が大学入試で使ったのは、以下の二冊です

DUO 3.0

DUO 3.0

システム英単語 (駿台受験シリーズ)

システム英単語 (駿台受験シリーズ)

ありきたりだな…と思いますが、使いやすいです。

  • 短文で構成されていて、単語にフォーカスした作り

これが結構大事で、正直単語の暗記にダラダラとした文章、いらないです。 文の繋がりよりも、まず単語覚えろって感じなので、この二冊が良いと思います。

社会人の方に

TOEICレベルの英単語というのはよくわからない。ビジネス寄りな言い回しを除けば、基本単語で構成されていることが多いからです。 先ほど紹介した二冊のどちらかを覚え直すことで、大体の単語がクリアできます。なにか一冊したいというなら、TOEIC用に適当に気休めの一冊を選ぶか、 あえて負荷をかけてTOEICのその先をめざせる本を選ぶ、のが良いのではないでしょうか。

後者を選ぶ方におすすめするのは『ボキャビル』シリーズです。

TOEIC TEST スーパーボキャブラリービルディング(CD BOOK)

TOEIC TEST スーパーボキャブラリービルディング(CD BOOK)

発信型英語10000語レベル スーパーボキャブラリービルディング(CD3枚付) (CD BOOK)

発信型英語10000語レベル スーパーボキャブラリービルディング(CD3枚付) (CD BOOK)

正直かなり重くて、なにせ数が多いです。私は10000語レベルの方は挫折しました。もうこれは短期ではどうしようもない量でしたね。。コツコツ努力が必要です。 けれど、これを全部マスターすれば、英字新聞などのこ難しい単語もほとんどすべてわかるようになるでしょう。 (TOEICに必要かは別として。)

おわりに

暗記っていうのは、知恵がほとんどいらないものですからね。 地味ですが、たくさん積んでいくと、いずれその効果が現れてきます。

私は高校時代英語の先生から『10%知らない単語が出てくると、英語が読めない』 と言われました。体感的にはもうちょっと推測で頑張れそうですが、たしかに10%以上知らないと、読む効率は激減します。 1ヶ月頑張って一冊の英単語帳を覚えた前後では、全く文の見え方が違ったのを覚えています。まるで革命でした。

テスト前とか、TOEICの点数が欲しいとか、急を要する人は、騙されたと思って頑張ってみてください。一番泥臭いですが、短期で点数をあげるには一番効果があります。

ただし、本当に英語力をつけたい人は、これに加えてコツコツと毎日鍛錬することを繰り返しましょう。英語は慣れなので、毎日することが本当に大事です。TOEIC880とっても、英語力の全くない私が言うのだから、本当です。

英語の力をつける一方法として、一つの参考にしてみてください。ではではっ

*1:合う人、合わないヒトはいるかと思いますが。

【旅と写真】魅惑の岐阜県物語 in 高山・白川郷

旅と写真

f:id:imslotter:20170406235942p:plain

こんにちは、ほけきよです。

先日岐阜県に旅行で行ってきました。 岐阜県メインで旅する人はそこまで多くないかもしれません。

私も行ったことはありますがそこまでガッツリ行ったことはありませんでした。 そんな失礼な私ですが、正直、岐阜、なめてました 昔と今が融合した、素晴らしい街並み、飛騨牛や栗きんとんという贅の限りを尽くした食、 どこか懐かしさまで思い起こさせるような駄菓子。どれを取っても魅力的で素晴らしいところでした。

あまり多くは語らず、旅行記を写真メインで上げていきます。

今回行った所

f:id:imslotter:20170406235603p:plain

郡上八幡、中津川、下呂あたりもちょっと行ってみたかったのですが、今回は時間の都合断念。 *1

白川郷

言わずと知れた豪雪地帯の世界遺産白川郷を初体験

つらら。でかい。 f:id:imslotter:20170406234510j:plain

逆さ合掌造 f:id:imslotter:20170406234603j:plain

和洋折衷 f:id:imslotter:20170406234454j:plain

展望台から。ちょっと雪解けしてたなぁ。 f:id:imslotter:20170406232850j:plain

名物さるぼぼ f:id:imslotter:20170406232643j:plain

飛騨高山

古き良き町並みの残る場所。更に、氷菓君の名は。の聖地。もちろん、予習していきましたよ、千反田さんかわいい。。

喫茶去『かつて』

氷菓では『喫茶一二三』として出てきたお店。本当は二階が聖地だけど、さすがにお一人様であの座敷はきつかったので一階で我慢

f:id:imslotter:20170406231108j:plain

f:id:imslotter:20170406231138j:plain

わらび餅とお抹茶を一服。大変結構なお服加減でございました。

日枝神社

君の名は。」で三ツ葉が踊っている神社。 けど、正直須賀大社のが雰囲気あったかなー。

f:id:imslotter:20170406231648j:plain

古き良き

ノスタルジー f:id:imslotter:20170406232135j:plain

神社の周りの雰囲気が良い f:id:imslotter:20170406233429j:plain

林業

岐阜、林業が盛んなので、街に一枚板のお店とかお箸屋さんとか、普段見ないお店もあってなかなかおもしろかった。 一枚板とかって、普段見ないし、やっぱりめちゃくちゃ高い(数百万とか…!)けど、いつか欲しい!

お箸屋さん。お箸のマナー「嫌い箸」 f:id:imslotter:20170406233913j:plain

美味いもの達

飛騨牛の握り(こって牛) 極上の柔らかさと、脂の甘みが最高峰 f:id:imslotter:20170406231826j:plain

五平餅 くるみ入りの味噌ダレがまた良い f:id:imslotter:20170406231846j:plain

うっしし丼(坂口屋) 飛騨牛の希少部位からなる丼。実に美味 f:id:imslotter:20170406231838j:plain

他にも駄菓子や和菓子も有名で、特に恵那川上屋栗きんとんは本当に美味しい。通いたいレベル また、試食出来るところが多いので、いろいろ食べ比べながらお土産を選べるのも非常にいいところ。

終わりに

いかがでしたか? 少しでも行ってみたいと思っていただけたら嬉しいです!

今年は色々と写真も撮りに行きたいなぁ。ではではっ!

*1:実はもう一箇所行っているのだが、これはまた別記事にて書くつもり。