[2018-2019] 年末年始の成果発表
2019/01/06 18:37
  • 今年の年末年始の休暇期間を利用して Python でスクレイピングと自然言語処理のまねごとなどをやってみました。
    ゴールはまだまだ先のところにありますが、とりあえずやりたかったことと現在の進捗だけまとめておきたいと思います。


    やろうとしていること


    PIXTAAdobe Stock などのストック系サイトで売れそうな素材のキーワードを抽出する


    ただ闇雲にイラストを描いて販売しても効率が悪いので、もう少し効果的にテーマを絞って販売していければいいなぁ…というのが事の発端でした。

    絞り込みに有効そうな材料


    1. いま話題になっている言葉(単語)

    2. ストックサイトで手薄になっている素材のキーワード

    3. ストックサイトで実際に売れている素材のテーマと絵柄(表現手法)

    4. ストックサイトで実際に売れている素材のテーマとよく売れている時期

    分析について僕は専門家でも何でもないので的外れなことを言っているかもしれませんが、
    だいたいこんなことをイメージして設計を始めていきました。


    年末年始休暇中にできたこと



    1. urllib, BeautifulSoup を利用したスクレイピング

    2. joblib を利用した並列処理

    3. Mecab を利用した形態素解析


    ざっくり言うと、スクレイピング結果と形態素解析の結果をそれぞれ DB に登録するところまでやりました。


    思ったより全然進んでいないです 😓
    以下詳細です。


    「いま話題になっている言葉」として、「ニュースサイトなどの記事📝への出現回数が多い単語」を取得してみることにしました。
    (実際は naver まとめ から抽出)

    まとめ記事をスクレイピングした後、それらを形態素解析して「名詞」だけ抽出し、出現回数の多い単語をとりあえずは「いま話題になっている言葉」とします。

    ↓実際に抽出したデータ

    mysql> select * from keywords order by num desc limit 10;
    +---------+-------+-------------+---------------------+---------------------+
    | name    | num   | create_date | created_at          | updated_at          |
    +---------+-------+-------------+---------------------+---------------------+
    | こと    | 65346 | 2019-01-06  | 2019-01-06 16:31:37 | 2019-01-06 16:38:54 |
    | の      | 54995 | 2019-01-06  | 2019-01-06 16:31:37 | 2019-01-06 16:38:54 |
    | .com    | 50397 | 2019-01-06  | 2019-01-06 16:31:37 | 2019-01-06 16:38:54 |
    | 1       | 41841 | 2019-01-06  | 2019-01-06 16:31:37 | 2019-01-06 16:38:54 |
    | twitter | 33503 | 2019-01-06  | 2019-01-06 16:31:38 | 2019-01-06 16:38:54 |
    | よう    | 32498 | 2019-01-06  | 2019-01-06 16:31:37 | 2019-01-06 16:38:54 |
    | 人      | 30738 | 2019-01-06  | 2019-01-06 16:31:37 | 2019-01-06 16:38:54 |
    | 1      | 29485 | 2019-01-06  | 2019-01-06 16:31:37 | 2019-01-06 16:38:54 |
    | pic     | 27630 | 2019-01-06  | 2019-01-06 16:31:41 | 2019-01-06 16:38:54 |
    | http:// | 27588 | 2019-01-06  | 2019-01-06 16:31:37 | 2019-01-06 16:38:54 |
    +---------+-------+-------------+---------------------+---------------------+
    10 rows in set (0.16 sec)
    

    名詞 としての精度もいまいちなのでもう少しなんとかする必要がありそうです😓これまでの実装は github にあげていますので参考にどうぞ。


    https://github.com/fuwalab/popular-noun

    人気ブログランキングへ ブログランキング・にほんブログ村へ
    ↑応援よろしくお願いします!m(_ _)m

  • <2019/01/06 18:37>
  • Python
  • Pythonスクレイピング自然言語処理機械学習形態素解析mecab
  • 新しい記事へ
    Django のバージョンを 1.8 から 2.1 にアップグレードした話

    古い記事へ
    Django で絵文字を登録できるようにする

profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 6年間勤めたゲーム会社を2018年2月に退職しフリーランスのプログラマに。 WordPress Core, WP-CLI コントリビューター。 お仕事募集中です。