バイアスと戯れる

Rと言語処理と(Rによる言語処理100本ノック終了)

第4回「NLP勉強会」を開催しました #NLPStudy

はじめに

 去る9月23日(水)に株式会社ドワンゴ歌舞伎座タワー本社にて、第4回言語処理勉強会(ハッシュタグ「#NLPStudy」)を開催しました。
 会場提供ならびにご案内をしていただいたドワンゴ様、まことにありがとうございます。
 また、発表者の皆様、ボランティア参加の方々、そして参加者の方々、シルバーウィーク最終日というゆっくりと休みたい日にお集まりいただきましてありがとうございました。

 tokyoscrapper.connpass.com



概要

 今回は導入セッション1件、応用セッション2件、LT2件の発表で、言語処理からライセンスやスクレイピング、論文紹介・シンポジウム参加・実装してみた話など、とても盛りだくさんの内容でした。

 また、ありがたいことに本勉強会を共同で主催している@nezuqさんより、ご著書を数冊いただきました(多謝)。こちらは発表者の方々と、会場でのジャンケン大会の勝者2名の方々にお渡ししました。
 Webデータの取得や加工は実データを対象とした言語処理において必要な知識と言えますので、何かと参考になるかもしません。

 実践 Webスクレイピング&クローリング | マイナビブックス



導入セッションについて

 1件の導入セッションでは、『言語処理100本ノックに必要な専門知識について』を自分(@yamano357)が担当しました。今回は前半のみです。後半はいつかやります。

『言語処理100本ノックに必要な専門知識について(前半)』

 speakerdeck.com


 言語処理100本ノック(2015年版)をRで解いていますが、解答するにあたって必要な言語処理知識の説明が触れられていなかったので、導入用にとてもシンプルにまとめました。中でも「格」については、知らない人が多いかもしませんね。
 発表中に「言語処理100本ノックを知っている・挑戦している方はいらっしゃいますか?」と質問してみましたが、ほとんど手が挙がりませんでした。残念です。とてもよい問題ばかりなので、もう少し布教が必要かなと思いました。

 なお、会場からの質問にて「正規表現を学ぶのに良いサイト・本がないか?」と訊かれたので、私と参加者の方が下記を紹介しました。

 言語処理では正規表現の扱いがとても大事な技術と言えます。『言語処理のための正規表現入門』のような本、とても欲しいです。コストやパフォーマンス、実装についても書かれているとなお嬉しいですね。どなたかに期待です。



応用セッション

 2件の応用セッションでは、『本当は怖いWikipedia製辞書。辞書作りとライセンス問題』を@nezuqさんが、『storytellingアルゴリズムの紹介と擬似実装』を@zaoriku0さんが、それぞれ担当してくださいました。ありがとうございます。

『本当は怖いWikipedia製辞書。辞書作りとライセンス問題』

slides.com


 @nezuqさんの発表は、Wikipediaをデータ元にした辞書の著作権やライセンスについてで、調べた内容と見解を話してくださいました。自分自身はこちらの方面について明るくないのですが、会場で詳しい方々がいらっしゃって議論がとても盛り上がりました。
 著作権やライセンスとは関係がないですが、議論を聞いているうちに「プライバシー保護データマイニング」の話をふと思い出して、データを扱う際には著作権・ライセンスと合わせて気をつけないとならない事項であると再認識しました。このあたりの領域も今後学んでみたいですね。


『storytellingアルゴリズムの紹介と擬似実装』

www.slideshare.net


 @zaoriku0さんの発表は、Storytellingというアルゴリズムについてで、論文紹介とword2vecで実装してみた内容を話してくださいました。このアルゴリズムについて、勉強不足なために私は初めて知ったので、 非常に興味深く聞かせていただきました。
 類似表現の抽出というと、共起する意味のパターンを再帰的に獲得するブートストラップ(『Espresso』が有名。統計学のブートストラップサンプリングとは無関係)による手法や、グラフベースの半教師あり学習(ラベル伝搬法)に近いのかなと頭で考えていましたが、決定木とA*アルゴリズムを組み合わせた手法で、結果の類似集合が時系列順に並ぶという話がとても面白いと感じました。
 まだ理解しきれてないので、資料を復習したいと思います。



LT

 2件のLTでは、『OSSクローラのロボット排除規約従い度』をYutaka Nakanoさんが、『NLP若手の会シンポジウム行ってきた & Chainer使ってみた』を@1664riffsさんが、それぞれ担当してくださいました。ありがとうございます。

OSSクローラのロボット排除規約従い度』

slides.com


 Yutaka NakanoさんのLTは、NutchとScrapyの挙動についてで、robots.txtとメタタグの記述に対する動作を話してくださいました。
 Webサイトの行動ログを分析しているとわかりますが、ユーザーのフリをする行儀の悪いクローラーはそれなりにいます。紳士協定を守っていただけると、分析する際に手間をかけなくてとても助かります(自由気ままな野良クローラーは、むしろを動きを止めたくなるものです)。
 ごくたまに私もスクレイピングするときがあるので、その際は紳士らしく協定を守ると改めて誓いました。


NLP若手の会シンポジウム行ってきた & Chainer使ってみた』

www.slideshare.net


 @1664riffsさんのLTは、NLP系シンポジウム参加とChainer試用報告についてで、NLP若手の会の参加報告とRNN(Recurrent Neural Network)によるツイート生成を話してくださいました。
 NLP若手の会シンポジウムは参加したかったですが、業務の都合上断念しました。企業発表も多いので、なにかしらの成果があげられたら、次回の大阪開催には参加したいものですね。がんばります。
 Chainerについてはデモを触った程度ですが、言語処理に向いていそうでよいですね。インストールもとても手軽ですし(CaffeはBoostのコンパイルで苦しんだ記憶ばかりあります)。テキスト生成や分類以外にも試してみたいタスクがあるので、Rでどうにかできないかなと考える前に、もう少しPythonを勉強し直します。
 複数言語をまぜたキメラ言語も興味を惹かれますが、複数人のツイートを組み合わせて学習して、できたモデルで互いに会話させたり、また会話した結果を再度学習させていくとどうなるか、ちょっと気になりました(誰か試していそうですが)。



まとめ

 前回開催から期間が空いてしまいましたが、多数の方々が参加してくださいました。とてもありがたいことです。
 次回開催は未定ですが、今後も続けられればと思っており、発表者が集まっていただければ、早めの開催も考えております。ご興味がある方は、ぜひともご連絡ください。

 よろしくお願いいたします。



参考