投稿

5月, 2019の投稿を表示しています

wikipediaデータを綺麗にしてからWord2vecやってみた

今更な感じですが色々とあって Word2Vec で類義語分析とか表記ゆれとかできないかと思ってお勉強兼実験しました。 もう一人のボク のためにその時のメモを置いておきます。データ加工してからword2vec使って関連する語出すとこまでです。相変わらずほぼコピペだけどね。そして corpusのつづりを間違えているのはお約束です。へぼすぎだな(笑) ■手順概要 1.ディスク容量拡張 2.関連ライブラリインストール 3. コーパス 準備  ・ Wikipediaの日本語ダンプ をダウンロード(約2時間)  ・ダウンロードしたデータから記事本文抽出(約2時間10分)  ・抽出した記事本文のクリーニング(約15分)  ・記事データを1ファイルにマージ(約5分)  ・ 形態素解析 して 分かち書き に変換(約30分)  ・ モデル学習 (約2時間) 4.サンプルで遊ぶ ■実際のコマンドやプログラムなど 1.ディスク容量拡張 Hyper-Vのディスク容量が20GB程度しかなくwikipediaのデータが 2GBほどあるとのことなのでディスク容量に余裕を持たせるために ディスクを拡張した。仮想マシンが上がっていない状態で容量拡張 ・Hyper-Vマネージャからディスクの編集で容量を拡張 ・Hype-Vマシンを起動後に以下のコマンドでUbuntu上で拡張 $ sudo fdisk -l $ sudo parted GNU Parted 3.2 /dev/sda を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 (parted)print ~中略~ 修正/Fix/無視(I)/Ignore? Fix 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 1049kB 538MB 537MB fat32 EFI System Partition boot, esp 2 538MB 21.5GB 20.9GB ext4 ~中略~ (parted) resizepart 2 警告: パーティション /dev/sda2 は使用中です

GCPローカルサーバレス開発環境準備(gcloudインストール)

今のところAWSでAPIGateway+Lambda+DynamoDBでサーバレス開発というパターンが多いけど、DynamoDBだとキーをたくさん持てないという制約があってどうしてもフラグをたくさん持たせてあいまいに検索させたいという要件に弱かったりする。一応、 こういうのも AWSにあるんだけど 料金 が24時間連続イメージで一番小さな規模でも最低25,000円超えてしまいそうなので他に何かないか探していたら、GCPの方で DATASTORE とかいうのがあるらしいと知った。けれど Firestore に切り替わっているじゃないですか。やれることは同等でかつ、 料金面 でも DynamoDBの料金体系 に近いのでアクセス数とか少ないWebサイトのバックエンドにちょうどいい感じだったりする。組み合わせとしては APPEngine と CloudFunctions の2つで使えるみたい。少し勉強してみようといろいろ調べがてらローカル開発環境はどうやって作るんだと思い、まずはgcloudコマンド入れてみることにした。 AWSのSAM-CLIを入れるときに作ったHyper-Vのイメージ が残ってるのでそいつを使いまわして環境構築です。 ■参考サイト 情報が少なかったです。ただ単に自分の探し方が悪いだけかも https://cloud.google.com/sdk/downloads?hl=JA#linux https://qiita.com/kentarosasaki/items/2232113b44b016a56adc https://cloud.google.com/sdk/docs/quickstart-linux?hl=ja https://cloud.google.com/sdk/docs/managing-components?hl=ja ■手順(あらかじめ3までは既存イメージで作ってある状態) #1.初期設定 #日本語化 $ sudo sed -i.bak -e "s%http://us.archive.ubuntu.com/ubuntu/%http://ftp.jaist.ac.jp/pub/Linux/ubuntu/%g" /etc/apt/sources.list $ sudo apt-get -y inst

AWS-SAM-CLIとDynamoDBLocalインストール

前回書いたSAM-CLIの件からだいぶ間が空いてしまいました。 参考: 前回分 Lambdaも実はSAM-CLI使わずに開発できるレベルのコードしか書かないのでコンソールの方のエディタで開発していましたが、 ここにきて会社の方から課金云々とかいう細かい話をされだしたので、ならローカルに 環境作らないとなぁとサーバレスの代表的構成例である API-Gateway + Lambda + DynamoDB という お約束なやつをローカルの環境に構築しました。 ※EC2の上に立てるとお金がかかるとか言われてうるさいので、Windows10Proの  Hyper-V上にUbuntu18.04LTS入れてそこに環境構築しましたよ。 WSL 使ったほうが  いいんだろうけど不安な面もあるので安定のUbuntuでやります。会社のしょぼいPC  では挙動が怪しいですがまぁ16GBメモリあれば動くんじゃなかろうかと思います。  ちなみに会社PCはcore-i3にメモリ8GBと糞of糞なスペックです。 とりあえず、手順をサラッと書いていきます。というより docker-compose.yml にまとめとけよとかいう突っ込みはなしで(いつかはやりたいなぁ、、、) #1.日本語化 $ sudo sed -i.bak -e "s%http://us.archive.ubuntu.com/ubuntu/%http://ftp.jaist.ac.jp/pub/Linux/ubuntu/%g" /etc/apt/sources.list $ sudo apt-get -y install language-pack-ja-base language-pack-ja ibus-mozc $ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" $ source /etc/default/locale $ echo $LANG ja_JP.UTF-8 #タイムロケール変更 $ sudo timedatectl set-timezone Asia/Tokyo $ timedatectl #ソフトウェアアップデート $ sudo apt-get -y upda