Upgrade to Pro — share decks privately, control downloads, hide ads and more …

新入社員目線から学ぶエンジニアに必要なこと その2:新しいサービスを作る (必要性の理解:形態素解析+文章のベクトル化)

新入社員目線から学ぶエンジニアに必要なこと その2:新しいサービスを作る (必要性の理解:形態素解析+文章のベクトル化)

本当その開発が必要かどうかは、需要によっても決まります。ですので、あらかた需要があるかを確認できる可能性のあるものとして、今回は形態素解析、そして単語のベクトル化について扱います。

More Decks by NearMeの技術発表資料です

Other Decks in Science

Transcript

  1. 5 どんなタスクか? 想定)元々大きなアプリがあり、そのFeatureタスク • 親 → フードデリバリーアプリ(ここは前提とする) • 子 →

    まかない提供機能 *考慮する事項として考えられるもの 1. そもそも、その機能の必要性は? 2. UIのどの部分に取り入れるか? 3. 料金体系はどうするのか? …などなど
  2. 6 どんなタスクか? 想定)元々大きなアプリがあり、そのFeatureタスク • 親 → フードデリバリーアプリ(ここは前提とする) • 子 →

    まかない提供機能 *考慮する事項として考えられるもの 1. そもそも、その機能の必要性は? 2. UIのどの部分に取り入れるか? 3. 料金体系はどうするのか? …などなど ここを扱います
  3. 7 どんなタスクか? *考慮する事項として考えられるもの 1. そもそも、その機能の必要性は? • どのように必要性を取得するか ◦ ユーザーからのFB →

    フォームなどから ◦ SNSでのエゴサーチ → 形態素解析+文章のベクトル化で分析を行うことなど ◦ Google Mapなどでの評価 → 自分の会社の口コミチェックなど *形態素解析 → ある文章を分かち書きにして、品詞ごとに分解するもの *文章のベクトル化 → 文章を形態素に分解してベクトルとすることで、内積や距離の定義ができるので単語間の関係性を定量 的に計算することができる
  4. 11 形態素解析+文章のベクトル化 理論)どのようにして文章を解析するのか? 1. 文章のベクトル化 a. 文章を形態素という要素に分解して、ベクトル化する b. あるターゲット文章とベクトルとして比較する(cos類似度でまずは簡単に処理) c.

    類似度の高いものを集め(ベクトル化の利点)、 そこからデータをフィルタリングする(形態素解析の利点) [ ‘まじでこのアプリ最高。感動した。’, ‘まかないの機能とかあると良いな。’, ‘aaaaaaaaaaaaa’, ]
  5. 12 形態素解析+文章のベクトル化 理論)どのようにして文章を解析するのか? 2. 文章の分析方法 • Pythonを用いて実装 • 以下のモジュールを用いる ◦

    Janome(形態素解析のメインモジュール) ◦ Word2Vec(分散表現でベクトル化する機械学習モデル) ※Colabへのリンク :https://colab.research.google.com/drive/1GsAIOmJzTsIU-56gCbg63juo5M738QI9?usp=sharing
  6. 16 参考リンク • 形態素解析
 ◦ Janomeを使ってPythonで形態素解析 :https://qiita.com/charon/items/661d9a25b2233a9f8da4 • ベクトル化(ここでは分散表現) ◦

    Efficient Estimation of Word Representations in Vector Space(単語の分散表現の論文) :https://arxiv.org/abs/1301.3781 ◦ Word2vecによる分散表現を可視化:https://qiita.com/g75hca/items/507a557f10d6133a699a
 ◦ Word2Vecを理解する:https://qiita.com/g-k/items/69afa87c73654af49d36
 ◦ 感情分析でニュース記事のネガポジ度合いをスコア化する :https://qiita.com/g-k/items/e49f68d7e2fed6e300ea
 • WordCloud
 ◦ Pythonを使ってWordCloud(ワードクラウド)を作成する:リンク