すぐ すぴー (˘ω˘)

僕はりんごをかじる 彼女は鼻をかむ

【改訂版】ccg2lambdaインストール for mac and Linux

この記事は各CCGパーサーとccg2lambdaのインストールについてです.
linuxSUSE Linux Enterprise Server でした.

ccg2lambdaとは

頑健なCCGパーザと高階論理に基づく自動推論を組み合わせた含意関係認識システム

つまり,CCGパーザーにより高階論理を得て,coqでそれが含意するかを自動推論する
ということです.CCGって何?つまりccg2lambdaってどんなことができるの?ってあたりは別記.



インストール作業
GitHub - mynlp/ccg2lambda: Provide Semantic Parsing solutions and Natural Language Inferences for multiple languages following the idea of the syntax-semantics interface.
書いて有ありますが,特にmacにインストールする際,
公式のやり方で詰まった場合に私のやり方でもお試しください.

本題

まずはcloneとpython周りの設定

homebrew,pyenv,pipはインストール済みとします.
pyenvよくわからない人は動作確認済みのpython3.5.0あたりを入れておいてください.

pyenv install 3.5.0
git clone https://github.com/mynlp/ccg2lambda.git
pyenv local 3.5.0
pip3 install virtualenv
virtualenv --python=/usr/local/bin/python3 --no-site-packages env
source env/bin/activate
pip install lxml simplejson pyyaml -I nltk==3.0.5

起動毎に読み込みが必要になるとことなので設定ファイルに書いておきましょう.
MacにPython3をインストールし環境構築【決定版】 - Qiita

ここで注意なのですが,ccg2lambdaはシェルスクリプトを動かすため
pythonと打った時にpython2が起動されてしまうとうまくいきません.

テストを行います.okがでたらok !

cd ccg2lambda/
python scripts/run_tests.py

定理証明支援言語のCoqを入れます.

brew install coq


デフォルトのcoqの読み込みをします

coqc coqlib.v

これでccg2lambda本体は終わりです!お疲れ様でした.次にCCGパーサーです.
公式ではC&CやJiggについて述べていますが,ccg2lambdaはCCGパーサーで
テキストを論理式にパースできるかが肝となっていますので英語はC&Cパーサー,EasyCCG, depccg,
日本語はJigg,depccgを使ってパースしていきましょう!
各パーサーのディレクトリはどこに作っても構いません.
また,各パーサーのディレクトリ下にmodelがなかったらmkdir modelしてください.


C&Cパーサー

このサイトから
C&C Parser Downloads
赤まる2つをダウンロードし,
f:id:sugspi:20170429084248p:plain
展開してください.candc-1.00はccg2lambda/candc-100に移動させたとします
また,model は ccg2lambda/candc-1.00/model に移動させてください.

echo "../candc-1.00/" > en/candc_location.txt

公式にはこれが書いてありますが,今回はマルチパーサーを使うのでいらないです.

EasyCCG

git clone https://github.com/mikelewis0/easyccg.git

eagyccg/model/に
GitHub - mikelewis0/easyccg

Pre-trained models are available from: ...

のモデルを置いてください.

depccg
GitHub - masashi-y/depccg: A* CCG Parser with a Supertag and Dependency Factored Model
同時に日本語の設定もやってしまいます.

git clone https://github.com/masashi-y/depccg.git
pyenv local 3.5.0
pip3 install virtualenv
virtualenv --python=/usr/local/bin/python3 --no-site-packages en
source env/bin/activate
pip install cython chainer==1.23
cd depccg/src
python setup.py build_ext --inplace

ここでsrc/にdepccg.soができているかご確認ください.
またgcc >=4.9 です(Xcodeインストールが必要でした)

その後,gitのread me上に書いてある英語,日本語のモデルを
depccg/model に置いてください.

cd src
echo "this is a test sentence ." | python run.py ../models/tri_headfirst en --format deriv

で木が出力されたら成功です


Jigg
Jigg パーサーは簡単です.

./ja/download_dependencies.sh

では,最後にパーサーの場所を設定して終わりです.
末端に / をつけないでください.
en/parser_location.txt

candc:path/to/candc-1.00
easyccg:path/to/easyccg
depccg:path/to/depccg

ja/parser_location_ja.txt

jigg:path/to/jigg-v-0.4
depccg:path/to/depccg

テストします
一行目は英語,二行目は日本語を動かすスクリプト

judgeにyes or no or unknown がでれば成功です

./en/rte_en_mp_any.sh en/sample_en.txt en/semantic_templates_en_emnlp2015.yaml

./ja/rte_ja_mp.sh ja/sample_ja.txt ja/semantic_templates_ja_emnlp2016.yaml


