テキスト 処 理 における WebAPI の 利 用 Utilization of WebAPI in Text Processing 高 尾 哲 康 Takao Tetsuyasu 1. はじめに 近 来 の Web2.0[1]のめざましい 発 展 により Web のネットワーク 化 および 構 造 化 が 進 んできた これまでの Web アプリケーションでは サーバで 動 作 する Web や DB アプリケーションなどの 利 用 や Web ブラウザ 上 で 動 作 する JavaScript や Ajax 等 の 動 的 なページを 利 用 してきた 今 後 は Web 上 にあるさまざまなサービスをブラウザからだけでなく さまざまなプログラムから 利 用 するイ ンタフェースを 備 えた WebAPI(Application Program Interface)としての 利 用 が 広 まりつつある WebAPI を 提 供 している 代 表 的 なサイトには Amazon Google Yahoo! はてな などがあるが さらに 先 進 的 な WebAPI を 提 供 するサイトも 出 現 しつつある これらのサイトでは WebAPI を 提 供 することにより サービス 利 用 者 の 増 加 やそれに 伴 う 顧 客 層 の 拡 大 が 大 きなメリットとなってい る 多 くの 利 用 者 に 認 知 されつつあるサービスには Web やブログ 商 品 情 報 などの 検 索 サービ ス 地 図 情 報 サービス ブックマーク 共 有 (ソーシャル ブックマーク)などがある いずれも 閲 覧 性 の 高 いブラウザ 上 でのサービスであり 使 い 勝 手 も 良 く 頻 繁 に 利 用 されている しかし これらの 検 索 結 果 などを Excel や 手 元 のアプリケーションソフトウェアなどで 加 工 編 集 したい 場 合 はブラウザからの 単 調 なコピー&ペーストの 作 業 量 が 多 くなり せっかくの Web アプリケー ションサービスの 利 用 に 支 障 をきたしている 今 回 図 書 選 定 リストの 作 成 やゼミ 等 の 演 習 用 問 題 作 成 などに 各 サイトの WebAPI のサービスを 活 用 することにより 作 業 量 の 大 幅 な 軽 減 をはかることができた 本 報 告 では AWS(Amazon Web Service)を 利 用 した 図 書 選 定 リスト 作 成 Yahoo!デベロッパーネットワークが 提 供 しているテキ スト 解 析 WebAPI を 利 用 した 演 習 用 問 題 作 成 やルビ 自 動 付 加 について 紹 介 する 2. Amazon Web Service の 利 用 教 育 用 図 書 新 刊 図 書 などの 図 書 選 定 リストの 作 成 のために AWS(Amazon Web Service)[2]を 利 用 したキーワードによる 既 刊 図 書 検 索 プログラムを Perl 言 語 で 作 成 した AWS 利 用 のための 署 名 認 証 には HMAC-SHA256[3] 機 能 を 利 用 している 検 索 範 囲 のジャンル( 文 学 評 論 思 想 社 会 ノンフィクション 人 文 思 想 社 会 政 治 をはじめ 合 計 30 ジャンル) 検 索 結 果 数 や 並 べ 替 179
え 方 法 ( 売 れている 順 番 価 格 順 タイトル 順 発 売 日 順 )などはプログラムの 引 数 として 指 定 する 図 1にその 実 行 例 を 示 す 引 数 として ジャンルはコンピュータ インターネット 検 索 結 果 数 は 10 個 で 売 れている 順 番 で 表 示 するようにしている ひとつの 結 果 は 1 行 表 示 で ASIN(Amazon Standard Identification Number) タイトル 著 者 名 出 版 社 ISBN 価 格 発 行 日 をタブ 区 切 りなどで 出 力 する 検 索 結 果 は XML フォーマットで 得 られるので XML テキストを 解 析 して CSV やタブ 区 切 りなどに 変 換 することで Excel などへ 組 み 込 むことができる XML テキ ストの 解 析 には Perl モジュールを 利 用 することで 簡 単 に 処 理 できる 図 1.AWS を 利 用 した 検 索 と Excel への 取 り 込 み 3. Yahoo!デベロッパーネットワークのテキスト 解 析 の 利 用 テキスト 解 析 API[4]には 日 本 語 形 態 素 解 析 かな 漢 字 変 換 ルビ 振 り 校 正 支 援 日 本 語 係 り 受 け 解 析 キーフレーズ 抽 出 がある 今 回 はルビ 付 き 2 文 文 節 単 位 混 合 文 を 演 習 用 問 題 として 作 成 してみた 2 文 文 節 単 位 混 合 文 とは 2 つの 文 章 をそれぞれ 文 節 単 位 で 区 切 り 並 びの 順 序 を 180
保 ったままランダムにマージした 文 のことである 問 題 の 作 成 は 次 の 手 順 で 行 なう 1 問 題 文 となるテキストファイルを 複 数 用 意 この 例 では Webページなどから 新 聞 のコラム 欄 のテキストを 利 用 した コラムごとに 1つのファ イルとする 問 題 文 の 作 成 にあたっては 各 テキストファイルに 含 まれるテキストの 長 さにあま り 差 がない 文 を 選 んだほうがよい 日 本 経 済 新 聞 2009-07-11 付 春 秋 (14 文 534 文 字 ): 20090711syunjyuu.txt 日 本 経 済 新 聞 2009-07-13 付 春 秋 (17 文 540 文 字 ): 20090713syunjyuu.txt 2 文 節 単 位 に 分 割 ( 文 節 / 行 ) 形 態 素 解 析 により 文 を 形 態 素 単 位 に 分 割 し 係 り 受 け 解 析 により 文 節 ( 自 立 語 + 付 属 語 ) 単 位 として 構 成 する なお 後 処 理 として 問 題 文 が 難 しくならないように 複 合 語 関 連 性 の 強 い 語 彙 や 連 体 修 飾 などはひとつの 文 節 にまとめている $ ydnda.pl -f1 20090711syunjyuu.txt > 20090711syunjyuu_m.txt $ ydnda.pl -f1 20090713syunjyuu.txt > 20090713syunjyuu_m.txt $ head 20090711syunjyuu_m.txt 20090713syunjyuu_m.txt ==> 20090711syunjyuu_m.txt <== 目 に 見 えぬ ロボットが 世 界 を 荒 らし 回 っている 韓 国 や 米 国 の 政 府 機 関 や 銀 行 証 券 取 引 所 などの ウェブサイトを 集 中 的 に 狙 った サイバー 攻 撃 のことだ ==> 20090713syunjyuu_m.txt <== スポーツジャーナリストの 二 宮 清 純 さんによれば 選 手 に 一 番 印 象 に 残 っている 言 葉 を 聞 くと 例 外 なく 調 子 の 悪 いとき かけてもらった $ 3 ルビ 振 り 181
ルビ 振 りのグレードには 小 学 校 学 習 指 導 要 領 付 録 学 年 別 漢 字 配 当 表 (1989 年 3 月 15 日 付 文 部 科 学 省 告 示 1992 年 4 月 施 行 )を 参 考 に 小 学 1 年 生 ~6 年 生 の 各 学 年 向 け 中 学 生 向 け および 一 般 向 けと 8 段 階 に 設 定 できる この 例 ではグレード 4( 小 学 4 年 生 向 け 小 学 1~3 年 生 で 習 う 漢 字 にはふりがなを 付 けない)を-g オプションにて 指 定 している ルビ 振 り 機 能 は 留 学 生 などの 外 国 人 向 けに 利 用 している これにより ルビの 部 分 には HTML の RUBY タグが 付 けられる $ ydnruby.pl -g4 20090711syunjyuu_m.txt > 20090711syunjyuu_mr.txt $ ydnruby.pl -g4 20090713syunjyuu_m.txt > 20090713syunjyuu_mr.txt $ head 20090711syunjyuu_mr.txt 20090713syunjyuu_mr.txt ==> 20090711syunjyuu_mr.txt <== 目 に 見 えぬ ロボットが 世 界 を <ruby><rb> 荒 </rb><rp>(</rp><rt>あ</rt><rp>)</rp></ruby>らし<ruby><rb> 回 </rb><rp> (</rp><rt>まわ</rt><rp>)</rp></ruby>っている <ruby><rb> 韓 国 </rb><rp>(</rp><rt>かんこく</rt><rp>)</rp></ruby>や 米 国 の <ruby><rb> 政 府 </rb><rp>(</rp><rt>せいふ</rt><rp>)</rp></ruby><ruby><rb> 機 関 </rb> <rp>(</rp><rt>きかん</rt><rp>)</rp></ruby>や 銀 行 <ruby><rb> 証 券 </rb><rp>(</rp><rt>しょうけん</rt><rp>)</rp></ruby> 取 引 所 などの ウェブサイトを <ruby><rb> 集 中 的 </rb><rp>(</rp><rt>しゅうちゅうてき</rt><rp>)</rp></ruby>に<ruby ><rb> 狙 </rb><rp>(</rp><rt>ねら</rt><rp>)</rp></ruby>った サイバー<ruby><rb> 攻 撃 </rb><rp>(</rp><rt>こうげき</rt><rp>)</rp></ruby>のことだ ==> 20090713syunjyuu_mr.txt <== スポーツジャーナリストの <ruby><rb> 二 宮 </rb><rp>(</rp><rt>にのみや</rt><rp>)</rp></ruby><ruby><rb> 清 純 </rb><rp>(</rp><rt>せいじゅん</rt><rp>)</rp></ruby>さんによれば <ruby><rb> 選 手 </rb><rp>(</rp><rt>せんしゅ</rt><rp>)</rp></ruby>に 一 番 <ruby><rb> 印 象 </rb><rp>(</rp><rt>いんしょう</rt><rp>)</rp></ruby>に <ruby><rb> 残 </rb><rp>(</rp><rt>のこ</rt><rp>)</rp></ruby>っている 言 葉 を 聞 くと <ruby><rb> 例 外 </rb><rp>(</rp><rt>れいがい</rt><rp>)</rp></ruby>なく 調 子 の 悪 いとき かけてもらった $ 4 MS-Word 読 み 込 み 用 ルビ 付 2 文 文 節 単 位 混 合 文 作 成 この 例 では 2 文 混 合 文 を 作 成 しているが プログラムでは n 文 混 合 文 として 作 成 することもで きる その 場 合 はルビ 付 きの 1 行 1 文 節 単 位 のテキストファイルを n 個 用 意 することになる -s 182
オプションには 問 題 文 中 の 文 節 間 の 区 切 り 文 字 を 指 定 する 出 力 ファイルには MS-Word を HTML 形 式 で 読 み 込 んだ 際 のスタイルを 指 定 する CSS が 埋 め 込 まれる -r オプションは RUBY タグ 付 き HTML 化 を 意 味 し -m オプションは 形 態 素 解 析 における 形 態 素 や 係 り 受 け 解 析 における 文 節 等 の 区 切 り 済 み 文 字 列 を 対 象 とする ルビ 文 字 のスタイルなどもこの CSS にて 指 定 している 生 成 され たファイルの 例 を 図 2に 示 す $ columnmerge.pl -s' ' -mr 20090711syunjyuu_mr.txt 20090713syunjyuu_mr.txt nkf Lw -s > 20090714.doc $ 図 2.CSS が 埋 め 込 まれたルビ 付 き 2 文 文 節 単 位 混 合 文 例 183
なお 区 切 り 済 みテキストだけでなく 任 意 文 字 数 単 位 で 混 合 文 を 作 成 することも 可 能 となっ ている こちらのほうが 作 成 された 問 題 文 の 難 易 度 は 高 くなる 5 作 成 したファイル( 上 記 の 20090714.doc)を MS-Word にて 読 み 込 み レイアウトを 修 正 完 成 したルビ 付 2 文 文 節 単 位 混 合 文 の 例 を 図 3に 示 す パラグラフ 先 頭 の 16 19 は 2 文 を 分 類 したときのそれぞれの 文 やパラグラフに 含 まれる 文 節 数 を 意 味 する なお columnmerge.pl コマンドで 出 力 した RUBY タグ 付 きテキストを MS-Word 内 に 直 接 ペーストしても HTML タグとして 認 識 されないので ファイル 経 由 で MS-Word から 読 み 込 みをする 必 要 がある また 現 在 のルビ 振 り WebAPI では 単 語 単 位 でのルビ 付 けであり 文 字 単 位 でのルビ 付 けは 行 なっていない 図 3.WebAPI を 利 用 したルビ 付 き 2 文 文 節 単 位 混 合 文 作 成 例 これらの 問 題 文 を 活 用 することにより 意 味 をよく 考 えながら 文 章 を 読 む 習 慣 をつけることが できると 期 待 される 4. まとめ テキスト 処 理 において WebAPI を 利 用 した 方 法 のいくつかを 紹 介 した これら 以 外 にも 漢 字 検 定 や 一 般 常 識 問 題 などについて 検 索 や 問 題 集 作 成 アプリケーションを 開 発 した 今 後 も 作 業 の 効 率 化 を 図 るために WebAPI を 活 用 したさまざまなアプリケーションを 開 発 していく 予 定 である 参 考 文 献 (1) 小 川 浩 後 藤 康 成 Web2.0 BOOK インプレス (2006) (2) Amazon Web サービス http://www.amazon.co.jp/ (3) H. Krawczyk, M. Bellare, R. Canetti RFC 2104 - HMAC: Keyed-Hashing for Message Authentication http://www.faqs.org/rfcs/rfc2104.html (4) Yahoo!デベロッパーネットワーク http://developer.yahoo.co.jp/ 184