概要

Lucene/SolrのMoreLikeThisを使うと、Solrサーバ内に登録された文書の中から類似文書を探すことができる。

例えばニュースサイトの情報などをクロールしてSolrサーバに入れておき、後で「この記事に似た記事を探してこい」と命令すると、類似の記事を一覧で返してくれる、といった機能が作成できる。

本記事は試しにSolrにWikipediaの全日本語記事を放り込んで、いくつかの記事に対して類似文書を取得させてみた結果を羅列したものです。

@CretedDate 2012/02/21
@Env Solr3.5.0 / lucene-gosen1.2.1

パラメータ等について

Solr3.5.0使用。mltのパラメータはmlt.count=10, mlt.maxqt=100, mlt.maxntp=10000, mlt.mindf=1, mlt.mintf=1を指定。mlt.maxqt=100はやり過ぎだろうか。クエリ投げてからレスポンス返るまで3〜5秒くらいかかる。

インデックスはlucene-gosen1.2.1-ipadicのTokenizerに、LowerCaseフィルタとKatakanaTokenizerFilterだけ噛ませている。辞書は特に改変していない。

結果は1位から10位までを順に並べています。マウスオーバーでSolrが付けているスコアが表示されます。

WikipediaのデータをSolrに入れる方法については下記参照。

SolrにWikipediaのデータを入れて遊ぶ

映画

「ハリー・ポッターと賢者の石」に似たページ
ハリー・ポッターと秘密の部屋    ハリー・ポッターとアズカバンの囚人    ハリー・ポッターと不死鳥の騎士団    レゴ ハリー・ポッター    ハリー・ポッターと死の秘宝    ハリー・ポッターと炎のゴブレット    ハリー・ポッターと謎のプリンス (映画)    ハリー・ポッター (架空の人物)    ホグワーツ魔法魔術学校    ハリー・ポッターと謎のプリンス    

「ロード・オブ・ザ・リング」に似たページ
ロード・オブ・ザ・リング/王の帰還    ロード・オブ・ザ・リング/二つの塔    指輪の仲間    アラゴルン    エルロンド    アルダの年表    旅の仲間    ホビット (映画)    ボロミア    フロド・バギンズ    

「ダークナイト」に似たページ
バットマンの映画作品    ダークナイト ライジング    ヒース・レジャー    バットマン ビギンズ    インセプション    ジョーカー (バットマン)    バットマン フォーエヴァー    人生はビギナーズ    バットマン (映画)    イングロリアス・バスターズ    

「タイタニック (1997年の映画)」に似たページ
タイタニック (映画)    タイタニック (客船)    トーマス・アンドリューズ (造船家)    タイタニック    タイタニックの最期    エドワード・スミス    ジェームズ・キャメロンのタイタニックの秘密    ウォレス・ハートリー    マーガレット・ブラウン    ミシェル・ナヴラティル    

「ソーシャル・ネットワーク (映画)」に似たページ
マーク・ザッカーバーグ    エドゥアルド・サベリン    RED/レッド    スコット・ピルグリム VS. 邪悪な元カレ軍団    ランゴ    Facebook    ジョシュ・ペンス    マチェーテ (映画)    カウボーイ & エイリアン (映画)    ワイルド・スピード MEGA MAX    


ソーシャル・ネットワークの結果が少し微妙な気もするけど(邪悪な元カレ軍団って何?)、概ね良い感じの結果になってますね。

家電

「掃除機」に似たページ
ダイソン (企業)    ジェームズ・ダイソン    清掃用具    掃除用ロボット    空気清浄機    エア・コンディショナー    バキュームカー    洗濯機    粉体分離器    真空ポンプ    

「扇風機」に似たページ
換気扇    送風機    エア・コンディショナー    エアサーキュレーター    USB扇風機    エアマルチプライアー    ダイソン (企業)    冷風機    東芝    可変電圧可変周波数制御    

「体重計」に似たページ
台貫    電力量計    計量士    気象測器検定    健康診断    タニタ    体重    体脂肪計    都市ガス    調理用計量器    

「テレビ」に似たページ
NTSC    日本の地上デジタルテレビ放送    ハイビジョン    2011年問題 (日本のテレビジョン放送)    日本における衛星放送    テレビ受像機    日本放送協会の沿革    DVDレコーダー    日本のデジタルテレビ放送    ワンセグ    

