情報収集系の業務効率化
EP02

AI 情報収集

情報収集系の業務効率化

ニュース・トレンド・ネタ探しを AI エージェントが自動巡回。番組制作に役立つ情報を Slack へ通知する仕組みを紹介。

実際のツールを触ってみる

企画詳細

第2回では、番組制作に必要な情報収集(ニュース・トレンド・ネタ探し)を AI で自動化するフローを実演します。収集対象のソースを決め、AIエージェントが定期的に巡回。番組テーマに関連する情報を抽出し、Slack・メール・スプレッドシート等に通知します。「毎朝スタッフが自分でチェックしていた作業」がなくなるインパクトを実感していただきます。

HOW IT WORKS

「海外レポーター候補さがし」を、AIとプログラムで自動化する仕組み

第2回のテーマは「情報収集の自動化」。番組コーナーに出てもらう海外レポーターの候補さがしを、AIとプログラムでどこまでラクにできるかに挑戦しました。 ここで紹介するのは、実際に動くツール(アプリ)です。担当者が国を選んでボタンを押すと、 海外のブログから「今も活動していて、連絡先もありそうな人」の候補リストが自動でできあがります。 専門用語が多く出てきますが、その都度かみくだいて説明するので、AIにくわしくない方も安心して読み進めてください。

海外レポーター候補さがしの自動化 - 解説スライド

用語メモ:「要件定義」とは?

何かを作る前に「何ができればOKか」「どんなルールで動くべきか」を決めておくこと。料理でいうレシピ決めです。 とくにAIに仕事を任せるときは、この“事前の取り決め”の質が、結果の質をそのまま決めます。第2回の裏側は、まさにこの取り決めのかたまりです。

そもそもの「お願いごと」

スタートは、番組制作サイドからの「海外レポーターを探したい」という相談でした。整理すると、お願いはこうです。

そもそものお願いごと - 解説スライド

どこから探す?

海外在住ブロガーが集まる「海外生活ブログ村」というまとめサイトから。

どんな人?

直近1か月以内に更新していて、食やその国の“今の流行”を発信している人。

あると嬉しい

問い合わせ先(メール・SNSなど)も分かるとより良い。

どう渡す?

地域・国別に分けて、リストの形にまとめてほしい。

これまでは、ぜんぶ手作業でした

これまでは、キーワードで検索し、記事を一つずつ読んで面白そうな人を探し、連絡先がないかを確かめる……という作業を人が地道に繰り返していました。 とくに大変なのが連絡先さがし。連絡先を公開している人がとても少なく、ここが一番の“詰まりどころ”(ボトルネック)でした。 そこで、この「手間はかかるが頭は使わない部分」をツールに任せることにしたのです。

先に、よく出る4つの言葉だけ

このあと何度も出てくる言葉を、先にやさしく押さえておきましょう。ここさえ分かれば、仕組みの話がぐっと読みやすくなります。

よく出る4つの言葉 - 解説スライド

スクレイピング

Webページを人の代わりにプログラムが開いて、必要な情報(記事タイトル・投稿日・リンクなど)を自動で抜き出す技術。今回は「海外生活ブログ村」というまとめサイトの新着記事ページから、記事の一覧を機械的に読み取っています。

RSS(アールエスエス)

ブログの「最新記事はこれですよ」という更新情報を、機械が読みやすい形でまとめて配っている仕組み。あるブログがRSSを持っていれば、そこを見るだけで最新記事を正確・軽量に取れます。ページの見た目を無理やり読むより安定するので、まずRSSを探します。

LLM(大規模言語モデル)

文章を理解して、要約したり質問に答えたりできるAIのこと。ChatGPT の仲間です。今回は Google の「Gemini(ジェミニ)」というLLMを使って、記事の要約や「聞いてみたいこと」の候補を作らせています。

APIキー

外部のAI(今回は Gemini)を使うための「合言葉」のような文字列。これがないとAIを呼び出せません。料金にも関わる大事な鍵なので、今回のツールは入力された鍵を保存せず、その場の処理にだけ使う設計にしています。

