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

形態素解析で勉強会のトレンドワードを調べてみた

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 形態素解析で勉強会のトレンドワードを調べてみた

Avatar for Hiroki.Abe

Hiroki.Abe

June 08, 2019
Tweet

More Decks by Hiroki.Abe

Other Decks in Technology

Transcript

  1. Pythonで使える 日本語の形態素解析ツール  Janome  Sudachi (ワークスアプリケーションズ)  Mecab bi-gram

    マルコフモデル (京都大学・NTT)  nagisa RNN  JUMAN++ RNN (京都大学)  英語の形態素解析には、英語の形態素解析ツールが必要 4
  2. nagisaを使ってみる import nagisa text = 'Flutterはモバイルアプリケーションフレームワークである。' words = nagisa.tagging(text) print(words)

    print(words.words) $ python3 nagisa_test.py Flutter/名詞 は/助詞 モバイル/名詞 アプリケーション/名詞 フレームワーク/名詞 で/助動詞 ある/動詞 。/補助記号 ['Flutter', 'は', 'モバイル', 'アプリケーション', 'フレームワーク', 'で', 'ある', '。'] 6
  3. nagisaを使ってみる 品詞によるフィルタリング import nagisa text = 'Flutterはモバイルアプリケーションフレームワークである。' words = nagisa.extract(text,

    extract_postags=['名詞']) print(words.words) $ python3 nagisa_test2.py ['Flutter', 'モバイル', 'アプリケーション', 'フレームワーク'] 7
  4. connpass APIで取得できる情報 { "event_url": "https://yamanashi-it.connpass.com/event/133038/", "event_type": "participation", "owner_nickname": "ku_taka", "series":

    {"url": "https://yamanashi-it.connpass.com/", "id": 7759, "title": "山梨IT同好会(仮)"}, "updated_at": "2019-05-30T21:26:38+09:00", "lat": "35.657263100000", "started_at": "2019-06-08T13:30:00+09:00", "hash_tag": "flutter", "title": "Flutter 入門勉強会", "event_id": 133038, "lon": "138.565054500000", ~~~ 9
  5. タイトルから名詞を抽出した結果 ['プログラミング', '最良', '方法', '実際', 'こと', 'フィード', 'バック', '大会'] ['4',

    '0', '回', 'Python', 'くもく', '会'] ['1', '0', '朝活', 'Friday', '五反田'] ['IEEEVR', '2', '0', '1', '9', 'CHI', '2', '0', '1', '9', '報告', '会', 'with', 'リリス', 'リリー', 'ホワイト'] ['3'] ['レベル', '目的', '3', '本', 'DeepLearning', '勉強', '会', '2'] ['DESIGN', '参加', '募', '集中'] ['3', '回', 'meDNA', '6', '月', '2', '1', '日', 'ワークショップ'] ['EC', 'CUBE', '千葉', 'UG', '業務', '無駄', '1', '%', '利益', '率', 'EC', '運営', '業務', '効率'] ['ももち浜', 'TECH', 'カフェ', 'in'] ['大阪', '3', '8', '回', '西中島', 'Group', 'くもく', '会'] ['2', '5', '回', '学生', 'エンジニア', 'LT', '大会', 'in', '名古屋'] ['学生', 'エンジニア', '限定', '難関', 'IT', '企業', '攻略', 'エンジニア', 'セミナー'] 10
  6. 単語の出現頻度を集計する  形態素解析して抽出した名詞をリストに追加する  collections.Counter()を使って出現回数をカウントする Counter()は標準ライブラリcollectionsに含まれる。 {‘会’: 39, ‘1’: 33,

    ‘2’: 22, ‘勉強’: 18, ‘0’: 17, ‘9’: 15, ‘3’: 12, ‘6’: 11, ‘回’: 9, ‘AI’: 7, ‘4’: 6, ‘7’: 6, ‘5’: 6, ‘IoT’: 5, ‘in’: 5, ‘エンジニア’: 5, ‘月’: 5, ‘初心’: 4, ‘報告’: 4, ‘LT’: 4, ‘体験’: 4, ‘学習’: 4, ‘枠’: 4, ‘プロ グラミング’: 4, ‘アップ’: 4, ‘wifi’: 4, ‘完備’: 4, ‘コーヒー’: 4, ‘放題’: 4, ‘基礎’: 3, ‘IT’: 3, ‘AWS’: 3, …  月ごとのCSVファイルに出現回数を出力する 11