図解の本質はここにあった ITエンジニアにも必要な国語力
図解の本質はここにあった
ITエンジニアにも必要な国語力

第5回 国語力でトラックバックスパムの仕組みを知る

開米瑞浩(アイデアクラフト)
2005/12/8

コミュニケーションスキルの土台となる図解言語。だが筆者によると、実はその裏に隠れた読解力、国語力こそがITエンジニアにとって重要なのだという。ITエンジニアに必須の国語力とはどのようなものだろうか。それを身に付けるにはどうしたらいいのか。毎回、ITエンジニアに身近な例を挙げて解説する。

 各回でテーマを掲げ、ITエンジニアに必要な国語力について紹介してきた本連載も5回目である。このあたりで、テーマを特定せずに文書を見て改善ポイントを探すという実習をしてみよう。改善すべき文書を冒頭に例示するので、読者の皆さんも考えてみてほしい。

あるブログサービスからのお知らせ

 最近はビジネス利用の面でも注目されているブログであるが、いざ実際に開設してみると、トラックバックスパム(記事とは無関係な内容の宣伝的なトラックバック)に悩まされることがある。

 スパムメールなら見るのは自分だけなので単に無視していてもいいが、トラックバックスパムとなるとブログ上、つまり公衆の面前に掲載されてしまうため無視では済まされず、削除しなければならない。手作業で削除するのはユーザーの負担が大きいため、ブログサービスの仕様として、「トラックバックスパムを排除する機能」が必要になりつつある。

 そんな中で、あるブログサービスの提供会社が次のようなお知らせを自社サイトに掲載したとしよう。

<出題:エトロフブログからのお知らせ>

先日来、トラックバックスパムについてのご要望が多数寄せられています。この件でのエトロフブログの対応状況をご説明いたします。

(1)トラックバックスパム送信元であることが確認されたURLからのトラックバックについては、エトロフブログ全体で拒否するよう設定を施してまいりました。すでに1万件を超えるURLを登録しておりますが、新たなURLからのトラックバックスパムも毎日発生し続けており、完全に防ぐには至っておりません。

(2)また2005年12月1日より、トラックバックスパムの本文にしばしば現れるいくつかの単語を登録し、この単語が検出されたトラックバックを拒否する機能を試験的に運用しております。これをユーザーの皆さまが個別に設定できる機能として後日提供する予定です。

(3)さらに2006年1月10日より、「トラックバック仕様」機能を追加いたします。これによってトラックバックを「すべてのユーザーに許可」「エトロフブログユーザーのみに許可」「禁止」から選択できるようになります。

これらを利用して、エトロフブログをより一層ご活用いただけますようお願いいたします。

(文中の固有名詞は架空のものです)

 さて、このお知らせ文にはどんな問題があるだろうか。5分でも10分でも構わない、まずは自分で改善すべきポイントを見つけて、修正案を考えてほしい。これまでの4回の連載で紹介した視点も参考になるはずだ。ある程度考えたら次に進もう。

適切な名前を付けているか?

 本連載第1回「名前にとことんこだわるべし」で取り上げたように、「名前」の良しあしは極めて重要である。その観点で先のお知らせ文を見ると、良しあし以前にそもそも名前を付けていないということが見て取れる。

 トラックバックスパムを防ぐための手段として書かれている機能は3つある。しかし、名前らしきものが付いているのは3番目の「トラックバック仕様」機能だけで、前の2つには名前がない。これらには明確な名前を付けておいた方がいいはずだ。

 となると次の関心は「どんな名前がよいか」である。名前を付ける場合、元の文面に含まれる単語が候補になるのは当然の話だ。まずは(1)の機能について考えると、例えば「トラックバック」「URL」「拒否」「設定」「登録」などの単語が候補になりそうだ。そこで

トラックバック拒否設定機能

