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

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

The Number of Participants

AOJ

参加者数 解き方 コードの説明 ソースコード 参加者数 The Number of Participants | Aizu Online Judge 解き方 各部門の参加者を足すだけ。 コードの説明 入力を空白区切りで分割してリストにする。mapを使いリストの要素を整数に変換してからsum()で要素を…

Rock, Paper, Scissors

AOJ

じゃんけん 解き方 ソースコード コードの補足 じゃんけん Rock, Paper, Scissors | Aizu Online Judge 解き方 5人のじゃんけんの手を入力順にリストに入れる。今回は勝敗の出力は引き分けと勝ち負けの2通りに分けて考えています。 はじめにじゃんけんの結…

English Sentence

AOJ

英語の文章 解き方 コードの説明 ソースコード 別解 関連リンク 英語の文章 問題ページ 解き方 与えられた文字列を単語に分割し、最も出現頻度が高い単語と、最も文字数が多い単語を見つける。 コードの説明 出現頻度はcollectionsのCounter、文字数について…

AOJまとめ

AOJ

Vol. 0-3 Volume0 Vol. 10, 15, 30 Volume10 Vol. 11-13, 16 Volume12 Vol. 20-28 Volume21 Vol. 0-3 Volume0 www.pytry3g.com Vol. 10, 15, 30 Volume10 www.pytry3g.com Vol. 11-13, 16 Volume12 www.pytry3g.com Vol. 20-28 Volume21 www.pytry3g.com

Palindrome

AOJ

回文 解き方 コードの説明 ソースコード 回文 回文 | Aizu Online Judge 解き方 回文をカウントする変数を用意する。文字列が与えられたら、それが対称かどうか確認し回文ならカウントする変数に1を足す。 コードの説明 文字列が回文かどうか確認するにはス…

Calculation of Area

AOJ

坪面積の計算 解き方 ソースコード 坪面積の計算 土地面積 | Aizu Online Judge 解き方 受け取った入力 a, bを掛けてから1坪=3.305785 [m2] で割ると坪面積が求まる。 ソースコード a, b = map(int, input().split()) print((a*b) / 3.305785)

Secret Number

AOJ

暗証番号 解き方 コードの説明 ソースコード 暗証番号 問題ページ 解き方 与えられた入力は半角英数字、記号、空白を含む文字列になっているので、そこから数字を見つけて取り出す。取り出しかたは色々あると思うが、今回は正規表現を使って数字を取り出して…

Introduction to PyTorch

PyTorchのTutorialのページにあるIntroduction to PyTorchについて勉強してみました。Tutorialを通して自分が学んだことを書いていきます。 Tutorial Page Introduction to Torch's tensor library Creating Tensors Operations with Tensors Reshaping Tens…

自然言語処理についてのまとめ記事

NLP

この記事では自然言語処理について自分が勉強したことを書いた記事についてまとめていきます。 単語の切り出し作業 形態素解析 MeCab N-gram 自然言語をベクトルにする Bag of Words TF-IDF Word2Vec GloVe テキスト分類 Cosine Similarity 単語の切り出し作…

t-SNEを使った文書ベクトルの可視化

t-SNEを使った文書ベクトルの可視化をしてみました。可視化にはSeabornの散布図を使います。Seabornはmatplotlibをベースにしたグラフ描画ライブラリで、matplotlibよりも美しく扱いやすいライブラリになっています。 可視化する文書ベクトルはこちらの記事…

N-gramについて書いてみる

NLP

N-gramについて勉強したので、そのメモ。 この記事の最後にはpythonで実装したN-Gramを生成するコードを置いておきます。 はじめに N-gram 文字単位のN-gram unigram bigram trigram 単語単位のN-gram unigram bigram trigram 長所と短所 長所 辞書が必要な…

Cosine Similarityから似ている文書を見つける

NLP

ベクトル間の類似度を計測するひとつの手法にコサイン類似度(Cosine Similarity)というものがあります。 今回はこのscikit-learnで実装されているCosine Similarityを用いて以前収集したツイートに類似しているツイートを見つけてみたいと思います。 関連…

SCDVを使ったテキスト分類をしてみる

NLP

Word2Vecの単語ベクトルから、いい感じな文書ベクトルが作れるSCDVというのを使ってテキスト分類をしてみました。 SCDVって? 今回やること 今回使うもの 1. データの用意 Wikipediaの記事をダウンロード ツイートの用意 形態素解析 訓練データとテストデー…

JavaでHelloWorldを書いてみる

JavaでHelloWorldと出力するだけのプログラムを書いてみました。 この記事ではJavaとEclipseをWindowにインストールしHelloWorldを出力するまでをやってみます。 Javaのインストール Eclipseのインストール Eclipseを使ってみる 1. プロジェクトの作成 2. パ…

GloVeを使ってみる。

NLP

