第10回 NLP若手の会シンポジウム (YANS) のチュートリアルスライドです。ニューラルネットの(アルゴリズムとしての)おさらいと、Chainer v1.3.0の使い方を紹介しています。Read less
![Chainerの使い方と自然言語処理への応用](https://cdn-ak-scissors.b.st-hatena.com/image/square/a4d209c8477a5e04a3437a80df66726d255f6499/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fyans2015-chainer-150903061558-lva1-app6892-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
今までPRMLを読んで実装を続けてきましたが、10章からは難しくて歯が立たなくなってきたのでここらで少し具体的な応用に目を向けてみようと思います。機械学習の応用先としては画像の方が結果を見ていて面白いんですが、当面は自然言語処理を取り上げます。そんなわけで一番始めの応用は機械学習と自然言語処理の接点として非常に重要なテキスト分類(Text Classification, Text Categorization)の技法たちを試していきたいと思います。テキスト分類は文書分類(Document Classification)という呼び方もあります。テキストと文書は同じ意味です。最初なので自分の知識の整理と入門者への紹介のためにちょっと丁寧にまとめてみました。 テキスト分類とは テキスト分類とは、与えられた文書(Webページとか)をあらかじめ与えられたいくつかのカテゴリ(クラス)に自動分類するタス
今回は、機械学習で使う「確率」のお話です。 確率は、統計的な機械学習のもっとも重要な基礎知識です。とはいえ、確率についてゼロから説明するというのは紙数的にも厳しいため、高校の確率を少し憶えているくらい(期待値や標準偏差など)を前提とし、「高校の確率」と「機械学習の確率」の本質的な相違点について、少し丁寧に見ていく、という形で進めていきます。 機械学習と確率 最初に、機械学習にとって確率はどういう役割なのかを確認しておきましょう。 実のところ、機械学習に確率が必須というわけではありません。ニューラルネットワークやサポートベクターマシンなどの有名な手法も「確率を用いない機械学習」ですし、その他にも数多くの手法があります。しかし、「確率を用いない機械学習」の多くは、「結果のランキングを作りづらい(評価値の大小に意味がない)」「条件が異なる場合の結果を比較できない」などの欠点がありま
〜準備編〜 まずRをインストールしておくこと(不慣れな人は丁寧に解説したRインストールのページを参照のこと)。 Rでテキストマイニングをするために石田基広氏のウェブサイトよりRMeCab_0.90.zipというファイルをダウンロードする。ファイル名は変更されるかもしれないし、0.90というバージョンも変わるかもしれないので最新のものをダウンロードすること。なおダウンロードされた.zipファイル(圧縮されたファイル)は解凍する必要がなく、.zipファイルをそのまま適当なディレクトリ(フォルダ)に置いておけばよい。 Rのワークディレクトリ(getwd()とコマンドすれば確認できる)に、例えばzip_packagesという名前のフォルダを作成しておき、その中に保存しておくと分かりやすいだろう。 〜R上での準備〜 R上でRMeCabを利用するためには [パッケージ] -> [ローカルにあるzipフ
一夜目はパターン認識と機械学習の概要を学びました。今夜は、識別部で用いられる機械学習の基本的な線形識別器である「パーセプトロン」を具体的に学びたいと思います。「線形識別器?パーセプトロン?何それ?」字面は厳しいですが、手を動かしてみると意外と簡単に理解できます。今夜からは数式をバリバリ使っていきますし、手を動かしていただきます。「必ず」手元にペンと紙を用意してください。そうは言ってもパーセプトロンが一体何なのか、機械学習の中でどのような位置づけなのかがわからないと混乱するかもしれません。パーセプトロンの説明へ入る前に、機械学習の3つのアプローチをご紹介します。 ●機械学習の3つのアプローチ - 識別関数、識別モデル、生成モデル 機械学習は大きく分けて識別関数、識別モデル、生成モデルという3つのアプローチがあります。 識別関数 := 入力データを見て、特定のクラスに属するよう識別(代表的な手
テキストマイニングに必要なパターン認識と機械学習について学びます。非常に初歩的な話から始めます。対象者は「テキストマイニングに興味があり、用いられる手法の中身を知りたい(けれど高度な数学は厳しい…)」というビジネスマンや学生さんです。数式は出来る限り「使います」。使わないと意味するところは理解できません。ただし、愚直に数式の一行一行を手計算で順を追って解いていきますし、必要な数学知識はその都度説明し、前提知識は求めませんので「数式出てくるの?じゃあついていけないのでは…」という心配は不要です。この記事の特徴は「機械学習の手法をやたら冗長な数式と過剰なまでの例を用いて、くどくどと同じ話を何度も説明する」ことです。 筆者ことあんちべは純文系出身で、数学や統計学、プログラミングは全然学生時代やってこなかった上、業務でも機械学習を使うことなんて皆無、それどころか機械学習なんて言葉は就職してからよう
言語処理100本ノックについて † 言語処理100本ノックは,言語処理を志す人を対象とした,プログラミングのトレーニング問題集です. 乾・岡崎研の新人研修勉強会の一つであるLearning Programmingで使われています. このトレーニングは,以下の点に配慮してデザインされています. 自然言語処理の研究を進める上で,一度は書いておいた方がよいプログラム 統計,機械学習,データベースなどの便利な概念・ツールを体験する 実用的で,かつワクワクするようなデータを題材とする 研究を進めるうえで重要なプログラミングのルール・作法を身につける モジュール性や組み合わせを考慮しつつ,短くてシンプルなプログラムを書く プログラムの動作を確認(デバッグ)しながらコーディングする 労力を節約する(既存のツール/プログラム/モジュールが使えるときは流用する) 計算資源(メモリ・実行時間)を無駄にしない方
gensimは前に以下の記事でも使ったPython用のトピックモデルなどの機能があるライブラリです。 小説家になろうのランキングをトピックモデルで解析(gensim) - 唯物是真 @Scaled_Wurm 以前紹介した以下の論文でもgensimが使われていました 論文紹介 “Representing Topics Using Images” (NAACL 2013) - 唯物是真 @Scaled_Wurm deep learningで話題になったword2vecの機能も取り入れてたりして面白いライブラリです Radim Řehůřek : Deep learning with word2vec and gensim 入力の作り方がすこしわかりにくいかなぁと思ったので、メモっておきます。 コーパスの作り方 以下の公式の例で説明します この例ではリスト内のそれぞれの要素が1つの文書となります
Tomas Mikolovらによって提案されたニューラルネットワーク(CBOW, Skip-gram)のオープンソース実装word2vecについて、基本的な使い方を体験し、さらにその仕組みを学ぶ書籍です。 基本的な使い方から、自分の好きなコーパスの作り方、登場の背景、仕組み、さらには応用例や弱点についてもコンパクトなボリュームで概観できます。付録にはword2vecの出力結果を主成分分析を使って可視化する方法について解説しています。 著者の西尾さんによる本書の解題[リンク] はじめに 1章 word2vecを使ってみる 書き換えてみよう 2章 コーパスを変えてみる text8 単語に分割する(MeCab) CSVからのコーパス作成 Facebook EPWING Wikipedia PDFからの抜き出し まとめ 3章 word2vecの生まれた理由 文章の表現 4章 word2vecの仕組
概要 この記事は自然言語処理という分野の最新手法word2vec を利用して誰でも遊べるようにするための手順を説明するものです。 word2vecを利用すると意味の計算が実現できます。 例えば"king"から"man"を引いて"woman"を足すと"queen"が出てきたり、 "東京"から"日本"を引いて"フランス"を足すと"パリ"が出てくるという面白い手法です。 自然言語処理とは人間が日常的に用いる自然言語をコンピュータに処理させ、 翻訳や要約、文字入力支援や質問応答システムを作るなどに活用されている分野です。 自然言語処理と言うと耳慣れない言葉かもしれませんが、 実は検索や推薦などで私たちが日常的に利用しているなじみ深い技術でもあります。 自然言語処理の適用範囲や要素技術は幅広いのですが、 その中でもword2vecの特色は、 冒頭でも挙げたように「意味の計算」が出来ることです。 これ
googleの中の人たちが作ったword2vecというモノがあります。deep learningを自然言語(N-gram?)に適用することにより単語を100次元くらいのベクトル空間にマップする物だと思います。面白さは以下のベージの通りですが、たったこれだけの事で、ほとんど意味理解の一歩手前まで到達していると思います。 Taku Kudo : word2vec で少し遊んでみた。いわゆる deep… 面白いのは、2つのベクトルの差が、2つの単語の関係をよく近似してくれること。 (中略) A B C → X (A → Bの関係に対し、 C → X に当てはまるXを探す) グーグル ヤフー トヨタ → 日産 渋谷 新宿 札幌 → 旭川 警察 泥棒 正義 → くそ 平和 戦争 左 → 右 社員 会社 生徒 → 小学校 空 海 天井 → 床板 生きる 死ぬ 動く → 止まる ・・・ Deep-le
MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました Tweet [NLP] 日本語の文書を機械的に処理しようと思った時に、ほとんどの人が MeCabとIPADIC(IPA辞書)の両方、または、どちらかを使うことになります。 IPADICはとてもよく出来ていますが、更新されないまま年月が過ぎているので、例えば2015年3月上旬に急に流行ったような言葉は収録していません。そのため、今日生まれたような新しい文書(例、Apple Watch発売)を解析する時に困ります。困らない人もいますけど、僕は困ります。 その課題に対処するために、日本全国津々浦々、自然言語処理に関わる全ての人は独自にMeCabの新語辞書を作って対応しているわけです。その際に元データとして使われることが多いのは Wikipedia 日本語版やはてなキーワードなどです。 困ったことに、新語辞書を生成
概要 本稿はRakutenMAというJavaScriptだけで動く学習器付きの形態素解析器を利用する入門記事です。本記事を読了すると、形態素解析の実行と形態素解析のモデルを作成・更新出来るようになります。 また、本稿ははてな×PC工房との連動企画の補足をするべく書きました。 「あんちべさんと一緒に Rakuten MA で形態素解析」はてなニュース連動企画 第二弾! : パソコン工房 パソコン工房のPCで遊ぼう第2弾! あんちべさんと一緒に Rakuten MA で形態素解析 - はてなニュース RakutenMAを利用したエディタ判定器デモ エディタ判定器 :パソコン工房 【やじうまWatch】Emacs派とVim派の対立を煽る「エディタ判定器」が面白いと評判 -INTERNET Watch はじめに 近年、twitterやFacebookなどのSNSやAmazonのレビューなどから得ら
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces This document summarizes a research paper on modeling long-range dependencies in sequence data using structured state space models and deep learning. The proposed S4 model (1) derives recurrent and convolutional representations of state space models, (2) improves long-term memory using HiPPO matrices, and (3) efficiently compu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く