この道具は「3つの部品」でできている

1つのAIに全部やらせるのではなく、役割の違う部品を組み合わせています。人間の職場と同じで、得意なことに専念させたほうが良い結果が出るからです。

3つの部品 - 解説スライド

Python + Streamlit

画面・土台

人が操作する部分

「Streamlit(ストリームリット)」は、Python というプログラミング言語で、ボタンや表のある操作画面をかんたんに作れる道具。担当者がキーワードを選んで実行し、結果を表やカードで見られる画面はこれで作っています。

requests + BeautifulSoup

収集・調査

情報を集める部分

ブログ村のページを読みに行って中身を抜き出す(スクレイピングする)部品。さらに各ブログのRSSや連絡先も、この部品が探しに行きます。人が何十ページも手で開いていた作業の置き換えです。

Gemini(LLM)

AI(要約・判定)

考える部分

集めてきた記事をAIが読み、①2〜3行の要約 ②「聞いてみたいこと」候補 ③本当にその国の話か、を出します。ただし『面白いかどうか』の判定はさせません(後述の大事なルール)。

全体の流れ:6つのステップ

ボタンを押してから候補リストができるまで、裏側ではこの6ステップが上から順に動いています。それぞれ「何をして」「なぜ必要か」を見てみましょう。

全体の流れは6ステップ - 解説スライド
STEP 1

新着記事の一覧を集める

スクレイピング

なにをする?

選んだ国・地域(例:タイ、フランス)の「新着記事ページ」をプログラムが開き、ブログ名・投稿者・記事タイトル・投稿日時・リンクを一覧でごっそり取得します。

なぜ必要?

候補さがしの出発点は「今どんな人が発信しているか」。人がキーワード検索して一覧を眺める作業を、まず機械にまとめてやらせます。1ページ目(最新20〜25件ほど)が対象です。

STEP 2

新しい記事だけに絞る

プログラムで自動

なにをする?

取得した記事のうち、指定した期間(初期設定は直近30日)より古いものを外します。日数は画面で変えられます。

なぜ必要?

「今も活動している人」を探すのが目的だから。何年も前で止まっているブログを候補に入れても意味がありません。ここで“今動いている人”だけに絞り込みます。

STEP 3

本当のブログのURLを突き止める

プログラムで自動

なにをする?

ブログ村のリンクは一度「中継用のURL」を経由します。そこから、そのブログ本体の実際のURLを取り出します。

なぜ必要?

次のステップで「そのブログのRSSや連絡先」を調べるには、中継URLではなく本物のブログの住所が必要だからです。地味ですが欠かせない下ごしらえです。

STEP 4

ブログを詳しく調べる(RSSさがし)

プログラムで自動

なにをする?

各ブログにRSS(更新情報のまとめ)があるかを探します。定番の場所を順番に当たり、見つかれば最新記事の情報を補強に使います。

なぜ必要?

ブログはサービスごとに作りがバラバラ(Exblog・Ameba・はてな・WordPress等)。RSSがあれば中身を正確・軽量に読めるので、まずRSSを優先し、無ければページを直接読むという二段構えにしています。

STEP 5

連絡先をさがす

プログラムで自動

なにをする?

記事ページとブログのトップから、メールアドレスやSNS(X・Instagram・note等)のリンクを探します。見つからなければ「なし」。

なぜ必要?

依頼で「問い合わせ先もあると嬉しい」と言われた部分です。ただし“シェアボタン”や画像ファイル名など、本人の連絡先ではないものを間違って拾わないよう、細かい除外ルールを入れています。

STEP 6

AIが要約・深掘り・国チェックをする

Gemini(AI)

なにをする?

記事のタイトルと抜粋をAIに渡し、①2〜3行の要約 ②「ラジオで聞いてみたいこと」候補2〜3個 ③本当にその国・地域の話か(○/×/不明)を作らせます。

