投稿

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...

pythonでRSSを取得してみる

前回 はWordCloud作ってみましたが、そんだけだとテキストファイルをいちいち整形しないといけないので、なんか自動で情報取得できないかなぁと思ってRSSフィードの内容を取得するプログラムなんかあればWordCloudに食わせるファイル作るの楽になるんじゃないかなぁと思って RSSフィード 取得ツールを作ってみました。 んーエラー制御がザルですのでダメダメですけど、、、 ◆参照サイト 1.CSV取扱い関連 https://note.nkmk.me/python-csv-reader-writer/ http://esu-ko.hatenablog.com/entry/2016/02/16/Python%E3%81%A7CSV%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%89%B1%E3%81%86%28%E3%83%AA%E3%82%B9%E3%83%88%E3%82%84%E8%BE%9E%E6%9B%B8%E3%81%A8%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95 https://qiita.com/nabenabe0928/items/fcdf2c81e5fff3364c6f http://kaworu.jpn.org/python/Python%E3%81%A7CSV%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%AA%AD%E3%81%BF%E6%9B%B8%E3%81%8D%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95 http://y0m0r.hateblo.jp/entry/20120712/1342100284 https://www.craneto.co.jp/archives/1309/ http://pynote.hatenablog.com/entry/python-csv-io-recipe https://www.sejuku.net/blog/68322 https://qiita.com/shinsaka/items/299159968d7226c9bdb9 https://qiita.com/hkambe/it...

システム監査試験対策(その5:最終回)

前回 まででシステム監査基準とか大まかな 監査 の流れとかをまとめました。 試験自体は 来週 なので今回が最終回です。でどういう内容かというと 法令 関連を まとめておきます。 1.対策基準  以下の3つは、、、古すぎるだろ。あかんじゃないか前世紀の感覚で  対策基準を定めてそれが生きているとはどういうこと?  ・ コンピュータウイルス対策基準  ・ コンピュータ不正アクセス対策基準  ・ ソフトウェア管理ガイドライン 2.セキュリティ関連  ・ ISO27001   情報セキュリティマネジメントシステム要求事項   Pマークの要求事項と対応している模様  ・ ISO15408(JIS X 5070)       セキュリティの機能要件と保証要件をまとめた規格    EAL がポイント  ・その他(ISO27001に統合された)    BS7799 :英国のマネジメントシステムでISO17799の元    ISO17799 :BS7799を元とした規格、ISO27001に統合    ISMS :日本独自、ISO27001に統合 3. 刑法  ・電磁的記録の定義: 第7条の2  ・電磁的記録の不正作出・供用罪: 第161条の2  ・電子計算機損壊業務妨害罪: 第234条の2  ・電子計算機使用詐欺罪: 第246条の2 4. 不正アクセス禁止法  ・目的: 第1条  ・不正アクセス行為: 第2条   主に なりすまし と 不正認証 により他人のIDを使用してシステムに   ログインすること  ・不正アクセス助長行為: 第5条 5. 金融商品取引法 (J-SOX法)  ・法律の根拠   規程自体は 第24条 にある通りだがそれ以上のことは ガイドライン で   詳細を定義してある模様   *財務報告に係る内部統制の評価及び監査の基準   *財務報告に係る内部統制の評価及び監査に関する実施基準    こんなん もあった。  ・内部統制   ( 6つの枠組み )   統制環境   リスクの評価と対応   統制活動   情報と伝達   モニタリング   ( 3種類の統制 )   全社的な内部統制→IT全社的統制   業務プロセスに係る内部統制→ I...

pythonでWordCloudやってみた

前回 は Mecab で 形態素解析 して単語の出現数を出すとこまでやりましたが、本来は WordCloud を作ってみたいというのがあったので、前回のプログラムを改修して WordCloud出力機能を付けてみました。 やり方自体は以下のサイト見れば幾らでも書いてあるのでがっつりコピペで仕上げました。巨人の肩に乗って仕上げるのが一番いいんですよこういうのは ◆参照サイト http://mmtomitomimm.blogspot.com/2018/12/word-cloud.html http://pynote.hatenablog.com/entry/python-wordcloud https://biosciencedbc.jp/nbdc-blog/1068-20181219-00 http://www.dskomei.com/entry/2018/04/11/001944 https://teratail.com/questions/167701 http://syu-m-5151.hatenablog.com/entry/2016/12/19/001736 https://www.suzu6.net/posts/111-amcharts-word-cloud/ http://memopy.blogspot.com/2017/10/python.html http://irukanobox.blogspot.com/2018/12/python.html ◆追加手順 1.フォントのインストール     今回はUbuntu18.04のサーバなのでフォントがないから追加インストール   IPAフォント にしました。 $ sudo apt install -y fonts-ipaexfont ◆ソースコード  前回のファイル出力部分にWordCloudのpng出力機能を追加しました。  なのでそこまで大きく変更はありません。(wordcloud用の関数追加位) import collections import csv from operator import itemgetter import requests import sys import traceback import matp...

システム監査試験対策その4

イメージ
1回目 と 2回目 と 3回目 でシステム監査基準、システム管理基準、情報セキュリティ監査基準、管理基準とまとめてきたので今回は趣を変えて監査手続きとかその他もろもろの部分をまとめます。まぁいろんな本からの抜粋なのと個人的見解が入っているのでやや不正確かもしれませんが、その点はご容赦ください。 1.システム監査の役割と目的  (1)役割   ・情報システムのガバナンス、マネジメント、コントロールの適切性の保証   ・組織体の経営活動、業務活動の効率的な遂行を支援し目標達成に寄与する。   ・利害関係者への説明責任  (2)目的   大きなところではITガバナンスの評価   ・ IT統制 の有効性の確認   ・ 会社法 で規定されている リスク管理の体制 の点検と評価   ・保証と助言 2. IT統制 の概念  ・IT全社統制:全社的な体制や文書類の整備状況  ・ IT全般統制 :開発や保守プロセスおよびその安全性確保、外部との契約関連  ・ IT業務処理統制 :入力情報・マスタの正確性担保、エラー処理、権限制御 3.システム監査の手順  一応、以下のようなプロセスで実施される。( ここ も参考にするとよい)    (1)年度監査計画    当該年度の監査対象について監査目的、主要監査項目、実施時期、担当者、予算を    まとめる。< 中長期監査計画 がベースとなっている。>  (2)個別監査計画   監査案件毎に準備する。一連の監査手順とその日程、担当者をまとめる。 往査 部門や   重点監査テーマもここで決めて、あらかじめ リスク分析 も行っておく  (3)予備調査   対象の部門やシステムなどの概要について事前質問票などで情報を収集する。対象の   把握が目的  (4)監査手続書作成   監査項目と監査手続、監査証拠をまとめたもの。手続き書に沿って監査が行われる。  (5)本調査   監査手続き書に従って監査を実施する。本調査時には監査証拠を集める。監査に際し   ては必ず文書で記録を残すことが必須  (6)監査報告   本調査で集めた監査証拠、監査手続書をベースに報告書をまとめる。報告書について   は経営者が問題点を把握できるように簡潔に作成されている必要がある。  (...