【Google凄いな】Word2Vec言語獲得 Doc2Vec文章獲得 Seq2Seq意味理解 BERT言語モデルの標準?【シンギュラリティ来るね】

スポンサーリンク
広告

PageRankから始まったんだろうな。。

【行列計算】Googleの機械学習のTensorflowも、SEO PageLankを計算するのが最初だったのかなぁ?【ページランク】
SEO 昨日は、Google文化圏って凄いなぁ~って思って、あれの最初ってなんだったかな?なんて・・ そういえばPageRankだったかな...

ここでも書きましたが。。 Googleは、HPをクロールしていろんな言語のいろんな文章を理解して、検索でほしいものを、提供しようとしています。それもかなり愚直に。。

日本のえらい先生で、AIは文章が理解できない。人間も文章が理解できないって、いってましたが。。そろそろできそうなところまで進んできたような気がします。

で。。

仕事で、調査関係をすると、結構クロールもどきみたいなことをしますし、その要約を作ったりします。ほとんどは、手作業ですけどね。だから。。こういうのも作ってあったりします。arXivから論文を検索してきて、それを日本語に変えて出力するようなJupiterNoteBookとか。。ちょっと便利です(笑)

tom2rd/arXivSearchPython
Search Documents from arXiv with Python and translate - tom2rd/arXivSearchPython

人間の歴史は、ほぼ、どれだけ道具をうまく使いこなせたか? 資本となるものを獲得できたか?で、きまってきていますね。日本人ももっと道具としてこういうのをアレルギーをおこさずに使えばいいのになぁ~って思います。

で。。ちょっと、知り合いになった人たちと、こないだから、議論をするサイト(guest synclon3)を構築したりして、その中で、ファシリテートとか、要約が作られるといいのにな。。って前から思っていて、これは、議論をすることの重要性とか、議論して合意形成するためには、それぞれの人の価値観・背景がわかっていないと、ある時点で議論を打ち止めた時の結論というものが得られないのではないか?ということと、日本人がこのまま駄目になるのは議論がきらいだからじゃないかな?って思っていて。。何かできないかな?って思っていて、議論をできるベースを作ってみたいなと。。

で、技術要素で足りていないのが、議論(英語だと、DiscussionよりもDialogueが近いのかも)の要約がまだいいやつできてないなと。。

Googleくんでは、AutoMLやNatural Language APIで、感情分析までできている。要約ももうすぐ。。ってところでしょうね。

Cloud Natural Language  |  Cloud Natural Language API  |  Google Cloud
機械学習のカスタムモデルと事前トレーニング済みモデルを使用してテキストを分析することで、関連するエンティティの抽出や全体的な感情の理解などができます。
Cloud Natural Language  |  Cloud Natural Language API  |  Google Cloud
機械学習のカスタムモデルと事前トレーニング済みモデルを使用してテキストを分析することで、関連するエンティティの抽出や全体的な感情の理解などができます。

これらは、使いみちとしては、広告の効果を上げるというKPI、検索の精度を上げるというKPIで動いているんでしょうね。

シンギュラリティはやっぱり起こる?

Machine Learning (ML)やAIが汎用な人工知能をもてないって考えている人がまだまだ多いと思うんですが、Word2Vecが出てきた時に、これはヤバイな。。って思ってそれからGoogleの研究を少しだけ注意してみています。

Word2Vecは簡単にいうと、たくさんの文章から、単語の意味を、一緒に使われる単語のベクトルとして、数値で表現する技術です。文字・単語を数値で表したということがすごくて、これで、機械学習とかが楽になるだけじゃなく、ぼくらの脳の中で、行われている言葉の概念形成にとても近いって思うんです。 脳に文字かけませんからね。正確には、単語をベクトルで表現して、単語と単語の類似度を測ることができるんですが、これは、「同じ」「違う」という概念を獲得したと言っていいと思うんです。

この概念で、Doc2Vecという同じような方法で、文章の類似度を学習できるようになり、同じような文章だということが、わかるようになった。それが、Seq2Seqというもので、違う言語間での類似度も計算できて、その学習したMLのネットワークを使って、新しい文章を返せるようになっていました。

今度は、文章の流れを時系列に学習させて、文脈も理解させようとしています。それがVHREDですね。 このVHREDだと、原理的には、ある人の会話をず~っととっておいて学習させると、ほぼその人が答えるように、答えを返すようになるでしょうね。

