見出し画像

朝日新聞社に技術職入社した理系修士卒が、半年間でできるようになったこと【第3回】

ICTRAD所属、入社一年目の倉井です。
このエントリは
朝日新聞に技術職入社した理系修士卒が、半年間でできるようになったこと
の第3回です。

第1回のエントリはこちら
第2回のエントリはこちら

今回は、これまでの2回で紹介した研修の後、配属されたICTRADで担当した業務の紹介を具体的に紹介していきます。
今回も前回まで同様、就活を考える学生向けの内容となっておりますが、専門用語もそれなりに登場しますので、気になったものについてはご自分で調べてみてください!

現在までに取り組んだ業務

これまでに取り組んだ業務内容を時系列順に下に列挙してみます。
• ニュースを使ったクイズサービス「 Qrich 」のECS移行検討
日本語分かち書きAPIの開発
• csvデータの整形スクリプト作成
• 機械学習による画像分類モデルの作成
• 音源からノイズ除去をするライブラリの開発
• 画像処理関連の研究・開発
教育アプリ開発(Flutter)

このうち、おはなしできるもの(太字のもの)について紹介していきたいと思います。
ノイズ除去ライブラリに関しては、いろいろ試行錯誤したので、別エントリを執筆するかもしれません。

日本語分かち書きAPIの作成

TL;DR
日本語の文章を送ると、それを分かち書き(※1)& 重要語抽出して返してくれるAPI(※2)を作成
※1:文章において語の区切りに空白を挟んで記述すること、今回は語を意味のある単位で区切ること
※2:アプリケーションプログラミングインタフェース、自己のソフトウェアを一部公開して、他のソフトウェアと機能を共有できるようにしたもの

構成
Docker + uvicorn(サーバ)+ FastAPI(アプリ)

背景
こちらのエントリで紹介されたパラパラニュース動画のように、ニュース文章を単語単位に分解&重要な語句を抽出し、記事を読む上で「押さえておきたいポイント」を可視化できないだろうかという要望に応えるべく、開発しました。

解説
どんな環境でも使えるようにDockerをベースとした構成になっています。分かち書きにはMeCabという形態素解析エンジンを用いています。また重要語の抽出にはICTRADの先輩、田口さんが作ってくださったライブラリを用いました。キーフレーズ抽出ライブラリとして有名なPKE(python keyphrase extraction)を日本語移植したものだそうです。
大まかな動きは、次の画像を参照ください。

画像1

図1

形態素解析の部分に関しては、MeCabをそのまま流用しているだけですので、重要語抽出について注目してみましょう。

重要語抽出ってどんなもの?

今回は検証用の文章として、朝日新聞デジタルに掲載されていたこちらの記事から引用しました。APIの入力と出力結果は以下の通りです。

入力:
北朝鮮の平壌で朝鮮労働党の中央委員会総会が8日から11日にかけて開かれ、経済担当を務める党経済部長を交代する人事が行われた。朝鮮中央通信が12日に伝えた。経済部長は1月の党大会で選出されたばかりだが、金正恩(キムジョンウン)総書記は総会で、今年の経済計画を「目標が低い」と痛烈に批判しており、担当者を更迭したとみられる。同通信によると、正恩氏は総会で、党大会で決まった今年からの国家経済発展5カ年計画に基づき、内閣が立てた今年の経済計画に言及。電力生産の計画が現在の水準よりも低く立てられ、平壌市の住宅建設計画も党大会で決定した目標よりも低いなどと指摘した。そのうえで「党大会の方針が正確に反映されていない。主要経済部門の計画を作成する上で内閣が主導的な役割を果たさず、各省が起案した数字を機械的に並べた」と強い不満を示し、各部門に計画の見直しを求めた。韓国の情報機関・国家情報院で分析官を務めた郭吉燮(クァクキルソプ)ワンコリアセンター代表は、「(正恩氏が)経済計画の修正を強く求めるとともに、見せしめとして担当者に責任を取らせたのだろう。新型コロナウイルスと経済制裁の影響を受けるなか、現場の幹部はより厳しい立場に置かれる」とみる。一方、総会では、李善権(リソングォン)外相を党政治局員に選出する人事も行われた。韓国の専門家には、地位が高まった李氏が、今後の外交を積極的に担うとの見方も出ている。

朝日新聞デジタル「北朝鮮、経済担当者を交代 金総書記の批判で更迭か
重要語抽出による出力(今回は5個に指定):
党経済部長, 経済計画, 国家経済発展, 経済部長, 主要経済部門

私が個人的に重要語を決めるとしたら、
北朝鮮、党経済部長、人事、金正恩、経済計画
あたりになるでしょうか。記事のニュース性を鑑みると、「更迭」も重要語だと言えるかもしれません。

もちろん人間の場合は、人によって選出する言葉が異なってきますが、北朝鮮、金正恩、あたりは重要語として含まれていてもいいのかなという印象です。

私がこれらの言葉を重要と判断したのには、この報道の有無に関わらず、北朝鮮と金正恩には注目せざるを得ないという国際背景を認識しているためでしょう。

しかし、機械学習は入力された文章以上の背景を想像することはできません。その点を考慮すると、あくまで文章のみから重要語を判断し、人間にサジェスチョンするという用途には十分利用可能だと考えています。

もしかしたら、PKEに関する解説記事が田口さんから執筆されるかもしれませんので、詳しいアルゴリズムやその応用例に関しては、そちらを期待しましょう!

教育アプリ開発

TL;DR
Flutterを用いた教育アプリを開発しています!
詳しい中身はまだお知らせできません、すみません!

開発環境
Flutter + Firebase (+ SPAの何か)
Flutterについて簡単に知りたいという方はICTRADの先輩である、村瀬さんの記事をご覧になってください。

解説
今現在、最も力を入れて取り組んでいる業務です。
ここでいう「教育」とは、勉強のようなストレートな意味での教育ではなく、音楽や美術のような生涯教育の意味での教育を指しています。
もともと弊社へ入社して取り組みたかったことの一つに、広い意味での教育コンテンツをデジタルを用いて皆さんに提供していきたいという思いがあったため、それを入社一年目で叶えられていると言えます。

アプリの開発をゼロから担当し、収益化を目指していくということで、ベンチャー企業の仕事のような側面もあるといえます。
非常に難しいお仕事ですが、やりがいもあり、毎日試行錯誤して頑張っているところです。
続報が出せるように取り組んで参りますので、ぜひみなさん、ご期待してお待ちください!
面白いものを仕上げます!!

終わりに

さて、ここまで私が配属後実際に取り組んで来たことについて、簡単ではありますが紹介させていただきました。
ICTRADはICT「R And D」というだけあって、研究・開発に関する業務が中心であることが伝わったのではないでしょうか。
本エントリのタイトルにもある「できるようになったこと」について触れると、フロントからバック、インフラに渡るまで、一通りの機能はググりながら開発できるようになった、と思っています。
もちろんまだまだ未熟者ですが、どんな分野の内容であっても、何を入り口にどんな情報を調べ、それを踏まえてどんな環境の上で開発すれば良いのか、「調べて試す」サイクルを回していく、エンジニアとしての仕事のやり方自体がわかってきた状態です。

今後も業務を通して得た知見などは、この場で共有していく予定です!
それでは、みなさん、また別のエントリでお会いしましょう!
その時まで〜〜
(ICTRAD・倉井 敬史)