「パーソナルコンピュータ」に似たページ
省スペースパソコン    PC/AT互換機    パーソナルコンピュータ史    PC-9800シリーズ    ノートパソコン    Universal Serial Bus    Macintosh    自作パソコン    IBM PC    OS/2    


掃除機に一番似ているページはダイソン (企業) だそうです。

これを出す時にmaxntpやmindfを調節してどう結果が変わるかとかも試してたんだけど、他のページはパラメータ返ると1位の項目に変化が見られたのに、ダイソンだけは何度やっても1位を守り続けていました。さすが吸引力の変わらないただ一つの(以下略

日本文学

「雪国 (小説)」に似たページ
越後湯沢温泉    湯沢町    土樽駅    清水トンネル    上越国境    宇野浩二    越後湯沢駅    上越線    とき (列車)    社長シリーズ    

「潮騒 (小説)」に似たページ
潮騒 (1975年の映画)    潮騒 (1954年の映画)    潮騒 (1971年の映画)    三島由紀夫    ダフニスとクロエ (ロンゴス)    潮騒    神島 (三重県)    潮騒 (1964年の映画)    青春アニメ全集    鏡子の家    

「人間失格」に似たページ
人間失格 (漫画)    人間失格 壊    子供に対する性的虐待を扱った作品一覧    太宰治    少年への性的虐待    山田風太郎    ファザーファッカー    太宰治記念館 「斜陽館」    児童性的虐待    “文学少女”シリーズ    

「源氏物語」に似たページ
玉鬘系    源氏物語の巻序    源氏物語各帖のあらすじ    賦光源氏物語詩    源氏一品経    横山本源氏物語    大島本    大沢本源氏物語    阿里莫本源氏物語    源氏物語提要    

「枕草子」に似たページ
能因本    三巻本 (枕草子)    堺本    田中重太郎    前田本 (枕草子)    枕草子春曙抄    源氏物語大成    三条西家本    池田亀鑑    鶴見大学本源氏物語    


人間失格の結果がものすごく性的虐待を強調されているのが気になる。他は概ね納得いく結果になってるように見えます。

国名

「日本」に似たページ
倭国    国号    九州王朝説        日本書紀    大和    白村江の戦い    天皇    任那日本府    大宝律令    

「アメリカ合衆国」に似たページ
アメリカ合衆国の歴史    アメリカ合衆国の外交史    アメリカの戦争と外交政策    冷戦    反米    西側諸国    米中関係    ソビエト連邦    植民地    アメリカ帝国    

「イギリス」に似たページ
イギリスのカントリー    イングランド    スコットランド    英国法    イギリスの歴史    ホーム・ネイションズ    ウェールズ    イギリスの地方行政区画    2010年欧州ソブリン危機    北アイルランド    

「ロシア」に似たページ
ウクライナ    ベラルーシ    ロシアの歴史    ウクライナの歴史    モンゴルのルーシ侵攻    ウクライナ社会主義ソビエト共和国    キエフ大公国    ベラルーシ人    ソビエト連邦    小ロシア    

「中国」に似たページ
支那    中央アジア    中国本土    中華人民共和国    漢民族    中国の歴史    中国 (曖昧さ回避)    中華民国    東トルキスタン    中国大陸    


概ねいい感じの結果になっているかと。

プログラミング言語

「C言語」に似たページ
C++    C++11    BASIC    JavaとC++の比較    FORTRAN    Forth    予約語 (C++)    Python    Sizeof    D言語    

「C++」に似たページ
オブジェクト指向プログラミング    予約語 (C++)    ジェネリックプログラミング    JavaとC++の比較    C++11    C SharpとJavaの比較    関数オブジェクト    GObject    メソッド (計算機科学)    名前修飾    

「Java」に似たページ
Javaプラットフォーム    Javaに対する批判    JavaとC++の比較    Java Platform, Standard Edition    Javaの性能    Webプログラミング    Java Runtime Environment    C++    Component Object Model    Groovy    

「Python」に似たページ
Common Lisp    LISP    Groovy    Jython    REBOL    Ruby    Java    Perl    関数オブジェクト    オブジェクト指向プログラミング    

「Ruby」に似たページ
Perl    Groovy    JRuby    関数オブジェクト    Grails    メタクラス    Python    Objective-C    イテレータ    Java    


GroovyがJavaだけでなくPythonとRubyのところにも出ているのはちょっと不思議。出現頻度が少なく特徴語になりやすいからだろうか。

競走馬

「ナリタブライアン」に似たページ
タマモクロス    クモハタ    メジロライアン    スピードシンボリ    イットー    メリーナイス    テンポイント    有馬記念    ロイヤルタッチ    キーストン    

「サイレンススズカ」に似たページ
第118回天皇賞    第49回毎日王冠    エアグルーヴ    セイウンスカイ    キングヘイロー    ダンスインザムード    ダイワメジャー    オフサイドトラップ (競走馬)    スペシャルウィーク    シンボリクリスエス    

「テンポイント」に似たページ
シスタートウショウ    トウショウボーイ    キーストン    イットー    メリーナイス    メイズイ    セイウンスカイ    クモハタ    グリーングラス    ハイセイコー    

「シンザン」に似たページ
ミホシンザン    ディープインパクト (競走馬)    ミスターシービー    メジロマックイーン    テイエムオペラオー    メジロラモーヌ    コダマ (競走馬)    ヤマニンゼファー    アローエクスプレス    ダンスインザダーク    

「ディープインパクト (競走馬)」に似たページ
オルフェーヴル    メジロマックイーン    テイエムオペラオー    シンザン    池江泰郎    ブエナビスタ (競走馬)    ナリタブライアン    ディープスカイ    第66回菊花賞    エアグルーヴ    


サイレンススズカの結果の1位に第118回天皇賞がいるところが泣けます。

芸能人

「ビートたけし」に似たページ
ツービート    ビートきよし    お笑いタレント    島田洋七    北野ファンクラブ    ビートたけしの全日本お笑い研究所    浅草松竹演芸場    浅草キッド    漫才ブーム    フランス座    

「タモリ」に似たページ
タモリのオールナイトニッポン    ビッグ3 (日本のお笑いタレント)    明石家さんま    タモリ・たけし・さんまBIG3 世紀のゴルフマッチ    とんねるず    徹子の部屋    和田アキ子    高平哲郎    横澤彪    ビートたけし    

「明石家さんま」に似たページ
笑福亭鶴瓶    ビッグ3 (日本のお笑いタレント)    村上ショージ    島田紳助    笑福亭松之助    島田洋七    タモリ・たけし・さんまBIG3 世紀のゴルフマッチ    FNS27時間テレビ (2008年)    ダウンタウン (お笑いコンビ)    タモリ    

「SMAP」に似たページ
世界に一つだけの花    We are SMAP!    SMAP 015/Drink! Smap!    SMAP×SMAP    ありがとう (SMAPの曲)    BISTRO SMAP    この瞬間、きっと夢じゃない    夜空ノムコウ    弾丸ファイター    SMAP 016/MIJ    

「AKB48」に似たページ
佐藤すみれ    AKB48劇場    指原莉乃    宮澤佐江    藤江れいな    北原里英    河西智美    市川美織    大家志津香    平嶋夏海    


SMAPは曲名やアルバム名がメインだったり、AKBはメンバー名がメインだったりと、それぞれ特徴が微妙に違っていて面白い。

ゲーム

「ドラゴンクエストIX 星空の守り人」に似たページ
ドラゴンクエストシリーズ    ドラゴンクエストIII そして伝説へ…    ドラゴンクエストVI 幻の大地    ドラゴンクエストIV 導かれし者たち    ルイーダの酒場    ドラゴンクエストVIII 空と海と大地と呪われし姫君    ドラゴンクエストモンスターズ ジョーカー2    ドラゴンクエストV 天空の花嫁    スライム (ドラゴンクエスト)    ドラゴンクエスト モンスターバトルロード    

「ファイナルファンタジー零式」に似たページ
ファブラ ノヴァ クリスタリス ファイナルファンタジー    ファイナルファンタジー ヴェルサスXIII    ファイナルファンタジーXIII    ファイナルファンタジーXIII-2    ファイナルファンタジーシリーズの作品一覧    ゼロ (曲)    シアトリズム ファイナルファンタジー    ファイナルファンタジーシリーズ    スクウェア・エニックス    シド (ファイナルファンタジー)    

「ポケットモンスター ルビー・サファイア」に似たページ
ポケットモンスター ファイアレッド・リーフグリーン    ポケットモンスター    カイオーガ    ポケットモンスター ダイヤモンド・パール    ポケモンボックス ルビー&サファイア    ポケットモンスター ハートゴールド・ソウルシルバー    ポケモンコロシアム    モンスターボール    ポケットモンスター 赤・緑    グラードン    

「大乱闘スマッシュブラザーズX」に似たページ
大乱闘スマッシュブラザーズシリーズ    桜井政博    大乱闘スマッシュブラザーズDX    ピクミン    ピクミン (ゲームキャラクター)    キャプテン・オリマー    ドクターマリオ    ソニックシリーズ    マリオ (ゲームキャラクター)    ニンテンドウオールスター!大乱闘スマッシュブラザーズ    

「真・三國無双6」に似たページ
真・三國無双5    真・三國無双2    戦国無双3    真・三國無双3    真・三國無双4    真・三國無双シリーズ    無双OROCHI 魔王再臨    無双シリーズ    無双OROCHI    真・三國無双 NEXT    


シリーズモノを入れるとそのシリーズが網羅される感じになってしまって、今ひとつ面白味に欠けますね。

一般的な言葉

「記号」に似たページ
記号学    シニフィアンとシニフィエ    サイン    商標    感嘆符    日本語    構造主義    等号    自然科学    言語学    

「朝」に似たページ
ブルサ県    バスラ県    BCリェトゥヴォス・リータス    ブルドゥル県        アンバール県    北半球    アール県    土曜日    イスタンブル県    

「睡眠」に似たページ
睡眠相後退症候群    睡眠ポリグラフ検査    脳波    レム睡眠    概日リズム睡眠障害    入眠潜時    多相睡眠    意識に相関した脳活動    不眠症    ナルコレプシー    

「柵」に似たページ
ガードレール    自転車道        活荷重    トラス橋    歩行者専用道路    道路橋示方書    自転車歩行者道    旅客機の構造        

「木」に似たページ
草本    植物の進化    肥大成長    照葉樹林    木材    系統樹    シダ植物                


「朝」が不思議な結果になってます。Queryの中身を確認してみたところ、Wikipediaの左の方のバーに表示される「他の言語」のところに入っている何語か分からない文字(アラビア語とかトルコ語とか)が特徴語として抽出されてしまってました。あのへんは除去した方が良さそうです。

動物

「イヌ」に似たページ
ディンゴ    イヌの起源    オオカミ    ネブラスカオオカミ    ニホンオオカミ    肉歯目    ネコ    アンドリューサルクス    ニューファンドランドシロオオカミ    ダイアウルフ    

「ネコ」に似たページ
ヤマネコ    ヤマネコ (種)    野猫    ヨーロッパヤマネコ    ネコ科    リビアヤマネコ    イヌ    ネコ亜科    ベンガル (ネコ)    喉鳴らし    

「クマ」に似たページ
マレーグマ    クマ属    ジャイアントパンダ属    ホラアナグマ    ヒグマ    ツキノワグマ    メガネグマ    ホッキョクグマ    パンダ    カムチャッカオオヒグマ    

「羊」に似たページ
めん羊    緬羊    綿羊    ウールオイル    ウールグリース    ラノリン    ひつじ    牧羊    ヤギ男    ヒツジ    

「パンダ」に似たページ
レッサーパンダ    ジャイアントパンダ    ネコ目    レッサーパンダ科    ジャイアントパンダ属    クマ    哺乳類    マレーグマ    センザンコウ    ホラアナグマ    


羊さんはウールとしてしか見られていないことがわかりました。

まとめ

というわけで、そこそこに類似しているっぽいものが取れていました。

ただ、当然と言えば当然なんですが、実際のページにリンクが貼られている記事が類似ページとして出現することが多いので、「リンクが貼られていない類似文書」とかで探した方が、面白い結果が取れたかなとは思いました。