Hatena Developer Blog

はてな開発者ブログ

社内でNLP2017 & DEIM2017読み会を開催しました

こんにちは。ウェブアプリケーションエンジニアのid:syou6162です。

はてな社内で機械学習や自然言語処理に興味のあるエンジニアが集まる機械学習サブ会という技術グループがあるのですが、その機械学習サブ会が主催で言語処理学会第23回年次大会(NLP2017)第9回データ工学と情報マネジメントに関するフォーラム(DEIM2017)の論文読み会を行ないました。このエントリでは、その中でも特に面白かった論文を簡単にレポートしていきたいと思います。なお、論文PDFは各学会ページで公開されているものを参照しています。

ニュース制作に役立つtweetの自動抽出手法

  • 著者: 宮﨑太郎 (NHK), 鳥海心 (都市大), 武井友香, 山田一郎, 後藤淳 (NHK)
  • 紹介者: id:syou6162
  • 論文PDF: http://www.anlp.jp/proceedings/annual_meeting/2017/pdf_dir/D4-1.pdf
  • 背景:
    • ニュース取材に役立つ情報をソーシャルメディア(本論文ではtwitter)から抽出するプロジェクトがNHKに存在する
  • この論文で解きたい問題:
    • SNSから検索するために網羅的にクエリを用意するのは大変
  • 解いている方法:
    • SNSでは口語体や略語もあるので、形態素解析をせずに文字単位のRNNを構築する
    • bi-directionalなRNNでベクトル表現を作り、Feed-Forward NNでニュース取材に役立つかを判定する
    • 精度を向上させるためにマルチタスク学習を同時に解く
      • マルチタスクは「ニュースが役に立つか」と「言語モデル(次の文字を予測)」の2つ
  • 解いた結果:
    • attentionとマルチタスク学習を取り入れると、さらに精度が向上した
  • 所感:
    • NHKからはもう一本関連する論文(pdf)が出ており、最近の取り組みが分かって面白かった
    • RNNではない古典的なベースライン(SVM+BoWなど)では実験されていなかったので、そちらの実験結果も知りたかった

疑似データの事前学習に基づくEncoder-decoder型日本語崩れ表記正規化

  • 著者: 斉藤いつみ, 鈴木潤, 貞光九月, 西田京介, 齋藤邦子, 松尾義博 (NTT)
  • 紹介者: id:syou6162
  • 論文PDF: http://www.anlp.jp/proceedings/annual_meeting/2017/pdf_dir/P10-5.pdf
  • 背景:
    • SNS等ではくずれた日本語が多いが、機械翻訳や自動要約などの応用タスクで精度を下げる要因となっている
  • この論文で解きたい問題:
    • 崩れた文の分かち書きを精密にやるのではなく、崩れた文を正規化をするタスクを解く
    • 崩れた文と正規化された文の正解ペアは多くは手に入らないので、性能を下げないような疑似的な正解データを大量に生成したい
  • 解いている方法:
    • 崩れた文を入力、正規化後の文を出力とするattention付きのencoder-decoderを学習
    • 文字列正規化の正解データは多くないため、いくつかの変換パターンで疑似データを作る(表1)
    • twitterデータに対して変換パターンを適用し、約11万分の疑似正解データを構築
  • 解いた結果:
    • Moses(古典的な機械翻訳のツールキット)では学習に疑似データも加えると、ノイズに負けてしまい逆に精度が落ちてしまう
    • 提案法では、疑似データも学習に加えるとノイズに負けず精度が向上
  • 所感:
    • 現状では疑似データも追加した提案法でMosesと同等の性能ではあったが、疑似データを増やすにつれて性能が向上していたため今後のさらなる精度向上に期待
    • 応用タスクでの精度評価も分かるとうれしい

データ拡張による感情分析のアスペクト推定

  • 著者: 西本慎之介, 能地 宏, 松本 裕治 (NAIST)
  • 紹介者: id:skozawa
  • 論文PDF: http://www.anlp.jp/proceedings/annual_meeting/2017/pdf_dir/P10-4.pdf
  • 背景
    • ニューラルネットワークに基づく手法には大規模な学習データが必要になるが、大規模なデータセットを必ずしも用意できるとは限らない
  • この論文で解きたい問題
  • どのようなネットワークの構造に対してどのようなデータ拡張が有効か明らかにする
  • 解いている方法
    • ニューラルネットワークモデルとして、FFNN、LSTM、CNNを、データ拡張手法として、単語の分散表現、シソーラス、ルールベールの手法を利用して、データ拡張による性能の変化をみる
  • 解いた結果
    • LSTM、シソーラスを用いると一番効率よく性能が向上した
  • 所感
    • 非文を生成する単語の分散表現によるデータ拡張でも性能が向上しているのは意図通りなのかが疑問
    • データサイズに応じてどのように性能が変わっていくかがグラフで見たいと思った

