第5回 Twitter API勉強会 @渋谷 #twtr_hack(Jugemより移植)

Posted by johtani on Thursday, March 22, 2012

目次

はい。またまた、Twitter API勉強会に参加してきました。(今回から開催回数の記載がなくなった?) 今回は直前でタイムテーブルが変わってしまう波乱がありましたが、個人的には楽しめる内容でした。 Twitterの国際化や形態素解析などの話が聞けたのがすごく面白かったです。 アーキテクチャや利用されている形態素解析器の話など、また、現状の問題点なども話が聞けました。 日々、進化しているんだなぁと。 残念ながら、発表者の方が懇親会にいらっしゃらなかったので、詳しく聞けませんでしたが、挨拶だけは出来ました。 実際のテスト環境や導入方法、A/Bテストとかやってるのかなど、ブログをかきながら色々と気になることが出てきてしまいますw 頭の回転がよくないので、話を聞いてる間は質問があんまり思い浮かばなかったなぁ。。。

その他にも(使ったことなくてすみません。。。)「昼会」のサービスの話、他の言語でのTwitterの活用の話も聞けました。

途中で帰ってしまいましたが、懇親会でも数人の方とお話できて、楽しかったです。 (今回の懇親会会場はちょっと人数の割に手狭だったかもなぁ)

次回は4月末を予定しているようでした。今度こそ、利用規約の話になるんですかね? 忙しさを見つつ、また参加しようかと思います。

ということで、いつものメモです。


開催日時:2012/03/21 19:00 ~ 21:00場所:ハロー会議室shibuya Zusaarのページ

◎Twitterの日本語検索、ハッシュタグについて @keita_f


 ◯アーキテクチャ
  ・Twitterバックエンドの国際化
   Before
    各言語ごとに独自実装。
   After
    共通テキスト処理ライブラリ:Penguin
  ・アーキテクチャ:検索
   Firehose → ingester → Earlybird ⇔ Blender ← ユーザの検索
   Firehose:ツイートの受信
   ingester:ツイート解析
   Earlybird:Luceneベースのインデクサ
   Blender:
  ・アーキテクチャ:トレンド
   TrendsはGeo(ユーザ位置情報)を利用してるっぽい。
   Term Statisticsは過去ツイートからHadoopで頻出フレーズを解析する。
   今頻出しているフレーズ+過去頻出しているフレーズ
 ◯日本語関連
  ・ツイートの言語判定
   言語判定にはIndigenous Tweets(Kevin Scannell)をベースに実装。
   50言語サポート、Javaで実装
   ・文字種チェック
   ・エンコーディングチェック
   ・Ngram(the→英語、das→ドイツ語)
   問題点:
    2つ以上の言語が混じってる場合
    絵文字が入ってる場合
    Unicodeアルファベット
  ・形態素解析
   日本語:Gomoku
   中国語:LuceneのSmartCN
   その他:N-Gram
   問題点:
    形態素が小さすぎる
    →そのままだと細かすぎるので品詞情報を元に大きめに区切るようにしている
    iPhone4Sなどが数字で区切られる
    →ASCIIの数字とアルファベットは連結しなおす
  ・フレーズ抽出
   他の言語もあったけど、キー入力間に合わず
   日本語の場合:
    トークンに分割
    トークンでNgramを生成
    品詞情報を使ってフィルター
     最初、最後が助詞はNG、接頭詞で終わるのはNG
   
  ・やりたい事はまだまだたくさん
   ・形態素解析の品質向上
    辞書への単語追加
    韓国語、タイ語のトークなイザー
   ・同義語、類義語、翻訳、音訳、略語などのサポート
   ・フレーズ・トピックのクラスタリング
   ・Sentiment Analysis
  ・日本語のできるエンジニア募集中w
  QA
   Q:顔文字を手動で抜き出すと言われたんですが、どのくらいあるんでしょうか?   A:正規表現なので、なんとも言えませんが、パターンを
   Q:Gomokuの選択の理由は?
   A:Javaだから。jarに辞書が入るから。スピードが出るから。

◎ランチタイム共有サービス「昼会(http://www.hirukai.jp/)」のご紹介 @setomits

 
 ◯前提
  ・ネットワーキングは重要
  ・出会いも重要
  ・飲み会だとコスパが悪い
 ◯ランチだと
  ・金額が限られる
  ・必ず食べる
  ということで、昼会だ!
 ◯画面でサービスの説明
  パブリックな昼会、プライベートな昼会がある。
 ◯なんでTwitter?
  LinkedInのOAuthを使ったログイン検討してた。
  ビジネス目的+
  敷居が高いのでTwitterに変更
 ◯Twitterのapiで利用しているものなど
 ◯ユーザの声
  ・DMを使ってる=自分からのDMが気持ち悪い
   APIの使用制限やフォローしてもらう必要があるのが辛い。
   - スパムかと思った
   - 乗っ取られたかと思った。
   - エンジニアからは、「まぁ、こうするよね」
  ・OAuthについて
   - ユーザ登録しなくていいのは嬉しい
   - イベント参加のためにOAuthでの書き込み権限まで与えたくない
 ◯8ヶ月経って
  ・新しい出会いがあった
  ・昼会を開催する敷居が高い
   =なかなか使ってもらえない
 ◯今後の計画
  募集中!
  
 QA
  Q:AppEngineで月額どのくらい?
  A:料金改定前:数千円/1ヶ月、料金改定後:2万円くらい/1ヶ月
    処理数を減らして、現時点では数千円/1ヶ月に最適化した
  Q:夜会はないんですか?
  A:設計していたら、出会い系サイト?になりそうなので、昼にした。
    ドメイン的になぁ。まだ悩み中
  Q:GAE特化したもの?AWSに移行できる作り?
  A:できない作りです。(pythonで書いてます。)
    GAEが楽なので、移行可能な作りにするのがつらい。

◎LT  ◯Twitter 4 contact @inda_re   ・広告!アジャイルサムライの道場


  ・問い合わせフォームをTwitterにしちゃう
   今あるHTMLにフォームを入れる方法(MySQLとPHP)
   githubにサンプルあるよ。

 ◯PerlのTwitterモジュールについて @xtetsuji


  ・前回出席したら、ムチャぶりが!
  ・いまどきのPerl
   進化してるよ、古い情報が検索で出てきてしまうのがネック
  ・perlbrewってのがある
   http://perlbrew.pl/
  ・AnyEvent::Twitter::Streamをよく使ってます。
  ・gistにサンプルあげてあるよ!

 ◯KotlinでもTwitter4J @ngsw_taro   ・Kotlinの説明   ・以下のサイトでインストールしなくても動かせるよ!    http://kotlin-demo.jetbrains.com/   ・NULL安全    Nullを許容する型、許容しない型がある。   ・一応、Twitter4Jのサンプルも作ったけど、ブログ見てね     http://d.hatena.ne.jp/ngsw_taro/

 ◯締め  Twitter API勉強会ではスピーカーを常に募集中です。登録はこちら!

   


comments powered by Disqus