問題文 nlp100.github.io 問題の概要 指示通りに愚直に実装します。 from collections import defaultdict import joblib import pandas as pd def text2id(text): return [word2token[word] for word in text.split()] X_train = pd.read_table('ch06/train…
問題文 nlp100.github.io 問題の概要 ネットワークを 3 層に変更しています。 import joblib import matplotlib.pyplot as plt import numpy as np import torch from torch import nn, optim from torch.utils.data import DataLoader, TensorDataset from …
問題文 nlp100.github.io 問題の概要 .to('cuda:0') で GPU に転送します。 import joblib import matplotlib.pyplot as plt import numpy as np import torch from torch import nn, optim from torch.utils.data import DataLoader, TensorDataset from tq…
問題文 nlp100.github.io 問題の概要 ミニバッチ化の処理を追加しました。 import joblib import matplotlib.pyplot as plt import numpy as np import torch from torch import nn, optim from torch.utils.data import DataLoader, TensorDataset from tqd…
問題文 nlp100.github.io 問題の概要 エポックごとにモデルを保存します。 import joblib import matplotlib.pyplot as plt import numpy as np import torch from torch import nn, optim X_train = joblib.load('ch08/X_train.joblib') y_train = joblib.l…
問題文 nlp100.github.io 問題の概要 損失と正解率をプロットします。 import joblib import matplotlib.pyplot as plt import numpy as np import torch from torch import nn, optim X_train = joblib.load('ch08/X_train.joblib') y_train = joblib.load(…
問題文 nlp100.github.io 問題の概要 正解率を計算します。 import joblib import numpy as np import torch from torch import nn, optim X_train = joblib.load('ch08/X_train.joblib') y_train = joblib.load('ch08/y_train.joblib') X_train = torch.fro…
問題文 nlp100.github.io 問題の概要 確率的勾配降下法で 100 エポック学習します。 import joblib import numpy as np import torch from torch import nn, optim X_train = joblib.load('ch08/X_train.joblib') y_train = joblib.load('ch08/y_train.jobli…
問題文 nlp100.github.io 問題の概要 損失と勾配を計算します。 import joblib import numpy as np import torch import torch.nn as nn X_train = joblib.load('ch08/X_train.joblib') y_train = joblib.load('ch08/y_train.joblib') X_train = torch.from_…
問題文 nlp100.github.io 問題の概要 単層ニューラルネットワークを定義し、予測します。 import joblib import numpy as np import torch import torch.nn as nn X_train = joblib.load('ch08/X_train.joblib') X_train = torch.from_numpy(X_train.astype(…
問題文 nlp100.github.io 問題の概要 SWEM *1と呼ばれる特徴量を生成します。 import joblib import numpy as np import pandas as pd from gensim.models import KeyedVectors from tqdm import tqdm def culcSwem(row): global model swem = [model[w] if …
問題文 nlp100.github.io 問題の概要 t-SNEで可視化する以外は 言語処理100本ノック 2020「67. k-meansクラスタリング」 - u++の備忘録 と同様です。 import matplotlib.pyplot as plt import numpy as np import pandas as pd from gensim.models import Ke…
問題文 nlp100.github.io 問題の概要 Ward法による階層型クラスタリングを実行・可視化する以外は 言語処理100本ノック 2020「67. k-meansクラスタリング」 - u++の備忘録 と同じです。 import matplotlib.pyplot as plt import numpy as np import pandas a…
問題文 nlp100.github.io 問題の概要 最初に questions-words.txt から国名を取得します。続いて、国名に関する単語ベクトルを抽出し,k-meansクラスタリングをクラスタ数k=5として実行します。 import numpy as np import pandas as pd from gensim.models …
問題文 nlp100.github.io 問題の概要 言語処理100本ノック 2020「61. 単語の類似度」 - u++の備忘録 と 言語処理100本ノック 2020「64. アナロジーデータでの実験」 - u++の備忘録 の組み合わせです。 import numpy as np import pandas as pd from gensim.m…
問題文 nlp100.github.io 問題の概要 pandas で読み込み、正解率を計算します。いくつか方法はありますが、ここでは列ごとに一致しているか否かの bool 値を得た後、sum() で true の個数を数えています。この値を列数で割ると、確率に変換できます。 import…
問題文 nlp100.github.io 問題の概要 言語処理100本ノック 2020「63. 加法構成性によるアナロジー」 - u++の備忘録 の処理を繰り返すのみです。for 文で回しても良いですが、ここでは pandas の progress_apply を使いました。時間がかかるので、tqdm で実行…
問題文 nlp100.github.io 問題の概要 most_similar の引数*1を活用します。 from gensim.models import KeyedVectors model = KeyedVectors.load_word2vec_format('ch07/GoogleNews-vectors-negative300.bin', binary=True) result = model.most_similar(pos…
問題文 nlp100.github.io 問題の概要 most_similar *1 を使います。topn で上位何件を返すかを指定できます。デフォルトで topn=10 となっていますが、分かりやすさのために敢えて明示的に指定しています。 from gensim.models import KeyedVectors model = …
問題文 nlp100.github.io 問題の概要 コサイン類似度を計算します。 from gensim.models import KeyedVectors model = KeyedVectors.load_word2vec_format('ch07/GoogleNews-vectors-negative300.bin', binary=True) print(model.similarity("United_States",…
問題文 nlp100.github.io 問題の概要 本章では、単語の意味を実ベクトルで表現する単語ベクトル(単語埋め込み)を扱います。最初に、学習済みモデルをダウンロードし、単語ベクトルを表示します。 from gensim.models import KeyedVectors model = KeyedVec…
5 月末から 6 月にかけて、ニューヨークと熊本に行ったという事実の備忘録です。 ニューヨーク 書けることが少ないので、業務時間外での観光情報のみです。 熊本 人工知能学会全国大会で 8 日 (木) 13:30-15:10 にポスター発表をしました。 熊本城まで徒歩10…
『新しいヒューマンコンピュータインタラクションの教科書』(講談社)を読みました。 人間やコンピュータが交わる「ヒューマンコンピュータインタラクション(HCI)」という研究領域に関する書籍です。 www.kspub.co.jp 現在注目の話題となっている「ChatGP…
『ディープフェイクの衝撃 AI技術がもたらす破壊と創造』(PHP 新書)を読みました。 画像・テキストなどを生成する人工知能技術(生成 AI)が急速な発展を遂げる中で、これらの技術が生み出す危険性の側面を理解しておくことは非常に重要です。 本書はデ…
『応用基礎としてのデータサイエンス』(講談社)を出版社のご厚意でお送りいただきました。 豪華な著者陣による書籍で、データサイエンスに関連する広範な話題を 1 冊にまとめています。 具体的な内容は目次をご参照ください。 www.kspub.co.jp 以前に読ん…
1 月に国内外の論文投稿の締め切りラッシュがあった影響で、気分転換のために 1 月 28 日〜 2 月 12 日に休暇を取得しました。 愛知・兵庫・京都・大阪などを気ままに転々としています。 今日は、大阪環状線*1を徒歩で一周してみました。 大阪環状線は一周 2…
2022 年 11 月に開催された「Kaggle Days Paris 2022」での有識者の講演動画が LogicAI の YouTube チャンネルで公開されています。 現時点で公開されている動画を土日に眺めたので、本記事で概要を紹介します。 Kaggle Days Paris 2022_Walter Reade_A quic…
『PythonではじめるKaggleスタートブック』で提供しているサンプルコードを、pandasからPolarsに書き換えた Notebook を作成しました。Polars は、Rustベースの高速なデータ処理ライブラリです。 www.kaggle.com pandas での書き方をコメントで残しているの…
以下の配信でお知らせした通り、Weekly Kaggle News は2023 年 1 月 6 日から「Substack」を用いて配信します。 Weekly Kaggle News は 2019 年 12 月から、メール配信プラットフォームの「Revue」を用いて、 Kaggle をはじめとするデータ分析コンペティショ…
年末恒例の振り返り記事です。 昨年 4 月の部署異動を契機に、今年も研究開発部署にて案件を自分自身で創出・推進していくことに挑戦した一年でした。 本記事では、対外公表している事例の一覧をまとめました。 今年執筆していた共著の作業も終わり、出版が…