2020-01-01から1年間の記事一覧
問題文 nlp100.github.io 問題の概要 正答率は「accuracy_score()」で計算できます。 import pandas as pd import joblib from sklearn.metrics import accuracy_score X_train = pd.read_table('ch06/train.feature.txt', header=None) X_test = pd.read_ta…
問題文 nlp100.github.io 問題の概要 学習を終えたモデルは、予測値が未知の特徴量(X_test)を与えて予測させることができます。 import pandas as pd from sklearn.linear_model import LogisticRegression X_train = pd.read_table('ch06/train.feature.t…
問題文 nlp100.github.io 問題の概要 用意した特徴量と予測の対象のペアから、機械学習アルゴリズムを用いて予測器を学習させましょう。 import pandas as pd import joblib from sklearn.linear_model import LogisticRegression X_train = pd.read_table('…
問題文 nlp100.github.io 問題の概要 カテゴリ分類に有用そうな特徴量を抽出します。ここでは、問題文の指示通りの最低限の特徴量を作ります。sklearnに用意されている「CountVectorizer()」が利用可能です。 記事の見出しを単語列に変換したものが最低限の…
問題文 nlp100.github.io 問題の概要 本章では、ニュース記事の見出しからカテゴリを分類する機械学習モデルを構築します。最初に指示に従ってデータセットを整形します。次の4段階で処理しました。 ファイルのデータ形式の確認 情報源(publisher)が”Reute…
「Sports Analyst Meetup #8」*1を、7月18日に開催しました。昨今の情勢を受け、7回目に引き続きのオンライン開催でした。 資料 spoana.connpass.com togetter togetter.com 発表内容 今回は10名の方にLTをしていただきました。いずれも素敵な内容で、多くの…
新型コロナウイルス感染症の拡大防止のため第1節を終えた段階で中断していたJ1リーグは、7月4日に一斉再開しました。7月中は移動による感染リスクを避けるため近隣クラブが対戦する方式を採用しており、具体的には全18チームを東西に2分して各グループ内で対…
ProbSpaceで開催されていた「YouTube動画視聴回数予測」コンペに参加しました。Lain.さんとチームを組み、public 4位・private 6位でした。 prob.space コンペ概要 YouTube APIで取得できるメタデータを入力として、動画の視聴回数を予測するタスクでした。…
今年4月にKDDIとテレビ朝日が設立したTELASA株式会社が運営する動画配信サービス「TELASA」にて、2000年のpre seasonから2019年の最新作まで『相棒』全シーズンの動画が配信されています。 www.videopass.jp 『相棒』はたびたび夕方に再放送され、「AbemaTV…
昨日開催された「atmaCup#5 振り返り会」*1で「MLflow Tracking を用いた実験管理」について発表しました。本記事にリンク集を掲載します。 発表資料 コンペで使用していたGitHubリポジトリ https://github.com/upura/atma-comp05 自作ライブラリ「Ayniy」の…
2020年度 人工知能学会全国大会 (第34回)に参加してきました。 昨年度と同様、現地で満喫したご飯をまとめます。 upura.hatenablog.com おわりに 本年度はオンライン開催だったので、熊本料理を満喫する野望は叶いませんでした。(コロナが落ち着いたら必ず…
「atmaCup オンサイトデータコンペ#5」*1に参加し、public 16位・private 27位*2でした。観測データを基にした2値分類タスクで、指標はPR-AUC*3でした。 途中から K_mat さん*4 とチームマージし、テーブルデータに対するニューラルネットワーク周りなど、大…
Nishikaで開催されていた「財務・非財務情報を活用した株主価値予測」コンペ*1で、2位になりました。 オープンデータのコンペなので、pipelineを整備しながら、のんびりと取り組みました。最終的にはLightGBMとCatBoostで3種類の予測値(public 19位, 19位, …
第85回R勉強会@東京 #TokyoR にて、LT発表しました。2019年1月開催の第75回以来*1、久々の参加でした。 tokyor.connpass.com 発表の題目は "R言語で「言語処理100本ノック 2020」" で、4月に取り組んでいた「言語処理100本ノック 2020」の紹介*2&R言語での…
Jupyter Notebook の CSS 要素を編集する方法に関するTipsです。IPython.core.displayを用いて、次のようにCSS要素を編集できます。 from IPython.core.display import display, HTML display(HTML("<style>.cm-s-ipython span.cm-comment { color: red; }</style>")) こん…
「BERT応用勉強会」にオンライン参加しました。簡単な発表概要と個人的な所感をメモしておきます。発表動画のアーカイブは、YouTubeで後日公開されるそうですました。slidoとYouTubeコメントでの質疑応答はSpreadsheetにまとめてみました。 nlpaper-challeng…
The content has been moved to the following page. Shotaro Ishihara
TISが公開している企業名認識のためのデータセット「JCLdic」*1を用いて、Encoder-Decoderモデルを学習させてみました。 結果と考察 学習・検証に利用していないデータに対して適応した結果を下図に示します。統計的な出現頻度に基づくので当然な気がします…
問題文 nlp100.github.io 問題の概要 問題文に提示された仕様に従って出力します。第5章は2015年版と同様なので、先駆者のコード*1を流用しつつ実装しました。 class Morph: def __init__(self, dc): self.surface = dc['surface'] self.base = dc['base'] s…
問題文 nlp100.github.io 問題の概要 問題文に提示された仕様に従って出力します。 class Morph: def __init__(self, dc): self.surface = dc['surface'] self.base = dc['base'] self.pos = dc['pos'] self.pos1 = dc['pos1'] class Chunk: def __init__(se…
問題文 nlp100.github.io 問題の概要 問題文に提示された仕様に従って出力します。 class Morph: def __init__(self, dc): self.surface = dc['surface'] self.base = dc['base'] self.pos = dc['pos'] self.pos1 = dc['pos1'] class Chunk: def __init__(se…
問題文 nlp100.github.io 問題の概要 問題文に提示された仕様に従って出力します。 class Morph: def __init__(self, dc): self.surface = dc['surface'] self.base = dc['base'] self.pos = dc['pos'] self.pos1 = dc['pos1'] class Chunk: def __init__(se…
問題文 nlp100.github.io 問題の概要 問題文に提示された仕様に従って出力します。 class Morph: def __init__(self, dc): self.surface = dc['surface'] self.base = dc['base'] self.pos = dc['pos'] self.pos1 = dc['pos1'] class Chunk: def __init__(se…
問題文 nlp100.github.io 問題の概要 問題文にある通り、pydotを用いて有向グラフを可視化します。 pairs というリスト内に、隣接するノードのペアを格納し pydot.graph_from_edges(pairs) を呼び出します。 import pydot class Morph: def __init__(self, d…
問題文 nlp100.github.io 問題の概要 「42. 係り元と係り先の文節の表示」に「名詞を含む文節が,動詞を含む文節に係るとき」の条件を付与します。 class Morph: def __init__(self, dc): self.surface = dc['surface'] self.base = dc['base'] self.pos = d…
問題文 nlp100.github.io 問題の概要 「41. 係り受け解析結果の読み込み(文節・係り受け)」を活用し、全ての係り受け関係を洗い出します。結合時は、品詞が記号の際には空文字列に置換しています。 class Morph: def __init__(self, dc): self.surface = d…
問題文 nlp100.github.io 問題の概要 問題文の指示通り、文節を表すクラス Chunk を実装します。 class Morph: def __init__(self, dc): self.surface = dc['surface'] self.base = dc['base'] self.pos = dc['pos'] self.pos1 = dc['pos1'] class Chunk: de…
問題文 nlp100.github.io 問題の概要 本章では、CaboChaを用いて係り受け解析した結果を読み込んでいきます。手始めに、以下コマンドでファイルに対して係り受け解析を実行しましょう。 cat ch05/ai.ja/ai.ja.txt | cabocha -f1 > ch05/ai.ja.txt.cabocha あ…
問題文 nlp100.github.io 問題の概要 両対数グラフとは、それぞれの次元のデータに対してlogを取ったグラフです。 import math from collections import defaultdict import matplotlib.pyplot as plt def parse_mecab(block): res = [] for line in block.s…
問題文 nlp100.github.io 問題の概要 「matplotlib」を用いて、ヒストグラムを描きましょう。 from collections import defaultdict import matplotlib.pyplot as plt def parse_mecab(block): res = [] for line in block.split('\n'): if line == '': retu…