正規表現オブジェクトはパターンを定義するためのものです。正規表現オブジェクトが対象の文字列にマッチしているかどうかを調べるために、 Regexp クラスでは =~ メソッドが用意されています。ここでは Ruby で Regexp クラスの =~ メソッドを使ってマッチングを行う方法について解説します。
正規表現オブジェクトはパターンを定義するためのものです。正規表現オブジェクトが対象の文字列にマッチしているかどうかを調べるために、 Regexp クラスでは =~ メソッドが用意されています。ここでは Ruby で Regexp クラスの =~ メソッドを使ってマッチングを行う方法について解説します。
普段良く使うモジュールのMeCabのインストール。 Homebrewもvirutalenvも最近使い始めたばかりなので、自分用メモとして記録。 virtualenv環境の作成 普段はNormalという環境を作って、これを使うことにする。 $ mkvirtualenv Normal $ brew search mecab mecab mecab-ipadic Homebrewにあった。 $ brew install mecab mecab-ipadic $ mecab これでこの時点の最新版である0.994とIPA辞書がインストールできた。動作確認。 $ mecab すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ
BLOB型とTEXT型について BLOG 型及び TEXT 型はそれぞれ巨大なバイナリデータとテキストデータを格納する時に利用されます。 BLOB 型はバイナリデータを扱うデータ型で格納できるデータのサイズを指定しません。画像ファイルなどを格納する場合などにも使われます。ただ最大長は決まっており、最大長の種類によって次の 4 つが用意されています。 TINYBLOB 最大長が 255 (2^8 - 1) バイト。 BLOB 最大長が 65,535 (2^16 - 1) バイト。 MEDIUMBLOB 最大長が 16,777,215 (2^24 - 1) バイト。 LONGBLOB 最大長が 4,294,967,295 または 4G バイト (2^32 - 1) バイト。 各 BLOB 型はでは、データはバイナリデータとしてそのまま格納されます。 TEXT 型は文字列データを扱うデータ型で格
Ruby 1.9系ではStringオブジェクトにエンコーディング情報が付加されていて、マルチバイトや複数エンコーディングを扱う日本人としては嬉しい限りだけど、時々エンコーディング関連で例外が発生して落ちすぎるぐらい落ちるように感じるときがある。ちょっとイラッと来るけど、考えてみたら、例外を出さずに処理を進めてしまうことの弊害のほうが大きいだろうから、これはありがたいこと。 外部のHTMLを読み込んで正規表現でマッチするコードで、次のようなエラーが出た。 invalid byte sequence in UTF-8これは文字通り、UTF-8的におかしなシーケンスがあるということ。問題のHTMLを調べてみたら、UTF-8のHTMLの中に、Shift_JISが混じってしまっていた。どうも、JavaScriptで突っ込んだ文字列らしい……。いかにもありそうなことだ。どの程度の頻度で世の中にそういう
ActiveRecord で Mysql2::Error: MySQL server has gone away と言われて困ったのです。 さっぱり原因がわからずに同僚の @DianthuDia 先生に聞いてみたところ、どうやら大きなデータを MEDIUMTEXT 型のカラムに保存しようとしたときに、以下の MySQL の設定にひっかかって失敗していたらしいです。 1 2 3 4 5 6 7 > show variables like 'max_allowed_packet'; +--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 1048576 | +--------------------+---------+
以前、コンソールでの作業に GNU Screen は必須でしたが、しばらく前からは tmux を使っています。GNU Screen 同様、tmux もターミナルを分割したり、複数のプログラムを実行したり、非常に便利に利用できます。tmux については以下に詳しく書いてありました。 Ubuntu Weekly Recipe - 第127回 ターミナルマルチプレクサ tmuxを使ってみよう Manpage of TMUX 基本概念 tmux の基本概念は上記サイトに詳しく書いてありますが、ちょっとおさらいしてみます。 tmux 実行中に tmux を制御するコマンドを実行するには "Ctrl-b"(以下、「C-b」)に続けてコマンド(意味するアルファベット)を入力するか、もしくは ":"(コロン)を入力した後にコマンド名を入力します。この "Ctrl-b" を「プリフィックス・キー」と呼んでい
Python で CLI のコマンドを実行したいときは subprocess モジュールを使う。 subprocess モジュールを使う以外にもやり方はあるみたいだけど、それらは obsolete らしい。 本題だけど subprocess モジュールを使ってコマンドを実行したときに、返り値を見ながら標準出力、標準エラー出力の内容も得る方法が意外と見つからなかった。 subprocess.check_call() 関数を使えば返り値が見られるけど標準出力、標準エラー出力が得られなさげ。 subprocess.Popen クラスを使うと標準出力、標準エラー出力は得られるけど返り値はどう得られるんだろう? ドキュメントを読んだりソースコードを見ていった結論が以下。 #!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == '__m
encode(encoding, **options) -> String[permalink][rdoc][edit] encode(encoding, from_encoding, **options) -> String encode(**options) -> String self を指定したエンコーディングに変換した文字列を作成して返します。引数を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば self のエンコーディングが使われます。無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。 [PARAM] encoding: 変換先
入門 自然言語処理 作者: Steven Bird,Ewan Klein,Edward Loper,萩原正人,中山敬広,水野貴明出版社/メーカー: オライリージャパン発売日: 2010/11/11メディア: 大型本購入: 20人 クリック: 639回この商品を含むブログ (44件) を見る TF・IDF計算 自然言語処理の勉強としてTF・IDFによる重要単語の抽出をwikipediaのデータに対して試してみます。TF・IDFを一言でまとめると、とある単語の重要度を出現頻度から計算する手法です。計算結果は重みを表します。TFは単語の出現数(Term Frequency)、IDFは総文書数 / 単語が出現する文書の総数の対数(Inverted Document Frequency)、TFIDFはその積になります。数式にすると以下のようになりますが、Webを検索してみると人によって計算の仕方が異
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く