単語分散表現のひとつGloVeを使ってみました。 この記事では理論については詳しく書きません、numpyを使って実装されているGloVeの使い方について書いていきます。 関連リンク GloVe 使い方 1. ライブラリとかの準備 2. データの用意 3. 単語辞書と共起ペア…

TF-IDFについて書いてみる。

NLP

主に情報検索の分野で使われるTF-IDFについて勉強したので、そのメモ。 さらに、scikit-learnで用意されているものを使ってTF-IDFを計算してみます。 環境 関連リンク TF-IDF Term Frequency Inverse Document Frequency Term Frequency - Inverse Document …

まとめ記事

この記事ではまとめた記事をまとめていきます。 自然言語処理のまとめ tkinter Web系 JapaneseTextEncoder AOJのまとめ 自然言語処理のまとめ 自分が自然言語処理について勉強したことをまとめています。 www.pytry3g.com tkinter tkinterについてまとめた記…

日本語のテキストコーパスから辞書を作るライブラリを作りたい⑤

NLP

前回書いた記事の続きです。 www.pytry3g.com 最近mecab-ipadic-NEologdを使えるようにしたので、JapaneseTextEncoderでも使えるようにしてみました。 www.pytry3g.com 変更点 __init__の変更 ソースコード 変更点 今回はNEologdを加えるだけです。 __init__…

Volume12

AOJ

1200: Goldbach's Conjecture 1200: Goldbach's Conjecture 解答例

pythonでigraphを使ってみる

前回書いた記事でWindowsにigraphをインストールすることに成功しました。 www.pytry3g.com 今回は自分で用意したデータ(テキスト)を使って共起関係のグラフ(語と語のつながり)を表示させるところまでやってみます。 環境 関連リンク 方針 データの用意 …

mecab-ipadic-NEologdをWindowsで使ってみる。

Web上の言語資源から得た新語を追加することでカスタマイズした MeCab 用のシステム辞書のmecab-ipadic-NEologdをWindowsで使えるようにしたので、その過程を書いていきます。 ちなみにUbuntuから利用するのではなくWindowsから直接使えるようにしました。 U…

Web系のまとめ記事

この記事ではWeb系の技術を使ったアプリケーションを開発するために勉強したことを書いた記事についてまとめていきます。 Flask Electron Electron入門 Pug Pug入門編 Pug文法編 Sass Gulpの導入 Flask Flaskの入門記事。 www.pytry3g.com Electron Electron…

JapaneseTextEncoderのまとめ記事。

NLP

この記事では日本語のテキストコーパスから辞書を作るライブラリJapaneseTextEncoderについての記事をまとめていきます。 環境 その① その② その③ その④ その⑤ ソースコード text_encoder.py reserved_tokens.py 環境 私の実行環境です。 Windows 10 python …

日本語のテキストコーパスから辞書を作るライブラリを作りたい④

NLP

この記事は前回書いた記事の続きになります。 www.pytry3g.com 前回JapaneseTextEncoderにいくつかの機能を追加しましたが、JapaneseTextEncoderを使って言語モデルやSeq2Seqを実装をするにあたり改善すべき点がありそうなので、それらについてコードの変更…

Volume21

AOJ

2100: Saizo 2100: Saizo 解答例

MeCabに自分でカスタマイズした辞書を追加する

MeCabにあるキーワードをどうしても正確に形態素解析してほしかったので、自分でカスタマイズした辞書を追加してみました。 環境はWindowsです。MacやLinuxユーザのかたは関連リンクの公式の説明を見れば辞書のカスタマイズはできるんじゃないかと思います。…

Windowsにigraphをインストールする

ネットワーク分析に使われるigraphをWindowsにインストールしてみました。 igraphはR, PythonとC/C++で使えるようですが、私はもちろんpythonで使いたいのでpython-igraphをインストールしました。MacやLinuxだとpipでインストールできるみたいですがWindows…

matplotlibで円グラフを描く

matplotlibを使って円グラフを描いてみたのでそのメモ。 円グラフの使い方についていろいろ書いてみます。 ライブラリのインポート データの用意 円グラフを描く ラベルの表示 要素をずらす 色の設定 枠線の設定をしてみる 楕円を真円になおす 要素の割合を…

1616: Taro's Shopping

AOJ

太郎君の買い物 解き方 ソースコード(python) 太郎君の買い物 問題ページ① 問題ページ② 解き方 (※この解き方はあまり効率がよくありません。) はじめに、全商品の価格表を受け取ったらソートする。次に二分探索でソートした価格表から最大の金額mに最も…

0337: Japanese Calendar

AOJ

日本の暦 解き方 コードの説明 ソースコード(python) 日本の暦 問題ページ① 問題ページ② 解き方 与えられる暦の種類から西暦または和暦に変換する。 ちなみに、日本の暦は以下の通り。 明治時代 (1868年 ~ 1912年) 大正時代 (1912年 ~ 1926年) 昭和時…