Closed10
Pythonで自然言語処理&トピックモデルを学ぶ #第1回メモ
イベント: https://extech-casual-learn-sendai.connpass.com/event/221774/
参加形式: Zoomでのオンライン開催
当日の講義資料: https://github.com/extech-developer-ksato/nlp_sample_learning/tree/master/vol01
参加者の集まり具合により5分遅れでスタート
自然言語処理の1分にトピックモデルというものがある(もしくは、あった)
トピックっって何?
- 日々読み書きする文章の中からトピックを分けて抽出するもの
- 文章の中から有益な情報を抽出すること
- 大量に流れるトラフィックから重要なトピックを簡単に抽出することが可能
- トピックモデルを用いることで抽出されたトピックに近い文書の探索をすることも可能
トイックモデル応用分野
- 画像処理: がん細胞の発見および症状への対応
- 推薦システム: ログデータからユーザの趣向抽出によるレコメンド
- コードディネート推薦: 色による画像ベクトル抽出
文書に対するトピックモデルを自然言語処理を学びながら、平行して位置s機や知見をためる
意思決定とは
データや状況から複数の選択肢から"決める"行為
データで意思決定するとは
最終的には意思決定するのは人なのだが、意思決定するための材料および提案をコンピュータなどが行うこと
意思決定するための材料プロセス
- 収集
- 整形
- 集計
- 統計解析
- 可視化
- 機械学習
- 考察
- "意思決定"
データアナリスト: 統計解析、可視化
AIエンジニア: 統計解析、可視化、機械学習
意思決定の代表的な手法にトピックモデルがある
言語は以下の2つに大きく分けられる
形式言語とは
- "曖昧さ"がない、意味が明確な言語
- 「機械言語」としての立ち位置
自然言語とは
- 人間の日常の意思疎通を行うことに用いられる言語
- "曖昧さ"のある人間らしさの言語
自然言語の技術
-
構文解析
文の構文的な構造を決定すること(主語、述語、動詞etc) -
形態素解析
意味を持つ最小の言語単位を洗い出すこと
構文解析の前に行われる処理
ライブラリ・辞書
NLTK(Natural Lange Tool Kit)
- Mecab
- Janome
MeCabと同じように、日本語の形態素を得意としている - NEologd
MeCabと同じように、日本語の形態素を得意としているも - Juman, Juman++
MeCabのほうが多機能であるものの、JumanはMeCabにない、依存構造などの解析ができる - Unidic
- Sudachi
機械学習の前処理
-
ゼロパディング
ゼロ埋めは、文字で数値を表す際に、書式で指定された桁数に満たない場合に、桁数をそろえるためゼロをふよすること
機械学習のデータ前処理や自然言語処理でよく扱う -
ストップワード
MeCabとかNLTKを利用してもやはり不要な言葉を抽出してしまう場面で不要な言葉をあらかじめ用意しておく -
コーパスクリーニング
- 大文字/小文字の統一
- 句読点の統一
- 用語(同義語)の統一 etc
- "w"などのスラグ文字の変換
自然言語処理とは計算機で「自然言語」を処理すること
Google Colaboratoryでのハンズオン
- MeCabのインストール
- Pythonによる特定サイトのWebスクレイピング
- Web上の文章からMeCabでの単語抽出
- 記号などの不要データの削除
- 意味のないと思われる単語の除外
- 単語データの可視化(出力回数が多い順?
以上
このスクラップは2022/05/28にクローズされました