カテゴリ 'インターネット' の記事一覧

3月16日

【シムエントリ】ブログパーツ枠にもCSSが適用できるようになりました

シムエントリご利用の皆様へお知らせです。
これからご案内する変更は、直ちにご利用いただける状態となっております。

■ブログパーツの枠に独自のCSSクラスを定義できるようになりました

これまでは類似記事一覧部分に対して、ユーザ独自のCSSファイルが定義できておりましたが、それを枠を表示するIFRAME部分にも適用を拡大いたしました。より、ご自身のブログに合わせたデザインを適用できるようになります。ぜひお試しください。

適用方法は次の通りです。

<!-- Sim entries -->
<script charset="utf-8" src="http://se.koemu.com/js/sim-entries.js" type="text/javascript"></script>
<script type="text/javascript">writeSimilarList( EntryURI, [CSS URI], [CSS CLASS] );</script>
<!?? / Sim entries ??>

  • CSS URI: 類似記事一覧のCSSファイルを定義します。以前から存在したオプションです。
  • CSS CLASS: ブログパーツ枠を表示するIFRAMEタグのCSSクラス名を定義します。新オプションです。

気をつけていただきたいのが、”CSS CLASS“で定義するIFRAME部分のクラス名はご自身のブログ側で定義しているCSSが適用されるため、ブログ側のCSSについても編集をお願いいたします。

本機能の実装にあたっては、 @photo_pierre さんにご協力をいただきました。この場を借りて御礼申し上げます。ありがとうございました。

RSSフィードの登録受付も引き続き行っております。下記からどうぞ。
http://se.koemu.com/


1月30日

【シムエントリ】抽出対象を60日以内にしました ほか

シムエントリご利用の皆様へお知らせです。
これからご案内する変更は、本日のアップデートより反映されております。

■抽出対象エントリを60日以内に絞りました

類似エントリとして抽出される対象の記事を、計算実行日から60日以内に絞りました。これは、あまりに古い記事が出ますと記事の「鮮度」が低く、計算上類似度が高かったとしても価値ある情報として使いづらいのでは、と言う判断からです。

なお、基準となる記事については、RSSフィードにさえ届いていれば60日を過ぎても類似度を計算します。すなわち、2009年10月に書いた記事の類似エントリは直近60日以内に書かれたエントリがピックアップされます。

■広告を除外する仕組みを改善しました

今までも広告フィードを除外する仕組みを導入しておりましたが、最近新しい形式が登場しておりましたのでそれも対象となるようにしました。もし、新しい形式の広告が載ってしまうようでしたら、どのような記事かURIを教えていただけますと助かります。

■追伸

引き続きRSSの登録も受付中です→シムエントリ トップページからどうぞ。

【おまけ】

60日以内と決めるにあたり、現在シムエントリのバッチサーバが蓄えている期間別データ割合を調査してみました。

30日以内 56.3%
45日以内 61.1%
60日以内 64.4%
90日以内 69.1%

上記より、データベースの3分の2程度がカバーできる日を探しまして、結論を60日としました。


コメントは受け付けていません。
1月15日

XBRL勉強会で『言語処理を用いた 相関関係取得の紹介』のプレゼンをしました

1月14日に開催された『第8回 XBRL勉強会』において、上場企業間の『言語処理を用いた 相関関係取得の紹介』と言うプレゼンテーションを行いました。

パワーポイントは概要のみで、多くをホワイトボードと質疑応答で話を進めましたので、こちらに補足を書きます。

■概要

これまで、インデックスを使った投資を行うにあたっては、取引所などが定義した『業種分類』や、ファンドマネージャをはじめとしたプロフェッショナルの知識・経験・そして勘でインデックスが作成されていました。また、インデックスを作成したとしても、この動きが激しい世界では企業間の関係は刻々と変化します。

そこで、定性的でありつつも企業の特徴を垣間みることができる「有価証券報告書」や「決算短信」を用い、これらを自然言語処理の技術を用いて定量化することで、企業のつながりを分析できるか否かの実験を行いました。企業分析では、あまり例がない方法であります。

