はじめに
こんにちは。
前回作成したQiita記事データセットを用いて、2018年Qiitaで最も流行ったものは何かを調べてみました。
やったこと
- 記事のタイトルを抽出し、mecab(neologd)を利用して分解
- 投稿年ごとに出現頻度、前年度比増加率が高い固有名詞をランキング
- ベスト3を流行語として勝手に選出
選定方法・ルール
- ”流行語” = 前年からの出現頻度の増加率が最も高い単語
- 固有名詞であること
- ◯ Python、Vue.js...
- × ファイル、インストール...
- 過去に大賞🥇に選出されたものは殿堂入りとして除外
- 大文字、小文字の表記ブレは同一とみなす、それ以外(スペルミス、辞書にないもの)は無視
- ”windows”と”Windows”は一緒
- "windows10"と"Win10"は別もの
2018年Qiita流行語大賞
早速ですが結果発表です👏
第3位🥉 「Django」
第3位はDjangoでした。ここ二、三年は機械学習関連でPythonユーザが増加していますが、その影響がWebフレームワークの世界にも出ているようです。
Stack Overflow Trendsで主要なWebフレームワークを適当に調べてみました。フロントエンドはAngular、Reactが多く、バックエンドはDjango、Laravelが多いようです。
QiitaでDjangoが急伸してきたのは確かですが、絶対数で言えば依然としてRailsが最大勢力です。やはり日本語のドキュメントが充実していると強いようですね。1
どれ使うべき?3大WebフレームワークRails・Django・Laravelを徹底比較してみた - paiza開発日誌
第2位🥈 「AWS」
第2位はAWS。個人的にはAWSはブッチギリで多いというか、過去に大賞獲ってるだろ…と思っていましたが、実際にはそこそこでした。
ただし、タイトルには出ていませんが、
「DyanmoDBを使って〇〇する」
「サーバレスで△△するベストプラクティス」
「CloudfrontとS3で××してみた」
のようなAWS関連の記事は大量にあります。「S3」や「EC2」などわざわざAWSを付けなくても十分通じるからね…
AWSはサービスが多様化が進んでいるのが裏目に出て「AWS」という単語そのものは使われなくなってしまったようです。
ついでに「AWS」と抱き合わせでよく使われる単語の出現回数も調べてみました。
確かにAWS CLIはAWSを取っちゃうとダメですね。
第1位🥇 「C++」
年間大賞は C++ でした2!わーわー🎉🎉🎉
え… C++!!!????
「JavaScriptとPythonのユーザが多いこのQiitaでC++!?」と思ったあなた…わかります。
「C++?みんなガチ過ぎてコワい」
「今どきRustでしょ」
「C++こそ至高」
「今さらC++って…なんかもう流行語って感じしないんだけど。」
いろんな意見があると思います。とは言え、流行ったかどうかは別にして、2018年タイトルに「C++」を含む投稿が増加しているのは紛れも無い事実です。
何となく直感ベースですが、
- C++17の登場
- IoT
- 画像認識(YOLO/OpenCV)
などなど、それなりに増加する要因はありそうです。2018はC++リバイバルの年だったと言ってもいいでしょう。
というわけで、「Qiitaの記事タイトルで今年一番流行った単語」はC++でした。
本家の流行語大賞っぽく受賞者も勝手に選んでみました。
順位 | 受賞語 | 前年度比増加数 | 総いいね数 | TOP記事 | TOP記事いいね数 | 受賞者 |
---|---|---|---|---|---|---|
🥇 | C++ | + 783件 | 2,659 | C++完全理解ガイド Rev1.4.00 - Qiita | 597 | @_EnumHack |
🥈 | AWS | + 356件 | 13,962 | GitHub に AWS キーペアを上げると抜かれるってほんと???試してみよー! - Qiita | 1872 | @saitotak |
🥉 | Django | + 244件 | 3,564 | [Python] Djangoチュートリアル - 汎用業務Webアプリを最速で作る - Qiita | 370 | @okoppe8 |
※ 総いいね数:流行語が含まれる記事一つ一つのいいね数の合計値
参考データ
出現頻度ランキング
2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | |
---|---|---|---|---|---|---|---|---|
1 | Python | Python | Python | Rails | Ruby | Ruby | Ruby | Backbone |
2 | js | Rails | API | Ruby | Swift | PHP | Rails | Ruby |
3 | Docker | Docker | Docker | Swift | Rails | Git | Git | Rails |
4 | Rails | API | PHP | PHP | Mac | Rails | PHP | Qiita |
5 | AWS | Mac | Rails | Mac | PHP | Mac | Mac | Git |
6 | PHP | js | Mac | js | Android | Android | JavaScript | JavaScript |
7 | API | PHP | Ruby | Docker | js | JavaScript | js | http:// |
8 | Mac | AWS | Swift | Android | git | CentOS | Vim | PHP |
9 | C++ | Windows | AWS | Python | CentOS | MySQL | Emacs | Python |
10 | Ruby | Android | Windows | Unity | iOS | Python | API | js |
「文字列」や「アプリ」などもランクインしていましたが、固有名詞と言い難いため除外しています。
前年比投稿増加数ランキング
2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | |
---|---|---|---|---|---|---|---|---|
1 | Python | Python | Python | Unity | Swift | Ruby | Ruby | - |
2 | C++ | Vue | API | Docker | Ruby | PHP | Rails | - |
3 | Vue | Visual Studio | Docker | Python | Mac | Git | Git | - |
4 | js | js | AWS | C++ | Rails | Mac | PHP | - |
5 | AWS | WPF | TensorFlow | AWS | js | CentOS | Mac | - |
6 | Django | Kotlin | Ubuntu | API | Android | Android | Vim | - |
7 | Flutter | Go | Windows | PHP | Docker | Rails | JavaScript | - |
8 | WEB | Laravel | CSS | js | CentOS | Python | Emacs | - |
9 | Kubernetes | Azure | Bot | Linux | API | MySQL | js | - |
10 | Mastodon | Mac | Rails | iOS | JavaScript | MySQL | - |
再選なしでその年最も投稿数が増えたものを太字にしています。また、本来なら2018の第2位は 「js」ですが、「Vue.js」とセットで使われることが多いため除外しました。
Unity(2015)とかSwift(2014)とかそれなりに流行語っぽいものが選ばれていますね。
メモ
Qiitaの夜明け
2011年の一位はBackbone.jsでした。そもそもの記事数が少ないので何とも言えませんが…。
ちなみにQiitaの最古の記事はRubyでFizzBuzz - Qiitaでした。
Increments株式会社の創業者の海野さん(@yaotti)の記事ですね。
Pythonの躍進
2012年-2013年がディープラーニングのブレイクスルーと言われていますが、QiitaでPythonが覇権を握るのは2016年になってからでした。TensorFlowも増加率では5位にランクインしています。
2013年-2015年のQiitaではSwiftやAndroidなどが上位に来ており、スマホのアプリ開発が盛んだったようです。
主要なキーワードの出現頻度をグラフにしてみます。
ここ二、三年のPythonの上がり方が尋常じゃないですね…ぶっちぎり
つまづいたポイント
- タイトルに含まれる空白文字への対応
- Qiitaのタイトルには
\t
や\r
が含まれています。s = ''.join(s.split())
によって解決。3
- Qiitaのタイトルには
- 表記ブレ(Railsとrailsなど)の対応
- 基本的に全て
str.lower()
で小文字にして集計することで解決。GoogleとGCEなど略語にされる場合はどうしようもないので、特に対応しませんでした。
- 基本的に全て
おわりに
今回の選出方法では「多くの人に使われた」という評価が出来ていないような気がします。
いいね数やコメント数で重み付けをしてもよかったかなぁ…と思いますがそれはまた来年。