文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)
文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)
現在大学1年生の人で3年後には NAIST に (というか松本研に) 来たいという人から「どんなプログラミング言語やっておくといいですか」と質問されたりするのだが、なかなか答えるのは難しい。自分は Perl → Python がメインでときどき C++/C# を使ったりするのだが、どれが一番いいかはなんとも言えないので、自然言語処理以外に転向する可能性も考えると、C とか C++ とか Java とか(授業でそちらをやるのであれば)を最初の武器に選んだ方がいいのでは、と思ってはいる。 そんなこんなで最近 Hal Daume III (機械学習を用いた自然言語処理では非常に有名な人) のブログで Language of Choice というタイムリーなエントリーが出ていたので、紹介すると、「それなりに大きな自然言語処理のプロジェクトでどのプログラミング言語を使うのか」というアンケート結果が出
Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooやMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Googleの
NAIST の入学手続を終えた. 残りの期間はサーベイするぞーということで shimbo 先生の講義資料「リンク解析とその周辺の話題」を読んでいます. 一日目, 二日目の資料は PageRank, HITS, SALSA などの重要度尺度の紹介と, von Neumann Kernels と HITS の関係についてのお話が中心. これらを実装してみた. 後半に進むほど力尽きて記述が適当になってます:)PageRankポイントはランダム遷移行列による random walk では定常分布に収束しない (エルゴード性 (ergodic) を満たさない) という点. どうして満たさないかというと. sink (出次数のない節点) が存在するとき, 明らかに既約 (irreducible) でないのでエルゴード性を満たさない. 複数の強連結成分を持つケース => 周期性を持つと考えてよい? 周期
#!python # vim:fileencoding=utf-8 from htmllib import HTMLParser from formatter import NullFormatter import urllib2 from urlparse import urlparse class ExtractTextLinkParser(HTMLParser): def __init__(self): HTMLParser.__init__(self, NullFormatter()) self.links = [] def anchor_bgn(self, href, name, type): # <a>が見つかった場合の処理 HTMLParser.anchor_bgn(self, href, name, type) self.save_bgn() # テキストデータの保存を開始
コンテンツへスキップ 登録は無効化されました。
集合知プログラミング 作者: Toby Segaran,當山仁健,鴨澤眞夫出版社/メーカー: オライリージャパン発売日: 2008/07/25メディア: 大型本購入: 91人 クリック: 2,220回この商品を含むブログ (277件) を見る当初はサンプルコードがPythonということで購入した本書ですが、読んでみると内容の素晴らしさに驚嘆しました。私が今までに読んだオライリーシリーズでも屈指の名作だと思います。 『集合知プログラミング』とは 『集合知プログラミング』は、Amazonの協調フィルタリングのように、ウェブ上のデータを収集してユーザーの嗜好にあったコンテンツを推薦したり、大量のデータを分かりやすく分類・可視化するプログラムを簡単に実装する技術を解説した書籍です。Webプログラミングをかじったことのある方でしたら、だれしもAmazonのような推薦サービスを作ってみたいと思ったこと
書くからには出来るだけちゃんとしたのを書きたいよね。 (Python の理念的にも) というわけで書き方の作法を頭にいれておく。 みんな大好きコーディング規則 日本語 PEP - PEP 8 -- Style Guide for Python Code インデント強制よりこっちのが特徴的な気がする docstring 日本語 PEP - PEP 257 -- Docstring Conventions プログラマの為に assert Python リファレンスマニュアル - 6.2 Assert 文 (assert statement) 自動ドキュメント生成 pydoc Python ライブラリリファレンス - 5.1 pydoc -- ドキュメント生成とオンラインヘルプシステム docstring からテストを実行する doctest Python ライブラリリファレンス - 5.2 d
エッシャーっていう画家は知っていますか?分かんない人のために説明しますと、こんな感じのふしぎーな絵を書いている人です。名前は知らなくても一度は見たことがあるのではないでしょうか。 それでなんですが、適当な画像からなんかエッシャーっぽいふしぎな画像を生成するフィルタ「エッシャーくん(仮称)」をPython Imaging Library(PIL)で作ってみました。これを使えばどんな画像もエッシャーっぽい世界にご招待です。ソースは近々公開します。 追記(09/24) ソースコードをアップロードしました。subversionで管理されてますので、 svn checkout http://svn.coderepos.org/share/lang/python/escher Somewhere でチェックアウトしてください。 たとえば、こんな感じのイラストにエッシャーくんを適用させてみると… こんな
Download: delicious_mates.py On the social bookmarking site del.icio.us, you can add other users to your network to see their recent bookmarks aggregated on one page. There are two kinds of people in my network: 1. Friends and 2. Users I don’t know personally, but who regularly post interesting links. People who bookmark the same things that I bookmark are likely to have similar interests and are
ベイズネットワークのゲームへの応用(2008/5/2)の続き。というわけでPythonのベイズネットのライブラリであるOpenBayesの使い方をちょっとまとめておきます。 ここでは、OpenBayesのチュートリアルにあるSprinklerというベイズネットを作成してみます。この例はいろんなとこでよく見るなぁ。 このベイズネットのノードは、 Cloud (C) : 曇っているか? Sprinkler (S) : スプリンクラーで水をまいたか? Rain (R) : 雨が降ったか? WetGrass (W) : 芝生が濡れているか? を表している。各ノードはTrue(1)かFalse(0)の2値を取る。矢印は因果関係を表している。 C→S : 曇っているかによってスプリンクラーを使うか決まる C→R : 曇っているかによって雨が降るか決まる S→W : スプリンクラーを使ったかによって芝生
back [English] 基本的な原理 レイアウト分析ツール analyze.py 本文を抽出する extract.py パターンファイルの構造 おわりに 基本的な原理 Webstemmer では、以下のような仮定をもとにして Web ページを分析しています。 すべての記事には共通した (たかだか数種類の) レイアウトが使われている。 各ページにはメインとなる文章がひとつ含まれている。 (従って、この原理は日記や掲示板などのサイトには使えません) 記事の文章は毎日変わっても、そのレイアウトは変わらない。 バナー広告やナビゲーションの HTML タグは同一レイアウトのページで不変。 Webstemmer はこの仮定をもとに、 あるニュースサイトの同一レイアウトをもつページをまとめ、 それらのページ中で「変化していない部分」をさがします。 バナーやナビゲーション用のリンクなどはレイアウトが
Description python-cluster is a package that allows grouping a list of arbitrary objects into related groups (clusters). Simply give it a list of data and a function to determine the similarity between two items and you're done. Project homepage News (with text) Error: RSS file not found... Installation INSTALLATION Linux RPM-Installation I'm not familiar with RPM-distributions but as far as I kno
はじめに こんにちわ、hirataraです。 本稿では、オブジェクト指向のスクリプト言語であるPythonの紹介をしたいと思います。と言っても、実は私がPythonを勉強し始めたのは数ヶ月前のことで、まだPythonに関してさほど詳しいとは言えません。それでもこの記事を書こうと思い立ったのは、ある言語が他の言語に比べて面白い部分と言うのは、その言語にどっぷり漬かってその言語を使うことが当たり前になっている人間よりも、その言語を好きになり始めたくらいの人間の方が見つけやすいのではないかという思いからです。 そのような事情で、もしかすると本当のPythonistaからお叱りを受けるような内容も含まれるかもしれませんが、その点はTBやコメントでご教授頂けると幸いです。この記事で、少しでもPythonに興味を持ってくれる方が増えることを願っています。対象読者他言語でのプログラミング経験者Pytho
この文書は、Linux magazine 2005年1月号〜3月号に掲載された連載の草稿を、(株)アスキーLinux magazine編集部の許可を得て公開するものです。校正前の原稿なので読みづらいところもあるかと思いますが、不明な点などありましたらコメントをお送りください。 この連載は、プログラムを作ったことがない人を対象に、簡単なプログラムが書けるようになるまで、プログラミングの基礎の基礎から解説します。Linuxのシステム設定プログラムなどにも使われているPython(パイソン)というプログラミング言語で、プログラミングの初歩から学んでいきましょう。 文:堀川 久 Text: HORIKAWA Hisashi (2012.9) Python 2.7で動作することを確認。 今回の目次: プログラムをつくる Pythonについて Pythonのインストール 対話的に使う テキストエディタ
上記の結果より明らかなように,最適化したCに比べても Python の 実行速度のほうがまだ速いという結構驚きな結果が得られました. しかしながら,その Python よりもRのほうがまだ速いという ことも分かりました.特に逆行列の演算に関してはRの圧勝です. 以上の結果のまとめです: 実行速度の速さは R > Python > C の順 CよりPythonの方が15%程度速い しかしながら,特に逆行列の演算に関してはPythonよりRの方が40%程度速い おわりに 以上のベンチマークにより,少なくとも行列演算に関しては CよりもPythonの方が速いということが分かりました. 今回の実験は個人的なプログラム環境の乗り換えのための 判断材料として行なったのですが, 乗り換えに関しては Python の速度性が最大の懸念材料だったので, これで心おきなくCからPythonに乗り換えられます(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く