\documentclass[japanese,other]{jnlp_3.6}
\usepackage{jnlpbbl_2.2}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\usepackage{hangcaption_jnlp}
%%%%\usepackage{udline}
%%%%\setulminsep{1.2ex}{0.2ex}
%%%%\let\underline=\ul
\allowdisplaybreaks


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%\usepackage[dvipdfmx]{color}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Volume{30}
\Number{1}
\Month{March}
\Year{2023}
%%%%\Issuetitle{「　　　　」特集号}


\setcounter{page}{226}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{学会記事}
\jtitle{学生・若手研究者のための BERT ワークショップ}
\jauthor{中山　功太\affiref{Author_1}\affiref{Author_2} \and 渋木　英潔\affiref{Author_3} \and 関根　　聡\affiref{Author_1}}
\etitle{BERT Workshop for Students and Young Researchers}
\eauthor{Kouta Nakayama\affiref\affiref{Author_1}\affiref{Author_2} \and Hideyuki Shibuki\affiref{Author_3} \and Satoshi Sekine\affiref{Author_1}} 

\headauthor{中山，渋木，関根}
\headtitle{学生・若手研究者のためのBERTワークショップ}

\affilabel{Author_1}{理化学研究所革新知能統合研究センター}{RIKEN AIP}
\affilabel{Author_2}{筑波大学}{University of Tsukuba}
\affilabel{Author_3}{株式会社BESNA研究所}{BESNA}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{はじめに}

