自然言語処理

go-active-learningを改良している話(Slackからのアノテーションをサポートなど)

以下の話の続きです、地味に続いています。自分が普段使うツールを改良していくのは楽しいですね。 自分で使ってみて、これは欲しいといったものを追加していってます。社内で紹介したところフィードバックをもらったので、それを踏まえてどうしていきたいか…

劣モジュラ最大化によるエントリの推薦をやってみた

背景 半年前から機械学習に関するよさそうなエントリを提示してくれるbot(ML君)を運用しています。 大量のtweetの中から関連するエントリを人手で探す手間は省けるようになったのですが、最近別の問題が起こっています。以下の画像はある日に提示されたエン…

能動学習で効率的に教師データを作るツールをGoで書いた

みなさん、教師データ作ってますか?! 機械学習のツールも多くなり、データがあれば簡単に機械学習で問題を解ける環境が整ってきました。しかし、データ作成は重要ながらも未だに大変な作業です。最近、私もいくつかのドメインで教師データを作る機会があった…

Go言語にさらに入門するために係り受け解析器を書いた話

今年からGo言語に入門していますが、もう少し複雑なものをものを書いてみたいと思ったので、係り受け解析器を書きました。その過程で工夫したこと、苦労したことをまとめます。作ったものはこちら。 一人で作っているプロジェクトですが、100行以下の細かめ…

実タスクで機械学習を導入するまでの壁とその壁の突破方法

社内で機械学習の案件があった際に、機械学習の経験者しか担当できないと後々の引き継ぎで問題が起こりがちです。これを防ぐために、機械学習に興味があり、これまで機械学習を経験したことがないエンジニアにも担当できる体制を整えられることが望ましいで…

タスクに合わせたトークナイザ、単語分割に関連したポエム

ポエムを適当に書きます。2本立て。週末のノリなので、適当です。 Sentencepieceの紹介記事を読んだ 文書分類でneologdとmecabを比較した まとめ Sentencepieceの紹介記事を読んだ ニューラル言語処理向けトークナイザのSentencepieceについて書かれた紹介記…

NLP2017の論文を読みました

NLP2017の論文を読んだので、面白かった論文を中心に読んだメモを残しておきます。もう一月ほど前になるので、大分昔な感じがしますが…。 参考リンク集 言語処理学会第23回年次大会(NLP2017) プログラム PDFの入手等はこちらから Accepted Papers, Demonstra…

不定期ML&NLP報#4

最近の機械学習&自然言語処理に関する情報をまとめるコーナーです。前回はこちら。このエントリ忘れてるよというのがありましたら、たれこみフォームから教えてもらえるとうれしいです。 論文 ブログ/勉強会資料 ビジネス 学会/勉強会 NIPS読み会 Kaggle Tok…

不定期ML&NLP報#3

最近の機械学習&自然言語処理に関する情報をまとめるコーナーです。前回はこちら。このエントリ忘れてるよというのがありましたら、たれこみフォームから教えてもらえるとうれしいです。 論文 ブログ/勉強会資料 ビジネス 学会/勉強会 NIPS2016 NL研 coling2…

不定期ML&NLP報#2

最近の機械学習&自然言語処理に関する情報をまとめるコーナーです。今回は医療品設計やセキュリティなど、自分があまり知らなかった分野での機械学習適用事例が多く、勉強になるものが多かったです。前回はこちら。 このエントリ忘れてるよというのがありま…

不定期ML&NLP報#1

先日、社内で定期的に行なわれているフロントエンド会にお邪魔してきました(podcastが配信されています)。jser.infoというサイトを参照しながら雑談していたのですが、最近のフロントエンドの動向を知るという目的にはこのサイトなかなかよさそうでした。 機…

自然言語処理の深層学習において転移学習はうまく行くのか?

このエントリはDeep Learning Advent Calendar 2016 5日目のエントリです。EMNLP2016に出ていたHow Transferable are Neural Networks in NLP Applications?を読んだので、それについて書きます。 [1603.06111] How Transferable are Neural Networks in NLP…

実タスクで能動学習を試してみた

