どん底から這い上がるまでの記録

どん底から這い上がりたいけど這い上がれない人がいろいろ書くブログ(主にプログラミング)

gensimのWord2Vecを使ってみる。

gensimのWord2Vecの使ってみたので、そのメモ。 今回はWikipediaの文章を使ってやってみますが、すぐに学習結果を知りたかったので少ないデータで学習をしています。 スポンサーリンク // 環境 データの用意 ライブラリのインポート Wikipediaの記事をダウン…

BeautifulSoupを使ってWikipediaのテキストを抽出する

BeautifulSoupを使ってWikipedia上のテキストを抽出してみました。 環境 Wikipediaの記事から<p>で囲まれたテキストを抽出する ライブラリ Wikipediaの記事をダウンロード BeautifulSoup <p>で囲まれたテキストを取り出す 環境 Windows 10 python 3.6 Wikipediaの</p></p>…

urllibを使ってWikipediaの記事をダウンロードする。

pythonのモジュールurllibを使ってWikipediaの記事をダウンロードしてみました。 環境 Wikipediaの記事をダウンロードする ライブラリのインポート urlopenを使う 環境 Windows 10 python 3.6 Wikipediaの記事をダウンロードする ライブラリのインポート 必…

skorch入門

PyTorchをscikit-learn風に使えるライブラリskorchを使ってみました。 この記事ではirisの分類問題を通してskorchのTutorialをやってみます。 スポンサーリンク // 環境 関連リンク インストール Tutorial 前準備 学習 テスト ここまでのソースコード おまけ…

PyTorch-NLPを使ってみる

PyTorch-NLPを使ってみました。 PyTorchを使って自然言語処理をするときに便利なライブラリ(※ただし、英語に限る。) 日本語を扱う場合はあまり使えないかもしれません。日本語の資料もないし… この記事ではPyTorch-NLPで日本語を扱うために自分が学んだこ…

ロシアW杯 日本代表について雑談ができる対話エージェントを作る(データ収集編)①

Twitterでは日々幅広い話題に関するやり取りが行われています。 今回、日本代表の試合が行われた日の対話データを手に入れることができたので、このデータを使って日本代表についてのみ雑談ができる対話エージェントを作ってみます。 この記事ではどうやって…

リストボックスを使う

リストボックスを使ってみます。 選択したアイテムを取得する ボタンを利用する方法 バインディングを利用する方法 import tkinter as tk from tkinter import StringVar ### メインウィンドウ ### root = tk.Tk() root.geometry("+{}+{}".format(200, 200))…

三目並べを作る

tkinterを使って三目並べを作ってみました。完成したものはこんな感じです。 これの作り方の核となる部分を書いてみます。 メインウィンドウを作る 前準備 盤面の作成 バインディングの設定 ゲームの流れ ソースコード 続き メインウィンドウを作る はじめに…

Textを使う