近年，深層学習を用いた自然言語処理に多くの注目が集まっており，その成果が多く報告されている．それに伴い，社会でも様々なシステムに深層学習を取り入れたいといった欲求が年々強くなっているように感じる．しかし，深層学習のバックグラウンドには，プログラミングの知識のみでなく，線形代数や確率，微分積分といった数学的知識が潜んでおり，これが初学者から敬遠されてしまう要因となっている．一方で，深層学習を取り巻く環境も年々変化しており，Pytorch\footnote{\url{https://pytorch.org}}やTensorFlow\footnote{\url{https://www.tensorflow.org}}といった深層学習の技術を容易に扱えるPythonライブラリが整備されつつあるため，バックグラウンドを深く理解せずとも深層学習の実装を行うことが可能となってきている．当然バックグラウンドをしっかりと理解することに越したことはないが，実際に一度タスクを解いてみることはその理解のために非常に重要であり，初学者の心的要因をいくらか軽減できると我々は考えている．そのため，我々は初学者へ向けたワークショップを行う機会を設けることとし，2022年度には文章分類タスクと固有表現抽出タスクを対象としたワークショップ行った．ワークショップはタスクごとに前編後編に分け計4回行っており，分類タスクでは381人と200人，固有表現抽出タスクでは201人と99人の参加登録があった．また，質疑応答に用いたチャットツールの参加人数は349人と非常に大盛況であった．我々はワークショップで使用した資料と当日の録画をホームページにて公開している\footnote{\url{http://shinra-project.info/bert_workshop_portal/}}．本記事では実施したワークショップの解説と報告を行う．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{ワークショップについて}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{目的}

本ワークショップには2つの目的がある．前者は，深層学習の更なる普及のため，初学者の助け舟になるような機会を設けること．これは序章で述べた通りである．後者は，我々が主催している森羅プロジェクト\cite{sekine2019shinra}を広めることである．本プロジェクトは「協働による知識構築」を旗印に2018年に発足され，参加者の力を借りて協働でWikipediaの構造化を行うといった評価型ワークショップを主催している．これまでWikipediaの分類，属性値抽出，属性値リンキングといった8個のタスクが実施され，国内外の多くの組織や企業が参加している．我々としてはこの機会が森羅プロジェクトやWikipediaの構造化に興味を持つきっかけとなればと考えている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{対象}

本ワークショップの対象は，深層学習を用いた自然言語処理に取り組みたい学生や研究者，社内システムに当技術を取り入れたい社会人である．窓口を広げるため，自然言語処理に対する事前知識を持たない参加者も想定した．より深く内容を理解するためには，プログラミングに関する基礎知識を保持していること，内積と微分をある程度理解していることが好ましいが，配布するスクリプトの要所要所にコメントを記し，深層学習モデルの解説においてもなるべく数式より図的説明に重点を置くことで，上記の条件を達成せずとも理解できるように務めた．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{タスク}

本ワークショップにおいて参加者が取り組むタスクを選定する上で以下の4点を考慮した．
\begin{itemize}
    \item 初学者でも取り組めるような簡単かつシンプルなタスクであること．
    \item 計算コストが小さく深層学習モデルの学習が短時間で終わること．
    \item 社会的に需要の高いタスクであること．
    \item 森羅プロジェクトへの関心に繋がるタスクであること．
\end{itemize}
社会的に需要の高いタスクとしてQAタスクや対話タスクも挙げられるが，初学者にはハードルが高いうえ，学習に時間を要する場合もあるため，今回はカテゴリー分類タスクと固有表現抽出タスクを扱うことした．配布スクリプトを書き換えることで，前者タスクは感情分類などのその他の分類タスクに，後者タスクは固有表現抽出だけでなく情報抽出といったタスク等に応用が可能であるため，非常に需要が高いと考えている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{カテゴリー分類タスク}
本タスクでは，森羅プロジェクトでも扱っているWikipediaのカテゴリー分類に取り組む．参加者は入力としてWikipediaの記事が与えられ，``人名''や``地名''といった拡張固有表現階層\cite{sekine-etal-2002-extended}で定義された約200件のカテゴリーへの分類を行う．本タスクは1つの記事に対して2つ以上のカテゴリーが付与される場合があるためやや複雑であるが，複数カテゴリーが付与される記事が全体の1\%未満であることを加味し，これら記事を学習データから除外することで簡易化を図った\footnote{実際はデータ上から直接削除せず，学習時に除外しているため，意欲ある参加者が複数カテゴリーに対応できるよう改良の余地を残した．}．本タスクでは膨大な学習データが存在するが，簡易化のため5000件の学習データと，2000件の評価データを配布した．評価関数には，森羅プロジェクトと同じマイクロ平均F1値を採用している．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{固有表現抽出タスク}
本タスクでは，Wikipedia記事に対する固有表現抽出に取り組む．データセットとして，``Wikipediaを用いた日本語の固有表現抽出データセット''\cite{wikipedia2021}\footnote{\url{https://github.com/stockmarkteam/ner-wikipedia-dataset}}を用いる．日本語の固有表現抽出は，前処理で分割された各単語に対して元の固有表現のスパンを割り当てる必要があり実装がやや煩雑になってしまう．そのため，配布するスクリプトに細かくコメントを付与することで，前処理部分が参加者の障害にならないよう務めた．本タスクとしては解き方が複数あるが，最も用いられており且つ実装が容易であるIOB2タグの分類形式で解くこととした．元のデータセットは学習データと評価データが分けられていないため，我々の手元で分割し参加者に配布した．評価関数には，一般的に用いられている固有表現スパンの完全一致F1値を使用した．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{深層学習モデル}

対象を初学者としているため，深層学習モデルの選択は非常に重要である．考慮した条件は以下の通りである．
\begin{itemize}
    \item 社会的に関心の高いモデルであること．
    \item 構造がシンプルであり実装時に扱いやすいモデルであること．
    \item 高い性能を持つモデルであること．
\end{itemize}

文章生成や系列ラベリングなどに使用されるLSTMやTransformerといった生成型のモデルもその性能が評価されているものの，構造と実装がやや煩雑であるため今回は扱わず，今回のワークショップでは構造の殆どが内積でシンプルに構成されており，且つ扱いやすいモデルであるBERT \cite{devlin-etal-2019-bert}を対象とした．BERTは，近年必須となっている事前学習という手法を取り入れており，その性能が評価されている．事前学習とは，Wikipediaやウェブテキストなどの大規模コーパスを用いて深層学習モデルを学習し，言語共通の大域的特徴を獲得した後，文書分類や固有表現抽出などの後続のタスクで再学習することで性能の向上を図る手法である．一般的に事前学習には膨大な計算コストや時間を要する場合が多いが，近年は事前学習済みモデルのパラメータ公開が主流となっており，日本語を含む様々な言語で利用可能となっている．アメリカに本社を置くHugging Face社は，これらの公開された事前学習済みモデルパラメータを収集し，画一的に扱うことができるTransformers\footnote{\url{https://huggingface.co/docs/transformers}}というライブラリを公開しており，自然言語処理タスクへの転用がより容易になっている．本ライブラリの使い方を覚えることは参加者にとって有益であると考えたため，今ワークショップでも使用することとした．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{実行環境}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[b]
\begin{center}
\includegraphics{30-1ia23f1.pdf}
\end{center}
\caption{実際にワークショップで使用したスクリプトの一部}
\label{fig:colab}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

一般的に深層学習モデルの学習には高価なグラフィックボードを必要とする上，環境構築に専門性が求められるため，初学者に実行環境の事前準備を要することは現実的ではない．そのため，本ワークショップではGoogle社が提供しているColab\footnote{\url{https://colab.research.google.com}}というクラウドプラットフォームを利用した．Colabでは，ブラウザ上からGoogle社が提供する計算環境にアクセスでき，かつ無料\footnote{無料プランは実行時間に制限があるがワークショップで利用する分には十分であることは事前に確認している．}でグラフィックボードを使用して計算を行うことが可能である．また，Colabは，Pythonのノートブック形式をサポートしており，マークダウンでコード中に説明を記載できるため実行しながら学ぶといった本ワークショップに最適である．実際にワークショップで使用したスクリプトの一部を図\ref{fig:colab}に示す．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{リーダーボード}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 2
\begin{figure}[t]
\begin{center}
\includegraphics{30-1ia23f2.pdf}
\end{center}
\caption{分類タスクリーダーボードの一部}
\label{fig:leaderboard}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

参加者が各タスクに対して機械学習を適用しその性能を競い合うといった評価型コンペティションは近年多くの人が取り組んでいる．我々もコンペティション形式を踏襲することで楽しみながら学習できると考え，深層学習モデルの予測結果の投稿を行うことでその評価値がランキング形式で掲載されるといったリーダーボードを用意し，参加者に投稿を促した．実際のリーダーボードを図\ref{fig:leaderboard}に示す\footnote{森羅プロジェクトでも使用しているリーダーボードのため一部ワークショップ以前の投稿も混在している．}．より多くの投稿を促すため，配布しているスクリプトでは，リーダーボードへの投稿形式の変換を行いファイルに出力するところまで実装している．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{その他}

ワークショップを行うにあたり，その他工夫したことを以下に示す．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{動画公開}
実施後にワークショップの録画を公開することで，ワークショップの内容を再度振り返りながら学習できるようにした．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{トライアル期間}
ワークショップを前編と後編に分け，その間に1週間から1ヶ月程度のトライアル期間を設けた．前編では一通りの解説を行っている．トライアル期間中，参加者は動画等で内容を振り返り，後編で再度質問することができるため，自分のペースで内容を理解することができる．また，期間中にモデルを改良し結果をリーダーボードに投稿することで他の参加者と競い合うことができるため，参加者の学習意欲向上に繋がる．加えて後編に改良内容を報告する機会を設けることで，発表者のモチベーションを高め，その他参加者に対しては更なる学習の機会を増やすことができる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{チャットツールによる補助}
ワークショップ中やトライアル期間中はチャットツール\footnote{Slack (\url{https://slack.com})を使用した．}において常時質問を受け付けており，前編と後編の間で参加者がドロップアウトすることがないようにサポートを行った．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{実施後報告}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{参加状況}

前章で述べた通り，本ワークショップは各タスクごとに前編後編の2回，計4回実施したが，分類タスクでは381人と200人，固有表現抽出タスクでは201人と99人の参加登録があった．ワークショップ中の実際の参加人数は正確に記録していないが，登録者のうち8, 9割近くが参加していたようである．これはワークショップの間口を広げた成果であり，また，初学者向けワークショップの需要を示すものである．特に後編のモデル改良報告では社会人の方の発表が多く，社会における深層学習への関心の高さが窺えた．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{リーダーボード}

リーダーボードに対しては，分類タスクでは50人以上，固有表現抽出タスクでは11人の投稿があった．固有表現抽出タスクの投稿人数が少ないが，本タスクは分類タスクの後に実施されたため，多くの参加者が分類タスクへの投稿で満足した結果であると思われる．それぞれのタスクで6, 7割以上の参加者が，配布した実装の評価値を超えており，リーダーボードにより参加者の自発的な学習を促すことができていたと考えられる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{参加者アンケート}

参加者に任意でアンケートをお願いしたところ，ワークショップ全体で93件の回答が得られた．ワークショップの説明の分かりやすさを5段階で評価する項目では，1及び2が全体の0\%，3が11\%，4が46\%，5が43\%であった．全体の89\%が4以上を付けており，殆どの方に内容を理解いただくことができた．自由記述欄も設けており，「無料なのがおかしいぐらい質の高いワークショップだったと思います。」「BERTのコンポーネントの説明やコードの説明が詳しく説明されていて、とても分かりやすかったです。」等の好評を多く頂いた．また，「スライドは見やすかったのですが、難しすぎる上にコーディングでは線形変換など説明されている殆どがライブラリ化されていて動きが見えないのが残念でした。」といったご指摘を頂いた．今回のワークショップは，深層学習のバックグラウンドを完全に理解せずとも一度動かしてみることで参加者の学習意欲を育むことを目的としていたため，やや煩雑であるTransformerライブラリの中身については言及していなかった．更に一歩踏み込んだ内容に対して興味を持っていただくことが出来たと考え，要望があればライブラリの中身を展開しながらコードからBERTを読み解くワークショップを別途設けようと考えている．森羅プロジェクトに対しての興味を問う項目では，2割程度が興味を示す回答をしており，実際に5人の方が今回を機に新たに森羅プロジェクトに参加した．これは我々側の目的が達成されたことを示している．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}

今回のワークショップは，参加者側は最先端の技術を身につけることを目的とし，主催者側は特定の研究テーマに対して社会の注目を集めることを目的にしたものであった．実施後に行われたアンケート結果等により双方の需要が達成されたことが示された．深層学習の発展により様々な技術が考案されているが，これら技術の社会実装を進めるための新たな橋渡しとして今回の様なワークショップは非常に有用であると言える．我々は今後とも森羅プロジェクトの普及を掲げ，様々なワークショップを主催していきたいと考えている．また，今回の様なワークショップが分野を超えて広く普及していくことを願う．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\acknowledgment

``Wikipediaを用いた日本語の固有表現抽出データセット''のワークショップでの利用について快諾いただいたストックマーク株式会社の近江崇宏様に深く感謝します．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{jnlpbbl_1.7}
\bibliography{23refs}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{biography}

\bioauthor{中山　功太}{理化学研究所革新知能統合研究センター・言語情報アクセスチームリサーチアソシエイト，筑波大学システム情報工学研究群博士課程に在学中．2020年豊橋技術科学大学情報・知能工学系修士号．専門は深層学習，自然言語処理．特にアンサンブル学習，固有表現抽出，情報抽出の研究に従事．
}

\bioauthor{渋木　英潔}{
2002年北海道大学大学院工学研究科電子情報工学専攻博士後期課程了．博士（工学）．2006年北海学園大学大学院経営学研究科経営学専攻博士後期課程了．博士（経営学）．横浜国立大学環境情報研究院産学連携研究員，国立情報学研究所特任研究員などを経て，現在，（株）BESNA研究所研究部主任研究員．自然言語処理に関する研究に従事．言語処理学会，情報処理学会各会員．
}

\bioauthor{関根　　聡}{理化学研究所革新知能統合研究センター・言語情報アクセスチームチームリーダー，1992年英国マンチェスター大学計算言語学部修士号．1998年ニューヨーク大学コンピューターサイエンス学部博士号．その後，ニューヨーク大学研究准教授に就任．松下電業産業株式会社（現パナソニック），楽天技術研究所ニューヨークなどでの研究職を歴任．専門は自然言語処理．特に情報抽出，固有表現抽出，知識構築の研究に従事．}

\end{biography}



\end{document}



