はてだBlog(仮称)

私的なブログど真ん中のつもりでしたが、気づけばWebサイト系のアプリケーション開発周りで感じたこと寄りの自分メモなどをつれづれ述べています。2020年6月現在、Elasticsearch、pandas、CMSなどに関する話題が多めです。...ですが、だんだんとより私的なプログラムのスニペット置き場になりつつあります。ブログで述べている内容は所属組織で販売している製品などに関するものではなく、また所属する組織の見解を代表するものではありません。

spaCyのPhraseMatcherを変わり種のあいまい検索やgrepとして使ってみる(ための試し打ちをした)

はじめに 以前の記事でspaCyで手探りで遊んでみました。 itdepends.hateblo.jp 記事の中で、spaCyのPhraseMatcherの名前にふれていましたが、今回、実際にPhraseMatcherを試してみたというメモです。 spaCyのPhraseMatcher さて、そのspaCyのPhraseMatcherで…

spaCyでの係り受けなど可視化(注:タイトル負けしています)

前の記事でspaCyをカジりました。 itdepends.hateblo.jp spaCyなどのNLTKでは語の依存関係などを解析できますが、その関係を可視化して文とは文章とはなんたるかを俯瞰したいということが頻出します。 spaCyについては標準で、係り受けなどの関係を可視化す…

spaCy2.3の日本語標準対応にのっかってホットワード抽出の真似事(ただし候補ワード・フレーズ抜き出しまで)

spaCyがver 2.3になって、デフォルトで日本語に対応したようです。 spacy.io ということで、何日か前に、GiNZAスゲーとなった感謝の気持ちは忘れないながらも、フリーライダーな私としては、裸のspaCy2.3に乗り換えて、まずは雰囲気を掴んでみようということ…

pandas.read_htmlでぶち抜きtableタグに関する今更の気づき

pandas.read_htmlについて、rowspanやcolspanで実現されているぶち抜き表についても、よろしく整然データとしてのDataFrameに変換できるということを知ったので、その感想です。 pandas.read_htmlについて pandas.read_htmlはhtml中のtableに特化したスクレ…

Elasticsearch のMore Like This Queryを使ってみた(グルメ的に似たエリアを検索)

Elasticsearch のMore Like This Query(以下MLT)を使ってみました。 More Like This Query(MLT)について MLTの類似度の考え方(の雑な説明) Elasticsearch MLT での実際の検索方法 [補足] MLTはElasticsearch 検索DSLの一種 ★実際にやってみる 前説 手順 (1)…

livedoor グルメの DataSet を横目で見ながら東京都のグルメ分布のイメージをひとりごとする

この記事では、下記の過去記事の手順、および本記事の末尾に引用のスクリプトで、livedoorグルメDataSetをElasticsearchに取り込み、significant_termsで、東京都の各エリアごとの特徴的なグルメカテゴリのランキングを取得してみました。 itdepends.hateblo…

Elasticsearchで検索〜pandasのDataFrameに格納(私的なスニペット)

