本当その開発が必要かどうかは、需要によっても決まります。ですので、あらかた需要があるかを確認できる可能性のあるものとして、今回は形態素解析、そして単語のベクトル化について扱います。
0新入社員目線から学ぶエンジニアに必要なことその2:新しいサービスを作る(必要性の理解:形態素解析+文章のベクトル化)2023-08-04 第55回NearMe技術勉強会Asahi Kaito
View Slide
1まずは前回のJamの確認から
2弊社でのJam(1)
3弊社でのJam(2)
4弊社でのJam(2)これに着目してみたい
5どんなタスクか?想定)元々大きなアプリがあり、そのFeatureタスク● 親 → フードデリバリーアプリ(ここは前提とする)● 子 → まかない提供機能*考慮する事項として考えられるもの1. そもそも、その機能の必要性は?2. UIのどの部分に取り入れるか?3. 料金体系はどうするのか?…などなど
6どんなタスクか?想定)元々大きなアプリがあり、そのFeatureタスク● 親 → フードデリバリーアプリ(ここは前提とする)● 子 → まかない提供機能*考慮する事項として考えられるもの1. そもそも、その機能の必要性は?2. UIのどの部分に取り入れるか?3. 料金体系はどうするのか?…などなどここを扱います
7どんなタスクか?*考慮する事項として考えられるもの1. そもそも、その機能の必要性は?● どのように必要性を取得するか○ ユーザーからのFB → フォームなどから○ SNSでのエゴサーチ → 形態素解析+文章のベクトル化で分析を行うことなど○ Google Mapなどでの評価 → 自分の会社の口コミチェックなど*形態素解析→ ある文章を分かち書きにして、品詞ごとに分解するもの*文章のベクトル化→ 文章を形態素に分解してベクトルとすることで、内積や距離の定義ができるので単語間の関係性を定量的に計算することができる
8とにかく実践だ!
9形態素解析+文章のベクトル化理論)どのようにして文章を解析するのか?1. 文章のベクトル化a. 文章を形態素という要素に分解して、ベクトル化する俺
10形態素解析+文章のベクトル化理論)どのようにして文章を解析するのか?1. 文章のベクトル化a. 文章を形態素という要素に分解して、ベクトル化するb. あるターゲット文章とベクトルとして比較する(cos類似度など)
11形態素解析+文章のベクトル化理論)どのようにして文章を解析するのか?1. 文章のベクトル化a. 文章を形態素という要素に分解して、ベクトル化するb. あるターゲット文章とベクトルとして比較する(cos類似度でまずは簡単に処理)c. 類似度の高いものを集め(ベクトル化の利点)、そこからデータをフィルタリングする(形態素解析の利点)[‘まじでこのアプリ最高。感動した。’,‘まかないの機能とかあると良いな。’,‘aaaaaaaaaaaaa’,]
12形態素解析+文章のベクトル化理論)どのようにして文章を解析するのか?2. 文章の分析方法● Pythonを用いて実装● 以下のモジュールを用いる○ Janome(形態素解析のメインモジュール)○ Word2Vec(分散表現でベクトル化する機械学習モデル)※Colabへのリンク:https://colab.research.google.com/drive/1GsAIOmJzTsIU-56gCbg63juo5M738QI9?usp=sharing
13形態素解析+文章のベクトル化より実践)Twitter(X) APIを用いて、形態素解析+ベクトル化を実施してみよう● https://developer.twitter.com/ja/docs/twitter-api(X開発者プラットフォーム)
14WordCloudで単語の頻度を可視化実践)単語の頻度を可視化する方法● WordCloudを用いて実装○ 以下のモジュールを用いる○ WordCloud(単語の頻度を画像で可視化)※Colabへのリンク(先ほどと同じ):https://colab.research.google.com/drive/1GsAIOmJzTsIU-56gCbg63juo5M738QI9?usp=sharinghttps://self-development.info/wp-content/uploads/2021/01/my.png
15次回こそ要件定義の作成(どのように要件定義を書くか?)
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(ワードクラウド)を作成する:リンク
17Thank you