【エンジニア長期インターン2023 in 東京】AI記事生成システムの開発
まずはじめにインターンの成果物が自身で生成した自己紹介をお読みください。↓↓
▽ 作成したAI記事生成システムで生成した記事風紹介
記事生成システム「くら〜けん」
学生が開発、自然言語処理で箇条書きを記事に
共同通信本社で開催されたエンジニアのインターンシップで、自然言語処理を専攻する学生たちが記事生成システム「くら〜けん」を開発した。自然言語処理は、人間の言語をコンピュータに理解・生成させる技術で、近年のAI技術の進展とともに注目を集めている。
「くら〜けん」は、箇条書きの文章を記事の体裁に変換する。また、大阪支社インターンで開発されたベクトル検索エンジン「ゆるさ〜ち」の検索結果を下敷きにすることで、記事の品質を高める仕組みも搭載されている。
自己紹介
堤創一朗
東京都市大学大学院 環境情報学研究科 情報システム領域 M2
大学での研究テーマ : 自然言語処理の技術を用いて、文章から個人の特徴を削減する課題に取り組んでいます。
応募動機:去年のインターンで自然言語処理技術を業務に役立てる記事を読み、興味を持ちました。
中島京太郎
東京都立大学大学院 システムデザイン研究科 情報科学域 M1
大学での研究テーマ:計算機効率の良い大規模言語モデルのチューニング方法
応募動機:メディアが持つ大量のデータを大規模言語モデルを応用させてみたいと思い、インターンに応募させていただきました。
榎本大晟
東京都立大学大学院 システムデザイン研究科 情報科学域 M1
大学での研究テーマ:機械翻訳における単語分割器の分野適応
応募動機:大規模な日本語の記事データを用いてシステムを作成できるということに興味を持ち応募しました。
インターン実施中の様子
インターンの成果物
概要
「くら〜けん」という取材メモのような箇条書きされた情報から記事を自動生成するシステムを作成しました。
くら〜けんの名前はアメリカンコミックの「スーパーマン」の主人公が”クラーク・ケント” という新聞記者として人間の生活をしていることから決定しました。「くら〜けん」もスーパーマンのような AI 記者になることを期待しています。
動機
取材メモから自動的に記事を生成させることが可能になれば、記者の方々が本当に注力したい記事に集中できると考えたため、自動記事生成システムを作成しました。
モデル・手法
(1-1)GPT-4のFew-shot learning
共同通信の過去の記事とその箇条書きデータ5セットをexamplesとして入力しました。
(1-2)GPT-4のFew-shot learning(関連過去記事を追加学習)
共同通信の過去の記事とその箇条書きデータ5セットに加え、elasticsearchを用いた類似記事検索機能(大阪インターンの成果物)を使って取得した過去10年分の共同通信の中で最も関連度の高い記事1つの計6件の事例をexamplesとして入力しました。
(2)GPT-3.5のFine-tuning
共同通信の過去の記事とその箇条書きデータ1000セットを訓練データとして、OpenAIのAPIを利用してFine-tuningを行いました。
(3)ELYZA Llama2のQLoRa Fine-tuning
共同通信の過去の記事とその箇条書きデータ1000セットを訓練データとして、QLoRAを用いてFine-tuningを行いました。
制作物
こちらがくら〜けんの画面です。(くら〜けんのメインキャラクターは共同通信のグラフィックス部の方々に作成していただきました。ありがとうございました...!)
活用例
取材メモから記事を生成
箇条書き(入力):
NPT準備委での事件
オーカスはオーストラリアでの原子力潜水艦建造と配備を計画
オーストラリアは順守を主張し、偽情報を拡散する国に失望を表明
中国と豪がオーカスで衝突
中国は核不拡散体制への重大な挑戦と批判
判決文を箇条書きにして記事生成
言語モデルを用いて数十ページある文書を要約して箇条書きの形に変形したものをくら〜けんに入力
箇条書き(入力):
上告人は生物学的には男性だが、女性としての生活を始めた。
女性ホルモン投与や手続きを経て、家庭裁判所の許可で名前を変更。
経済産業省の担当職員に性同一性障害を説明し、女性の服装や女性トイレの使用を要求。
人事院はこの要求を認めなかった。
原審はこの判定を棄却したが、その判定部分に違法性はないとした。
トランスジェンダーの上告人は、自らの性自認に基づいて女性トイレを使用する権利を求めて裁判を起こした。
裁判官は経済産業省の処遇が不適切であると判断し、上告部分を棄却。
経済産業省は性別を尊重する法的利益を認める必要があると指摘された。
アメリカの雇用統計から記事生成
Bureau of Labor StatisticsのサイトのURLを入力し、サイト内の英語の文書を要約して日本語の箇条書きに変形したものをくら〜けんに入力
箇条書き(入力):
全従業員の実質平均時給は、平均時給が0.2%上昇し、全都市消費者物価指数(CPI-U)が0.6%増加した結果、7月から8月にかけて0.5%下落
しかし、2022年8月から2023年8月の期間では、実質平均時給が0.5%上昇し、平均労働時間が0.3%減少したことを考慮に入れると、実質平均週給は0.3%増加
7月から8月にかけて、生産および監督従業員の実質平均時給は、平均時給が0.2%上昇し、都市賃金労働者および事務職員の消費者物価指数が0.8%増加した結果、0.6%下落
しかし、2022年8月から2023年8月の期間では、実質平均時給が0.9%上昇し、平均労働時間が0.6%減少したにもかかわらず、実質平均週給は0.4%増加
生成文:
実質平均時給、全従業員は0.5%下落
生産・監督従業員は0.6%下落
しかし、実質平均週給は増加
インターン期間(3週間)の流れ
1週目
最初にテーマ決めを行いました。メンターの方から現場が抱えている課題の説明を受けて、自分たちの興味・関心を踏まえてテーマを考えました。
まず私たちは長い文章を要約することで、記者の方々が記事を書く際のサポートとなることを目指しました。文書要約は上手くいき、10ページ以上に渡る文書を1000字以下にまとめることができました。
次に要約した日本語の文書から記事の体裁に書き換えることを目指しました。GPT-4のFew-shot learningを試してみたところ、数字等の半角全角や語尾の変換はできるものの、共同通信風の記事とはいえないような文が生成されました。そのため翌週から記事をより高い精度で生成するような取り組みを行っていくことにしました。
2週目
1週目の取り組みを踏まえ、2週目は箇条書きされた情報から記事を生成する方針で進めていきました。箇条書きにする理由は、入力文の書き方の特徴を削除できることや、さまざまな分野に適用することができると考えられるためです。
今回は以下の3つの手法を行いました。
・GPT-3.5のOpenAI APIを用いるFine-tuning
・Elyza Llama2のQLoRA Fine-tuning
・GPT-4のFew-shot learning
Fine-tuningの学習データには共同通信の過去の記事とその箇条書きデータ1000セットを用いました。箇条書きデータの作成にはChatGPT(GPT-3.5のOpenAI API)を使用しました。
また、経済部の方から自動化が望まれるタスクについて伺ったり、総務部人事Gのベテラン記者の方からニュース記事の書き方の初歩を教わる機会がありました。 それ以外にも、技術職の方が海外出張での仕事の話をしに来てくださったり、大阪支社のインターン参加者が会社見学に来ていたため、大阪支社のインターンの様子などを聞いたりもできました。
3週目
2週目の内容を引き続き行いました。具体的には、Fine-tuningしたモデルの生成文の体裁が崩れることが多かったため、体裁を整えるために特殊トークンを使用するなどの工夫をしました。
最終的には全てのモデルで、入力された箇条書きの情報から共同通信の記事の体裁に従ったような記事を生成することが可能になりました。また、Fine-tuningしたモデルが生成した記事にはハルシネーションが多い傾向があることに対し、GPT-4のFew-shot learningではハルシネーションが少ない傾向があることがわかりました。
成果発表には40人以上の方が参加され、エンジニアの方のみでなく記者の方や情報技術局長も参加してくださいました。たくさんの方に興味を持っていただき活発な議論を行いました。
発表の後には打ち上げも行われました。タコの怪物くら~けんに因んでたこ焼きを食べに行きました🐙。エンジニアの方々の働き方等を詳しく聞くことができました。最終日にはデザイン部の方からくら〜けんのメインキャラクターの手作り磁石をいただきました。
くら~けんの概要
まず情報を箇条書きに整理する。箇条書きにすることで、フォーマットを統一し、表記揺れや言い回しのゆらぎなどを解消できる。
箇条書きの文章から、共同通信の記事の文体に即した文章に、4つの手法で変換する。
感想
堤創一朗
今回のインターンではゲーミングPCやAWSのインスタンス、OpenAIのAPIといった潤沢な計算資源が提供されました。そうした環境のもと、ソースコードが公開されているモデルのファインチューニングにも挑戦でき、複数のモデル・手法の性能の評価比較が行えました。中でもGPT-4の性能の高さに圧倒されました。少ないサンプル数でも、理想に近い結果が出たのは驚きでした。
オフィスの雰囲気は、ニュース速報や記事の訂正を知らせる音声放送が時折流れるなど、共同通信社ならではの緊張感がありました。生成AIに関するニュースが流れたこともありました。
技術面だけでなく、初歩的な新聞記事の書き方も実際の記者の方から教わるなど、他のエンジニア向けインターンでは得難い経験ができました。また、メンター、他の社員の方からだけでなく、他のインターン生からも学ぶ機会が多くありました。特に言語モデルについての理解が深まりました。
貴重な機会を提供していただき、ありがとうございました。
中島京太郎
今回のインターンは共同通信が持つデータを使って、現状のどのような課題を解決できるかという所から議論が始まり、エンジニア以外の方々からの話を元にタスクを考えていきました。実際に現場で活躍されている方々にとってどのようなシステムを作成することができれば嬉しいのかを考えるのは初めての経験で、充実した期間を過ごさせていただきました。
業務以外にも共同通信社が何を行っているか、特にエンジニアがどのようにメディアに対して貢献するかなどのお話を聞かせていただきました。自分が知らなかったエンジニアの役割やどのような技術が業務にとって有用なのかを考える機会をいただきました。
今回様々な部署の方に今回のインターンに協力していただきました。皆さんのお力添えのおかげでくら〜けんを完成させることができました!ありがとうございました!
榎本大晟
インターンを通じて、業界のプロの方々と協力しながら私の研究分野である自然言語処理の技術を活用して、実際の課題に取り組むという経験をすることができ、非常に充実した時間を過ごすことができました。期間中は良い結果ばかりではなく、試行錯誤の繰り返しでしたが、さまざまなことを試せたのも、このような環境を用意してくださった方々のおかげだと思います。
また、マスコミ業界ならではのエンジニアの業務の話や、さまざまな部署の方が業務での体験談などをたくさん教えてくださりマスコミ業界の魅力を感じることができました。
これからくら〜けんがより高性能になり記者の方々の助けになることを願っています。ありがとうございました!
この記事が気に入ったらサポートをしてみませんか?