きっと続かんブログ

勉強したことや人に言いたいことを書く。

【書籍:音声言語処理と自然言語処理】二章 音声言語処理のモデル①

概要 "音声の音響分析技術" - 音声とは "音声の認識技術" - speech2text "音声の合成技術" - text2speech ポイント 4月8日 (p16)音声生成は3段階のプロセス(発声、調音、口から放射)からなる。 発声:元となる音源を生成する。母音なら声帯の振動が音源に…

【書籍:音声言語処理と自然言語処理】一章 音声と言語の諸相

大まかに これから学習していく音声学、言語学についての全体像を解説。2章以降の準備 ポイント (p1)人間は先天的(生まれながら)に音声言語の識別機構が備わっている説が濃厚。事実、乳幼児は、話者の違いやピッチの違いを聞き分けられることが出来る。 も…

【python】オプションでパラメータをコマンドラインから受け取る【argparse】

目的 プログラム中のパラメータを、外部ファイル指定があればその内容を見て更新する。無ければデフォルト値を用いる。 import argparse GLOBAL_PARAM = 1 GLOBAL_PARAM2 = 2 def update_params(param_path): # ファイルからパラメータを読み込み更新 if __n…

【python】リストや辞書を外部ファイルに保存

pickleを使用する。 モジュール import pickle def pickle_dump(obj, path): with open(path, mode='wb') as f: pickle.dump(obj,f) def pickle_load(path): with open(path, mode='rb') as f: data = pickle.load(f) return data 使用方法 mylist = [1,2,3,…

pythonでコマンドライン引数を受け取る方法

import argparse ... if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('-dir', dest='input_dir', type=str) parser.add_argument('-num', dest='number', type=int) parser.add_argument('--myoption', dest='opt', ac…

TensorFlowでモデルの保存・読み込み

例示モデルの設計 input : 任意のデータ数×3次元ベクトル w : 3×1次元の空行列 output = input × w 任意の個数の3次元ベクトルをゼロベクトルに変形する。 保存 import tensorflow as tf import numpy as np input = tf.placeholder(tf.int32, shape=(None,3…

SVMで2値分類を行うテスト

scikit-learnのSVMを使って、数値を2つに分類してみた。データとラベルは次のように。 train_text = np.array([[0],[1.2],[0],[0.8],[1.0],[0.1]]) train_label = np.array(['a','b','a','b','b','b']) つまり、0がラベル"a"に、それ以外の数値が"b"に分類さ…

SVMに渡すデータの形に注意

SVM

scikit-learnのSVMで2値分類を行う簡単なテストとして、以下のような学習データとラベルをclf.fitに渡すと rain_text = np.array([0,1]) train_label = np.array(['a','b']) ValueError: Found input variables with inconsistent numbers of samples: [1, 2…

【tensorflowメモ】tf.app.flags

python実行ファイルにコマンドラインオプションを設定するためのモジュール。 #tf_app_flags.py import tensorflow as tf #定義 myflags = tf.app.flags.FLAGS #tf.app.flags.FLAGS.'型'('引数名', '初期値', '説明') tf.app.flags.DEFINE_integer("int", 0,…

単純パーセプトロンとロジスティック回帰

両方とも、2値分類に用いられるニューラルネットワーク。 単純パーセプトロン 出力が0か1 活性化関数にステップ関数を用いる 0か1やと極端やなあ…確率出力すればえーんやない? ↓↓↓↓↓↓↓↓↓↓ ロジスティック回帰 出力が0~1の確率 活性化関数にシグモイド関数を…

スケーリング

意味 数値を特定の範囲内におさめるために施す処理。 またそのための定数をスケール因子(スケーリング因子)と呼ぶ。 例 0~1000の値Aを0~50の値Bにスケーリングする。 20がスケール因子に相当する。 上のように、単純に大きすぎる値を小さい範囲に収めたい…

加重和

意味 ベクトルVと重み付けベクトルWにおいてVとWの内積をとること。 登場文献 論文解説 Attention Is All You Need (Transformer) - ディープラーニングブログ Dot-Product Attention(内積アテンション)においては、 softmax(QKT)が重みに相当し、これにvalu…

Attention is all you need(Transformer)のお勉強

nmt

deeplearning.hatenablog.com りょぼっと様が解説記事を書いてくださってるのでそれで勉強。 ここには読んでいて難しかったところ(ほぼ全て)の解説(個人的解釈)を記事に沿って示します。 浅学なもんで厳密には間違ってるってところがたくさんあると思い…

Quick-Thought使ってみたい

Quick-Thoughtとは 2018年に登場した文の分散表現獲得手法の一つ。 Skip-Thought(2015)が「前後の文を予測して生成する」モデルなのに対し、 Quick-Thoughtは「次の文を文グループから選んで当てる」モデル。 「生成する」タスクより「選択する」タスクの方…

MeCabで文章を分かち書き

実装①単純な形態素解析 import MeCab m = MeCab.Tagger() print m.parse(text) 実装②必要な品詞のみ抽出 ''' 文や文章を渡すと、MeCabで必要な品詞だけ抽出する関数。 ''' def getTokenlistFromline(text,hinshi): token_list = [] m = MeCab.Tagger('-Ochas…

バックアップとしてGitを使う

git

プログラムとかのバックアップとしてgitを使うことにした。githubを使った共同開発やらブランチ切るやらいろいろできるみたいだけど、シンプルにバックアップとりたいだけの人のために。 環境構築 http://git-scm.com/ からgitをダウンロード C:\Program Fil…