iMind Developers Blog

iMind開発者ブログ

Ginzaで形態素解析、係り受け解析、固有表現抽出、ユーザー辞書追加

概要 Ginzaを使ってNLPでよく使ういくつかの処理を動かしてみる。 バージョン情報 ginza==2.2.0 Python 3.7.4 インストール pipで入れられる。 $ pip install "https://github.com/megagonlabs/ginza/releases/download/latest/ginza-latest.tar.gz" 詳細は…

PHPでTwigとDoctrineを利用してWebサイトを作る

php

概要 HTMLがある程度書けてPHP/JavaScriptも少しわかるという人がメンテするシステムがあったとする。生のPHPで書かれていてHTMLとロジックがかなり入り混じっている。 これを破綻させないように程よく改修する必要が出た場合、フレームワークを使うと担当者…

GCPのCloud ComposerでHello World

概要 Airflowの運用をGCP任せにできるCloud Composerを使ってPythonOperatorやBashOperatorを叩いてみる。 バージョン情報 Google Cloud SDK 264.0.0 composer-1.7.5-airflow-1.10.2 起動 GCPのWebUIからcomposerを選択し、environmentを作成する。 各項目に…

log4jsによるログ出力

概要 log4jsを使ってログ出力、フォーマットの変更、ファイル出力、ログローテーション等を行う。 バージョン情報 node v10.15.1 log4js@5.1.0 インストール $ npm i log4js コンソールへのログ出力 ログレベルをinfoに設定してログを出力してみる。 const l…

puppeteerでWebの画面操作とスクレイピング

概要 puppeteerを使って下記の項目などを実行する。 URLを叩いて結果をスクリーンショットとHTML本文の2パターンで保存する ページにテキストを入力してボタンを押す 当該ページに表示されている画像をまとめて保存する ページ遷移しながらスクレイピングし…

Pythonのloguruでログ出力

概要 Pythonのログ出力は標準ライブラリがすんなりとは使いづらいので、ログをより簡単に扱えるライブラリ、loguruを使ってみる。 バージョン情報 Python 3.7.3 loguru==0.3.2 インストール $ pip install loguru シンプルな出力 importしてinfoするだけで整…

PySparkでpartition数を指定してソートする

概要 PySparkで下記のようにソートしてからファイルに保存しようと思った場合。 df.repartition(5).orderBy(df.colA).write ... この記述は出力されるファイル数が5になることを期待しているが、orderByの際にpartition数が変動してしまう為期待した結果には…

PySparkでSparseVectorの生成と操作

概要 PySparkで機械学習系の処理をする際にSparseVectorに変換したいケースが多々あるのでそのあたりの処理を確認する。 バージョン情報 Spark 2.4.3 サンプルデータ いつもお世話になっているMovieLensのデータで、ユーザーごとの映画のレビューをSparseVec…

PySparkでDataFrameのランダムサンプリング

概要 PySparkでDataFrameから指定の割合や指定のレコード数でランダムサンプリングする。 バージョン情報 PySpark 2.4.3 サンプルデータ 1〜9999までの数値を持つDataFrameを用意する。 import pandas as pd import numpy as np np.random.seed(0) # 0〜100…

PySparkでlistからOR条件を生成する

概要 PySparkでlistの中に入っている値を使ってOR条件を生成したい。 例えばlistに[('a', 1), ('b', 2)]のようなtupleが入っていて、 (x='a' and y=1) or (x='b' and y=2) のような条件を生成する。 バージョン情報 Spark 2.4.3 サンプルデータ カラムx(char…