キーワード抽出API
キーワード抽出API
- キーワード抽出API
- できること
- 入力
- 出力
できること
- 単語を抽出する
- 重要順に並び替えて出力
- Wikipedia日本語記事のタイトルに存在するものを単語として扱う
- 勝手に単語を連結
入力
- 以下のURLに、ぱらめーたtextで文章をPOSTする
出力
雰囲気こんな感じ。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
<div class="typocode"><pre><code class="typocode_default unknown">< ?xml version='1.0' encoding="UTF-8"?> <drips> <keywords> <word descLength="18" count="4" cost="14274" score="57096"> 抗うつ剤 </word> <word descLength="11254" count="1" cost="18853" score="18853"> 警視庁組織犯罪対策部 <category>日本の警察</category> <category>東京都の警察署</category> <category>都道府県警察</category> <category>東京都</category> </word> <word descLength="3605" count="6" cost="2144" score="12864"> 男性 <category>男性</category> </word> <word descLength="934" count="3" cost="4192" score="12576"> 試薬 </word> <word descLength="6182" count="1" cost="9159" score="9159"> 男性誤認逮捕 <category>男性</category> </word> <word descLength="692" count="1" cost="7355" score="7355"> 薬物反応 </word> <word descLength="1257" count="1" cost="6963" score="6963"> 現行犯 <category>刑事訴訟法</category> </word> <word descLength="11875" count="1" cost="6894" score="6894"> 警視庁科学捜査研究所 <category>日本の警察</category> <category>東京都の警察署</category> <category>都道府県警察</category> <category>東京都</category> <category>研究所</category> </word> <word descLength="3260" count="1" cost="4788" score="4788"> 築地 <category>東京23区の地域</category> <category>中央区 (東京都)</category> </word> <word descLength="3689" count="1" cost="4192" score="4192"> 錠剤 <category>薬学</category> <category>医療</category> <category>健康</category> <category>医薬品</category> </word> <word descLength="35276" count="1" cost="4115" score="4115"> 産経新聞 <category>東京都のマスメディア</category> <category>大阪府のマスメディア</category> <category>日本の新聞</category> <category>産経新聞</category> </word> </keywords> </drips> |
単語抽出API termdrips
テキストを入力されたらその中からそれっぽい単語とその単語のカテゴリを抜き出してくる。
http://www.jaro68.jp/termdrips/drip に対して、text=解析テキスト、c=絞り込みたいカテゴリ名 でPOSTするとXMLの形で単語とそのカテゴリが返ってくるこの元データは日本語Wikipediaから来ているんだけど、ライセンス的には大丈夫なのかな・・・
とりあえず作ってみたものの、何に使えばいいのかわからないからとりあえず公開します。
trac + timingandestimationplugin + scrumburndownplugin
やどりぎ@NETのtrac + TracBurndownプラグインでスクラム開発のすすめを読んで試してみた。
Pythonとtracのバージョンはコレ- python 2.4.3
- trac 0.10.1
- timingandestimationplugin 0.1.5
- scrumburndownplugin 01.00.10
- timingandestimationplugin 0.2.3
- scrumburndownplugin 01.03.10
あと、新しいtrac 0.11.~ はテンプレートエンジンにgenshiを使っているらしい。地味にgenshiは評判がよさそうなんだよなぁ。
はじめてのplagger
CPANでplaggerを入れると、/usr/bin/plaggerができる。でも、それを実行すると/usr/bin/config.yamlがないとかぬかしやがる。なんじゃそりゃ。というわけでsubversionから最新を取ってきて、自分のホームディレクトリ以下でmake。
assetというものがPlagger本体にもいるらしい。 これもsubversionから取ってきて好きな場所に設置。
plaggerは、あたりまえだけどplaggerコマンドを実行する。チョー初歩的。
./plaggerとするとconfig.yamlが無いと怒られた。config.yaml: global: assets_path: /home/sett4/web/plagger/assetsとりあえずこれだけ。
$ ./plagger Plagger [info] plugin Plagger::Plugin::Bundle::Defaults loaded. Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded. Plagger [info] plugin Plagger::Plugin::Summary::Auto loaded. Plagger [info] plugin Plagger::Plugin::Summary::Simple loaded. Plagger [info] plugin Plagger::Plugin::Namespace::HatenaFotolife loaded. Plagger [info] plugin Plagger::Plugin::Namespace::MediaRSS loaded. Plagger [info] plugin Plagger::Plugin::Namespace::ApplePhotocast loaded.うごいたっぽい。 config.yaml書き足し
global: assets_path: /home/sett4/web/plagger/assets # plugin_path: # – /usr/lib/perl5/site_perl/5.8.8 timezone: Asia/Tokyo plugins: - module: Subscription::Config config: feed: - http://www.cats-blog.com/atom.xml - http://blog.livedoor.jp/sky2525/index.rdfこれで実行。- module: Publish::Gmail config: mailto: hogehoge@gmail.com mailfrom: hogehoge.gmail.com mailroute: via: smtp_tls host: smtp.gmail.com:587 username: hogehoge@gmail.com password: hogehoge
とどいたっぽい。
![]()
きょうはここまで。 やっぱりインストールに時間がかかる・・・。
アバウト
これは、WordPress のページ作成機能のサンプルです。あなたに関する情報の表示や、ブログとは別のコンテンツを作成するためにご利用ください。このように、WordPress では、お好みで幾つかのページを作成して、通常のブログとは別のサブページを管理することができます。
COREBlog2
COREBlog2のαが出ていたので、ちょっと遅いけど移行。 しかし、移行でちょっとコケたところが・・・。 使ったのは11/25のNightly Build版、Plone2.1、Zope2.8.4、ZopeはGentoo Linuxで動かし、ZMIへのアクセスはWindows上のブラウザから行った。 - カテゴリに”/”(スラッシュ)とか” ”(スペース)とかが入っているとエラー - coreblogexport.dtml.txtでエクスポートしたファイルの改行コードがcrで、そのままport.pyを使ってインポートしたらインポートできない。 – crじゃなくてlfに変換したらインポートできた。 インラインオブジェクト?にちょっと期待してるんで、ぼちぼちPloneへの移行をやっていきたいと思います。
年末年始ダイジェスト
実家はネットレス環境。ノーパを借りてもって帰らなければPCレス環境という状態。いまだにADSLも光も入れる予定は無いらしい。トホホ。 とりあえず石川に行って直ぐにみゅと経古参とスノボ。実家に寄らずにみゅのところへ行ったら、あいかわらずだなと言われた。意味がわからない。 毎年思うんだけど、一発目でも意外と滑れる。なんとなく出だし付近でいきなりコケそうな予感がするんだけど、一応体が覚えてくれているらしい。 みゅの自作ケツパッドがいい感じ。ただしもっと小さかったらw とりあえず、経古参が物覚えのすごくいいビビリで驚いた。 家に帰って餅ついた。なにやら五五の厄払いかなんかで餅ついて神社に持っていく。今年早めに実家に帰ったのはこれのせい。やたらと親父が帰ってきてほしそう、というか、これに出てほしそうな雰囲気をぷんぷんさせてた。 なんでか今年は11臼。ダリィ。薪とお釜と蒸篭と、臼と杵でつくんでそれはそれはダルイ。煙が眼にしみる。 しかしまぁ、臼と杵でつく特権として、まだ餅になりきってないような米が潰れかけの状態のやつを食えるのはありがたい。なんとなく、餅になりきったのより美味い気がする。 結局4臼ついた。つける人間が5人もいて4/11という配分は不公平だと思う。 厄払いの前に神社の掃除。石川県では一番古い神社らしく、昔はすごかったらしいが1184年に平家に燃やされて宝物を失って、もっかい建てていろいろあって今に至る。みたいな感じ。だからか知らないけど、畑を少し深く掘ると土器やらなんやらいろいろ出てくる。道路を作るときには先に遺跡調査を何年もやるのでめんどくさい。家を建てたりしても遺跡の上に家を建てるなと怒る人がいるけど、昔からここに住んでるんだからそんなもん知らんがな。 午後から厄払い。神主がヨボヨボのジィさんで、式の最中に太鼓のバチを蹴っ飛ばしたり、蝋燭を倒しそうになったり、突然悩みだしてお供え物の配置を換えてみたりと、なにやら気が気じゃなかった。 元旦から神社に行く。なんかやってるらしい。ジイさんの息子が来て舞を奉納してた。音楽がCDプレイヤーからっていうのがちょっと寂しい。まぁ、雅楽をやるやつなんて呼べないだろけど。奉納した後にお供え物のスルメと御神酒をいただく。神主がスルメを伸す機械を持ってきてた。えらい重いのに、よくこんなもんを持ってきたもんだ。っていうか、伸しイカ作る機械なんて始めてみたよ。 家族全般に言えることだけど、みんな休日ヒッキー。たまには外に出ないとねってことで姉とスキー場のジャム勝へ。姉はスクール行ってるので、こっちは勝手に滑る。ようやくエッジに乗れてる感じがつかめてきた。ヒール側は乗りやすいんだけど、トゥ側が乗るまでに時間がかかる。ちょっと地面が荒れてると段差ですぐに足首が負けてしまう。足首弱いのかな。 姉はスクールで若い連中といっしょで、年の差を感じていたらしい。そういえば食も細くなってたし、心配だ。 その他、DEFとダーツ行ったりダーツ行ったりダーツ行ったり、経古参とカラオケ行ったり、キングコングを見てスターシップトゥルーパーズ状態に笑ったり。 というわけで、ダラダラと年末年始ダイジェストでした。
Boost Graph LibraryでMinimal Spanning Tree
で、 ほんとは `前回`_ にBoostのGraph Libraryを使ってMinimal Spanning Treeを求めるときにハマったことを書こうと思ってたんだけど、そういやEntropic Spanning Treeについて書いてないな、とか思い出したんで脱線。 今回はBoost Graph Library(BGL)でMinimal Spanning Treeという話。ちなみにことTreeってほんとはTreesの複数形なんだろうか。ううむ。 後輩の かなぶや aka 玉子 がEntropic Spanning Treesを使うことになって、MSTを求めなきゃいかんのだけど、いかんせん実装してるヒマ無いよね、ってことでどっかのライブラリを探してきてそれがMatlabのやつで、128点の全結合なグラフのMSTを求めるのに180秒。話にならん。 発表終わって一日休んで学校に来て見たら、亀より遅いスピードでMatlabのMSTのプログラムが動いている、しかもPC7台くらい?で。 こりゃアカンわってことで、Boostのライブラリにグラフ関係があったのを思い出して組んだわけであります。 ちなみに、初めてのC+、初めてのC+ Template。 JavaでGenericsは使ったことあるけど、あれとは全然違うなぁ。もっと何でもアリアリな雰囲気がする。 オブジェクト指向言語はDelphi -> C# and Java, って感じなんだけど・・・C++のTemplateを使ってみて思ったのは、コンストラクタがわかりづらい。っていうか std::vector edge; edge.push_back(E(1,2)); って、あれ?コンストラクタは? edge = new std::vector();とかそんなノリのものはないの?とか思うんだけど、実のところどうなんだろう。ちなみに、C++の本、STLの本、Templateの本、まったく読まずに書いてます。はい。 まー、それはどうでもよくって、 `prim_minimum_spanning_tree`_ を使ってMSTを作っててハマったところ。 - 二重辺は不許可。 二次元平面状のn点のMSTを見つけるんで、さらっとnxnの距離をedgeにして食べさせた。nxnなんで、E(v1,v2)の辺と E(v2,v1)の辺がある。ほとんど辺が重辺。しかも、E(v1,v1)自己ループもある。こういうのを prim_minimum_spanning_tree に食わせたらきっちりMSTを出力してくれない。 出してみたら途切れ途切れのMSTで、かなり悩んだ。わかればフツーなんだけど・・・。 というわけで128点のMST作成にグラフのプロットとかもろもろ込みで0.8秒くらい。Matlabオセェ。 Matlabがオセェっていうよりも、Matlab最適化して書いていないMSTのプログラムオセェ。 Matlabのforやwhileが遅いのは知っていたけど、ココまで遅いとは思いませんでした。180秒 vs 0.8秒。 はじめてのTemplateとC++の感想は、ワケわかんねぇ。です。ドキュメントの問題なのか、テンプレート化されまくってていて、どこにいけば関数のリファレンスがあるのか、っていうか、このクラスはどこから沸いてきたのか、もとからあるのかTemplateで作られたのか、もう意味不明。脳みそが足りない。 しかし、脳みそが慣れてきたら強力ツールになりそう。うん。 C#とかJavaのガベコレ言語になれすぎていて、正直freeとかのタイミングがわかんなくなってきていることも分かった。昔はfreeしなくてもいい言語なんて信用ならんとか思って、明示的に=nullしてたけど、今となっては・・・。 これからはC++も毛嫌いせずに使うことにしよう。 そして、何も考えずに書きなぐってあるなぁ、と思うしだいであります。 .. _`前回`: ./2006-02-20-entropic-spanning-graphs .. _`prim_minimum_spanning_tree`: http://www.boost.org/libs/graph/doc/prim_minimum_spanning_tree.html
Entropic Spanning Graphs
えー、大昔に読んでいたMinimal Spanning Treeで、多次元のやつでも分布推定なしにエントロピー推定できるよって論文、ようやく出番が来たそようです。使うのは僕じゃないけど。 数ヶ月前の中間発表を聞いているときにひらめいて、コレって実はspacingを正しく多次元拡張したやつなんじゃね?とかって思って先生に言って、んなわけねーだろって一蹴されて非常に悲しかったけど、そのあと自分でやってみておかしな結果になって断念したけど、やっぱり1次元の時にはspacingになるな、って先日言ってきた。ちょっとうれしい。ほんとにspacingになるのか今は自分が懐疑的だけど、多分僕よりも100倍くらいは正しいに違いない。大先生だし。 まー、その話とは関係なく、後輩が卒研でEntropy Estimation via Minimal Spanning Treeというか、まぁ、 `Application of Entropic Spanning Graphs`_ って論文。 あれ、簡単にどんなのかblogに書いたつもりになったけど、まだ書いてなかったか・・・。昔の中途半端なのは `このへん`_ Entropic Spanning Grpahsってのは・・・・。チョー簡単に言うと分布推定することなしにRenyi Entropyを推定できるよっていう、かなり無茶な話。分布推定しなくてもいいんで、多次元のエントロピー推定なんかが簡単に行える。どこまで推定精度がいいのかは知らないけど。 そのキモは、なんかのデータがあって、それらを結ぶMinimal Spanning Treeを求めて、そのMinimal Spanning Treeの総延長でRenyi Entropyがわかるらしい。オモロイ。ただ、キレイじゃない気もする。バイアス修正項みたいなかんじのやつがあって、それはd次元空間において、[0,1]で一様な分布に従う乱数を無限に発生させて、それのMSTの長さを使うってやつで、ちょっぴりうーん。 あ、ちなみに、MSTじゃなくて、STでも、TSPでもいいらしい。これもオモロイ。 しかし、どれもMinimalっていうところがミソで、エントロピーってなんていうか、記述長最小って感じなんで(ごめんかなり適当)、当然関係深くてもいいよなぁ~とか思っていたしだいです。 チラシの裏。 .. _`Application of Entropic Spanning Graphs`: http://citeseer.ist.psu.edu/625961.html .. _`このへん`: http://www.jaro68.org/needlejuice/blog/88