■実験手順

実験は、次の手順で行いました。すべてコマンドラインベースで動作しています。プレゼン中は、技術者以外の方にもわかるようベクトルの「なす角」(cosの意味を理解するために必要)についてあわせて解説しています。

  1. やのしんさん開発のAPIを通じ、東証1部上場企業の2009年度中間決算短信(以下、短信)PDFをダウンロード。
    このAPIを使うことで、データの取得の自動化が可能になりました。
  2. 短信PDFをテキストファイルへ変換。
    その後に本文を解析しやすくするための準備となります。
  3. 各企業の短信の本文を分かち書き。
    日本語は英語と違い単語の区切りがないため、専用のツールで単語ごとに「分かち書き」と言う処理が必要になります。
  4. 分かち書きした各企業の短信のTF、および全銘柄のIDF、RIDFを算出。
    TF/IDFについては、たつをさんのエントリ『形態素解析と検索APIとTF-IDFでキーワード抽出』が詳しいです。
  5. 各企業の短信をすべてつきあわせ、短信間の内容の類似度(cos)を算出。
    実際は7で指定する企業のみ演算すればいいのですが、今回は途中で全cos値を調べたいと思いわざわざすべて計算させました。
  6. RIDFを用い、各短信の代表キーワードを算出。
    どんなキーワードがその短信の特徴的な単語で影響を及ぼしやすいものであるのか、わかりやすくするために抽出しました。RIDFについては、当ブログ『【シムエントリ】 代表キーワードによる検索に変わります』をご覧ください。
  7. 指定した企業において、cos値が0.5以上の短信を3階層までリンクしていく。
  8. リンク結果を図に描画する。

■出力データ(画像へリンク)

このような形で出力しています。紹介している企業はスライドでピックアップしているものです。

■プレゼン中いただいたお話

プレゼン中の質疑応答時間、様々なお話を頂戴しました。

・大量保有報告書や第三者割り当てのレポートを活用できないか
これらの報告をする人たちの中に、キープレーヤーがいます。そのキープレーヤーの動向をテキストマイニングで抽出できれば、より客観的に市場の動きを把握できるのでは、とのことでした。

・IFRSのメジャーカスタマー欄を参考にして取引関係をより緻密にとらえられるかもしれない
テキストマイニングばかりではなく、IFRSをはじめとしたほかのデータソースを用いて相関をよりわかりやすく(どういったつながりなのか)していく方法もある、と教えていただきました。

・XBRLとの掛け合わせについて
それぞれのタクソノミをベクトル化して類似度を測ってみたいと言う話をしたところ、リンクや米国での事例について紹介いただきました。

・一見関連性がないつながりは書いている人が一緒か同じ会社かとかがあるかもしれない

ほかにも、いろいろなご意見を頂戴しました。どうもありがとうございました。

■活用したライブラリ・ツール

多くのツールは、Ubuntuのリポジトリからダウンロードできますので、手軽にインストール可能です。

  • Sun VirtualBox
  • Ubuntu Linux 8.04.3 LTS Server
  • Perl 5.8
  • mecab + ipadic
    形態素解析…分かち書きのためのツール
  • graphviz
    相関図作成ツール
  • xpdf (pdftotext)
    PDF関連ツール (今回はテキスト抽出のみ利用)

■参考図書

  • Introduction to Information Retrieval
    以前、勉強会でお世話になった教科書です。洋書ですが、情報検索に必要な知識が一通り学べます。
  • 情報検索アルゴリズム
    特に検索部分について解説している教科書です。上記IIR本と一緒にどうぞ。
  • ゼロから学ぶ線形代数
    特にドキュメント間の類似度を演算する時に利用しています。数学からしばらく離れてしまっていた場合に役立ちます。

■個人的な目的

自然言語処理と、企業分析。それぞれの分野に置いて、非常に長けた能力を持っている人や前線にたって活躍されている方がいらっしゃいます。しかし、両方を兼ね備えて活躍されている方は、あまり見受けません。正直、自分が今から一つの分野で勝負するには、かなりハードでやりきれる自信はありません。