文体の類似度を考慮したオンライン小説推薦手法の提案

  • 著者: 高田叶子, 佐藤 哲司 (筑波大)
  • 紹介者: id:skozawa
  • 論文PDF: http://db-event.jpn.org/deim2017/papers/207.pdf
  • 背景
    • 小説では同著者の作品が好まれることが多いものの、オンライン小説投稿サイトでは同著者の作品は比較的少ない
  • この論文で解きたい問題
    • 小説購入時に行われる立ち読み行為に着目し、小説本文の文体の類似度を利用した推薦を行う
  • 解いている方法
    • 読点数や文字数、品詞数などの特徴量を利用して文体を表す特徴ベクトルを生成し、小説間の特徴量ベクトルのマハラノビス距離を算出して小説間の類似度を計算
  • 解いた結果
    • アンケートによる満足度評価で、同著者の低評価の作品と同等の満足度を得た
  • 所感
    • 立ち読みという着眼点はおもしろかった
    • ただ、評価実験が提案する文体の類似度を評価する実験にはなっていないように感じた

機械学習を用いた航空会社の業務支援システムの開発

  • 著者: 堀口裕士, 馬場雪乃, 鹿島 久嗣 (京都大学), 鈴木雅仁, 栢原 宏樹, 前野 純 (Peach Aviation)
  • 紹介者: id:takuya-a
  • 論文PDF: http://db-event.jpn.org/deim2017/papers/250.pdf
  • 背景:
    • 格安航空会社 (LCC) はコストを低く抑えながらサービス品質を高める必要がある
    • コストの中でも、とくに燃料費に占める割合が大きく、これを低く抑えたい
    • また、サービス品質の指標として定時出発率があり、これも向上させたい
  • この論文で解きたい問題:
    1. 燃料消費量予測(回帰)
      • (1) フライト1便ごとの実際の燃料消費量予測(フライトの1日前と1週間前)
      • (2) 路線1日ごとの予測(フライトの5ヶ月前)
      • 正規化した相対 RMSE で評価
    2. フライト出発遅延予測(2値分類)
      • 15分以上出発が遅れるかどうか
      • AUC で評価
  • 解いている方法:
    1. Random Forest
    2. XGBoost
    3. Deep neural network (最適化は AdaDelta)
  • 解いた結果:
    1. 燃料消費量予測
      • (1) (フライト1便ごと) 専門家による前日予測の相対 RMSE を下回る相対 RMSE 8.8% (前日予測)を XGBoost で達成
      • (2) (路線1日ごと) 専門家による前日予測の相対 RMSE 7.1% を下回る相対 RMSE 6.4% (5ヶ月前予測)を XGBoost で達成
    2. フライト出発遅延予測
      • いくつかの空港で 0.75 (前日予測)を上回る AUC を DNN, XGboost で達成
      • 空港で平均すると DNN: 0.647、 XGBoost: 0.634
  • 所感:
    • 問題設定がよく、きれいに機械学習の問題に落とし込んでいる
    • 結果は発着空港によってけっこう変わるなど、現実問題という感じ
    • DNN のレイヤ数など、実験設定については書かれていなかった
    • 特徴量の作り方(前処理など)が参考になった

このユーザは信頼に値するか? - SNSにおける協調的な信頼推定モデル -

  • 著者: 南 大智(九州大学),牛尼 剛聡(九州大学)
  • 紹介者: id:taketo957
  • 論文PDF: http://db-event.jpn.org/deim2017/papers/232.pdf
  • 背景: SNSやシェアエコノミーに基づいたサービスの普及によって見知らぬユーザと接する機会が増加
  • この論文で解きたい問題: 見知らぬユーザが本当に信頼できるかを判定したい
  • 解いている方法:
    • 未知のユーザへの信頼度を予測するモデルを構築
      • 対象ユーザが他の既知のユーザのレビュー投稿に対して評価したデータを使う(レビューを評価しているユーザを信頼しているとする)
      • レビュー投稿をDoc2Vecを用いてベクトル化したものをレビュワーの特徴とし、そのコサイン類似度計算することで対象ユーザの未知のユーザに対する評価値を推定する(レビュー文書がどれくらいレビュワーにとって典型的であるかなども考慮している)
  • 解いた結果:
    • 提案モデルを用いた書籍推薦システムによる被験者実験によって評価
      • 読書メーターの評価データを利用: レビュワー数 9万5,719、レビュー数 1,233万1,749件、Doc2Vecの次元数 300
    • 信頼度を考慮しない場合と考慮する場合では、考慮したほうが良い結果となった
  • 所感:
    • ユーザの信頼度を推定したい場面は実社会でも多くあるのでフィールドを変えれば適用できる場面は多そう
    • 評価実験がモデルを直接的に評価できているかが疑問

まとめ・感想

各々興味がある論文を2-3本読んできて紹介するというスタイルで読み会を行ないましたが、紹介された論文は普段のサービス開発に比較的近いもの(情報抽出や推薦など)から比較的遠いもの(航空業界など)もありました。論文読み会を開催すると、普段の業務では気付きにくい知見やアイディアを得ることができるので、今後も国内外の学会の論文読み会を定期的に行なっていきたいなと思います。