オプションの説明 fg bd relief cursor selectbackground 今回はTextを少し使ってみます。 まずは、ウィンドウを用意します。 import tkinter as tk root = tk.Tk() root.geometry("+{}+{}".format(200, 200)) frame = tk.Frame(root, width=300, height=300…

メッセージボックスを使ってみる

tkinterに用意されているメッセージボックスを使ってみます。 showinfo showwarning showerror askquestion askokcancel askyesno askretrycancel サンプルプログラム はじめに、messageboxをインポートします。 from tkinter import messagebox メッセージ…

PyTorch v0.4 導入

最近、PyTorchのversionが0.4になったみたい。 さらにWindowsも公式からインストールできるようになったらしい。 なので、今回インストールから簡単なプログラムを動かすまでをやってみようと思います。 スポンサーリンク // インストール 簡単なプログラム …

MeCab

インポート import MeCab インストール Ubuntu Google Colaboratory Windows 分かち書き 名詞のみを取り出す インストール Ubuntu > sudo apt install aptitude> sudo aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file> …

pickle

インポート import pickle データを保存 データを読み込む データを保存 sample = [[0, 1], [1, 2]] with open("sample.pickle", mode="wb") as f: pickle.dump(sample, f) データを読み込む with open("sample.pickle", mode="rb") as f: data = pickle.loa…

pandas

インポート import pandas as pd csvファイルを読み込んでDataFrameにする。 欠損値の削除 欠損値を含む列を取り除く 値が全て欠損値の列を取り除く 欠損値を含む行を取り除く DataFrameに欠損値があるか確認する DataFrameをcsvファイルに書き込む 正規化 m…

csv

インポート import csv データをcsvファイルに書き込む データをcsvファイルに書き込む # Toy dataset PassengerId = [1000, 1001, 1002] Name = ["John", "Bob", "Trump"] # Write csv file with open("sample.csv", "w") as f: writer = csv.writer(f, lin…

gensimとPyTorchを使ったlive doorニュースコーパスのテキスト分類

NLP

今回はgensimとPyTorchを使ってニュース記事の分類をやってみます。 スポンサーリンク // 環境 データの用意 前処理 単語辞書を作る データの変換 ネットワークの定義 学習 テスト おわり 環境 Windows10 Python 3.6 PyTorch 0.2 gensim 2.3.0 MeCab データ…

Google Adsenseの審査が通った話

Google Adsenseの審査が通りました。 審査方法がちょくちょく変わるみたいなので、審査が通ったときの私の情報とその過程を少し書いておきます。 ※2018年3月31日時点での情報です。 私は3月の16日に申請したので、だいだい2週間くらいで審査が終了しました。…

RadioButtonを使う

今回はRadioButtonを少し触ってみます。 今回作ったもの ↓↓↓ まずRadioButton以外を作ってみます。 import tkinter as tk class App(tk.Tk): def __init__(self): super(App, self).__init__() self.title("Check Button Example") self.geometry("+{}+{}".f…

Bag of Wordsについて書いてみる

NLP

Bag of Wordsについて書いてみます。 ほとんどの機械学習は入力として数値データを与えなければなりません。そのため、自然言語処理において自然言語で書かれたデータを何らかの形で数値に変換する必要があります。Bag of Wordsはそのための一つの方法になり…

Colaboratoryを使ってみる

この記事ではColaboratoryを導入してPyTorchを使えるまでをやります。 スポンサーリンク // Colaboratory Colaboratoryの設定 Hello World GPUの設定 PyTorch データのアップロード 別の方法 重要 おわり おまけ Colaboratory Colaboratoryって何? Googleが…

0105: Book Index

AOJ

本の索引 問題ページ 解き方 語句とページ番号を辞書に登録、語句をアルファベット順に出力し、同時にページ番号も昇順に出力するだけ。 コード(python) d = {} while True: try: data = input().split() except: break word = data[0] number = int(data[1]…

1200: Goldbach's Conjecture

AOJ

Problem A:Goldbach's Conjecture 問題ページ 解き方 求めたい答えは与えられた4以上の偶数あるnに対して、そのnがある2つの素数の和と等しいような素数のペアの数を求めることである。 まず素数を用意しなければいけないので、エラトステネスの篩を使っ…

1601: Short Phrase

AOJ

短句 問題ページ 解き方 単語の並びを5,7,5,7,7の順に区切っていくだけ。 コード(python) p = [5, 7, 5, 7, 7] while True: n = int(input()) if n == 0: break word = [input() for _ in range(n)] flag = False for i in range(len(word)): ip = …

2100: Saizo

AOJ

Problem A:サイゾウ 問題ページ 解き方 与えられたブロックに対して、登らなけらばならない最大の段差と降りなければならない最大の段差を求めるだけ。 コード(python) t = int(input()) for _ in range(t): n = int(input()) blocks = list(map(int, input(…

0020: Capitalize

AOJ

大文字変換 問題ページ 解き方 mapを使って入力を大文字に変換し、joinを使ってmapから変換した文字列を取り出す。 コード(python) print("".join(map(str.upper, input())))

0019: Factorial

AOJ

階乗 問題ページ 解き方 mathモジュールのfactorialを使う。 コード(python) import math print(math.factorial(int(input())))

0018: Sorting Five Numbers

AOJ

5つの数の整列 問題ページ 解き方 sortedとスライスを使う。 コード(python) print(*sorted(map(int, input().spilt()))[::-1])

0015: National Budget

AOJ

国家予算 問題ページ 解き方 テストケースではpythonを使うとオーバーフローについて心配する必要はなかったので、 与えられた数の和が80桁を超えればoverflowと出力、そうでなけらばそのまま和を出力するだけ。 コード(python) N = int(input()) for _ in…

0017: Caesar Cipher

AOJ

シーザー暗号 問題ページ 解き方 this、that、theのいずれかの単語が必ず含まれているので、どの単語が含まれているのかを見つける。 見つけ出したあとはその単語ともとに復号していく。 コード(python) import string strings = string.ascii_lowercase clu…

0016: Treasure Hunt

AOJ

宝探し 問題ページ 解き方 mathモジュールのsinとcosを使って求める。 sinとcosにはラジアンを渡す必要があるので、はじめにラジアンを求める。 ラジアンの求め方は角度x(π/180)。最初真っ直ぐ向いているので角度は90度。この角度と与えられた距離、求め…