そして、定量的分析が進んでいる企業分析に置いて、定性的データを分析しているというレポートを、私は今まであまり見たことがありませんでした(前回の勉強会で少し出た程度です)。

今回、発表する題材を決めるにあたり、自分が経験してきた自然言語処理と企業分析というあまり近くなかった分野を絡めて発表することで、何か印象を残すことができればと期待していました。それが、自分ならではのものだと思ったからです。誰かが言っていました。一つの専門の人は数多くいるけど、ある程度の能力でも二つ以上の能力を掛け合わせられる人はなかなかいない、と。

■感想

目的が達せられてよかったです。

掛け合わせると言えば聞こえはいいのですが、常識的ではないことでもありましたので勉強会内で受け入れてもらえるのか、発表まで心配でした。それも、XBRL勉強会と言うのにXBRLの話がほとんどないという…。しかし、企業分析と言うもう一つの部分について興味を持っていただくことができ、とても嬉しく思っています。また、企業の分類にテキストマイニングと言う手法があることも皆さんにお伝えできたのではと考えています。

(体調を崩していて新年会に行けなかったことだけが心残りです)

勉強会に参加されていた皆様、どうもありがとうございました!


コメントは受け付けていません。
8月15日

【シムエントリ】記事抽出時にNaive Bayesを採用しました

シムエントリご利用の皆様へお知らせです。
これからご案内する変更は、本日のアップデートより反映されております。

■Naive Bayesを採用しました

類似記事算出時、これまでシムエントリに登録されているすべての記事同士で突合せを行っていました(詳細は「【シムエントリ】 代表キーワードによる検索に変わります」)。今回、記事同士の突合せの前にNaive Bayesによる仕分けを行うように変更いたしました。

これにより、検索の方法が次の通りに変わります。

  1. 最新のRSSフィードを取得する。
  2. 形態素解析を行う。
  3. Naive Bayes アルゴリズムを利用し、すべての記事に対してカテゴリ分けを行う。
  4. カテゴリ内のすべての記事を突合せ、類似記事を探し出す。

Naive Bayes の詳細については、「ナイーブベイズによるテキスト分類体験アプリ – 睡眠不足?!」にてサンプルと共に解説されています。興味がある方はぜひその動きをご覧ください。

対象記事が増えます

最新のぽぷるのデータを追加し、抽出される記事の母数が増えております。

ぽぷる」は、河野さんとその協力者の方が作成されたブログホワイトリストです。シムエントリはこのデータを利用させていただいております。いつもありがとうございます。

類似記事の変化が発生します

上記の変更により、類似記事の抽出結果の傾向が変わります。

また、Naive Bayes で仕分けを行う際に利用している教師データ(仕分けの元となるデータ)は引き続き編集を行っておりますため、この後も変化が起こる事が考えられます。あらかじめご了承ください。

■追伸

引き続きRSSの登録も受付中です→シムエントリ トップページからどうぞ。

【おまけ】

・Naive Bayes 採用の理由

結論から言うと、計算量を減らすためです。今までですと、1万件の記事を探すために 10,000 * ( 10,000 – 1 ) =?99,990,000 回の計算を行う必要がありました。ここで、たとえば最初に数が均等な10個のカテゴリに分けておくと、 1,000 * ( 1,000 – 1 ) * 10 = 9,990,000 回 となり、約1桁分の計算量を減らせます。その仕分けに、 Naive Bayes が役立ちました(Complement Naive Bayes というのもあります)。しかし、そう簡単に行かない事もわかりました。

・教師データ

Naive Bayers を利用し始めましたが、教師データの選定と分量がうまい事いっておりません。現状ですと、カテゴリを分けるときにグループごとの件数に大きなむらが出てしまっており、先の理屈ほど計算量を落とせていません。このあたり、試行錯誤し続ける必要がありそうです。


コメントは受け付けていません。
7月27日

スポーツ版「tsudaる」現る…それはAMラジオのようだ