なぜ必要?

人が一件ずつ記事を読んで要約する時間を、AIが肩代わりします。最後に国・地域別に並べ替え、画面の表・カードで見せ、CSVでも保存できます。ここでも“面白いかどうか”はAIに判定させません。

連絡先さがしの工夫 - 解説スライド

ちょっと難しい話:「カテゴリ一致」って何?

ブログ村の「ベトナム」「タイ」といった分類(カテゴリ)は、記事の“棚”と実際の書き手の住んでいる国がズレることがあります。 たとえば「ベトナムの棚」に、フィリピン在住の人の記事が混ざっていた、という実例がありました。棚だけを信じると、狙っていない国の人が候補に紛れ込みます。

そこでAIが各記事の中身を読んで「本当にその国の話か」を○×で判定し、「カテゴリ一致」という目印として添えています。 ただしこれは“参考”で、×でも自動で捨てません。AIの判定は完璧ではないので、隠れた良い候補を機械的に消さないための配慮です。画面では「一致だけ表示」に絞ることもできます。

カテゴリ一致とは - 解説スライド

作る前に決めた6つのルール(=要件定義のキモ)

AIやプログラムは、指示したとおりにしか動きません。逆にいえば「どんなルールで作るか」がこのツールの良し悪しを決めます。打ち合わせで実際に決めた、大事なルールを6つ紹介します。

作る前に決めた6つのルール - 解説スライド
1

「面白いかどうか」はAIに決めさせない

今回いちばん大事なルール。AIは要約と「聞いてみたいこと」候補を出すところまで。「この人は面白い/採用すべき」といった評価は一切させません。何を面白いと感じるかは番組スタッフ固有の感覚で、機械のルールにすると良い候補を取りこぼす危険があるからです。取捨選択は必ず人間が行います。

2

アプローチの文面は自動で作らない

「この人に送るメール文」をAIに書かせることもできますが、あえてやりません。実際の連絡は一人ひとり内容を変えて送っているため。ツールの役割は“候補と判断材料を並べるところ”までと線引きしています。

3

「カテゴリ一致」は参考情報。自動で捨てない

AIが「本当にその国の話か」を○×で示しますが、これはあくまで目印。×だからといってツールが勝手にリストから消すことはしません。AIの判定は100%ではないので、隠れた良い候補を機械的に切り捨てないための配慮です。判定理由もCSVに残します。

4

APIキーは保存も送信もしない

AI(Gemini)を使う合言葉(APIキー)は、画面で毎回入力する方式。どこかに保存したりサーバーへ送ったりせず、その場の処理にだけ使います。大事な鍵を安全に扱うための設計です。

5

相手のサイトに迷惑をかけない

短時間にアクセスを集中させない、つながらないときは少し待って数回だけ再挑戦する(リトライ)、といった配慮を入れています。便利さのために相手のサイトへ負担をかけないことは、この手のツールの最低限のマナーです。

6

連絡先「なし」が多いのは“仕様”

そもそも連絡先を公開しているブロガーは少数派です。だからリストは「なし」が多くなるのが普通で、これは不具合ではありません。ツールは“見つかれば拾う”ベストエフォート(できる範囲で最善を尽くす)の考え方で作っています。

面倒な情報集めはAIに。大事な判断は人間に。

第2回のツールがやっているのは、あくまで「候補さがしの“材料集め”」です。 何十ページも巡回し、要約し、連絡先を探す──そんな時間のかかる作業をAIとプログラムが一気に片づけます。 そして「この人に声をかけたい」という最後の判断は、必ず人間が行う。 AIは仕事を奪う道具ではなく、人が本当に大切な判断に集中するための“相棒”です。第1回の「1つのAIに全部やらせない」と、根っこは同じ考え方なんです。

材料集めはAI、判断は人間 - 解説スライド

※ この仕組みは、実際に動く海外レポーター候補リサーチツール(Python + Streamlit 製)として作られています。

RELATED BLOG

関連ブログ記事