barilog

エンジニアリング見習い雑記

学術論文からNLPを用いてファクトを抜き出す

論文からファクトを抜き出す技術についてこんなやりとりが全脳アーキテクチャであった。
紹介されている論文については今週読む。
 

どなたかご存知の方にお聞きしたいのですが、
神経科学・医療・生物学系などの論文から、自然言語処理でファクトを抜き出すような技術は今はどのあたりまでできるようになっているのだろうか?たとえば、「海馬CA1 contains 場所細胞」とか抜き出せるとか。
そうではなくて、むしろデータベース化が進んでいるとか?

2,005年くらいのBioinformaticsの状況は知っているが、DL以降はどのくらい良くなったか知らないもので。。。

 
 
いいね!
 
コメントする
コメント
中川 裕志 深層学習がよいという話はありえそうですが、こういう難しい問題に適用して成功した話は私は聞いていない(ただし、私はもはや自然言語の研究者でないので、嘘を言っているかもしれないです😅
ちなみに機械翻訳は深層学習で劇的に改善しましたが、実は意味を理解して翻訳しているわけではないので、異なるメディアの間での変換という形になるので、かなり楽なケース。(注:日本語というメディアから英語というメディアへという意味)
1
管理する
 
いいね!他のリアクションを見る
返信1時間前
秋山理 昨年kaggle において 分子生物学の論文のテキスト情報からその論文で扱われている遺伝子の性質を判別するコンペティションが開かれています。
https://www.kaggle.com/c/msk-redefining-cancer-treatment
管理する
 
いいね!
 
返信1時間前
礼王 懐成 意味解析の分野で、AMR(Abstract Meaning Representation)が最近注目されおり、述語項構造+概念情報(固有名詞、時間情報などのエンティティ)+ 文脈情報(共参照,談話構造)についての情報表現ができるのが特徴です。
ARMとLSTMを組み合わせた研究もあり、以下の論文のようにBiomedical イベント情報抽出などにも応用されています。
http://www.aclweb.org/anthology/W17-2315
2
管理する
 

np.dot(a, b)で計算できるaとbの組み合わせ

np.dot(a, b)で計算できるaとbの組み合わせ

内積計算において、次元を合わせる作業は必須である。

しかし、np.dotにおいては1次元配列と多次元配列の計算においてはなぜか次元が合わなくても計算できてしまう現象が発生する。

 

本記事の目的は、np.dot(a,b)で次元が合わなくても計算が実行される際、どんな計算が行われているのかを実験により明らかにすることである。

 

 

実験1

x = [[1,2,3],[2,3,4]] #(2,3)
W = [[1,3,4],[2,3,4],[2,3,4]] # (3,3)
np.dot(W, x)

 

ValueError: shapes (3,3) and (2,3) not aligned: 3 (dim 1) != 2 (dim 0)


実験2
x = [[1,2,3],[2,3,4]] #(2,3)
W = [[1,3,4],[2,3,4],[2,3,4]] # (3,3)
np.dot(x, W)
array([[11, 18, 24],
       [16, 27, 36]])

実験3
x = [1,2,3] #(1,3)
W = [[1,3,4],[2,3,4],[2,3,4]] # (3,3)
np.dot(W, x)
array([19, 20, 20])

実験4
x = [1,2,3] #(1,3)
W = [[1,3,4],[2,3,4],[2,3,4]] # (3,3)
np.dot(x, W)
array([11, 18, 24])



実験5

f:id:barisuke:20180614111955p:plain

実験6
x = [[1],[2],[3]] #(1,3)
W = [[1,3,4],[2,3,4],[2,3,4]] # (3,3)
np.dot(W, x)
array([[19],
       [20],
       [20]])



実験1,2より
多次元配列と多次元配列の計算の場合は、引数の順番を合わせる/またはtransposeすることにより次元を合わせる必要がある 

実験3,4より
一次元配列と多次元配列の計算の場合は、次元が合わない場合勝手にtransposeが起こる。

ということがわかった。

つまり、

np.dot()において

次元が合わなくても計算ができてしまうのは

1次元配列と多次元配列の内積計算の時のみで、その時は1次元配列の転置が自動的に行われるということである。

 

「基礎からのMySQL」のまとめをつくってみた!

webサービスを作る際に大量のデータから必要なデータを選んで加工してユーザーに見せる!

みたいなことが求められることがあります。

 

そういうときに必要なのがSQLの知識ですね。前々回の記事でamazonで商品をカートに入れるプログラムを紹介しました。

 

このプログラムでは実は色んな商品情報を取得してます。これらの情報を保存しておき、カートに入れた商品の情報を確かめられるようにする!そのための勉強というのが今回の目的です。

 

 

SQLに関しては簡単な知識しかなかったため、勉強がてらこちらの本を借りてきました。

amzn.asia

 

SQLはデータを構造的に保存するためのデータベースと呼ばれる仕組みの一つです。

データベースを扱う人はほとんどSQLを用いてます。

 

さらに、このSQLを操作するために、色々なシステムがあります。

その中でもオープンソースつまり無料で最もシェアが高いシステムがMySQLです。

 

データベースの初心者の方が学ぶシステムとしては最適でしょう。

 

それではこちらの本のまとめを書いていきます。

目次

1 MySQLの概要

2 MySQLの環境設定

3 MySQLの基礎知識

4 データベースの作成

5 データ型とデータの入力

6 データを改造する

7 テーブルやレコードをコピー・削除する

8 色々な条件で抽出する

9 データを編集する

10 複数のテーブルを利用する

11 ビューを使いこなす

12 ストアドプシージャを使いこなす

13 トランザクションを使いこなす

14 ファイルを使ったやり取り

15 MySQLを利用するためのPHP

16 PHPの基礎知識

17 PHPスクリプトとHTML

18 PHPスクリプトMySQLを操作する

19 PHPMySQLで簡単掲示板を作る

20インターネットに公開するときの対策

21 ちょっと実用掲示板の作成

appendix1 phpMyAdiminの利用

appendix2 問題解決チェックシート

appendix3 MySQL基礎練習

 

DeepLearningを使って、安倍首相のフィギュア引退会見の動画を作ってみた

こんにちはbarisukeです。

今回はディープラーニング技術を使って「安倍首相のフィギュアスケート引退会見動画」を作ってみました。な、何を言ってるかわからねー。。何を言っているんだこいつは。。という人は次の動画を見てください。

 

youtu.be

※盛大に音ズレあり。

 

 

ところどころ、元の本体である浅田真央が見え隠れしてます。

 

特に泣きそうになって横を向いたときに、ほぼ浅田真央が出現してます。癒やしです。

 

 

しかし真正面を向くと安倍首相が復活してしまい、大変残念な気持ちになります。

 

 

 

これはディープラーニングを使って、動画の人物の顔を他人の顔似入れ替えるということをおこなってます。

 

今回はdeepfakesという技術を使いました。元のコードはこの人のgithubにあります。

https://github.com/deepfakes/faceswap

 

動画の作り方は以下のqiitaの記事を参照しました。

qiita.com

 

この技術は、fakepornoというAV動画の女優の顔を入れ替えた作品群が作られたことをきかっけに有名になりました。

詳しい技術的な紹介じゃ省きますが、知りたい方はこちらのリンクを見てください..と思って資料を探そうと思ったんですが、なかなか日本語で解説している記事がありませんね。あとで私が書いてみます。

 

とりあえずは上のqiitaの記事を参考につくってみてください!

 

amazonで自動で商品を選んでカートに入れるプログラムを作ってみた

こんにちはbarisukeです。

 

この記事ではamazonで自動で商品買うためのプログラミング方法を紹介します。

 

 

まず最初に今回できあがるであろうプログラミングコードを紹介します。

github.com

※参考になったら"star"ボタン押していただけるとめちゃ嬉しいです。

 

〜〜コードを動かす手順〜〜

1 Python3環境を構築する

1.1 anacondaのインストール

 

2 zipファイルをダウンロードする

 2.1https://github.com/barisuke/amazon_scrayping/archive/master.zip

 

3 pipで必要なパッケージをインストール

3.1 コマンドプロンプト(ターミナル)を開いてrequirements.txtがあるフォルダ(ディレクトリ)に移動

3.2 pip install -r requirements.txt のコマンドをうつ

 

4 コードを動かしてみる

4.1 コードの中のURL, TARGET_WORDS, TARGET_PRICE_RATEを好みのものに書き換え、上書き保存

4.2 python amazon_scrayping.pyとコマンドをうつ

4.3 うまくいくように祈る

 

 

 以上がコードを動かす手順です。

 

補足:

4.1に関して

 

URLは

www.amazon.co.jp

のようにamazonの検索窓で検索したあと表示されるURLをつかってください。

f:id:barisuke:20180416032351p:plain

 このような商品の一覧が出てくる画面のURLをコピってください。

 

プログラムではここで中古品が存在する商品のurlを全部取得します。

 

その後

f:id:barisuke:20180416032549p:plain

のように中古品のページに自動的に遷移します。

 

このプログラムでは以下の基準で商品をカートに入れます。

 

1.指定した語句が「コンディション」の文中にあるか?

「コンディション」の文に注目し、TARGET_WORDSで指定された語句(未開封 綺麗など)が全てコンディションの文中に入ってる商品のみを選択します。

 

2.「商品価格+配送料」が新品のそれよりもお得か?

「商品価格+配送料」を取得し、新品の価格との比較を行います。

「商品価格+配送料/新品価格を計算し、これがTARGET_PRICE_RATE以下の商品のみを選択します。

 

例えばTARGET_PRICE_RATEが0.5だった場合、上の商品はこの画像では映ってませんが新品価格が16960円であり、中古商品の最安のものが8580+350=8930円ですね。16960円*0.5は8800円なので、最安のものでも130円オーバーでアウトです。

ですので、TARGET_PRICE_RATE=0.5に設定した場合、このページではどの商品もカートに入りません。

 

 

 

【読書】誰も教えてくれない起業のリアル

・普通の経営者のビジネスの種の生み出し方

その一、「どうやって人を怠けさせるか」を考える

その二、これからのビジネスを見つける

その三、思い入れのある物事を探す

その四、誰かを騙す商売はやらない

 

 

・商品のプレゼンは関係者に自ら行うべき。

窓口対応部署にプレゼン資料してそレヲ意思決定者に届けて、とお願いしても100%受注されません。必ず意思決定者の前で自分がプレゼンしましょう。それもその過程までに、部署をたらい回しされるかもしれませんが、その都度プレゼンしましょう。

 

 

・経営者が財務会計を知っておきましょう。

税理士は確実な仕事をするため、また賠償を回避するためにお得な情報を教えてがりません。。なので、会社にとって本当に節税になることは会社にしか把握できません。勉強しましょう。

 

・基本財務三表を知っておきましょう。

会社の経営状況がどうなっているか経営者が把握するため。経理などに任せていたら、実際の経営の状況を把握できないことが多い。具体的に何を把握するのか!?=>経営者は事業単位で資本金の増減や資金の動きを分析できるとともに、それが年間の利益にどう影響したのかも把握することができるようになりますよ!

 

・雇う人数の目安は4の人数に6の仕事

四人いたら六人分の仕事を常に与えよ、ということ、そしてその比率で人を雇え。