2015年1月25日日曜日
2015年1月21日水曜日
「人工知能」「自然言語処理」の求人がない!
諸般の事情により就活中ですが、以前にもお世話になった「リ○ナビNEXT」に登録して、仕事を調べています。
前職も「リ○ナビNEXT」で見つけて就職できたので、今回もその恩恵にあずかればと思っていたのですが…
「自然言語処理」や「人工知能」で検索しても、一件もヒットしませんねー
『自然言語処理では食っていけない』のでしょうか…
もうしばらく、もがいてみます…
前職も「リ○ナビNEXT」で見つけて就職できたので、今回もその恩恵にあずかればと思っていたのですが…
「自然言語処理」や「人工知能」で検索しても、一件もヒットしませんねー
『自然言語処理では食っていけない』のでしょうか…
もうしばらく、もがいてみます…
2015年1月9日金曜日
世間とのズレ、あるいは、「自然言語処理」もしくは「人工知能」に関する一般の認識?
一般の方々との認識のズレに関する事例をいくつかご紹介します。
昨年末、何人かの方とお話ししていたときの会話の一部です。
個人の特定を避けるため実際の会話から加工してあります。
・知識がないのでずれた解釈
私 「自然言語処理をやってます」
A氏「?」
私 「えーと、大枠で言えば、人工知能的なものです」
A氏「おー、すごいですね!人工知能ですか」
私 「いや、その中の自然言語処理…」
A氏「?」
私 「えーと、日本語とかを解析してですね…」
A氏「ああ、SiriとかAsimoみたいな」
私 「…ええ、まあそんな感じです(そこはAsimoじゃないだろ…)」
A氏「つまり音声認識ですね!」
私 「(いや…そうじゃなくて…)」
・昔それなりにやっていて、最近の状況は理解拒否
B氏「機械学習って最近ではどんなことをやってるんですか?」
私 「最近では、DeepLearninngとかが注目されてますね」
B氏「?」
私 「えーと、NeuralNetworkをご存じですか?
大まかに言うとそれの改良版みたいなものです。」
B氏「ああ、はやりましたね、昔…でも、すぐに消えましたね。実用にならないですよね。」
私 「でも、最近ではGoogleなんかが画像認識で…」
B氏「いやいや、NeuralNetworkはだめですよ」
私 「(…トラウマがあるのかな?)」
・少し知識があるがゆえに夢を見る
私 「自然言語処理をやってます」
C氏「形態素解析とか?」
私 「はい、そうです。(いい感じ!)」
C氏「Twitterの解析とかできます?」
私 「(Tweetの解析かな?)はい、できますよ」
C氏「実は、TwitterやFacebookを解析して、
そこから個人の嗜好や友人関係・活動地域などを特定して、
その人に特化した広告をDMで送ろうという企画を考えているんですけど…」
私 「(いやいや、それスパムでしょ…
それ以前に、個人の嗜好と広告のマッチングは、どのレベルで考えてる?
友人関係・活動地域ってリアルまで収集するつもり?
ていうか、解析するTweet文はどうやって収集するつもりなんだろ?
計算量とか、データサイズとかは?
…思いついただけで満足して、実現方法何も考えてないな、この人…)」
昨年末、何人かの方とお話ししていたときの会話の一部です。
個人の特定を避けるため実際の会話から加工してあります。
・知識がないのでずれた解釈
私 「自然言語処理をやってます」
A氏「?」
私 「えーと、大枠で言えば、人工知能的なものです」
A氏「おー、すごいですね!人工知能ですか」
私 「いや、その中の自然言語処理…」
A氏「?」
私 「えーと、日本語とかを解析してですね…」
A氏「ああ、SiriとかAsimoみたいな」
私 「…ええ、まあそんな感じです(そこはAsimoじゃないだろ…)」
A氏「つまり音声認識ですね!」
私 「(いや…そうじゃなくて…)」
・昔それなりにやっていて、最近の状況は理解拒否
B氏「機械学習って最近ではどんなことをやってるんですか?」
私 「最近では、DeepLearninngとかが注目されてますね」
B氏「?」
私 「えーと、NeuralNetworkをご存じですか?
大まかに言うとそれの改良版みたいなものです。」
B氏「ああ、はやりましたね、昔…でも、すぐに消えましたね。実用にならないですよね。」
私 「でも、最近ではGoogleなんかが画像認識で…」
B氏「いやいや、NeuralNetworkはだめですよ」
私 「(…トラウマがあるのかな?)」
・少し知識があるがゆえに夢を見る
私 「自然言語処理をやってます」
C氏「形態素解析とか?」
私 「はい、そうです。(いい感じ!)」
C氏「Twitterの解析とかできます?」
私 「(Tweetの解析かな?)はい、できますよ」
C氏「実は、TwitterやFacebookを解析して、
そこから個人の嗜好や友人関係・活動地域などを特定して、
その人に特化した広告をDMで送ろうという企画を考えているんですけど…」
私 「(いやいや、それスパムでしょ…
それ以前に、個人の嗜好と広告のマッチングは、どのレベルで考えてる?
友人関係・活動地域ってリアルまで収集するつもり?
ていうか、解析するTweet文はどうやって収集するつもりなんだろ?
計算量とか、データサイズとかは?
…思いついただけで満足して、実現方法何も考えてないな、この人…)」
2015年1月6日火曜日
Windows7 の Ruby 2.1 x64 にお手軽にnokogiriをインストールする
RubyでHTMLファイルを解析する際には「nokogiri」が非常に便利です。
Linuxではなんの問題もなく使うことができるのですが、Windows7上の64bit版rubyでインストールしようとすると、エラーがでてすんなり使うことができません。
調べてみると、他の方々も苦労しているようです。
そんな中、たまたま見つけたこちらの方法を試してみたら問題なく動作しました。
その方法は「aws-sdk」のgemをインストールする、つまり、「gem install aws-sdk」を実行するだけです。
これを実行するとライブラリなどは自動でインストールされます。メッセージを見ると32bit版が入っているものもあるかもしれません。また「nokogiri」以外の(本来必要でない)モジュールもインストールされます。
それでも、自分でライブラリをダウンロードしたりコピーしたりすることなく、「nokogiri」が動いてくれるのはありがたいことです。
Linuxではなんの問題もなく使うことができるのですが、Windows7上の64bit版rubyでインストールしようとすると、エラーがでてすんなり使うことができません。
調べてみると、他の方々も苦労しているようです。
- Windows 7 に Ruby 2.0 x64 を その1 ~Nokogiri が入らない問題と対策~
- [Ruby] てっとり早く 64bit Rubyに,nokogiriをインストールする手順
- HTML parsing by Ruby
- Can't install Nokogiri for Ruby in Windows
- Error installing nokogiri
そんな中、たまたま見つけたこちらの方法を試してみたら問題なく動作しました。
その方法は「aws-sdk」のgemをインストールする、つまり、「gem install aws-sdk」を実行するだけです。
これを実行するとライブラリなどは自動でインストールされます。メッセージを見ると32bit版が入っているものもあるかもしれません。また「nokogiri」以外の(本来必要でない)モジュールもインストールされます。
それでも、自分でライブラリをダウンロードしたりコピーしたりすることなく、「nokogiri」が動いてくれるのはありがたいことです。
2015年1月5日月曜日
人工知能学会誌 Vol.30 No.1 2015/1 表紙
あけましておめでとうございます。
昨年(2014年)は、新しい表紙デザインを発表し年頭から話題を提供してくれた「人工知能学会誌」ですが、様々な意見・反響を踏まえて、今年の表紙は次のようになっていました。
前面にいるのは、『蟻』をモチーフにしたエージェントということらしいです。
なお、本誌中でこの表紙になった経緯を伝えています。
次回以降もこの『蟻』が使われるのかどうかはわかりませんが、今年はこういう路線で行くようです。
昨年(2014年)は、新しい表紙デザインを発表し年頭から話題を提供してくれた「人工知能学会誌」ですが、様々な意見・反響を踏まえて、今年の表紙は次のようになっていました。
前面にいるのは、『蟻』をモチーフにしたエージェントということらしいです。
なお、本誌中でこの表紙になった経緯を伝えています。
次回以降もこの『蟻』が使われるのかどうかはわかりませんが、今年はこういう路線で行くようです。
2014年12月19日金曜日
特異値分解(SVD)参考リンク集
特異値分解(SVD)参考リンク集です。
ある程度の規模のデータを統計処理しようとすると、何らかの形で特異値分解が必要になってきます。
以下に、特異値分解関連での参考リンクをまとめておきます。
ある程度の規模のデータを統計処理しようとすると、何らかの形で特異値分解が必要になってきます。
以下に、特異値分解関連での参考リンクをまとめておきます。
特異値分解とは
ライブラリ
-
Singular Value Decomposition @ GNU Scientific Library
- License : GNU General Public License, version 3 ?
- Language : C/C++
-
redsvd : RandomizED Singular Value Decomposition
- License : New BSD License
- Language : C++
- Eigenが必要
-
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- License : Mozilla Public License 2.0
- Language : C++
-
Armadillo : C++ linear algebra library
- License : Mozilla Public License 2.0
- Language : C++
-
I-SVDライブラリ @ 京都大学 中村・辻本研究室
- License : I-SVDライブラリ利用規約
- Language : C++
言語/ツール系
それぞれ、行列操作およびsvd関数が含まれています。
手軽に動作を試したい場合には、これらが便利かもしれません。
手軽に動作を試したい場合には、これらが便利かもしれません。
-
GNU Octave
- MATLAB 互換のプログラミング言語
- GNU Octave (本家)
- Extra packages for GNU Octave
- GNU Octave @ ウィキペディア
- Octave入門 ~インストールから簡単な使い方まで~
-
R言語
- S言語を参考として開発されたプログラミング言語
- The R Project for Statistical Computing (本家)
- R言語 @ ウィキペディア
- R のインストール
-
Weka (Waikato Environment for Knowledge Analysis)
- ニュージーランドのワイカト大学で開発した機械学習ソフトウェア
- Javaで書かれている(実行にJava環境が必要)
- Weka 3: Data Mining Software in Java (本家)
- Weka @ ウィキペディア
- Weka入門
2014年12月11日木曜日
クローズアップ現代「広がる“読書ゼロ” ~日本人に何が~」(2014/12/10)をみて思ったこと
昨日(2014/12/10)のクローズアップ現代「広がる“読書ゼロ” ~日本人に何が~」をみました。
前半は、筑波大学の教授による学生に対する実験の映像が流れました。
後半は、立花隆氏をスタジオに迎えて、この問題について話し合われました。
タイトルと、前半の実験から、NHKが主張あるいは誘導したい方向性が見えてきます。
どこから突っ込んだものやら、と思っていたのですが、立花隆氏が的確に切り込んでくれました。
抜粋します。(うろ覚え)
これまで立花隆氏に対してはよい印象を持っていなかったのですが、(NHKの思惑に反して?)まっとうな突っ込みを入れていたのを見て、考えを改めることになりました。
番組では、インターネットの検索がダメで紙の本がいいというように誘導したかったのかもしれませんが、立花隆氏のおかげで、見事に失敗しています。
さらに、2点ほど突っ込んでおきます。
ここまで書いて気がついたのですが、そもそも冒頭の実験を提示することによって、“読書ゼロ”であることの問題点が見えなくなってしまったのではないでしょうか…
前半は、筑波大学の教授による学生に対する実験の映像が流れました。
読書量の多い学生と少ない学生を合わせて4名に小論文の課題を出します。
まず全員がインターネットでの検索から始めます。
その後、読書量の少ない学生は最後までインターネットの検索にたより、その結果、大部分をコピペ・引用で、自分の意見は2~数行。しかも引用した内容とのつながりが希薄あるいは皆無であり、さらに独自の視点に立ったものがありません。
一方、読書量の多い学生は、途中で図書館から本を探してきて、その中から独自の視点を見いだし、それに基づいた論文を組み立てることができていました。
また、インターネットを検索するときの目の動きから、一つの検索結果が有効かどうかを判断する時間も1秒以内ということも分かりました。
まず全員がインターネットでの検索から始めます。
その後、読書量の少ない学生は最後までインターネットの検索にたより、その結果、大部分をコピペ・引用で、自分の意見は2~数行。しかも引用した内容とのつながりが希薄あるいは皆無であり、さらに独自の視点に立ったものがありません。
一方、読書量の多い学生は、途中で図書館から本を探してきて、その中から独自の視点を見いだし、それに基づいた論文を組み立てることができていました。
また、インターネットを検索するときの目の動きから、一つの検索結果が有効かどうかを判断する時間も1秒以内ということも分かりました。
後半は、立花隆氏をスタジオに迎えて、この問題について話し合われました。
タイトルと、前半の実験から、NHKが主張あるいは誘導したい方向性が見えてきます。
どこから突っ込んだものやら、と思っていたのですが、立花隆氏が的確に切り込んでくれました。
抜粋します。(うろ覚え)
- インターネットは、その先にある膨大な全人類の知識に到達することができるものでありすばらしいものである
- 論文を書けるかどうかと言うのは、その知識を使ってどうするのかということであり、インターネットの検索だからどうこうということではない。
- これまで、新聞を読んでいるときでも、見出しを見てその記事を読むかどうかを判断するのは1秒くらいであったはずである。インターネットの検索だからというのはおかしい。
- 読書によって得られるのは「知(知識)」「情(感情)」「意(意志/意思)」というものがある。「知」以外の部分にも目を向けるべきである。
- 読書は重要である。「情」や「意」を読み取り、自身の指針とすることができる。
これまで立花隆氏に対してはよい印象を持っていなかったのですが、(NHKの思惑に反して?)まっとうな突っ込みを入れていたのを見て、考えを改めることになりました。
番組では、インターネットの検索がダメで紙の本がいいというように誘導したかったのかもしれませんが、立花隆氏のおかげで、見事に失敗しています。
さらに、2点ほど突っ込んでおきます。
- インターネット検索ではダメで本を読まないと正しい知識が得られないか?
-
IT系の業務をしてきた立場からすると、これはむしろ逆で、最新の知識/情報を得るためにはインターネットを使うべきであり、使わざるを得ません。本になっているような情報は古くて役に立たない場合が多くあります。
-
IT系の業務をしてきた立場からすると、これはむしろ逆で、最新の知識/情報を得るためにはインターネットを使うべきであり、使わざるを得ません。本になっているような情報は古くて役に立たない場合が多くあります。
-
実験映像では、一番読書量が多い男性学生が図書館に向かい、『検索結果の記事で参考文献になっていた本と、たまたま目にした本を持ってきました』とナレーションが入っていました。そして、たまたま目にした本の中の文章から独自の視点を構築していったと続けています。
-
しかし、インターネット検索するときにも同じようなことをしているのではないでしょうか?
検索結果を見たときに、関連記事を見たり、その記事中に出てきた別の表現で再検索したり、あるいは著者の論文一覧を見たり、さらに共著者の論文を見たり…
そういった中で、最初考えていたものよりもさらに良いものを見つけることは少なくありません。
つまり、よりよい情報にたどり着くかどうかはインターネットも本も関係ない話です。
-
しかし、インターネット検索するときにも同じようなことをしているのではないでしょうか?
ここまで書いて気がついたのですが、そもそも冒頭の実験を提示することによって、“読書ゼロ”であることの問題点が見えなくなってしまったのではないでしょうか…
2014年12月8日月曜日
単語から文へ…:paragraph2vec関連まとめ
次のような記事を見つけました
「雑談」でさえ、話が噛み合わない人の思考メカニズム (2014/11/28)
この記事は「人間」の話ですが、「機械」でも同じことがいえるのではないかと思い至りました。
つまり、現在の「機械」による解析は単語を対象としたものがほとんどで、文・文書を扱っていたとしても、単語の集合あるいは統計情報としてであり、文の意味を理解などはしていません。
その先に進むためには、「人間」のみならず「機械」でも文(Sentence)の理解が必要となっていくと考えるのは当然の流れに思えます。
文(文書)間の意味的関係がわかれば、上記の記事の問題は解決できそうです。
word2vec では、単語をベクトル表現し、単語間の関係性を表していますから、これを拡張して、文や文書に適用できないでしょうか?…
…などと考えていたところ、すでにMikolov氏らによる論文がありました。
この論文では、ParagraphVectorの作成方法、および、他の手法との比較を行っています。明示されてはいませんが、「word2vec」からの類推で「paragraph2vec」に相当する手法のようです。ただし、該当するプログラムは公開されていないようです。
他の方が、この論文を参考に実装していました。
いくらか処理を簡略化?しているみたいです。
「雑談」でさえ、話が噛み合わない人の思考メカニズム (2014/11/28)
この記事は「人間」の話ですが、「機械」でも同じことがいえるのではないかと思い至りました。
つまり、現在の「機械」による解析は単語を対象としたものがほとんどで、文・文書を扱っていたとしても、単語の集合あるいは統計情報としてであり、文の意味を理解などはしていません。
その先に進むためには、「人間」のみならず「機械」でも文(Sentence)の理解が必要となっていくと考えるのは当然の流れに思えます。
文(文書)間の意味的関係がわかれば、上記の記事の問題は解決できそうです。
word2vec では、単語をベクトル表現し、単語間の関係性を表していますから、これを拡張して、文や文書に適用できないでしょうか?…
…などと考えていたところ、すでにMikolov氏らによる論文がありました。
-
Distributed Representations of Sentences and Documents
この論文では、ParagraphVectorの作成方法、および、他の手法との比較を行っています。明示されてはいませんが、「word2vec」からの類推で「paragraph2vec」に相当する手法のようです。ただし、該当するプログラムは公開されていないようです。
他の方が、この論文を参考に実装していました。
いくらか処理を簡略化?しているみたいです。
- sentence2vec : Tools for mapping a sentence with arbitrary length to vector space
- models.doc2vec – Deep learning with paragraph2vec
- Python (gensim)
関連情報
- word2vec の次は、Paragraph2vec... (2014/09/06)
- sentence2vec 動かした (2014/09/08)
- 光の早さでsentence2vec使ってみた。 (2014/09/09)
- word2vecの後にparagraph2vecが出てきたりしていますが... (2014/11/12)
今日のメモ:気になった論文
- Neural Word Embedding as Implicit Matrix Factorization
- 「word2vecとPMIが等価」(2014/10/08, Kazuma Hashimoto (橋本和真))
- Learning with Recursive Perceptual Representations
- SVMで深層学習?
2014年12月6日土曜日
word2vec関連まとめ
いまさらの word2vec 参考リンク集です。
修正履歴
[2014/12/07] "実際に動かしてみた方々" にリンク追加
Mikolov論文
- 「Distributed Representations of Words and Phrases and their Compositionality」(2013/10/16)
- 「Exploiting Similarities among Languages for Machine Translation」(2013/09/17)
- 「Efficient Estimation of Word Representations in Vector Space」(2013/09/07)
- 「Linguistic Regularities in Continuous Space Word Representations」(2013/05/27)
- 「RNNLM - Recurrent Neural Network Language Modeling Toolkit」(2011/06)
- 「Recurrent neural network based language model」(2010/09)
日本語による解説等
- 「Word2vec」(2014/10/18)
- 「Statistical Semantic入門~分布仮説からword2vecまで~」(2014/02/06)
- 「Distributed Representations of Words and Phrases and their Compositionality」(2014/01/23)
- 「Newral Network Based Language Model」(2013/10/09)
- 「自然言語処理のためのDeep Learning」(2013/09/28) p.105あたり
コード
- word2vec : Tool for computing continuous distributed representations of words.
- License : Apache License 2.0
- Language : C
- gensim : models.word2vec – Deep learning with word2vec
- License : GNU LGPL license
- Language : Python
実際に動かしてみた方々
- Taku Kudo : word2vec で少し遊んでみた。 (2013/08/29)
- Deep-learningはラテン語の動詞活用を学習できるか? (2013/09/05)
- word2vecに英辞郎データを放り込んでみた (2013/09/13)
- 自然言語処理をなにも知らない私がword2vecを走らせるまで (2014/02/19)
- 自然言語処理の最新手法"word2vec"で艦これ加賀さんから乳を引いてみる (2014/03/10)
- ニューラルネットによる単語のベクトル表現の学習 〜 Twitterのデータでword2vecしてみた (2014/03/11)
- 艦これは良く知らないけれど"word2vec"でアイマスのアイドルを検索してみたよ (2014/03/11)
- Magic: The Gathering + word2vec = "card2vec" ~M:TGで自然言語処理~ (2014/03/19)
- word2vecで意味の足し引き (2014/04/01)
- 日米特許のデータを使ってword2vecを試してみた (2014/04/07)
- 意識高すぎて休日にword2vecをいじるしかやることなかった (2014/04/21)
- word2vecにニンジャスレイヤーを解析させてみて思ったこと (2014/05/18)
- 青空文庫のデータを使って、遅ればせながらword2vecと戯れてみた (2014/06/19)
- Word2Vecを使ったトピックトレンドの抽出 (2014/09/30)
- word2vec for Lucene ご紹介 (2014/12/04)
書籍
- 「word2vecによる自然言語処理」(オライリー・ジャパン)
修正履歴
[2014/12/07] "実際に動かしてみた方々" にリンク追加
登録:
投稿 (Atom)

