RNNで言語モデルを作るための理論

代表の島田です。scoutyでは、10/14 と 10/28 に下記の機械学習講習会を行いました。機械学習講習会#1は、このブログで紹介した言語モデルの基礎とNgramによる実践を半日で行うイベントです。 講習会の際に、RNNによる言語モデルについて教えて欲しいといった意見が多く頂きましたので、今回の記事ではRNNによる言語モデルを扱います。 #1(再) scouty 機械学習講習会 〜自然言語処 …

Recursive Autoencoder で文の分散表現

scouty 代表の島田です。 トピックモデルで単語の分散表現 – 理論編 – scouty AI LAB では、局所表現・分散表現の違いに関して説明しましたが、「単語の分散表現と同じように、文*1の分散表現を作るにはどうすればよいか?」というのが今回のテーマです。 CNNで文の識別タスクを解く – scouty AI LAB でもCNNによって文の分散表現を作る方法を扱いましたが、本記事では R …

ニューラルネットによる構文解析 ー Dependency Parsingについて

scouty代表の島田です。 実はscoutyではサービス上で実用するに至れていませんが、技術選定の段階で調査したので、最近人気も出ているニューラルネットによる Dependency Parsing についてまとめてみました。 前半は、自然言語処理の基本となる大きな流れに関しても触れていますので、NLPに詳しくなくてもご理解いただけると思います! 自然言語処理の基礎:意味解析とは? そもそも自然言 …

トピックモデルで単語の分散表現 – 実装編

scouty代表の島田です。 前回の記事 トピックモデルで単語の分散表現 – 理論編 では、トピックモデル・LDA(Latent Dirichlet Allocation)の基本構造とアイディアを、非エンジニアにも比較的わかりやすく説明しました。 今回はPythonで実際にトピックモデルを使って単語の分散(ベクトル)表現を作ってみます。エンジニア向けの記事ですが、最後の性能比較の部分はエンジニアで …

2017-08-07

トピックモデルで単語の分散表現 – 理論編

こんにちは。代表の島田です。 最近はDeepLearningがホットなキーワードになっていますが、トピックモデルという自然言語処理における手法も、少し前に注目を集めました。聞いたことはあるけど何なのかわからない、という方のために、今回はトピックモデルに関して説明します。 Pythonなどの言語ではライブラリが利用できますが、トピックモデルなどの原理を知っておくことでパラメータチューニングが思いのま …

CNNで文の識別タスクを解く

代表の島田です。 今回は、今後scoutyでもスカウトメールの返信率予測などに利用していこうと考えているCNN(畳み込みニューラルネットワーク)の自然言語処理分野への応用をご紹介します。 画像認識に使われることも多いCNNですが、最近は自然言語処理への応用もさかんです。 CNNとは 畳み込みニューラルネットワーク(Convolutional Neural Network:以下CNN)は、画像認識で …

クロスエントロピーで名前から国籍判定する

scouty代表の島田です。 「競合優位性に関わる技術でない限り技術情報をオープンにしていく」というポリシーのもと、今回は、scoutyのサービス内で実際に使われている、「名前の文字列からその人の国籍を判定する」というアルゴリズムを紹介します。 初回ということもあり、非技術者の方にもわかりやすくscoutyで使っている技術をご紹介したいと思います。 アルゴリズム概要 平たく言うと、今回ご紹介するの …