実タスクで簡単な能動学習を試してみました。結論としては、1200件で到達できる精度に400件程度のアノテーションでも到達でき、それによりアノテーションに要する時間をかなり削減できそうということが分かりました*1。今後、アノテーションを必要とする機械…

Improving sentence compression by learning to predict gazeを読んだ

NAACL2016 shortのベストペーパー。雑に読んだ。 https://arxiv.org/pdf/1604.03357.pdf 要約の一タスクである文短縮のタスクに視線(gaze)を予測する補助タスクを組込むとよくなったよ、という内容 一種のmulti-task learning(多段の双方向LSTMでやる) CCG-s…

はてな社内の勉強会で構造学習について発表しました

先週末、はてな社内の勉強会で構造学習、特に実装が簡単な構造化パーセプトロンについて発表しました。発表資料と説明用にサンプルで書いたPerlの品詞タグ付けのコードへのリンクを張っておきます。 今日からできる構造学習(主に構造化パーセプトロンについ…

Convolutional Neural Networks for Sentence Classificationを読んだ

仕事で研究しているときはもちろん論文を読むわけだけど、どういう論文読んでいるかが分かるとどういう研究をしようとしているか分かってしまうという問題(?)があり、学生の頃と比較するとほとんど書けていなかった*1。転職後、技術的な内容をブログなど通じ…

Stanford Shift-Reduce Parserの精度の再現

Stanford ParserはBerkeley Parserと並んで有名なParserの一つ。以前はPCFGのparserだけだったが、最近はShift-Reduceに基づいたものも出ている。 The Stanford NLP (Natural Language Processing) Group beam searchを使うとPCFGを使ったものよりちょっ早で…

Berkeley Parserの解析失敗について

最近、構文解析器をよく使っているんだけど、public availableな構文解析器の中で精度が高いBerkeley Parserを使っていた(Stanford ParserがF値で85%くらいで、Berkeley ParserはF値で89%くらい)。Javaでできているので、Clojureから触るには何かと便利。 た…

面白そうと思いつつ読めてない論文達

自分用メモ。今は読んでる場合じゃないのだけれど(誰か紹介して)、どっかにメモっとかないと忘れる論文。"かなり"重要そうなのをピックアップしてある。 Painless Unsupervised Learning with Features (pdf, presentation) Parsing Natural Scenes and Natu…

Phrase-Based Models

MT勉強会によるチュートリアル第二回。今日はid:mamorukさんによるPhrase-Based Models。MTの基本的なツール*1であるMosesとかでも使われている。Statistical Machine Translation作者: Philipp Koehn出版社/メーカー: Cambridge University Press発売日: 20…

言語処理学辞典勉強会第二回

自分用メモ。FSNLPでやったところもあったりしたが、忘れまくっている。デジタル言語処理学事典 〔CD‐ROM付〕作者: 言語処理学会出版社/メーカー: 共立出版発売日: 2010/06/30メディア: 単行本購入: 1人 クリック: 14回この商品を含むブログ (8件) を見る 格…

ANPI_NLPと普通の日記

ANPI_NLPlabのSNSにも書いたし、Twitterでも大分情報が流れているのでここを見ている人の大部分は知っていると思うけど、ANPI_NLPについて。東日本大震災が起きて、NLPの研究者やエンジニアにできることがあるのではないかということでANPI_NLPという活動が…

IBM Model 1のEMアルゴリズムのupdate式の導出

気分転換的にStatistical Machine Translationを読んだりしながらMTを勉強。自分用メモ。p90の(4.11)式と(4.14)式の導出だけ。EステップもMステップもアライメントに関して周辺化するところがややこしいのだが、和の一つ一つの要素に崩していけるのでそこを…

練習がてらC++でHMMのコードを書いた

いわゆるお勉強的なコードなので特に新しいところはないです。HMMをベースにしたモデルを作る必要が(たぶん)出てきそうなんですが、そういえばHMMの前向き後ろ向きアルゴリズムの付近とか実装したことねぇやべぇと思ったので書いてみました*1。系列の長さが1…

Stanford Pos-Taggerをサーバーで起動

Stanford Pos-Taggerを(なんとなく)使ってるんだけど、起動が遅い。どうにかならないの?と思ったらFAQに書いてあって、サーバーを立ち上げてからクライアントで接続しろとのことだったので、それの方法をメモ。まず、サーバーを起動。 cd /path/to/stanford-…

論文100本ノックの感想&独断と偏見に満ち溢れた今年読んだ中で面白かった論文紹介

100本いってないじゃん!! いつまで高見の見物してるんですか??? 目を通してるConference その他 LDA関係 LDA自体について LDAをベースにした応用モデル 形態素解析、分かち書き ノンパラベイズ その他 クラスタリング 最適化 教師なし学習 今年の1月1日から…

合同研@NAIST

nlpjm2010 初参加かと思ったら去年も行っていたということに気がついた。今年のほうが知り合い増えているかなと思ったが、事前に知っている人は去年のほうが多かった気が(知ってる人はこない人が多かった。NAISTだから...じゃないよね?)。まあ、知り合い増や…

HMMのスケーリング係数

HMMを実装する上で考えなければならない問題点HMMにおけるパラメータ推定はフォワードバックワードによって効率的に計算される。しかし、実際に計算機上でこのアルゴリズムを動かそうとすると気を付けなければならないことがある。再帰式 の右辺のそれぞれの…

依存構文解析(MST parserとLIP)

前回の続きと今回の資料。係り受けの問題をちょっと違う見方で見てみる。 Graph-based Method Integer Linear Programming Method Span-based Method こっちは次回らしい(Eisnerアルゴリズム => この前岩立さんのチュートリアルがあった) Graph-based Method…

EMNLP読み会2010

告知していたように、研究室でEMNLP読み会を開催しました。おかげ様で読み手の人数が増えたので、二回に分けてやることになりそうです(第二回目は11月に)。ai-aさんとkodai-t、joseph-iが読み手で参加してくれました、ありがとうございます(自分も一個担当)…

Eisnerアルゴリズムのチュートリアル

III期初のD-Lec。岩立さんによるEisnerアルゴリズムのチュートリアル。今日の午前に松本先生の依存構造解析とかの授業があった後なので、すごくよいタイミング。Eisnerアルゴリズムは依存構造解析を行なうためのアルゴリズムの1つで 言語に依存しない Projec…

統語解析入門続編

前回のメモと今回の資料。Chart Parsing どこまで進んだという解析結果と次に何がくるか top down chart法 (bottom upと比べて)新しい文法規則を展開するタイミングが違うだけ 単語の隙間にb[i, j]とかがあるのに注意 最初のきっかけが必要(例: b[0, 0]にs -…

統語解析入門

今期にあっている松本先生の計算言語学に出ている。今日からparsingの話で、最近parsingに興味があるわりに全然知識がないので出席*1。松本先生のparsingの授業を受けられる、というのもすごい話である。 資料 => http://is-education.naist.jp/Data/Syllabu…

前向きアルゴリズム、Vitebiアルゴリズム

Viterbi書くの何回目だろ。。。週末にはバウムウェルチ(Baum-Welch)のアルゴリズムこと前向き後ろ向きアルゴリズムを書きたいところ。 www.yasuhisay.info # -*- coding: utf-8 -*- # 確率的言語モデル(東京大学出版)第4章(隠れマルコフモデル) require 'pp'…

FSNLP 2.2の資料を公開します

研究室の自然言語処理の基礎勉強会でFSNLPを使っていて、今週が自分の担当のところ。2.2章の情報理論。情報理論のテストも終わったばかりということでみんなの頭の中に記憶があるときでよかったです。言語モデルのほうとかは早めにやっていたほうがいいと思…

CYKアルゴリズム

前回はCFLに関してのパンピングレンマだったが、あんまり覚えてない。正則言語だと同じところを2回通って、ループができるか?というところが肝だった(気がする)が、CFLに関してのパンピングレンマだとTreeに関して同じ構造が出てくるか?が肝っぽい、というこ…

学習結果のRecallとPrecision【半教師あり学習の効果の検証】

この前の続き。 学習結果のRecallとPrecision - Seeking for my unique color. 前回のところは設定をどう置けばいいのかetcが自分でもはっきりしていなかったりで、とりあえずRecallとPrecision書いてみました的な感じになってしまっていたorz。ということで…

学習結果のRecallとPrecision

7月くらいから機械学習を使って、辞書うんぬんなことをやり始めなんとかそれっぽい(専門用語らしき、ということ)のが出てくるようになってきた。11月くらいからは半教師あり学習の一番簡単そうなのでやってみようということで、ollをライブラリとして使って…

自然言語処理特論最終回

今日は最終課題になっていた言語モデルのみんなのモデルがどれくらいのPPまでいったかというところをばっと見ていきました。自分はBack-offの実装にてこずっていたら期限が近づいていたので(おい)、線形補間法(EMアルゴリズムで係数推定)で挑みました。ただ…

トピックモデル入門編

自然言語処理特論も最後の話題、トピックモデルに先週から入ってます。今日の資料はこの辺の最初の付近。 Topicに基づく統計的言語モデルの最善線 前々回までの内容は最尤推定に基づいていたものがほとんどで、(ベイズ的な流れではない)スムージングの方法の…

Liner Interpolation with EM Algorithm

線形補間法の係数をEMアルゴリズムで推定するコードがようやくちゃんと動いた。前は係数手動で決めたりしてたけど、とりあえず形にはなった。しかし、テストセットパープレキシティが14.805であり、14を切らないので、これではAは確実に取れるか分からない。…

ディリクレ過程とディリクレ過程混合モデル

多項分布とディリクレ分布NLP関係、特に言語モデルなどでは多項分布がよく使われる(N個のデータがあったときに、Aに1つ、Bに3つ…というような感じ)。言語モデルを作るときにはゼロ頻度問題が常に問題となるので、多項分布のパラメータを最尤推定で求めたもの…

初めての経験ベイズ

今日の自然言語処理特論は言語モデルから一旦離れて*1、ベイズ入門なお話。ベイズについては多少知っているので、その辺はもう書かない。新しく出てきたものの中に経験ベイズの話があった。経験ベイズを考える状況としては ベイズ的なフレームワークで考えて…

Rと自然言語処理

Rは コーパス言語学的なものに対しては相性がよい 一方、(言語モデルなどの)自然言語処理に対してはひたすら相性が悪い そんな気がしている。 see also CRAN Task View: Natural Language Processing

初めての最大エントロピー法

なぜ最大エントロピー法が必要か自然言語処理特論の授業で最大エントロピー法が紹介されました。言語モデルで、パープレキティが小さいモデルを作るのが目標なんですが、EMアルゴリズムでは、小さくできるパープレキシティにちょっと限界がありました。まあ…

言語モデルの応用先

自然言語処理特論の最終課題は言語モデルを作ることで、評価はテストセットパープレキシティ(PP)によってされる。ちなみに、昨日は簡単な言語モデルを作っていた。Trigramで線形補完法*1。PPが14を下回ったら評価のAがくるのだが、線形補完法を使うとギリギ…

初めてのEMアルゴリズム

EMアルゴリズムとは今日の自然言語処理特論の内容はEMアルゴリズム。N-gram言語モデルを作るときには、未知語に関連して0頻度問題がつきまとう。TrigramからBigram、BigramからUnigramと切り替えていくback-offなどの方法もあるが、今日やったのは線形補完法…

言語モデルの準備

自然言語処理特論で使うやつの準備の準備くらいの。準備として青空文庫のテキストを食わせる。で、何か入力の文を与えるとUnigram、Bigram、Trigramの言語モデルでのその文が出てくる確率を計算する。確率は非常に小さくなるので、出力するところでは対数を…

Trieとかtcとか系列タギングとか

タブ区切りデータの三列目を取り出す「-F」の使い方、すぐ忘れる。。。 perl -F"\t" -anle 'print $F[2]' umls2ja.tab Trieを構築するためのライブラリTx http://www-tsujii.is.s.u-tokyo.ac.jp/~hillbig/tx-j.htm dartsのほうは日本語だとうまく動かない…?T…

Back-off smoothing

書いてるとちゅー!!先週は言語モデル(n-gram)の話があって、パープレキシティの話をして、多項分布の最尤推定だとパープレキシティが無限大にいってしまうからどうにかしないと!!ということをやりました。 言語モデルのよさをはかる指標としてのパープレキシ…