投稿

2月, 2018の投稿を表示しています

【インターンステラ】自然言語処理の導入手順

こんにちはyouです
今回は、自然言語処理の開発をする際の導入方法を紹介します。
環境

MacBookPro13macOS High Sierra 10.13.2 Betapython3 3.6.4
導入するツールは以下のものです

fastTextMeCabmecab-ipadic-NEologd(辞書)辞書の導入 まずHomebrewでMeCabと辞書、そして必要なツールをインストールします。 $ brew install mecab mecab-ipadic git curl xz wget$ git clone --depth 1 git@github.com:neologd/mecab-ipadic-neologd.git $ cd mecab-ipadic-neologd $ ./bin/install-mecab-ipadic-neologd -n -a 最後のは辞書少し時間がかかります。 MeCab-Pythonの導入 次にMeCab-Pythonを以下コマンドでインストールします $ python3 -m pip install mecab-python3
これでMeCabを使用できますが、NEologdの辞書を指定しなければならないので、以下のようにしてMeCabのデフォルト辞書を変更します。 $ nano /usr/local/etc/mecabrc # dicdirのパスを変更 ;dicdir = /usr/local/lib/mecab/dic/ipadic dicdir = /usr/local/lib/mecab/dic/ipadic-neologd fastTextの導入 最後にfastTextを導入します。 pipで必要なツールをインストールしたあと、wgetでパッケージを持ってきてmakeでビルドします. $ python3 -m pip install NumPy SciPy $ wget https://github.com/facebookresearch/fastText/archive/v0.1.0.zip$ unzip v0.1.0.zip$ cd fastText-0.1.0$ make 以上で導入は完了です。 次回はその使い方を紹介します。

【インターンステラ】Twitterのツイートを形態素解析

こんにちはyouです.今回はTwitterAPIとMeCabを用いて形態素解析をやってみました.

手順はまずTwitterAppのページからcustomer key、customer key secret、access token、access token secretの4つのキーを入手し、public streamで全世界のツイートを取得し、MeCabで形態素解析をするといった流れです.

以下ソースコードです.
全世界のツイートから日本語を含むツイートのみに絞り、ハッシュタグやURLを削除した後にMeCabに投げています
#! /usr/bin/env python3 # encoding=utf-8 # twitter-stream1.py import re import tweepy import unicodedata import MeCab from datetime import timedelta CK = "" CS = "" AT = "" AS = "" # StreamListenerを継承するクラスListener作成 class Listener(tweepy.StreamListener): def on_status(self, status): status.created_at += timedelta(hours=9) # 世界標準時から日本時間 if is_japanese(status.text): tweet = format_text(status.text) print(tweet) print(MeCab.Tagger("").parse(tweet.encode("utf-8"))) return True def on_error(self, status_code): print('エラー発生: ' + str(status_code)) return True def on_time…

【インターンステラ】locustでの負荷テスト

こんにちはインターンのyouです.

 今回は前回作成した,GCPのVMでWordPressを動かし,locustでページ閲覧やログインなどの処理の負荷を見てみました.
手順  はじめにGCPのCloudLauncherで「WordPress」と検索しそのインスタンスを作成します. これだけでテスト対象のwebは完成です.  次に,前回作成したインスタンスにSSHで接続し,次のコマンドを実行します. $ sudo su$ pip install locustio$ exit これでlocustを使う準備は完了し,あとは負荷処理の内容をエディタで「locustfile.py」というファイルを作成し,次の様なスクリプトを書きます.
# -*- coding: utf-8 -*- from __future__ import absolute_import from __future__ import unicode_literals from locust import HttpLocust, TaskSet, task class UserTaskSet(TaskSet): def on_start(self): self.client.post("/wp-login.php", {"text": "test@mail.ma", "password": "test0000"}) self.client.post("/wp-login.php", {"text": "test@mail.ma", "password": "testt"}) @task def index(self): self.client.post("/wp-login.php", {"text": "test@mail.ma", "password": "test0000"}) self.client.post("/wp-login.php", {"te…

