タグ

ブックマーク / catindog.hatenablog.com (10)

  • Pythonで100万ドキュメントオーダーのサーチエンジンを作る(PageRank, tfidf, 転置インデックスとか) - にほんごのれんしゅう

    検索エンジンを何故作ってみたかったか もともとこのブログのコンセプトのNLP的なことで、情報を整理してなにか便利にしたかった(Googleと同じモチベーションの世界の情報を整理する) 4年前にほぼ同じシステムを作ろうとしたとき、500万を超える大量のインデックスを検索するシステムは、数学的な理解度が十分でない+エンジニアリング力が伴わないなどでギブアップした背景があり、今回再チャレンジしたくなった ほぼすべての機能をpure python(+いくつかの例外はある)で実装して、世の中の ソフトウェアを使うだけ の検索エンジンをやってみたなどではなく、実際に理解して組んでみることを目的としたかった 依存パッケージと依存ソフトウェア GitHubのコードを参照してください 様々なサイトを巡回する必要があり、requestsが文字コードの推論を高確率で失敗するので、nkf をlinux環境で入れて

    Pythonで100万ドキュメントオーダーのサーチエンジンを作る(PageRank, tfidf, 転置インデックスとか) - にほんごのれんしゅう
  • Excelの光と影 ~Excelデータ分析を超えていけ~ - にほんごのれんしゅう

    Excelは便利なソフトで、あらゆる企業で使われている表計算ソフトウェアですが、国内ではその役割が拡張されドキュメント作成的な意味もあります。 まともな使い方としてのExcelもあり、分析してと渡されることが多いフォーマットでもあります。 私自身のいくつか経験した案件を踏まえ、Excelとその周辺文化データ分析の妨げになっているという感想を持っていて、可能な限り、客観的に示していこうと思います。 Excelの功罪 一般的にExcelについてそのメリットやデメリットが語られる際、どのようなことが言われるのでしょうか。 おそらくデータに携わる人では、このような共通認識があるかと思います。 良い点 小さいデータから完結に何かを述べるときに便利 グラフが簡単にかけて、可視化する際に便利 プログラミングなど複雑なことがわからなくても大丈夫 悪い点 セル結合はデータがパースが難しいかできない 人間が

    Excelの光と影 ~Excelデータ分析を超えていけ~ - にほんごのれんしゅう
    peketamin
    peketamin 2019/01/07
  • dask.distributedで分散処理 - にほんごのれんしゅう

    dask.distributedで分散処理 dask.distributedの使い方と、具体例集です dask.distributedの簡単な理解 一種の分散処理フレームワークになっており、便利です。 ドキュメントやgithubはdaskからdask.distributedは分割されており、DataFrameの取扱以外のより汎用的な分散処理を含んでいるようです。 Celeryとかでもやったことをがあるのですが、dask.distributedはRemote Procedureのそれよりまともでより整理された方法で、concurrent.futureのリモート版とも考えられます。 dask.distributedのインストール pip経由でのdaskのインストール $ sudo pip3 install dask $ sudo pip3 install distributed ubuntuで

    dask.distributedで分散処理 - にほんごのれんしゅう
    peketamin
    peketamin 2018/12/07
  • 5ch(旧2ch)をスクレイピングして、過去流行ったネットスラングの今を知る - にほんごのれんしゅう

    5ch(旧2ch)ではここ数年はTwitterを使用するようになってしまいましたが、ネットのミームの発信地点であって、様々なスラングを生み、様々な文化を作ってきたと思います。 学生時代、2chまとめとか見ていたので、影響を受けてきたネット文化で、感覚値からすると、どうにも流行り廃りがあるようです。 5chの過去ログを過去18年ほどさかのぼって取得する方法と、懐かしいネットスラングのドキュメントに占める出現具合を時系列でカウントすることで、時代の変遷でどのように使用の方法が変化したのか観測することができます。 文末に「orz」って付けたら若い人から「orzってなんですか?」と聞かれて心身共にorzみたいになってる— ばんくし (@vaaaaanquish) October 19, 2018 図1. 今回集計したorzの結果 例えば、今回集計した5chの書き込み500GByte程度のログからで

    5ch(旧2ch)をスクレイピングして、過去流行ったネットスラングの今を知る - にほんごのれんしゅう
    peketamin
    peketamin 2018/11/12
  • K8Sで機械学習の予想システムを作成  - にほんごのれんしゅう

    K8Sで機械学習の予想システムを作成 目次 - 機械学習の最小粒度としてのDocker, Dockerのデプロイ先としてのk8s - テキストを評価するAPIDockerコンテナの作り方 - DockerコンテナのGoogle Cloud Container Registryへの登録 - K8Sへのデプロイ - 実際にアクセスする - まとめ 機械学習の最小粒度としてのDocker, Dockerのデプロイ先としてのk8s コンテナのオーケストレーションツールがk8sが他のツールを押しのけて、優位にたった状況からしばらく経過し、ドキュメントやユースケースが揃ってきました。 GCPではコンテナを使ったデプロイメントサービスはKubernetes Engineがデフォルトであり、WebUIやCUIでの操作例を示したドキュメントも充実してきました。 k8sは、ローリングリリースが簡単にできたり

    K8Sで機械学習の予想システムを作成  - にほんごのれんしゅう
    peketamin
    peketamin 2018/06/24
  • CNNによる文字コード不明なドキュメントの推定 - にほんごのれんしゅう

    CNNによる文字コード不明なドキュメントの推定 Advent Calender遅刻いい訳 年末忙しすぎた ネタと期待していたいくつかがまともに結果が出ずに苦しい思いをしていた 元URLの喪失 バイト列から文字コーディングを推定する Twitterで時々バズるネタとして、機械学習がこれほどもてはやされるのに、今だにBrowserは時々文字化けし、ExcelはUTF8を突っ込むと文字化けし、到底、文化的で最低限の人権が保護された状態ではありません。 実際、ルールベースで推定しようとすると、この様にshift jisとeucでは完全に背反な情報を使っているわけでないので、なんらかのヒューリスティックなルールを人間が作成して対応していたのだと思いますが、この様なユースケースの場合、機械学習が強い力を発揮します。 図1. sjisとeucの文字コードのバイト列のマップ(参考:smdn) その度、「そ

    CNNによる文字コード不明なドキュメントの推定 - にほんごのれんしゅう
    peketamin
    peketamin 2018/01/08
  • 機械学習ではじめるDocker - にほんごのれんしゅう

    目次とお断り この資料をまとめるに当たって、実際に開発したり運用したりという経験のスニペットから、できるだけ編集して、自分なりに体系化したものです 様々な角度のデータが乱雑なっててわかりにくいかもしれませんが、ご了承いただけると幸いです "1. Dockerとは" "2. Dockerを用いるメリット" "3. docker.ioのインストール" "4. dockerでコンテナの起動" "5. 基的な操作" "6. Dockerコンテナにsshdなどの必須ソフトウェアをインストールする" "7. dockerコンテナのexportとimport" "8. 機械学習ように調整したコンテナの利用" "9. 実際に使用している例" "10. Docker Hub連係" "11. Docker Compose" "12. Dockerのコンテナとホストマシン間でファイルの共有をする" "13.

    機械学習ではじめるDocker - にほんごのれんしゅう
    peketamin
    peketamin 2017/12/17
  • 機械学習のスタックしていた案件をFacebook Prophetで3日で返済した話 - にほんごのれんしゅう

    機械学習のスタックしていた案件をFacebook Prophetで3日で返済した話 背景 広告代理店業を行なっており、クライアント企業から予算を預かって、インターネット広告やマーケティング業をしているのだが、クライアントの予算消化の異常値を監視したい 2016年半ばに外部のデータ分析専門の会社に、その日の予算消化が異常の場合、アラートを鳴らすシステムを外注開始、2016年10月に納品 2017年9月半ばに進捗率が芳しくないことが判明した。終わる見込みが立たなかったので、私が解決に当たる (ついでに"Machine Learning: The High-Interest Credit Card of Technical Debt[2]"と呼ばれる負債化してしまう機械学習のシステムとはという評価軸があったので、これらから今回使えそうなプラクティスを取り出して適応してみたいというモチベーションが

    機械学習のスタックしていた案件をFacebook Prophetで3日で返済した話 - にほんごのれんしゅう
    peketamin
    peketamin 2017/09/24
  • ドメインにより意味が変化する単語の抽出 - にほんごのれんしゅう

    ドメインにより意味が変化する単語の抽出 立命館の学生さんが発表して、炎上した論文を、わたしもJSAI2017に参加していた関係で、公開が停止する前に入手することができました 論文中では、幾つかのPixivに公開されているBL小説に対して定性的な分類をして、終わりという、機械学習が入っていないような論文でしたので、わたしなりに機械学習を使ってできることを示したいという思いがあります。(そんなに大変な問題でないように見えて、かつ、問題設定も優れていたのに、なぜ…) 炎上に対して思うところ(主観です) PixivBLのコンテンツを参照し、論文にハンドル名を含めて記述してしまっており、作家の方に精神的な不可をかけてしまうという事件がありました。 非常にRTされている代表的なツイートは、以下のようになっています。 (該当ツイートは盗用との指摘を受けたので消しました、検索すれば出るものなで、大乗だと

    ドメインにより意味が変化する単語の抽出 - にほんごのれんしゅう
    peketamin
    peketamin 2017/05/29
  • ウィキペディア日本語版 tf-idfのidf辞書の公開 - にほんごのれんしゅう

    nora(野良)-idf-dic モチベーション LevelDB(kvs)を利用した省メモリ設計で、すべてのWikipediaのコンテンツコンテンツを取得して処理したい XGBoostやElasticNetなど他のアルゴリズムでの前処理にを楽にしたい JSONスキーマなので、Python以外の他のスクリプト言語でも利用可能にしたい ダウンロードリンク Dropboxにアップロードしております。 www.dropbox.com フォーマット idfはjsonのdict型(ハッシュマップとも言います)です。 idf = { term1: weight1, term2:weight2, ... } このようなフォーマットになっており、単語とidfの重みがペアになって格納されています。 式の説明 tf-idfはヒューリスティックなものなので、そもそも明確なんてないんですが、一番、わたしとわたしの周

    ウィキペディア日本語版 tf-idfのidf辞書の公開 - にほんごのれんしゅう
    peketamin
    peketamin 2017/02/16
  • 1