Elasticsearchとpandasという組み合わせでいうと、Elasticsearchの公式サイトでも紹介があるeland | Elasticなのかなと思います。 しかしながら、ElandでElasticsearchの検索クエリをかませて、それをDataFrameに入れる方法が(おそらくそのような機能を具備…

Webサイトのアクセスログのよくあるかもしれない集計パターンの自分用覚書(Python/Pandas関連)

Webサイトのアクセスログの集計のワンライナーのようなものについては、かつてはいろいろ思うところがありました。 思うというか苦しめられておりました。 しかし、いまや 自分が語るには、この世界が発展・複雑化しすぎており、世界の片隅でのひとりごとと…

Python: wordcoludでタグクラウド画像生成

↓ Pythonのタグクラウド生成ライブラリで有名なword cloudを使って、まさにこんな感じの画像ファイルを出力します。 amueller.github.io github.com 日本語の場合、本来は、タグクラウドの元になるテキストについて統計的な処理や分かち書きをするところをふ…

Python: Pillowで画像にテキスト埋め込み(元画像なし版)

↓ Pythonのプログラムを実行して、まさにこんな感じの画像ファイルを出力します。 2020年の現在においては、Pillowというライブラリがデファクトのようです。 hoge$ pip3 list ... Pillow 7.1.2 ... pillow.readthedocs.io お作法のハンズオンとしては、次が…

openpyxl のさわりのサンプルコード(PythonでEXCELファイルを扱う一例)

はじめに 感染症の例を見ていると、可視化やそもそも現場でのデータ収集というのはなかなか難しいなと感じる次第です。 大半の混乱は一元化や入力の標準化などの情報化の定石で解決する部分もあるでしょうが、今回のような走りながら速記するというような状…

sumy で要約(spaCy、GiNZA) を試してみた: Pythonで自然言語処理にフリーライド

要約・キーフレーズ抽出について sumy は、Pythonで実装された、抽出型のドキュメント要約ライブラリです。 3行でまとめて! ってやつですね。 ドキュメント中の最重要と思われるセンテンスを抜き出すことで、元の内容のエッセンスを抽出することをめざしま…

Elasticsearchにlivedoorレストランデータセットを取り込んでみる(Pandasで全文検索向けにプレデータ加工あり)

Elasitcsearchで「全文検索」寄りでいろいろ遊んでみようと思うと、程よい公開データが欲しくなります。 そんなデータの一例として、livedoorレストラン DataSetというのがありますので、こちらを利用させてもらって勉強するというのも一つの手かと思います…

Elasticsearch AggregationsとPost filter(post_filter)

一つ前のこちら↓の記事で、ElasticsearchのAggregationsのシンタックス例を挙げてみました。ElasticsearchのAggregationsでしばしば話題になるトピックを忘れていましたので、補足します。 itdepends.hateblo.jp 具体的には、Post filterの話です。 www.elas…

Elasticsearch のAggregations(livedoorレストランデータセットを取り込み試してみる)

livedoor グルメの DataSet をElasticsearchに取り込んで、Aggregations(aggs)を試してみた、の例です。 Aggregationsは、SQLでいうところのgroup byに近い演算です。グループ化や集計対象が、SQL(RDB)の場合はカラムの値なのに対し、転置インデックスの格納…

ElasticsearchのSearchTemplate

Elasticsearchには、Search Templateという、よく使うクエリをElasticsearch自体に登録して、それをテンプレートにして検索クエリの一部を差し替えたような検索ができます。 使い所によって、共通化、タイプ量削減、設計方針の強制、コンセプトの共有、いろ…

Elasticsearch 日本語ドキュメント用 analyzer設定generator(Analyze設定のマイフェイバリット2020)

ちょっとタイトルは内容からすると主語というかスコープがでかすぎです。ご了承ください。 過去に次のような記事を上梓させていただいております。 itdepends.hateblo.jp itdepends.hateblo.jp ただ、いろいろやっていると、多少気分も変わることもしばしば…

diffの変種っぽい視点で見るPandasのイディオム

はじめに PandasのEDAに便利な部分を、データチェックに見立てて利用すると、目的外使用かもしれないけど、便利かも? という視点でのPandasのイディオムの寄せ集めです。 (よって、そう思って見なければ、Pandasの中途半端な入門例未満の断片集だったりし…

Pandas(他)のEDA前によく使う(かもしれない)私的前処理スニペット集

はじめに データサイエンス的な世界に限らずですが、本処理以上に「前処理」が勝負というところがあります。 ここで、「本格的な『前処理』の更に前段の『前処理』が必要になった」という経験はありませんか。 まあ、単なる言葉遊びに過ぎないところもありま…

WebRTCをかじってみた2020春

そろそろ私なんかでも日曜大工で遊べそうな雰囲気が漂ってきたWebRTCでの画面共有アプリを習作してみました、という例です。 なお、各種ソフトのバージョンはあえて割愛しますが、2020年5月2日に確認した内容の記事となりますので、そのような鮮度だとご承知…

LeafletでGeoJSONを読み込み〜表示サンプル

下記のd3.jsの勉強記事で思い出したのですが、Leafletも位置付けからするとそりゃGeoJSONいけるよねと思って確かめてみました。 itdepends.hateblo.jp ↓ いけました。 もともと、OpenStreetMapなど地図の上に、レイヤーをかぶせることができるというのは(自…

なめらかGeoJSONぽいこと

GeoJSONですが、仕様と要件の性質上ある意味あたりまえだと思いますが、頂点をよろしく曲線で結ぶ仕様はないようです*1。 でも、下記図みたいな、こんな感じのことをしたいこともあるよね?ということで調べてみて、d3.jsで試してみましたの例です。 あたか…

d3.js でGeoJSONファイル指定の白地図を表示(地図のズーム、ドラッグ可能)

GeoJSONファイルのd3.jsでの可視化にチャレンジしてみました(という、サンプルコードのセルフリマインダです)。 「GeoJSON 可視化」などでググると、やはりというか、さすがというかd3.jsでさっくり可視化ができるんだね〜ということがわかるのですが、ほ…

d3.js: 分かった気になりたい人向けのd3.jsのオレオレ基礎

d3.jsは、ブラウザ上で様々なデータを可視化するための非常に強力なライブラリです。 モグリのワナビーな私もさわりだけでも嗜んでおこうと思い筆をとりました。 以下、d3.jsの試しやすい範囲*1の簡単な事例(ただし私が良かれと思っているものチョイス)のサ…

駅データ.jpを使って路線図を描いてみる

全国の路線をカバーしていて、比較的使いやすい元データで、ある程度結果データ量がコンパクトになると思われるような駅・路線データはないかな〜、それを使って(データ量のトレードオフとして駅と駅の間は直線でもよいので)路線図をplotツールなどで可視…

Elasticsearch GEO系検索を試してみる2

この記事は、ElasticsearchのGEO系検索のうち、GeoShape DSL(geo_shape)を試してみたものになります。 次の記事の続きです。 itdepends.hateblo.jp また、次の別の記事でGeoPandasを使って(あまりシェープファイルやGeoJSONといったGIS用データ形式がわかっ…

GeoPandasでGISの世界観をちょっとだけのぞいてみた(GeoJSON/シェープファイル)

最近、社会情勢もあって白地図を目にすることが多くなっていますが、この機会にGISデータを扱う、シェープファイルやGeoJSONにふれてみようと思いました。 PythonであればシェープファイルやGeoJSONに関する便利ライブラリもいっぱいあるだろう、ひょっとす…

Elasticsearch GEO系検索を試してみる(Geo-polygon、Geo-shape関連)

ElasticsearchのGEO系検索のうち、ポリゴンをからめた検索について試してみました。 www.elastic.co なお、試したのはElasticsearch 6.8ですが、7系に橋渡ししやすいクエリやMapping設定の記述としたつもりです。ただし、紙面の都合・その他の理由によりでve…

Pandas番外編(strアクセサなど再発見)

Pandasのアクセサ、特にstrアクセサについては、シンタックスの外面がやや特殊に感じておおりました。 よって、挙動になれるまではどこまでOKなのかわかりにくいので、気持ちのどこかで利用をさけていたのですが、ある時期以降は宣言的にロジックを書けるの…

Python difflib 覚書

概要 Pythonのdifflibのうち、私のような軟派な用途にあたり便利だな・面白いなと思ったものをまとめてみました。 概要 オレ様チョイス 3大difflibライブラリ (1) difflib.SequenceMatcher・・・ ratio() (2) difflib.get_close_matches() (3) difflib.HtmlD…