ここまで来ると、文章の意味理解ができるし、要約もできる。文章の組を作って、あとは学習させるだけ。TPUがたくさんいる訳ですね。

まだ、要約や、ファシリテーションまでは届いていませんが、もう少しのところにきていそうです。

この文章の組を作る多言語のモデル化の仕組みとして、BERTが最近でてきています。

これがいろいろ完成すると、機械が、文脈を理解できるようになって、いろんな変化が起こり始めるでしょうね。

シンギュラリティは2045年と言われていますが、Word2Vecは2013年発表で、Seq2Seqが2017年なので、これから指数的に行くとすると。。今年でしょうね。。Google社内ではもうシンギュラリティは起こっているのかもしれませんね。

怖くもあり、わくわくするところでもありますね。

要約について、Google Colabで動くJupiter Notebookのサンプル作っておきました。

tom2rd/textmining
Contribute to tom2rd/textmining development by creating an account on GitHub.

下のリンクにあるコードをコピペしただけですが。。 ちょっと遊べると思います。

文章要約についての、リンク集

日本でもがんばってる人。。たくさんいるけど。。完全に4年くらい遅れている感じですね。

Build software better, together
GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.
Build software better, together
GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.
Overview - seq2seq
None
TensorFlow Hub
BERT with SentencePiece を日本語 Wikipedia で学習してモデルを公開しました
TL;DR 日本語 Wikipedia で学習した BERT モデルを公開しました yoheikikuta/bert-japanese livedoor ニュースコーパスで finetuning して良い性能を発揮することも確認 まあまあコスト掛かっているので、役に立った場合は BOOTH の商品ページ ...
BERT日本語Pretrainedモデル - KUROHASHI-KAWAHARA LAB
text-vectorian
For getting token embedded vectors for NLP.
HOME - INOUE-KOBO.COM
フリーランスのシステムアーキテクト、機械学習エンジニアです。 技術メモやポートフォリオを公開しています。
Google Colaboratory
Kerasで実装するSeq2Seq -その1 日本語訓練データの準備 - Qiita
 本稿では、Seq2Seq(Sequence to Sequence)モデルによるチャットボットをKerasベースで作成するにあたり、学習用の日本語会話データ収集、整形、品詞分解手順を記述します。 #1. はじめに  Kerasは...
TensorFlowのseq2seqで対話を学習させる | もふもふ技術部
もふもふ技術部は、mofmof inc.のエンジニア達のテックブログです。試してみた技術のログをアップしていきます。

Seq2Seq まとめ - higepon blog
以前作った Seq2Seq を利用した chatbot はゆるやかに改良中なのだが、進捗はあまり良くない。学習の待ち時間は長く暇だし、コード自体も拡張性が低い。そういうわけで最新の Tensorflow のバージョンで書き直そうと思って作業を始めた。しかし深掘りしていくと Seq2Seq の詳細を分かっていなかったこと...
seq2seq の chatbot を日本語で動かしてみた - higepon blog
最近ずっと NN/CNN/RNN/LSTM などで遊んでいたのだけど Seq2Seq の encoder/decoder と word embeddings を理解したかったので Seq2Seq の chatbot を動かしてみた。Keras でフルスクラッチで書いていたのだけど上手く動かず。論文読んでもわからないとこ...
higepon/tensorflow_seq2seq_chatbot
Contribute to higepon/tensorflow_seq2seq_chatbot development by creating an account on GitHub.

Googlecolabでもできるよ。

ここにWord2VecからVHREDまでが詳しくのってます。

DeepLearning における会話モデル: Seq2Seq から VHRED まで - Qiita
こんにちは。 DeepLearning で対話ロボットを作ろうとしているインコです。 この記事は mixi Advent Calendar 2017 の 12/03 の記事です。 # 概要 近年対話モデルとして DeepLearn...

HED-Dialog

julianser/hed-dlg-truncated
Hierarchical Encoder Decoder RNN (HRED) with Truncated Backpropagation Through Time (Truncated BPTT) - julianser/hed-dlg-truncated

番外編 ここいろいろ乗ってる

にほんごのれんしゅう
日本語として伝えるための訓練を兼ねたテクログ

Bot Slack ノンコード

Microsoft Azure |

コメントを残していただけるとありがたいです

Loading Facebook Comments ...
%d人のブロガーが「いいね」をつけました。