【インターンステラ】企画書作成を行いました

こんにちは、國分です。


今日はとあるイベント企画向けての企画書作成を行いました。
実際に企画書を書くのは初めてで知識がない中での作成でしたがなんとか書き終えることが出来ました。


私は、仮想試着を利用した浴衣レンタルサービスの提案をさせて頂きました。
慣れないプレゼンをして、頂いたのは多くの改善点とアドバイスでした。


確かに見返してみると分かりづらいですし、内容も入ってきませんでした。
さらに金額等の設計も出来ておらず、改善しなければいけない点ばかりでした。
調べて自分は理解できているだけの状況になっていました。


しかしアイデアは良いと言っていただけました。
また、アドバイスも多く頂けたでその点を生かし、誰が見てもわかりやすい、内容のまとまっている企画書の作成を練習していきたいと思います。
イベント自体が行われるかわかりませんが企画が採用されるような企画書を作りたいと思います。


【インターンステラ】Kubernetes を使用した分散負荷テストの方法を学びました

こんにちは、國分です。

インフルエンザで1週間ほど休んでしまい、出遅れを感じている今日はKubernetes を使用した分散負荷テストの方法を学びました。

Kuberntesを使用した分散負荷テストの簡単な手順 ※このテストを行うにあたり、前提条件としてGoogle Cloud PlatformアカウントとGoogle Cloud SDKのインストールが必要です。
まず始めにチュートリアルページの右上部分からファイルをダウンロードします。 その後はターミナルでgcloudコマンドやkubectlコマンドを用いることで、デプロイやポッドの作成を行っていきます。
つまずいた点 まず始めにlocust-masterの導入部分です。 keyを削除すること対処できましたが、教えて頂くまで別の方法を探し続けていました。 また、Webアプリケーションの展開部分ですが、その前の手順のZONE設定が上手くいっておらず、ZONEが使用不可等の内容がエラーとして出てきました。 単純に設定し直すことで対処できましたが、エラー内容から間違っている部分を見つけるのに苦労しました。 振り返って 最終的にはファイアウォールルールの設定まで行いましたが、テストの実行画面を出すことはできませんでした。 今回もエラーに悩まされることが多く、ほとんどの時間を対処法を見つけることに使ってしまいました。 返ってくるエラーに対して的確に対応していくことが必要だと感じました。 そうすることで時間を短縮し、進行速度を上げられるのではないかと思います。
locust自体もままならない状態ですが、少しずつ身につけていきたいと思います。


【インターンステラ】Kubernetes手順書の作成を行いました

こんにちは、國分です。

本日は前回学習した内容を簡単にまとめる手順書作成を行いました。
先に進めて頂いていたので内容を足す形となりました。

Docker この作成にあたり前回できなかったDockerについても一通り行いました。
Dockerは新しいDockerイメージの公開や変更の際に必要となるものです。
まず始めにプラットフォームにDockerをインストールします。
その後、Dockerfileに変更を加えイメージの構築、タグ付け、アップロードをコマンドで行いました。
最後に各コントローラーに変更を加えて終わりです。
内容的には簡単そうに見えますが、最後までたどり着くのに多くの時間を要しました。
一度つまずいたことで理解は深まりました。
今後短い時間でできることに期待したいです。

手順書 手順書に関しては簡潔にまとめられていて、内容通り進めることで誰でもできるようなものを目指しました。
実際試してみるとほとんど本文通りコマンドを打つだけでできました。
まだ最後のテストだけ試せていないのでその点までしっかり確認しておきます。

振り返り 試している際、新しくインスタンスを立てずともGoogle Cloud Platform上のGoogle cloud shellを有効にするだけで実行できることを知り驚きました。
ですが、今までの経験があったからこそ驚けた事実だと思うので、学習内容が少しでも理解できている実感を得られた瞬間でもありました。
また、話を聞く限り今後色々なことをするそうなので、期待しつつも恐怖を感じる1日でもありました。
現在の学習内容はあくまで学習でしかないので実用できるように努力したいと思います。