という名前を付けてみる。と、これは(1)だけではなく(2)にも(3)にも当てはまってしまう。どれもトラックバックを拒否するための機能という点では同じだからだ。これではいけない。

 できれば(1)にしか該当しない名前を付けたいわけだが、それには(1)の文面にしか含まれない単語を使う方がいいとなるのは自然な成り行きだろう。その単語は「URL」だ。そこで

トラックバックURL拒否設定機能

と「URL」を付加してみるとどうだろう。少し長くなったほかにもう1つ問題があるのだが、それは後回しにして先に(2)の機能の名前を考える。

 (2)の機能について、同じように文面に含まれる単語をつなげると、例えば

単語検出拒否機能

のような名前になるが、さすがにこれでは芸がない。一見すると「単語検出を拒否する機能」のようにも読めなくはないのもまずい。

 実はこの機能については、「単語」の種類を特定するのがポイントである。要するに、「トラックバックスパムの本文にしばしば現れるいくつかの単語」という長いフレーズをどう短く表現するかが問題なのだ。一案として

NG単語検出機能

などが考えられる。このように、元の文面に書かれている言葉だけで間に合わない場合は、自力で適切な言葉を見つけなければならない。「NG」は「ネガティブ」「禁止」などにいい換えることもできる。また、この機能の主題は「検出」にあって「拒否」はオマケのようなものと考えられるため、「拒否」は削って「検出」だけを残してある。

意味する範囲の広すぎる名前に注意

 ここまでで3つの機能すべてに名前が付いたように見えるが、実は3番目の「トラックバック仕様」という名前も不適切なものだ。(1)も(2)も「トラックバックに関する仕様」の話なので、(3)に限定された名前として使えないのである。

 (3)の文面をよく読むと、「ユーザー」という単語が2回出てきている。そのため、例えば

ユーザー規制機能

という名前が使えそうだ。

 以上、3つそろったところで並べてみよう。

(1)トラックバックURL拒否設定機能
(2)NG単語検出機能
(3)ユーザー規制機能

 こうして並べて見たときに、「トラックバックURL拒否設定」という名前に違和感を覚えるようであってほしい。理由はいくつかあるが、まずその1つは長いことだ。長い名前には冗長な言葉が含まれていることがある。実は「トラックバック」という単語が冗長で、それを削って「URL拒否設定」としても文脈上話は通じる。すると以下のようになる。

(1)URL拒否設定機能
(2)NG単語検出機能
(3)ユーザー規制機能

感覚的な言葉を論理的に使う

 ここまでできれば論理的には上出来だ。だが、論理的に正しければそれでよいというものではない。本連載第4回「感覚的な言葉こそ論理的に使え」で書いたように、感覚的な表現を論理的に使えれば、なおよくなるだろう。私ならこの3つの名前は次のように決めると思う。

(1)ブラックリスト規制
(2)NGワード規制
(3)ユーザー規制

 まず「機能」という単語を削り、語尾を「規制」に統一する。統一することで、3つの概念が共通の文脈の下にあることを表現するわけだ。この場合は、「共通の文脈」=「トラックバックスパム対策という目的」である。この文脈を表現する単語としては「機能」よりも「規制」の方が適切だ。

 次に、「NG単語」を「NGワード」に変えることで、「規制」の前の言葉をすべてカタカナにこれも統一する。一般的にカタカナの方がよいという意味ではなく、時と場合に応じて漢字にしたりひらがなにしたりと使い分ける。統一した方が見た目の印象が良くなり、覚えやすいことが多いためだ。

 ただし、カタカナは軽く見えたり英語のため分かりづらかったりし、一方で漢字は重く堅苦しく難解に見える、と一長一短があるため、適切な言葉が見つからなければ混在させることもよくある。だからこの統一は「できればそうしておきたい(が、無理なら仕方がない)」という程度の努力目標だ。

 最初の名前から一番飛躍して見えるのが「ブラックリスト」だろう。突然こんな名前が出てくるのはどういうわけか。これは、(1)の機能の原文を読んで「つまり、URLのブラックリストを管理するということだ」と理解したことから付けた名前である。

 これを詳しく考えるため、以下の図をご覧いただこう。トラックバックの本来の機能を踏まえて、ブラックリスト規制とNGワード規制の意味合いの違いを表現したものである(図1)。

