ザリガニが見ていた...。ザリガニが見ていた...。読者になるザリガニが見ていた...。この広告は、90日以上更新していないブログに表示しています。Railsそもそも、マルコフ連鎖とは何なのか?全く聞いたこともなかった。文章を要約するのはとっても高度なことだと思っていて、自分のレベルではその方法を、今まで思い付きもしなかった。以下のようなシンプルなRubyコードでそれが出来てしまうと知った時、目から鱗である...。utf8環境でインストール済みマルコフ連鎖に出逢うrssを流し読みしていると、以下の日記に目が止まった。何が出来るコードなのか、日記を読んだだけではピンと来なかったので、自分で実行してみることにした。markov_chain.rbを実行してみる。1行目からエラーでまくり。実行できる環境を整える必要があった。実行環境を整えるMeCabを使ってマルコフ連鎖で説明されている通り、mecabのインストールを実行した。自分の場合、mecabについてはutf8環境でインストール済みなので、3行目のrb-mecabのみ実行した。通ると思ったら、エラーでストップ。rubyのロードパス($LOAD_PATHというグローバル変数)にrb-mecabの在処も含める必要があるようだ。(以下で、/opt/以下のパスが見当たらないので。"."]rubyの$LOAD_PATH(あるいは$:)は、シェルの環境変数$RUBYLIBを設定することで反映されるようだ。以下のページが大変参考になりました。s21gそして、portでインストールしたrb-mecabは、/opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin9/MeCab.bundleとして存在している。よって、そのパス部分を環境変数$RUBYLIBに、以下のように代入した。RUBYLIB=/opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin9さらに、HTMLから必要な箇所を切り出してくれる'nokogiri'も、インストールが必要だった。'enumerator'が必要だった。'enumerator'と、自分なりにコメントを追加したコードは、以下のようになった。new_text.gsub!(/EOS$/,'')http://d.hatena.ne.jp/sugarbabe335/20090613/1244858669処理の流れ'http://www.asahi.com/'のヘッドラインの1行目の記事を取得する。nokogiriとopen_uriが活躍mecabで形態素解析する。参照テーブルを作成する。マルコフ連鎖で要約する。マルコフ連鎖における参照テーブルと要約については、以下のページを見て一目で納得できた。(感謝です!)人工無能を作ろう〜マルコフ連鎖(2接頭語と1接尾語の場合)最後に要約文を出力する。要約の仕組み上記において、マルコフ連鎖のみ利用したシンプルな要約とは、つまり、文章中の同じ文節を探して、乱数で選択しながら文章を繋げていく作業をしていたのだ。乱数頼りの機械的な作業だけども、偶然にもそれらしく、かなり的を得た射た要約になっていたりするから驚かされる。(乱数に左右されるので、実行する度に違った要約になる。【ロサンゼルス・タイムズ紙は市警当局者の話をもとに伝えている。市警は27日、ジャクソンさんが自宅で倒れた時に立ち会っていた担当医を参考人として事情聴取した。ハリウッドでは処方薬を飲んでいた」と明らかにしたが、死因の解明には4〜6週間かかる。ロサンゼルス郡検視局は「複数の処方薬を飲み過ぎで死亡する悲劇が相次ぐ。07年にモデルのアンナ・ニコル・スミスさんが複数の処方を頼まれた。詰問したら、以前に多くの医師から薬をもらっていたことを認めた」と米メディアに明かした。26日、ロサンゼルス・タイムズ紙によると、検視局から遺体を引き渡された遺族は、死の真相を知るため、独自に病理学者に依頼して解剖をした。【ロサンゼルス=堀内隆】歌手マイケル・ジャクソンさんの場合も友人の医師はラスベガスを本拠にする心臓内科医で、約2週間前からジャクソンさんが自宅で倒れた時に立ち会っていた担当医を参考人として事情聴取では死因につながる情報は出なかったと、ロサンゼルス・タイムズ紙は市警当局者の話をもとに伝えている。市警は27日、ジャクソンさんに与えた薬が死につながったとのうわさが飛び交っているからだ。マリリン・モンローやエルビス・プレスリーら、米芸能界では処方薬の大量服用で命を落とす芸能人が後を絶たず、セレブと医師2人が起訴された。南カリフォルニア大のジュリー・オルブライト講師はAP通信に「セレブの面倒を見ることで医師は大金を稼ぎ、彼らを薬漬けにする共犯になる」と危うい相互依存を指摘する。ジャクソンさんの急死した際は、大量の鎮痛剤を処方したとして医師は大金を稼ぎ、彼らを薬漬けにする共犯になる」と危うい相互依存を指摘する。ジャクソンさんの急死した際は、大量の鎮痛剤を処方したとして医師2人が起訴された。南カリフォルニア大のジュリー・オルブライト講師は容疑者ではないと強調した。ジャクソンさんに与えた薬が死につながったとのうわさが飛び交っているからだ。マリリン・モンローやエルビス・プレスリーら、米芸能界では処方薬を飲んでいた」と明らかにしたが、死因の解明には4〜6週間かかる。ロサンゼルス郡検視局から遺体を引き渡された遺族は、死の真相を知るため、独自に病理学者に依頼して解剖をした。日記の中ではうまく制御したり、学習させて重みを持たせると、面白いかもと言っている。その通り、本当に面白そうだ!どのように学習させ、どのように重みを持たせるか、それが問題なのだけど。ベイジアンフィルターの仕組みなど、うまく利用できないだろうか...。もっともらしくて面白い。要約には全然なってない。スパムブログなら十分実用レベルかも知らないが全くその通りなのです。偶然にも要約されたような文章が出来上がるだけで、決して、係り受けとか、意味を解釈しての要約にはなっていないのだ...。本来の要約とは、自分の頭で理解して、自分の言葉で簡潔に表現することなので、まじめにそのような処理方法を考えると、自分のレベルでは行き詰まってしまう。s/的を得た/的を射た/なるほど。すごく勉強になりました。今まで何の疑いも無く「的を得た」を使っていたのでした。http://d.hatena.ne.jp/keyword/%C5%AA%A4%F2%C6%C0それにしても自分は、54.3%(すでに過半数)の誤用している側の一人であったのだが...さらに誤用率が上がれば、そう遠くない将来、「的を得た」も認める、という状況になってしまうかもしれない。それは阻止するべきことなのか、それとも言葉の変化と捉えるべきなのか...やはり、この日記を書いた時点での公式な正解、「的を射た」に修正することにしました。s/的を得た/的を射た/についても、目から鱗(が落ちる)でした。ありがとうございました。追記2今まで何の疑いも無く「的を得た」を使っていた身としては、救われた気がした。7版では、従来「誤用」とされていることばを再検証した。「◆的を得る」は「的を射る」の誤り、と従来書いていたけれど、撤回し、おわび申し上げます。「当を得る・要領を得る・時宜を得る」と同様、「得る」は「うまく捉える」の意だと結論しました。詳細は「得る」の項を。ブログを書いていると、微妙な言い回しに悩むこと...2014-11-06bundlerでgemバージョンを束ねるRails1.1.6の環境でどうにかscaffoldはできるようになった。...2014-10-16必要最小のgemの作り方とインストールgemは、Rubyのライブラリ管理のコマンド。Rubyのライブラリを検...2014-08-20OptionParser底力+ARGFを使ったコマンド作り前回からの続き。読者になるこのブログについて検索リンク記事一覧はてなブログをはじめよう!zariganitoshさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?はてなブログをはじめる(無料)はてなブログとはザリガニが見ていた...。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。