タグ

ブックマーク / d.hatena.ne.jp/nokuno (24)

  • 協調フィルタリングのグラフィカルモデル - nokunoの日記

    協調フィルタリングとはAmazonのお勧めのように「この商品を購入した人はこんな商品も購入しています」という情報を用いて推薦をする手法です。グラフィカルモデルはベイジアンネットワークとも呼ばれ、最近一部で流行している機械学習の手法です。今回は、協調フィルタリングをグラフィカルモデルで表現したらどのようになるだろう、と考えて思いついたアイデアを紹介します。 今、ユーザuとアイテムiの組{u,i}のデータが大量に与えられているとします。例えばソーシャルブックマークならユーザとブックマークしているページの組み合わせ、E-commerseならユーザと購入した商品の組み合わせ、などです。ここではSBMを例に考えるので、はてブと同様にユーザはマイナスの評価を付けることはできないものとします。 このときユーザuに対してお勧めのページを推薦することを考えると、ユーザuがまだブックマークしていないページiに

    nilab
    nilab 2012/09/11
    協調フィルタリングのグラフィカルモデル - nokunoの日記:「はてなブックマークがブックマークページに関連エントリを出す」「コンテンツベースやユーザベースの手法がいまいちだったので、タグベースの方法を採用」
  • boost勉強会 #7 に参加しました #boostjp - nokunoの日記

    nilab
    nilab 2011/12/05
    boost勉強会 #7 に参加しました #boostjp - nokunoの日記 : Boost.Interprocess, Boost.B-tree, constexpr, Clang, Boost.Interval
  • RVO (Return Value Optimization)についてのメモ - nokunoの日記

    Efficient C++を呼んでいたら,RVO (Return Value Optimization)が適用されるコードと適用されないコードの例が紹介されていました.RVOというのは,C++で関数がオブジェクトを返す場合に,一時オブジェクトの生成とコピーを抑制するコンパイラの機能です.非常に興味深いですね.Amazon.co.jp: Efficient C++パフォーマンスプログラミングテクニック: ダブ ブルカ, デビット メイヒュ, 浜田 光之, Dov Bulka, David Mayhew, 浜田 真理: RVOが適用されないコード Complex operator+ (const Complex& a, const Complex& b) { Complex retVal; retVal.real = a.real + b.real; retVal.imag = a.ima

    nilab
    nilab 2011/10/20
    RVO (Return Value Optimization)についてのメモ - nokunoの日記 : 適用されるコードと適用されないコードの例 : C++で関数がオブジェクトを返す場合に,一時オブジェクトの生成とコピーを抑制するコンパイラの機能
  • 【C++】valarrayがすごい件 - nokunoの日記

    id:ny23さんのブログでC++の標準ライブラリにvalarrayという数値計算用のコンテナが含まれていることを知る. たまには std::valarray のことも思い出してあげよう - ny23の日記std::valarray - Cppreferenceというわけで簡単に試して見ました. valarraytest.cc #include #include using namespace std; int main() { valarrayint> x(2), y(2); x[0] = 1; x[1] = 2; y[0] = 3; y[1] = 2; valarrayint> z = x + y; cout 0] "," 1] 実行結果コンパイルして実行すrと,期待通りの結果になりました../valarraytest4,4 今回は試していませんが,sumやmaxなどの簡単な統計関

    nilab
    nilab 2011/10/18
    【C++】valarrayがすごい件 - nokunoの日記 : 「C++の標準ライブラリにvalarrayという数値計算用のコンテナ」
  • Evernoteのアーキテクチャ概要 - nokunoの日記

    みなさん、Evernoteは使っていますか? Evernoteは「全てを記憶する」が合言葉のメモアプリで、クラウド上にデータを保存してWin/Mac/iPhone/Webから共通のデータにアクセスしたり同期したりできるのが特徴の便利なサービスです。開発元はシリコンバレーの会社ですが、日人のユーザも非常に多いそうで、Evernoteの使い方についての記事は日語でも星の数ほどありますのでここでは触れません。 今回は、そのEvernoteの裏側のシステム概要を解説する記事が今月開設されたばかりの技術ブログに公開されていましたので、翻訳してみました。Architectural Digest | Evernote Tech Blog はじめにこのブログの手始めとして、Evernoteの構築について大雑把な概要を述べる。ここではそれぞれのコンポーネントの詳細に踏み込むことはしない。それらについての

    nilab
    nilab 2011/09/23
    「我々の@myen Twitterゲートウェイはtwitter4jによるシンプルな内製のデーモンプログラムである」Evernoteのアーキテクチャ概要 - nokunoの日記
  • C++0xが新しい標準規格として承認される - nokunoの日記

    C++0xと呼ばれるC++の新しい標準規格が承認され,C++11という名称が確定したようです. C++0xが国際標準C++11へ。 - Faith and Brave - C++で遊ぼうWe have an international standard: C++0x is unanimously approved « Sutter’s Mill私はC++0xには詳しくないのですが,これを機に勉強してみましょうかね.C++0x - Wikipedia個人的に便利そうなのはこの辺りですかね. vectorなどを初期化子で初期化できる autoによる型推論でiteratorの型を省略できる 無名関数またはクロージャとしてラムダ関数を利用できる メンバ変数の初期化をコンストラクタではなく宣言時に行える(private: int a = 0;などと書ける) 山括弧(<>)の優先順位の変更( vect

    nilab
    nilab 2011/08/17
    C++0xが新しい標準規格として承認される - nokunoの日記:「Unicodeサポート.char32_tやchar16_tが導入され,UTF-8の文字列リテラルもサポートされる」
  • アクセスログ解析の実験にはNASAのデータセットが便利 - nokunoの日記

    アクセスログ解析の実験をしています.以前にも見かけた気がするのですが,ACMのSIGCOMMというコミュニティのサイトでWebのアクセスログやトラフィックのログが公開されています. Traces In The Internet Traffic Archive この中でデータサイズが大きいのはWorldCup98やUBCのログなのですが,フォーマットがバイナリだったりURLが匿名化されていて何がなんだか分からなかったりで微妙に実データと違っていて使いづらかったりしました.1998 World Cup Web Site Access LogsUC Berkeley Home IP Web Traces - 18 daysそんなわけで,生のApacheログ形式で比較的サイズの大きい実験データとしては,NASAのデータセットが便利そうです. NASA-HTTP - Two Months of HT

    nilab
    nilab 2011/08/04
    ACM SIGCOMM「生のApacheログ形式」「解凍すると205MBと167MBのデータになります.IPアドレスとかもそのまま入っているけど,大丈夫なんだろうか‥」アクセスログ解析の実験にはNASAのデータセットが便利 - nokunoの日記
  • 自然言語処理分野で世界最大の国際会議ACL-HLT 2011の論文が公開されました - nokunoの日記

    自然言語処理分野で世界最大の国際会議ACL-HLT 2011の論文が公開されました。ACL Anthology » P11 この分野の研究者や開発者なら、興味のある論文の1つや2つは見つかると思います。英語論文を読むのに慣れていない人は、この機会にぜひ慣れていただくと今後の役に立つし、なにより楽しいと思います。以下、ちょっと気になったタイトルを挙げてみます(未読)。 Language Model関係 Faster and Smaller N-Gram Language Models Enhancing Language Models in Statistical Machine Translation with Backward N-grams and Mutual Information Triggers Integrating history-length interpolation

    nilab
    nilab 2011/06/16
    自然言語処理分野で世界最大の国際会議ACL-HLT 2011の論文が公開されました - nokunoの日記
  • 第1回HBase勉強会に参加しました #hbaseworkshop - nokunoの日記

    というわけでHBase勉強会に参加してきました。今回が第1回目で、全6回の予定らしいです。Hbase勉強会(第一回) on ZusaarTogetter - 「# hbaseworkshop HBase勉強会(第一回)」 アプリケーション設計1 by @tatsuya6502さん 自己紹介 2009年からHBaseを評価 5年間は金融系のソフトウェアエンジニア 20年前はデザイナーとか HBaseエバンジェリスト 近況 転職しました:ジェミナイ・モバイル・テクノロジーズ HBaseドキュメントが日語訳されました アンケート HBaseをプロダクションで使っている人は少数 試している人はちらほら HBaseの特徴 柔軟なテーブル構造 強い一貫性:古いデータが見えることがない 大規模データ向け:自動シャーディング、高可用性 数十億件を超えてからが領発揮 2次インデックスを持たない(主キーへ

    nilab
    nilab 2011/06/02
    第1回HBase勉強会に参加しました #hbaseworkshop - nokunoの日記
  • C++を鍛え直す - nokunoの日記

    関数全体をtryで囲む int main() try { // 関数内のすべての例外をキャッチできる ... } catch () { ... } 無名名前空間C言語ではグローバル変数にstaticを付けるとファイル内変数になりましたが、C++では無名名前空間を使うことで同じ事を明示的に書くことができます。 namespace { // この中の変数は他のファイルから参照できない int i; } newのバリエーションデフォルトのnew演算子はメモリ確保に失敗するとstd::bad_alloc型の例外を投げるようになっていますが、std::nothrowを使うとNULLを返すようにできます。これは便利! int* p = new(std::nothrow) int; delete p; ※Effective C++によると、nothrow型のnewはメモリ確保に失敗しても例外を投げないも

    nilab
    nilab 2011/05/13
    C++を鍛え直す - nokunoの日記
  • 【これはすごい】Twitter検索を3倍高速化した記事の翻訳 - nokunoの日記

    これはすごい! というわけでTwitter検索を3倍高速化したという記事を翻訳してみました。Twitter Engineering: Twitter Search is Now 3x Faster2010年春。Twitterの検索チームは、我々の増え続けるトラフィックに対応し、エンドユーザにとっての遅延を減らし、我々のサービスの可用性を向上させ、新しい検索の機能を素早く開発できるようにするため、検索エンジンを書きなおす作業を始めた。 その努力の一部として、我々は新しいリアルタイム検索をリリースし、検索のバックエンドをMySQLからLuceneのリアルタイム版に変更した。そして先週、我々はRuby-on-Railsに取って代わるフロントエンドをローンチした。我々がBlenderと呼ぶJavaサーバーである。我々はこの変更によって検索のレイテンシが3分の1になり、検索機能の開発を促進できるよう

    nilab
    nilab 2011/04/26
    【これはすごい】Twitter検索を3倍高速化した記事の翻訳 - nokunoの日記 : "Twitter Engineering: Twitter Search is Now 3x Faster"
  • Gyaim - MacRubyで作ったIME - nokunoの日記

    @masuiさんからGyaimというIMEが公開されていました。GyaimというIMEです。Rubyで数百行で書かれたものですが、実用的に使うことができます。githubでコードが公開されています。masui/Gyaim - GitHubローマ字変換テーブルを除くとRubyで500行程度と短いので読んでみました。辞書を正規表現で検索するところで最悪の場合10万行くらいの線形探索が発生しますが、頻度順に並んでいて最大10個で打ち切るので通常は最後まで探索しないようになっているようです。stakkのフロントエンドとして使えそうなので、時間があれば作ってみようかな。ツイートする

    nilab
    nilab 2011/04/06
    「ローマ字変換テーブルを除くとRubyで500行程度と短い」「辞書を正規表現で検索するところで最悪の場合10万行くらいの線形探索が発生しますが、頻度順に並んでいて最大10個で打ち切る」Gyaim - MacRubyで作ったIME
  • Facebookの新しいリアルタイム解析システムとは? - nokunoの日記

    Facebookの新しいリアルタイム解析のシステムでは、HBaseで1日200億件のイベントを処理しているそうです。以下の記事の翻訳です。High Scalability - High Scalability - Facebook’s New Realtime Analytics System: HBase to Process 20 Billion Events Per DayFacebookがまたやってくれた。彼らは巨大なリアルタイムデータのストリームを処理するもう1つのシステムを構築したのだ。以前にもFacebookはリアルタイムなメッセージシステムをHBaseで構築している(http://highscalability.com/blog/2010/11/16/facebooks-new-real-time-messaging-system-hbase-to-store-135.ht

    nilab
    nilab 2011/04/02
    Facebookの新しいリアルタイム解析システムとは? - nokunoの日記
  • 第10回 データマイニング+WEB 勉強会@東京 ( #TokyoWebmining 10th)−1st Week−広告ネットワーク・グラフ解析・並列機械学習 祭り− - nokunoの日記

    第10回#TokyoWebminingに参加してきました。第10回 データマイニング+WEB 勉強会@東京 ( #TokyoWebmining 10th)?1st... - Eventbrite オープニング @hamadakoichihamadaさんの話はHadoopカンファレンスからの抜粋を含んでいたのですが、いつもの双方向の進行により議論が進み、時間が伸びるというパターンで安心しましたw 1. 「エンジニアのためのアドテクノロジー再入門:アドテクの基礎からRealTimeBiddingまで」 (講師: @jazzyslide)(発表:30分 + 議論30分)大規模配信•解析技術によるターゲティング技術、オーディエンス(ユーザー)データによる配信などで近年話題になっているアドテクノロジーの全体観を、アドエクスチェンジやReal-Time-Biddingなどの概念を交えつつ、基礎からエン

    nilab
    nilab 2011/02/27
    第10回 データマイニング WEB 勉強会@東京 ( #TokyoWebmining 10th)-1st Week-広告ネットワーク・グラフ解析・並列機械学習 祭り- - nokunoの日記
  • 統計的機械翻訳入門 〜 第4回 #TokyoNLP で発表しました - nokunoの日記

    第4回TokyoNLPで、統計的機械翻訳の入門的な内容について発表しました。 TokyoNLP #4 を開催しました - nokunoの日記Tokyonlp04 translationView more presentations from nokuno.内容は、機械翻訳の定番教科書からIBMモデル1までの説明です。Koehn先生のスライドを参考にさせていただいています。Book: Statistical Machine TranslationGIZA++の使い方についてはこちら。 統計的機械翻訳のツールGIZA++を使ってみた - nokunoの日記

    nilab
    nilab 2011/01/23
    統計的機械翻訳入門 ~ 第4回 #TokyoNLP で発表しました - nokunoの日記
  • Parallel Stochastic Gradient Discent (NIPS読み会にて発表しました) - nokunoの日記

    NIPS読み会にて並列SGDについて発表しました。Parallel Stochastic Gradient Discent #nipsreadingView more presentations from nokuno.他の発表の人の資料は以下。slideshareしかない人のは埋込みにしてあります。まずかったら言ってください。NIPS 2010 論文読み会 / [Ding+] t-Logistic Regression #nipsreading - Mi manca qualche giovedi`?NIPS 2010 読む会View more presentations from tsubosaka.Nips yomikai 1226View more presentations from niammain.nips勉強会_Toward Property-Based Classific

  • オープンソースのTrieライブラリまとめ - nokunoの日記

    最近、趣味で開発しているStaKKのためにTrieライブラリを書いているのですが、参考にするためオープンソースのTrieライブラリについて調べました。簡潔データ構造を用いたものが中心です。 @hillbig氏によるもの tx LOUDSによる圧縮でメモリ使用量を削減したTrieライブラリ。 関連記事:Tx: Succinct Trie Data Structure Engineering the LOUDS Succinct Tree Representation - 射撃しつつ前転ux txの改良版。tailの圧縮によりtxの1/2くらいのサイズになるらしい。要チェック。 関連記事:ux... - ny23の日記id:s-yata 氏によるもの taiju LOUDSを含む簡潔データ構造を用いた大規模Trieライブラリ。sumire-triesインメモリの簡潔データ構造を実装した大規模T

    nilab
    nilab 2010/12/29
    オープンソースのTrieライブラリまとめ - nokunoの日記
  • NLP関係のリソースまとめ - nokunoの日記

    先日オープンソースのtrieライブラリについてまとめましたが、それ以外にも家での開発に使えるリソースが増えてきました。 コーパス WikipediaコーパスTwitterコーパスBaiduコーパスWebコーパスWikipedia対訳コーパスオープンソース対訳コーパスMS-IMEコーパス 辞書 WikipediaタイトルはてなキーワードIPAdicUnidicalt-cannadicSKK評判辞書

    nilab
    nilab 2010/12/29
    NLP関係のリソースまとめ - nokunoの日記
  • Hadoopソースコードリーディングの発表資料「検索エンジンのための転置インデックス構築」 - nokunoの日記

    Hadoopソースコードリーディング第6回 : ATND「Data Intensive Text Processing with MapReduce その2」ということで、前回に引き続きこのについて話させていただきました。Hadoopreading06 data intensive4View more presentations from nokuno.以下、他の人の発表メモです。 Hadoop World 2010報告 NTTデータ山下さん 参加者900人(去年の2倍)! BI関係が目立っていた? eBay: Ganglia, Nagios, HUE, Oozie, Mahout, Pig, Hive, SAML,... AOL: 広告、検索、コンテンツに利用。Mahoutでレコメンドとか Intelのベンチマーク:LZOやHyperThreadingの恩恵 GE:TwiterやYou

    nilab
    nilab 2010/12/21
    Hadoopソースコードリーディングの発表資料「検索エンジンのための転置インデックス構築」 - nokunoの日記
  • スペル訂正エンジンを作ってみた - nokunoの日記

    紫蘇カンファレンス2010というイベントでLTをしました。紫蘇カンファレンス 2010 - しソ部Togetter - 「紫蘇カンファレンス 2010」内容は、StaKKのスペル訂正機能についての解説です。統計的自然言語処理エンジンStaKK - nokunoの日記shisoconf 2010 Spelling CorrectionView more presentations from nokuno. 他の人は画像会話用の画像検索エンジン「tiqav(ちくわぶ)」や、Flickrのお気に入りをふぁぼったー的に表示してくれる「flistr」など、幅広いサービスや技術やネタが満載の楽しいイベントでした。tiqav / ちくわぶFlistr - View Flickr Photos Favorited by Your ContactsWWSみんなが頑張っているのを見ると刺激になりますし、今の環

    nilab
    nilab 2010/11/30
    スペル訂正エンジンを作ってみた - nokunoの日記 : 「紫蘇カンファレンス2010というイベントでLTをしました」