図1 ブラックリストとNGワード

 「自ブログ」は自分のブログである。ここからスパムを排除したいわけだが、そもそもトラックバックスパムがどう機能するかというと次のようになる。

 まず、スパム送信元のサイトが存在し、そこから自ブログに対して(A)トラックバック(スパム)が送られる。そのトラックバックには「テキスト」と「URL」が含まれているため、自ブログを(B)訪問した閲覧者に対してテキストが(C)宣伝文句として機能し、閲覧者をスパム送信元サイトへ(D)誘導するわけだ。これがトラックバックがスパムとして機能する仕組みである。

 この仕組みの下でURLを規制するのは、URLが示すスパム送信元サイトに対して「こいつは悪者だ」と認識することであると考えてよい。「悪者のいうことは信用しない」というのが基本であり、つまりこれがブラックリスト規制である。

 それに対してテキストを規制するのは「この発言は不適切だ」という規制である。不適切な発言は消去するというのが基本であり、これがNGワード規制である。

 この関係は、テレビなどの放送番組になぞらえて考えると感覚的に理解できる。ある番組にあるタレントが出演したとしよう。もし彼が番組をぶちこわすような発言をしたら、その発言シーンは放送時にはカットされるだろう。これがNGワード規制であり、この対応は個別の発言ごとに行われる。

 だが、もしそのようなNG発言を繰り返したら、彼は番組自体に出入り禁止になるはずだ。こうなるともう何をいってもダメである。これがブラックリスト規制に該当する。

 「ブラックリスト」と「NGワード」という言葉を使うことで、トラックバックスパムに対するシステム的な対応を、現実世界のモデルになぞらえて感覚的に理解できるようになるわけだ。

全体像を把握させる

 以上のような「名前」の考察を踏まえてエトロフブログからのお知らせ文を書き直すと、骨格は次のようなものになる。

トラックバックスパムについて、エトロフブログでは次の3つの規制手段を提供します。

ブラックリスト規制
NGワード規制
ユーザー規制

提供済み
試験運用中(提供日未定)
試験運用中(提供日 2006年1月10日予定)

(1)ブラックリスト規制とは……(略)

(2)NGワード規制とは……(略)

(3)ユーザー規制とは……(略)

 元のお知らせ文のように「対応状況をご説明いたします」ではやるのかやらないのかも分からないので、冒頭の1行から変更し、「規制手段を3つ提供する」ことを明記する。ただし規制手段にはいますぐ使えるものとそうでないものが混在しているため、直後に大まかなステータスとスケジュールを書く。そうして全体像を把握させてから、個別の規制手段についての詳細な説明に入る、という流れである。

 このように書けば、「○○規制」のように「規制」で終わる形で3つの名前を統一したことも、一連の文脈を明確にするうえで効果があることがお分かりいただけるだろう。

いつも基本に立ち返って考えよう

 以上、今回は現実にありそうなお知らせ文を題材に、ITエンジニアの「国語力」を発揮する場を提供してみた。

 このようにある程度長い文から問題点を見つけ出し、改善案を考えるのはやはり難しいが、「名前」の選択を中心とする基本的な観点がヒントになることに変わりはない。これまで4回の連載で書いてきた事項を踏まえて、読者の皆さんもそれぞれの現場で工夫を凝らしていただければ幸いである。

編集部からのお知らせ

来る9月30日(土)、オフラインイベント@IT自分戦略研究所 MIXを開催します。本連載の筆者である開米瑞浩さんも出演。皆さまのご参加をお待ちしています!

自分戦略研究所、フォーラム化のお知らせ

@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。

現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。

これからも、@IT自分戦略研究所をよろしくお願いいたします。