タグ

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

  • テキストファイルを処理するときのUnixコマンドまとめ - nokunoの日記

    個人的にテキストファイルを処理することが多いのですが,簡単な処理ならUnixのコマンドをパイプとリダイレクトで組み合わせてできることが多くあります.今回はそんななかでもちょっとマニアックなTIPSをまとめてみました. sortコマンドでタブ区切りのファイルを指定する最近知って驚愕したのがこれ.sortコマンドでタブ区切りのファイルを指定したいときは,Ctrl+v Tabでタブ文字を入力していたのですが,$ sort -t $'\t' -k 2,2 のようにしてタブ区切りで2番目のキーでソートすることができます. 1000行おきにデータをサンプリングする1000行おきにファイルからデータをサンプリングしたいときとかは,perlでワンライナーを書くのが速いようです.$ perl -ne '$i++; print unless ($i % 1000)' 某所のコードゴルフによるとこれだけ短くでき

    hidehish
    hidehish 2012/01/22
    見てる:
  • 情報系の学生がやっておくべき10000のこと - nokunoの日記

    「情報系の学生がやっておくべき10000のこと」というタイトルの記事があったので、何事かと思いました。10000 things all ICS students should do before graduating | Tagide10000個もあるのか…とびっくりしましたが、よく読むと2進数で書かれていて、16個という意味でした。内容もとても良いことを言っていると思うので、簡単に紹介してみます。 0000 – 自分のドメインを買う 0001 – Apacheをインストールして設定をいじる(複数ドメイン対応とか) 0010 – WordPressをインストールしてブログを書く。文章スキルも大事。 0011 – 自分のウェブサイトを運営する 0100 – LAMPでウェブアプリを書く。少なくとも1つ、できればPHPPythonで。 0101 – 自分のサーバー(物理orクラウド)を持つ

    hidehish
    hidehish 2011/07/04
    見てる:
  • 大規模データを無料で手に入れることのできるサイトまとめ - nokunoの日記

    大規模データが公開されているサイトについて以下のQuoraでid:makimotoさんが質問していました。Data: Where can I get large datasets open to the public? - Quora以下、紹介されているサイトの一覧です。一部有料のものもあるようです。UCI Machine Learning RepositoryPublic Data Sets : Amazon Web ServicesCRAWDADno titleCity of Chicago | Data PortalGovLoop | Social Data Network for Governmentdata.gov.uk | Opening up governmentData.Medicare.GovData.Seattle.Gov | Seattle’s Data SiteOp

    hidehish
    hidehish 2011/06/16
    見てる:
  • Twitter検索がパーソナライズ検索に対応 - nokunoの日記

    Twitter検索がパーソナライズ検索に対応しました。このエントリは、その背後にあるエンジニアリングについての記事を翻訳したものです。Twitter Engineering: The Engineering Behind Twitter’s New Search Experience以前のBlenderの記事も合わせて読むと良いかもしれません。 【これはすごい】Twitter検索を3倍高速化した記事の翻訳 - nokunoの日記 Twitterの新しい検索体験を支える技術日(2011年5月31日)、Twitterはパーソナライズ検索をローンチし、ユーザは自分自身に関連のあるツイート、画像、動画を見つけることができるようになった。このプロダクトを開発するために、我々のインフラは2つの主な特徴をサポートする必要があった:検索結果の関連性フィルタと関連画像・動画の認識機能である。どちらの特徴も

    hidehish
    hidehish 2011/06/10
    見てる:
  • 第3回MongoDB勉強会に参加しました #mongotokyo - nokunoの日記

    というわけで、@doryokujinさん主催の第3回MongoDB勉強会に参加してきました。「第3回 MongoDB 勉強会 in Tokyo」 : ATNDMongoDBMongoDBを使ってみたメモ - nokunoの日記 Twitter StreamingのデータをMongoDBに突っ込む - nokunoの日記会場はフューチャーアーキテクトさん。来客スペースが緑に溢れすぎていてびびったw フューチャーには1つ上の研究室の先輩が就職していますが、さすがに休日ということもあり見かけませんでした。 MongoDB全機能解説1 by @doryokujinさんMongoDB全機能解説1 View more presentations from Takahiro InoueMongoDBのチュートリアル的な話。第1回で初めてインストールした程度の経験な私にはありがたい。発表者かつ主催者の@d

    hidehish
    hidehish 2011/05/15
    見てる:
  • Pig, Hiveなど8種類のMapReduce言語についての比較 - nokunoの日記

    以下の記事ではPig, Hiveなど8種類の言語でMapReduceの一番単純な例、WordCountを記述した場合のスクリプトの比較を行っています。とても興味深かったので紹介したいと思います。Pigs, Bees, and Elephants: A Comparison of Eight MapReduce Languages « Dataspora なお、今回はRSS購読しているDataSporaのブログから発見しましたが、エントリを寄稿したエンジニアの個人ブログも大変興味深いのでオススメです。 はじめにMapReduceを美しく効率的に書くために、私は様々な言語を比較しました。果たしてその勝者は!?私の個人ブログでは統計やグラフのアルゴリズムをMapReduceで記述する方法を紹介し、擬似コードによる実装を示しました。擬似コードには2つの問題点があります:誰もがその命令を理解できると

    hidehish
    hidehish 2011/04/30
    見てる:
  • 【これはすごい】Twitter検索を3倍高速化した記事の翻訳 - nokunoの日記

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

    hidehish
    hidehish 2011/04/22
    見てる:
  • TwitterにおけるHadoopとLuceneを利用した大規模データ解析について - nokunoの日記

    Twitterについては先日の記事でフロントエンドBlenderを紹介しましたが、バックエンドやデータ解析のシステムにも興味があります。ちょうどData-Intensive Text Processing with MapReduceで有名な@lintool先生の新しい論文が公開されていたので読んでみました。Full-Text Indexing for Optimizing Selection Operations in Large-Scale Data Analytics(pdf)ACMのMapReduce'11というワークショップで発表された内容のようです。この論文を読んで初めて知ったのですが、Lin先生はサバティカル休暇(大学教授が長期の休みを取れる制度)でTwitterに来ており、データ解析チームで働いているそうです。この論文もTwitterエンジニアの@squarecogさんと

    hidehish
    hidehish 2011/04/21
    見てる:
  • Luceneの曖昧検索を100倍高速化したアルゴリズム - nokunoの日記

    @nobu_k さんのつぶやきでこのエントリを知りました。Changing Bits: Lucene’s FuzzyQuery is 100 times faster in 4.0Luceneで曖昧検索を効率化した話です。 最初の実装では、転置インデックスを全探索して編集距離がN以下の単語を拾っていたレーベンシュタインオートマトンという、編集距離がN以下の単語のみをアクセプトするオートマトンを利用することにした 単語ごとに構築したレーベンシュタインオートマトンをマージするという操作が必要になるが、なかなかうまくいかなかった 難解な論文を見つけたが、実装は難しかった良いライブラリを見つけたので、PythonからJavaに移植した 最後に1つだけ残ったバグは、移植の失敗ではなく元ライブラリのバグだった。報告すると1日で直ってきた。この前のエントリでは、有限状態トランスデューサを使った辞書の圧縮

    hidehish
    hidehish 2011/03/30
    見てる:
  • 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

    hidehish
    hidehish 2011/03/26
    見てる:
  • 未知語の読み推定のためのアライメントツールmpalignerを試してみた - nokunoの日記

    「mpaligner」という名前の未知語の読み推定のためのアライメントツールが公開されていましたので、試してみました。mpaligner mpaligner とはある文字列とある文字列を最小単位でアライメントするオープンソースの プログラムです. 例えば,表記と読みのアライメントや遺伝子のアライメントが挙げられます. 図1のように表記と読みを最小単位でアライメントすることで, 単漢字辞書といった小さい単位の辞書を容易を構築できます. これは,未知語に対する読み付与などに使用されます. ライセンスは GNU GPL です.使用方法は圧縮ファイル内のREADMEを参照してください.このライブラリに、例えばmozcの辞書を読み込ませてアライメントを推定するには、以下のようにする。cat dictionary0* | awk -F "\t" '{OFS="\t";print $5, $1}' |

    hidehish
    hidehish 2011/03/05
    見てる:
  • 第1回にこにこテキストマイニング勉強会に参加しました #nicotextmining - nokunoの日記

    というわけで参加してきました。第1回 にこにこテキストマイニング勉強会 : ATND 目的テキストマイニングについての学習のスタートアップテキストマイニング技術に関して気軽に参加・議論することができる場の提供 概要テキストマイニングとは、例えば製品の評判をweb上のテキストから抽出したり、大量のアンケートテキストを分析するために用いられる技術であり、特にマーケティングの場で多くの利用例があります。この勉強会ではそうしたテキストマイニングを題材とし、用いられている要素技術とそれに関わる課題の議論、またテキストマイニングを実務に活かす方法について考えていきます。 会場のオラクルセミナールームでは隣でPythonハッカソンが行われており、そちらにも知り合いがいたり飲み物が無料だったりして居心地の良い場所が形成されていました(入るまでが大変でしたが‥)。Python Hack-a-thon 201

    hidehish
    hidehish 2011/02/21
    見てる:
  • 次世代Hadoopは10,000台にスケールアウトし、MapReduce以外のフレームワークをもサポートする - nokunoの日記

    Yahoo!のブログにHadoopに関する興味深い記事が上がっていたので紹介したいと思います。かなりボリュームのある記事で翻訳するのは骨が折れました。The Next Generation of Apache Hadoop MapReduce · Yahoo! Hadoop Blog原題はシンプルに「次世代のApache Hadoop MapReduce」です。 概要大規模データを扱うビジネスでは、少数の大規模なクラスタのほうが多数の小規模なクラスタよりも安価になります。大規模クラスタは多くのデータセットを処理し、多くのジョブと多くのユーザをサポートする必要があります。ApacheのHadoop MapReduceフレームワークはだいたい4,000台程度でスケーラビリティの限界が来ます。私たちは次世代のApache Hadoop MapReduceを開発しており、そこではフレームワークを汎

    hidehish
    hidehish 2011/02/18
    見てる:
  • 第9回 データマイニング+WEB 勉強会@東京に参加してきた - nokunoの日記

    というわけで行ってきました。第9回 データマイニング+WEB 勉強会@東京 ( TokyoWebmining 9)?1st Week? 大規模解析・機械学習・クオンツ 祭り? : ATNDFirst Weekって。■大規模解析:1. Mahout Canopy Clustering (講師:@hamadakoichi)(発表30分+議論60分) Canopy Clusteringは通常の多くの手法と異なり、クラスタ数指定を必要とせず、指定距離 離れたクラスタ算出を実現する。 Hadoop上で動作する大規模データマイニング・機械学習ライブラリ Mahoutでの実行法も含めお話しします2. 機械学習=機械の代わりに人間が学習 (講師:@shuyo))(発表20分+議論40分) Gihyo.jp でも機械学習の連載し裾野を広げる活動をされている @shuyo さん。 今回、機械学習歴史や専門外

    hidehish
    hidehish 2011/01/16
    見てる:
  • NLP関係のリソースまとめ - nokunoの日記

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

    hidehish
    hidehish 2010/12/18
    見てる:
  • オープンソースの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

    hidehish
    hidehish 2010/12/12
    見てる:
  • 統計的自然言語処理エンジンStaKK - nokunoの日記

    統計的自然言語処理エンジンStaKK を開発しました。nokuno’s stakk at master - GitHub 以下、READMEからの引用です。 現在の機能 かな漢字変換 予測変換 または サジェスト スペル訂正 形態素解析 HTTPによるAPIサーバ Trieの直接操作現在は、StaKK は辞書として Mozc (Google日本語入力のOSS版)のデータを使っています。 リバースモードについてStaKK はノーマルモードとリバースモードの2つのモードを持っています。 ノーマルモードでは、かなを入力し、単語(主に漢字)を出力します。 リバースモードでは、単語を入力し、読みや品詞を出力します。これらの2つのモードの応用例をまとめると、次の表のようになります。 機能 ノーマルモード リバースモード Convert かな漢字変換 形態素解析 Predict 予測変換 検索ワードのサ

    hidehish
    hidehish 2010/11/27
    見てる:
  • ウェブ系エンジニアがおさえておきたい技術ブログまとめ(海外編) - nokunoの日記

    こんな記事を見かけたので、海外編を考えてみました。ウェブ系エンジニアがおさえておきたい技術ブログまとめ - Meltdown Countdown例によって特定の分野に趣味嗜好が偏っている可能性があります。あと企業ブログに限りません。あとウェブ系に限りません。っておいおい。 企業系 Official Google BlogOfficial Google Research BlogThe Twitter Engineering BlogFacebook Engineeringさんのノート | FacebookYahoo! Hadoop BlogBlog « Cloudera » Apache Hadoop for the Enterprise クラウド・データマイニング系 myNoSQLRevolutionsmloss | Page not foundData Center Knowledge

    hidehish
    hidehish 2010/10/26
    見てる:
  • 1