今年のツールドフランスは、日本人2名(別府選手新城選手)の初完走、そして最終日の第21ステージで別府選手が敢闘賞を勝ち取るという、全日本のサイクルロードレースファンがしびれる内容で幕を閉じました。

ところでtsudaるとは

tsudaる。twitterユーザではおなじみとなった、twitterを通じた実況投稿の通称を指します。これは、ジャーナリストの津田大介氏がシンポジウムの取材を通して発言を実況中継している状況から、その名が付いたようです。

このtsudaる、意外に難しいようです。津田氏はジャーナリストと言うこともあり、書きなれている事や、登壇している人からは距離が離れいることから、状況を淡々と伝えられていらっしゃいます。しかし、その場の「役者」である人や、ほかの人がやると、どうもうまくいかないみたいです。少なくても、うまく行っている状況を見た事がない。

その中に現れたスポーツ実況

スポーツの実況と言えば、古くはAMラジオ、現在ならテレビが定番です。テレビなら、観戦に出向かずとも、その状況を音と画で体感する事ができます。

そんな中、twitterでスポーツの実況をする人が出てきたのです。@tour_sanspoIINA 氏です。

シンポジウムのような「発言」をまとめて投稿する事さえ難しいこの状況下、言葉になっていない”見た状況”を伝えていくという、さらに難しい題材に挑戦したジャーナリストが現れたのです。

AMラジオの厳しさと一体感の再来

AMラジオというと、野球の実況中継と、パーソナリティが独自の世界を展開する番組が主な放送内容であり、今もその流れは変わりません。僕の親の世代は、夜な夜なラジオにかじりついて放送を聴いたとか聴かなかったとか。

twitterで実況をすることは、この二つが合わさった状況…いや、それ以上に難しい状況であると想像されます。

まず、スポーツの実況自体の難しさ。AMの野球中継では、ピッチャーの息遣いや、バッターの気合の乗り方など、見えないものをいかに見えるように伝えるか、アナウンサーの力量が問われます。そして、夜な夜なの番組では、リスナーとパーソナリティとの交流が、番組を盛り上げます。

その2つが、同時に行われるのです。

実況は、話すことよりも難しいのではと想像します。声のトーンも伝わらなければ、そもそもキーボードを打つのが早くないと伝える事さえできません。小説など、ある程度まとまった時間の中で言葉を操る人はこれまでもいましたが、ほんの数秒でそれをこなさなければならない状況を僕は知りません。そして、「交流」です。@? を使った名指しで話しかけられるという、リポートしている本人の今の状況なんて正直関係ない状態で、次々とメッセージが交わされます。そして、答えている。ラジオならディレクターさんがお便りを仕分けてくれるだろうけど、twitterはそれさえもジャーナリスト本人がやらないといけない。

一人で実況できる…けど、その一人に多大なポテンシャルが要求されるのです。

実は僕自身よくわかっていない

いろいろ書いてきましたが、僕自身、目の前で繰り広げられた事を飲み込めていません。これが何を意味していて、そしてこれから何が起きるのか。

ただ、一杯引っ掛けてツールをドンちゃん騒ぎして観戦していた中で、何か新しいことが動いているんだな、という事を感じました。そう、それは車の中でAMラジオをながら聞きするように、コンピュータの仕事をしながらtwitterの実況中継を見ることが普通になりつつある感覚です。

だが、変化はおそらくそういうものなのである。
変化は、つねに人々の目の見えないところで始まっている。
そして、その変化に人々が気づいたとき、すでに次の変化が音もなく足もとに忍び寄っている。
そっと、誰にも気づかれないうちに……

杉山隆男 「メディアの興亡」 下巻 第六部 離陸 P.402

僕らの目の前に、あらゆるものがやってきます。そして、意識的・無意識に関わらず、自分自身でも発信しています。その状況を、僕ら一人一人が感じ、理解を深めていくことが大切なのではないでしょうか。


コメントは受け付けていません。

記事一覧

2010年9月
« 8月    
 1234
567891011
12131415161718
19202122232425
2627282930