(次回,具体的な使い方を書きます)

AWS ( Gateway API + Lambda + DynamoDB (+IAM))

Dynamoを操作するための簡単なAPIを作成した.
この記事の読者は,AWS初心者を想定しています.
私自身も初心者なので,アドバイス
いただけたら嬉しいです.

IAM

これでアクセス権限を調節します
ロールを作成,ポリシーの追加をし,アクセス権限を
Fullにします.とりあえず,これで動作確認が可能です.
f:id:sugspi:20161118221808p:plain

DynamoDB

Key-Value型のDB.RDBを極めていない私にとっては
直感的かつ,クエリの部分をサーバ側で書けばいいので
わかりやすいと思った.

テーブルの作成→
テーブル名とプライマリーキーを設定(ソートキーを設定する場合はこちらも)
デフォルトの設計を使用にチェック

完成です.

LambdaとAPI Gateway

Lambdaを先に作成すると,APIが自動的に作られるので
詳細を設定するだけで作成することができます

Lambda

Create Lambda Function
bluePrintは選択しなくて大丈夫です
Configure triggersで,API Gatewayを選択します
Configure functionで各種設定をし,
python2.7で関数を書いていきます.
boto3があればDynamo操作は無敵!

次にAPIの設定をします.
GETで値をLambdaの方で受け取れるように
設定しなければなりません.

f:id:sugspi:20161118223414p:plain
f:id:sugspi:20161118223444p:plainf:id:sugspi:20161118223458p:plain
f:id:sugspi:20161118223530p:plain
f:id:sugspi:20161118223543p:plain
f:id:sugspi:20161118223643p:plain
f:id:sugspi:20161118223729p:plain
最後にアクションからAPIをデプロイを選択して
デプロイしてください!(新しいステージを追加してください!)

編入試験(お茶の水女子大)

更新がしばらく止まっていたことに
今、気づきました。
 
もしかして、もしかして
需要があるのではないかということで
編入試験について振り返ってみます。

お茶の水女子大編入について

日程

試験日 6/24 
集合時間 8:30
終了時間16時くらい

募集要項は5月の下旬に発表され
6月上旬締め切りみたいな日程
志願書はA4にラインが引いてある
自由度が高いフォーマット


発表日 7/2 正午

試験内容

09:00~10:30 数学(微分積分)
10:40~12:10 情報(お茶大の1,2年生専門の範囲)
13:00~14:00 英語(和訳と英作文)
15:00 ~ 面接(15分程度)
ただし、来年度から英語はTOEIC

倍率等

理学部全体で10人
私の時は合格は9名でした(情報は3名)
受験者は30人以上?(情報は6名)

私について

高専生(文系)

 数学は三角関数微積をしない、解析や応用数学をやらない
 物理、化学、生物はそれぞれ1年づつ、高校の教科書半分くらいやる
 英語は工学系より多め
 専門は経済・経営・人文みたいなの

部活はパソコン部

 プログラミングや情報系の学生が勉強するようなことをやっていた
 

入学当初から進学と決めていた

 

成績は優になることを目指していた

 (推薦で受けれる学校がほとんどない学科)

滑り止めは受けなかった

 (不合格だった場合は8月の名古屋の情報文化を受験する予定だった)

勉強してきたこと

数学

まず、三角関数微積をしなければならないという
焦燥感に駆られる

3年の春休みより勉強開始

オレンジ色の高専の数学2 + 問題集

新編 高専の数学2 第2版・新装版

新編 高専の数学2 第2版・新装版

黄緑色の高専の数学3 + 問題集

新編 高専の数学3 第2版・新装版

新編 高専の数学3 第2版・新装版

  • 作者: 田代嘉宏,難波完爾
  • 出版社/メーカー: 森北出版
  • 発売日: 2010/12/09
  • メディア: 単行本(ソフトカバー)
  • クリック: 2回
  • この商品を含むブログを見る

大編数学

大学編入試験問題 数学/徹底演習(第3版)-微分積分/線形代数/応用数学/確率-

大学編入試験問題 数学/徹底演習(第3版)-微分積分/線形代数/応用数学/確率-

先生が用意してくださったプリント
過去問

これを長期休業、土日を利用して解いていきました
といっても、運良く素晴らしい先生に会えたので
ワンツーマンで指導していただきました。

勉強期間は1年と半年くらい
ただし、授業で全くやっていない分野なので
普通の高専生でしたらこんなには必要ないと
思います
 
ただし、お茶の水は問題傾向が
毎年にているため、過去問を参照しつつ
その分野を中心に行うべきだと思います

情報

