Skip to content

Instantly share code, notes, and snippets.

View shun91's full-sized avatar

Shun Kawahara shun91

View GitHub Profile
@shun91
shun91 / NgramCreator.java
Last active August 29, 2015 14:13
テキストからn-gramを生成するNgramCreator.java
import java.util.HashMap;
import java.util.Map;
public class NgramCreator {
/**
* 入力したtextからn-gramを生成.
* n-gramとその出現回数を格納したMapを返す.
* 生成時,半角スペースでsplitして1単語とみなす.
*
* @param text
@shun91
shun91 / libsvm_gaussian_scaler.py
Last active August 29, 2015 14:13
LIBSVMの学習データのスケーリングを行う.
#! /usr/bin/python
# -*- coding: utf-8 -*-
###############################################################################
# LIBSVM(LIBLINEAR)の学習データのスケーリング(標準化)を行う.
# 各素性が平均0,分散1の正規分布に従うようにスケーリングする.
#
# 次のコマンドで実行できる.
# $ python libsvm_gaussian_scaler.py [options]
# [options]
@shun91
shun91 / all_line_replace.py
Created January 14, 2015 09:18
テキストファイルの全ての行に共通の置換処理を行う.
#! /usr/bin/python
# -*- coding: utf-8 -*-
############################################################
#
# テキストファイルの全ての行に共通の置換処理を行うスクリプト.
#
# 使い方:
# ・19,22行目付近の「置換対象の文字列」「置換後の文字列」を設定.
# ・下記コマンドで実行.
@shun91
shun91 / FileReadSampleSpout.java
Last active August 29, 2015 14:13
Stormで,テキストファイルから読み込むSpoutのサンプル.
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.List;
import java.util.Map;
import java.util.concurrent.LinkedBlockingQueue;
import backtype.storm.spout.SpoutOutputCollector;
import backtype.storm.task.TopologyContext;
import backtype.storm.topology.OutputFieldsDeclarer;
@shun91
shun91 / libsvm_cos-normalize.py
Created January 26, 2015 09:21
LIBSVMの学習データをコサイン正規化するスクリプト.
#! /usr/bin/python
# -*- coding: utf-8 -*-
###############################################################################
# LIBSVM(LIBLINEAR)の学習データをコサイン正規化する.
#
# 次のコマンドで実行できる.
# $ python libsvm_cos-normalize.py [options]
# [options]
# -i file: 入力ファイル.省略すると35行目付近のINPUT_PATHで指定した値となる.
@shun91
shun91 / OpennlpPOSTaggerTest.java
Last active August 29, 2015 14:15
OpenNLPのPOSTaggerのサンプルコード.
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import opennlp.tools.postag.POSModel;
import opennlp.tools.postag.POSTaggerME;
public class OpennlpPOSTaggerTest {
public static void main(String[] args) throws Exception {
// モデルファイル
@shun91
shun91 / mecab_dictionary_formatter.rb
Created April 1, 2015 11:07
wikipediaとhatenaのキーワードファイルからMecabの辞書フォーマット(csv)に変換するスクリプト.
# 下記ページのコードを一部修正したものです.
# http://sugamasao.hatenablog.com/entry/2014/11/17/000355
require 'csv'
original_data = {
'wikipedia' => 'jawiki-latest-all-titles-in-ns0',
'hatena' => 'keywordlist_furigana.csv'
}
@shun91
shun91 / grid_with_bias_and_solver.py
Last active September 8, 2015 09:14
LIBLINEARのパラメータ(cost, bias)のグリッドサーチを行うスクリプト.ソルバーも複数から最適なものを選択できる.
#! /usr/bin/python
# -*- coding: utf-8 -*-
###############################################################################
# LIBLINEARのパラメータのグリッドサーチを行い,Accuracyが高かったパラメータTop10を表示.
# 内部でLIBSVMに付属されているgrid.pyを呼び出しているので,用意した上でディレクトリの
# パスを37行目のGRID_DIRPATHに記述しておくこと.
# (grid.pyの使い方は付属のREADMEを参照するか,ググってください)
#
# 次のコマンドで実行できる.
@shun91
shun91 / Makefile
Created September 8, 2015 12:07
LIBLINEAR 2.01 の Makefile に cross-validation の評価尺度変更のコードを追記したもの.
# LIBLINEAR 2.01 の Makefile に cross-validation の評価尺度変更のコードを追記したもの.
#
# cross-validation の評価尺度変更
# http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/eval/
CXX ?= g++
CC ?= gcc
CFLAGS = -Wall -Wconversion -O3 -fPIC
LIBS ?= blas/blas.a
SHVER = 3
@shun91
shun91 / search_notfound_url.sh
Created September 13, 2015 09:55
URLリストを読み込み,存在しないURLのみファイルに追記書き出し.
#!/bin/sh
# URLリストを読み込み,存在しないURLのみファイルに追記書き出し.
FILE_PATH=urls.txt
S3_PATH=$1
DL_PATH=${S3_PATH}
cat ${FILE_PATH} | while read line
do