$30 off During Our Annual Pro Sale. View Details »

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

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

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

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

Other Decks in Science

Transcript

  1. 0
    新入社員目線から学ぶエンジニアに必要なこと
    その2:新しいサービスを作る
    (必要性の理解:形態素解析+文章のベクトル化)
    2023-08-04 第55回NearMe技術勉強会
    Asahi Kaito

    View Slide

  2. 1
    まずは前回のJamの確認から

    View Slide

  3. 2
    弊社でのJam(1)

    View Slide

  4. 3
    弊社でのJam(2)

    View Slide

  5. 4
    弊社でのJam(2)
    これに着目してみたい

    View Slide

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

    View Slide

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

    View Slide

  8. 7
    どんなタスクか?
    *考慮する事項として考えられるもの
    1. そもそも、その機能の必要性は?
    ● どのように必要性を取得するか
    ○ ユーザーからのFB → フォームなどから
    ○ SNSでのエゴサーチ → 形態素解析+文章のベクトル化で分析を行うことなど
    ○ Google Mapなどでの評価 → 自分の会社の口コミチェックなど
    *形態素解析
    → ある文章を分かち書きにして、品詞ごとに分解するもの
    *文章のベクトル化
    → 文章を形態素に分解してベクトルとすることで、内積や距離の定義ができるので単語間の関係性を定量
    的に計算することができる

    View Slide

  9. 8
    とにかく実践だ!

    View Slide

  10. 9
    形態素解析+文章のベクトル化
    理論)どのようにして文章を解析するのか?
    1. 文章のベクトル化
    a. 文章を形態素という要素に分解して、ベクトル化する
    俺


    View Slide

  11. 10
    形態素解析+文章のベクトル化
    理論)どのようにして文章を解析するのか?
    1. 文章のベクトル化
    a. 文章を形態素という要素に分解して、ベクトル化する
    b. あるターゲット文章とベクトルとして比較する(cos類似度など)

    View Slide

  12. 11
    形態素解析+文章のベクトル化
    理論)どのようにして文章を解析するのか?
    1. 文章のベクトル化
    a. 文章を形態素という要素に分解して、ベクトル化する
    b. あるターゲット文章とベクトルとして比較する(cos類似度でまずは簡単に処理)
    c. 類似度の高いものを集め(ベクトル化の利点)、
    そこからデータをフィルタリングする(形態素解析の利点)
    [
    ‘まじでこのアプリ最高。感動した。’,
    ‘まかないの機能とかあると良いな。’,
    ‘aaaaaaaaaaaaa’,
    ]

    View Slide

  13. 12
    形態素解析+文章のベクトル化
    理論)どのようにして文章を解析するのか?
    2. 文章の分析方法
    ● Pythonを用いて実装
    ● 以下のモジュールを用いる
    ○ Janome(形態素解析のメインモジュール)
    ○ Word2Vec(分散表現でベクトル化する機械学習モデル)
    ※Colabへのリンク
    :https://colab.research.google.com/drive/1GsAIOmJzTsIU-56gCbg63juo5M738QI9?usp=sharing

    View Slide

  14. 13
    形態素解析+文章のベクトル化
    より実践)Twitter(X) APIを用いて、形態素解析+ベクトル化を実施してみよう
    ● https://developer.twitter.com/ja/docs/twitter-api(X開発者プラットフォーム)

    View Slide

  15. 14
    WordCloudで単語の頻度を可視化
    実践)単語の頻度を可視化する方法
    ● WordCloudを用いて実装
    ○ 以下のモジュールを用いる
    ○ WordCloud(単語の頻度を画像で可視化)
    ※Colabへのリンク(先ほどと同じ)
    :https://colab.research.google.com/drive/1GsAIOmJzTsIU-56gCbg63juo5M738QI9?usp=sharing
    https://self-development.info/wp-content/uploads/2021/01/my.png

    View Slide

  16. 15
    次回こそ
    要件定義の作成
    (どのように要件定義を書くか?)

    View Slide

  17. 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(ワードクラウド)を作成する:リンク


    View Slide

  18. 17
    Thank you

    View Slide