前提としてC言語でのプログラミング経験がある
応用情報の資格がある(情報系っぽいことをしてた)

・4年の春休みあたりから過去問をとく

・読んだ本
 アルゴリズムとデータ構造 
 

アルゴリズムとデータ構造 (岩波講座 ソフトウェア科学 3)

アルゴリズムとデータ構造 (岩波講座 ソフトウェア科学 3)

 ※テスト範囲のみ

 コンピュータサイエンス入門 
 

 コンピュータネットワーク入門
 

 数値計算
 基本情報、応用情報の参考書をぺらぺら

論理回路、数理基礎の基本的なことを
 知っている友人や先生に教えてもらった

範囲が相当広いので、情報のあらゆる分野を
網羅して思考力をある程度つけておけばいいと思います。
 

英語

  5年の4月から毎日1和訳と1英作文を2ヶ月やりまくった
  先生に提出しアドバイスを求めまくりました

  ただし、TOEICの勉強を3〜4年生の時にして820点に達する
  程度には文章を読んでいました。
  語彙はめちゃくちゃ少ないし、文法わかりません。

面接

  すべての試験が終わってから当日にあります
  面接官は学科の先生がほぼ全員?いるのでは?多いです。
  質問内容
   志願理由、志望動機
   どんなプログラムを書いてきたか
   研究内容
   今後の目標
   数学の試験内容の質問
   数学が多いけど大丈夫?
   情報は基礎的なことをやるけど大丈夫?

  雰囲気は堅くないです。研究に対するアドバイス
  数学に対するアドバイスをいただけました。


試験終了直後の自己評価なのですが
数学:8割
情報:6割
英語:9割
面接:7割

といった自己評価です
面接に関しては事前にポートフォリオを作成して
配布しようと思ったのですが5部ほどしか持ち合わせていなく
とっさの判断で取りやめました

なんというか、ここで学びたい!
パソコンが大好きだ!という熱い想いが
届いたのだと思います。
よかった。

この場をお借りして謝辞させていただきます。
受験寸前まで支えて下さり、
受験に役立つことをしてくださった
和希、文ちゃん、大城さん、
日置さん、村上、レオンくん、島村先生
石原先生、西口先生、大槻先生、両親。
 
そしてこの1年間ずっと私に時間を
割いて下さった恩師、森川先生。
ありがとうございました。

とても楽しい受験でした。
 

チーズについて

チーズが好きでたまらないので

ちょっとチーズについて調べてみた

 

チーズは大きく分けて

ナチュラルチーズプロセスチーズがある

プロセスチーズはナチュラルチーズを加工して

作ったものである

 

ということでナチュラルチーズについて詳しく

書いていく

 

チーズの種類は硬さ、成熟法、味によって

ざっと7タイプに分けることができる

・フレッシュタイプ(軟質チーズ)

・白カビタイプ(軟質チーズ)

・ウォッシュタイプ(軟質チーズ)

・シェーブルタイプ(軟質チーズ)

・青カビタイプ(半硬質チーズ)

・セミハードタイプ(半硬質チーズ)

・ハードタイプ(硬質チーズ、超硬質チーズ)

・シェーブルタイプ(山羊乳)

 

では、1つ1つ詳しくみていくヽ(*´∀`)ノ

 

フレッシュチーズ

成熟させていないチーズを指す

比較的水分が多く、軽い酸味があるのが特徴

 

クリームチーズ、カッテージ、モッツァレラ(伊)

ブルサン(仏)、マスカルポーネ(伊)、フェタ(希臘)、バノン(仏)、

エトオスト(那威)(別名、ゴートチーズ)、ブルソー(仏)、リコッタ(伊)、フィオレオ(伊)、

フロマージュ(仏)などがある。

 

スキクイーン (Ski Queen) ゴートチーズ (GJETOST)

キャラメル風味のイエトオスト。食べてみたい( ´ ω ` )

ブルソークリームチーズ

ブルソーは高級チーズとしてお馴染みらしい

 

イタリア産 フレッシュチーズ リコッタ 250gリコッタはホエーでつくられたヨーグルトのようなチーズらしい

チーズとヨーグルトの中間なんて夢のようだ

 

白カビチーズ

 

表面が白いカビで覆われているチーズのこと

切断した内部はクリーム色で、成熟がすすむにつれて、表面に赤茶色の斑点ができ

流れ出すほどに中身が柔らかくなるそう

 

カマンベール、クロミエ(仏)、クタンセ(仏)、

ブリヤ・サヴァラン(仏)、バラカ(仏)、ヌシャテル(仏)、

ボニファッツ(独)、シュプレーム(仏)

カマンベールチーズ250g AOC

