次へ: 3 全体のおおまかな構造 上へ: AWK による HTML ファイルの整形 その 3 前へ: 1 はじめに (PDF ファイル: awkwww3.pdf)


2 前回作成した一覧ファイル

前回 [5] で作成した一覧ファイルは、 基本的に Yahoo! ニュースの記事の一覧から <ul>$\sim$</ul> タグで囲まれている部分のみを抜き出したもので、 たくさんの記事を持つニュース分野では それが複数の HTML ファイルに分かれているのですが、 それらを結合して一つの HTML ファイルとしたものです。

その作成した一覧ファイルは以下のような構造になっています。

  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
  <title>Yahoo News (社会ニュース)</title></head>
  <body>
  <h2>Yahoo News (社会ニュース: XX月XX日(金)XX時XX分 : 181 件)</h2>
  <hr>
  <ul>
  <li><a href="http://headlines.yahoo...." target="yahoonews">
    どこそこで交通事故</a><small>(XXXX新聞)
    - 9時0分</small>
  <li><a href="http://headlines.yahoo...." target="yahoonews">
    どこそこで火事</a><small>(XXXX新聞)
    - 8時50分</small>
  <li><a href="http://headlines.yahoo....." target="yahoonews">
    だれそれを指名手配</a><small>(XXXX通信)
    - 8時40分</small>
  <li><a href="http://headlines.yahoo....." target="yahoonews">
    target="yahoonews">某氏、いくら脱税</a><small>(XXXX通信)
    - 8時30分</small>
  <li><a href="http://headlines.yahoo....." target="yahoonews">
    target="yahoonews">だれそれに無罪判決</a><small>(XXXX通信)
    - 8時10分</small>
  <br>(ここまで 5 件)<br><br>
  <li><a href="http://headlines.yahoo....." target="yahoonews">
    target="yahoonews">だれそれに無罪判決</a><small>(XXXX通信)
    - 8時0分</small>
  ....
  <br>(ここまで 180 件)<br><br>
  <li><a href="http://headlines.yahoo....." target="yahoonews">
    target="yahoonews"><地震>ほにゃらかで震度4</a><small>(XXXX通信)
    - 17時20分</small>
  </ul>
  <hr>
  </body>
  </html>
上ではURL の部分を後半は省略していますし、 <li> の行は 3 行位に折り返して書いていますが、 基本的に各 <li> で始まる行は </small> までが 1 行で書かれていて、 デフォルトでは 5 件毎に「(ここまで XX 件)」という行が挿入されています。

各項目のニュース記事へのリンク (URL) や target の部分はそのまま利用できますからこれらはそのままにして、 この 200 件近い記事を、 例えば「自然災害」「交通事故」「訃報」「その他の事件」のような ジャンルに分類することを考えてみます。

見出しは、短い文章で内容を伝えるもので、 特に代表的なニュースなどの場合はそれを知っている人には通じる、 といったような書き方がされることもありますので、 見出しだけで厳密な分類は行えませんが、 見出しに含まれるキーワードを利用して、 あまり精度は高くはないかもしれませんが AWK でそれを自動的に分類することを考えます。

キーワードとは、 例えば「火事」「逮捕」「判決」「死去」などのような ジャンル分けに利用できる文字列のことで、 例えば「死去」は、本来は単に人が死んだことを指しますが、 これは通常殺人事件や交通事故が主のニュースには用いられず、 見出しとして使われる場合は重要人物の訃報の際に用いられることが普通です。 よって、見出しが「死去」にマッチした場合は それを「訃報」というジャンルに分類する、 といった手法を取ります。 いずれにもマッチしなかった場合は「その他」のジャンルに入れていきます。

このようなキーワードパターンは、 あらかじめよく考察した上で設定するというよりも、 実際に数日間運用しながらそのパターンを修正、追加、削除していく方が てっとりばやく、 また精度もそれなりに向上します。 私の場合も、最初は「その他」の記事がかなり多かったですし、 誤認識もかなりありましたが、 1 週間程度運用しながら修正を行なうことでだいぶ改善され、 誤差等がさほど気にならない程度にまでなりました。

後で私が使用している分類キーワードパターンの一部も紹介したいと思いますが、 これらはどのようなジャンル分けを行うかにもよりますし個人差もありますので、 自分なりのキーワードパターンを設定する必要があるだろうと思います。


次へ: 3 全体のおおまかな構造 上へ: AWK による HTML ファイルの整形 その 3 前へ: 1 はじめに
竹野茂治@新潟工科大学
2006年9月8日