カマンベールの本御所、カマンベールドゥ・ノルマンディは

今年中にお目にかかりたい・・・!

ブリア・サヴァラン(フレッシュチーズ)ブリヤ・サバラン 約200g フランス産

ブリア・サヴァランの刺激的な酸味を味わいたい

 

ウォッシュチーズ

ウォッシュチーズとは外皮を塩水や酒で

洗いながら成熟させてチーズのこと

リヴァロ(仏)、タレッジオ(伊)、マンステル(仏)、

ポン・レヴェ-ク(仏)、エポワス(仏)、ルクロン(仏)

マロワール(仏)

 

フランス産 ウォシュチーズ マロワール 200g

ルイ11世やアンリ4世も愛したチーズだそう

僕も愛してみたい

 

セミハードチーズ

工程の中でプレスし、水分量を少なくしたチーズ

クセがなく、食べやすい

 

ビアンゴ(独)、フォンティナ(伊)、コルビー(米)、

ゴーダ(蘭)、マリボー(丁抹)、ロイアルプ(瑞西)、チェダー(伊)

 

KIRKLAND コルビージャックチーズ 907g Colby/jack Cheese 要冷蔵

アメリカの食卓には欠かせないチーズらしい

 

 

マリボー 約300g

日本でもお馴染みのマリボーチーズ(知らない)

 

青カビチーズ

別名ブルーチーズでお馴染みのチーズ

青カビをカード(牛乳とチーズの間?)に

混ぜて、成熟させたもの

 

 世界3大ブルーチーズ

ロックフォール(仏)

ロックフォール AOC 約100g

 

 スティルトン(英)

スティルトン 1/8カット約170g

 

ゴルゴンゾーラ(伊)

ゴルゴンゾーラ・ピカンテ 1/8カット約170g

 

 

ハードチーズ

セミハードよりもさらにハードなチーズ

重量のあるチーズ。美味しそう。

 

グリュイエール(瑞西)、エメンタール(瑞西)

ペコリノ・ロマノ(伊)、エダム(蘭)、スプリンツ(瑞西)

パルミジャニーノ・レッジャーノ(伊)

 

エメンタール   約300g

 エメンタール。よくアニメとかでみかける

 

エダムチーズ (赤球) 約1.6Kg

表面が真っ赤なチーズ、エダムヽ〔゚Д゚〕丿

 

シェーブルチーズ

山羊の乳を原料としたチーズです

 

ラヴァンセ(仏)、プリニー・サン・ピエール(仏)

シェーブルチーズ プリニ サンピエール

プリニー・サン・ピエールです

シェーブルチーズはピラミッド型してるものも多いです

 

 

ざっとこんな感じにまとめてみました

食べたこのないチーズばかりで人生損してると

思いました。もっとチーズ食べよう。

 

 

 

 

ideapad yogaにUbuntu13.04いれるメモ

 

 

高専1年の時にNECのノートPCにデュアルブートさせようとして

HDDごとフォーマットしてしまった苦い思い出があるのでビビリながらも

今回タイトルのような環境で構築した場合の覚書を書いておく

 

ここを参考にしながら作業しました

 

とりあえずUbuntu 13.04(日本語 Remix)

iosでダウンロード

Universal USB Installerを使ってUSBにイメージを展開

ここを参考にさせていただく

このときステップ2でiosファイルがパス上にないので

ダウンロードしたiosファイルの名前をubuntu-13.04-desktop-i386に変更

 

定番のBIOS設定。ideapad yoga13なのですがなかなか

USB起動してくれない。F2は入れるけどF12は完全無視される

 

f:id:sugspi:20130625223443j:plain

で,ここを爪楊枝などなどでぽちっとおして

USB起動を選んで起動する。

 

あとはUbuntuさまの指示通りにすすめる

 

で、再起動するとWindows8が立ち上がるので

今度はF2を押すかもっかいボタンを押すかして

BIOSに入ってBootの項目でUbuntuをfirstにする

Ubuntuを起動してみたものの,ん?

ネットワークデバイスがありませんと宣言されました

 

自分じゃどうしようもなかったのでセキュキャンのスレで聞いた

竹迫さん,忠鉢さんには大変お世話になりました.

GitHubからcloneして」って聞いたときは

意味がわからなかったです.

 

ここからzipで落としてUSBに展開した.(Windowsでの作業)

/root 直下に展開したrtl8723au-masterをcp

# make

#make install

#insmod 8723au.ko

 

 うまく行かないときはここみてください

マニュアルとか入ったzipがあります

ちなみに僕はこっちのファイルではうまくいかなかった

RTL8723AS-VAU linux driver.zip

 

次は開発環境構築ですね