SlideShare a Scribd company logo
1 of 27
Download to read offline
OECU Visual Media Lab.




   Perl で KyTea

                         大阪電気通信大学
                  吉岡 康平 (@_pawa_)
                          2011 年 11 月 26 日

                            Kansai.pm #14    1
OECU Visual Media Lab.   Kansai.pm #14




自己紹介
  大阪電気通信大学 3年生
  視覚・メディアの研究室( 3 年次に卒研がある)
  趣味:草野球




                                    2
OECU Visual Media Lab.        Kansai.pm #14




KyTea とは
  読み方:きゅーてぃー

  JUMAN ・ ChaSen ・ MeCab より新しい,形態素解
  析も可能なテキスト解析器

  特徴
      簡単に分野適応が可能
      読み・発音推定も可能


                                         3
OECU Visual Media Lab.                  Kansai.pm #14




第 8 回 NLP 勉強会にも登場!?
  2011 年 11 月 23 日
  「点予測による自然言語処理」
  ハッシュタグ: #TokyoNLP
  発表資料: http://plata.ar.media.kyoto-
  u.ac.jp/mori/research/public/TokyoNLP11Nov.pdf
      NLPer じゃない人が見たら -> 「なるほど、わからん」



                                                   4
OECU Visual Media Lab.                  Kansai.pm #14




Perl での使用例 (1/2)
1.KyTea のインストール
      root 権限がないレンタルサーバ等の場合は「 --prefix 」
      でインストールディレクトリを変更する

2.Text::KyTea のインストール
      cpanm Text::KyTea
      cpanm -v Text::KyTea または
      cpanm –-interactive Text::KyTea
      (インストールディレクトリを変更した場合)
                                                   5
OECU Visual Media Lab.                                Kansai.pm #14




Perl での使用例 (2/2)
3.解析
      my $kytea = Text::KyTea->new(%config);
      $kytea->parse($text);

4.出力
      農産      名詞 /2.70334713695609   のうさん /100
      物       接尾辞 /1.6587805017786 ぶつ /1.98600310003943
      価格      名詞 /2.52071395143603   かかく /100
      安定      名詞 /2.71772008997416   あんてい /100
      法       名詞 /1.77926630244534   ほう /100
      を       助詞 /4.1659655242444    を /100
      施行      名詞 /2.37552852395856   しこう /1.80822732106356       6
OECU Visual Media Lab.                         Kansai.pm #14




読み推定のレベル
  正解
      小鳥遊さん              ->   たかなしさん
      長野久義               ->   ちょうのひさよし
      鏡音リン               ->   かがみねりん
      薬袋                 ->   みない


  不正解
      高次元                -> たかじもと        (正解:こうじげん)
      巡音ルカ               -> じゅんおんるか      (正解:めぐりねるか)
      注連本                -> しめぼん         (正解:しめもと)  7
OECU Visual Media Lab.                  Kansai.pm #14




いろいろなモデル
  中国語用モデル
  ひらがなもでる
  (http://www.phontron.com/kytea/model-ja.html)

  京都大学 森准教授のモデル(森モデルと呼ぶ )
  (http://plata.ar.media.kyoto-
  u.ac.jp/mori/research/topics/ASR/)

                                                   8
OECU Visual Media Lab.        Kansai.pm #14




中国語用モデル
  「我是日本人。」
      我           wo3_
      是           shi4_
      日本          ri4_ben3_
      人           ren2_
      。           。_




                                         9
OECU Visual Media Lab.         Kansai.pm #14




ひらがなもでる
  「さいくろんまぐなむ」
      さいくろん 名詞
      まぐなむ 名詞


      デフォルトのモデルの場合
         さ               助詞
         い               語尾
         くろんまぐ           形状詞
         な               助動詞
         む               語尾

                                         10
OECU Visual Media Lab.    Kansai.pm #14




森モデル
  「黒毛和牛上塩タン焼き六百八十円」
      黒毛          クロゲ
      和牛          ワギュー
      上           ジョー
      塩           シオ
      タン          タン
      焼き          ヤキ
      六百          ロッピャク
      八十          ハチジュー
      円           エン
                                    11
OECU Visual Media Lab.                        Kansai.pm #14




KyTea の仕組み
  農 |1 産 |2 物 |3 価 |4 格 |5 安 |6 定 |7 法 |8 を |9 施 |10 行
      |1 ~ |10 に対して境界があるかないか推定


      例えば, |8 に境界があるかないか推定する場合
         |8 の周りの文字列
         |8 の周りの文字列の文字種(ひらがな・漢字など)
         辞書に含まれている単語
      から推定


      -> 農産 | 物 | 価格 | 安定 | 法 | を | 施工
                                                         12
OECU Visual Media Lab.    Kansai.pm #14




KyTea の使いどころ
  読み推定の機能が欲しい場合
  既存の形態素解析器では上手く解析できない場合
  ( e.g. ツイート,専門分野,み○くら語など)
      簡単に分野適応可能!




                                    13
OECU Visual Media Lab.        Kansai.pm #14




              MeCab より良い感じに

Twitter のツイートを形態素解析できる

             モデルを作ってみよう!



                                        14
OECU Visual Media Lab.                          Kansai.pm #14




用意するもの
  Linux か Mac OSX か CygWin (メモリ 3.5GB 以上)
  KyTea の分野適応ツールキット v. 1.0
      http://www.phontron.com/kytea/active-ja.html

  KyTea の素性ファイル
      http://www.phontron.com/kytea/train- ja.html#feature

  ツイート (とりあえず 1000 ツイートぐらい?)
      AnyEvent::Twitter::Stream などで収集可能
      target-train.raw というファイル名で保存
                                                          15
OECU Visual Media Lab.               Kansai.pm #14




ファイル移動
  KyTea の素性ファイル (kytea-0.3.2.feat)
  ツイート (target-train.raw)
      両ファイルともツールキットの data ディレクトリへ




                                               16
OECU Visual Media Lab.                Kansai.pm #14




ツールキット内の makemodel.sh の修正
  - GEN_CORPORA="-full data/wiki-sample.word"
  + GEN_CORPORA="-feat data/kytea-0.3.2.feat"

  「 -nope 」 という文字列を全て削除




                                                17
OECU Visual Media Lab.                     Kansai.pm #14




ツールキット内の merge-annot.pl を修正
  $2 =~ /([^ ?|-&][^ ?|-&])/ and die
  "Unmarked character bigram '$1' at $_n";
  ↑ をコメントアウト
  (単語分割のみの場合しか使えない)




                                                     18
OECU Visual Media Lab.         Kansai.pm #14




アノテーション(注釈付与) (1/3)
  $ ./makemodel.sh
      モデルが作成され,アノテーション(注釈付与)すべき
      箇所が選択される
      メモリ 3GB ほど使用する
      LIBLINEAR という高速なライブラリを使用しているの
      で,意外と速い( 10 分ぐらい)

  ツールキットの work ディレクトリに「 ddd.annot 」
  というファイルが生成されるので,
  ddd が最も大きいファイルを開く.
                                         19
OECU Visual Media Lab.                       Kansai.pm #14




アノテーション (2/3)
  [ ク - リ - ス - マ ! ス - ま - で - あ - と |4 7
  日 、 、 、 ♥]

  「 ! (半角)」を「 - 」(境界なし)や「 | 」(境界あり)に
  書き換えて前後の単語と併せてタグ付与
      「 ! 」意外でも目についた部分は書き換えて良い


  例)
      [ ク - リ - ス - マ - ス / 名詞 / くりすます | ま - で / 助
      詞 / まで | あ - と |4 7 日 、 、 、 ♥ ]
                                                       20
OECU Visual Media Lab.      Kansai.pm #14




アノテーション (3/3)
  全ての「 ! 」に同様の処理ができたら
  $ ./saveannot.sh


  良い感じになるまでループ
  ( $ ./makemodel.sh に戻る)




                                      21
OECU Visual Media Lab.                          Kansai.pm #14




顔文字も推定させたい場合
  global -1 で学習させる
      Makemode.sh を編集する
         # make the model
         echo "$TRAIN $TRAIN_OPT $GEN_CORPORA $DICTS
         -part save/$num.wann -model work/$num.mod"
         $TRAIN $TRAIN_OPT $GEN_CORPORA $DICTS -part save/
         $num.wann -global 1 -model work/$num.mod


  ヽ -(-´-▽- ` -)- / / 顔文字 /UNK
  のようにアノテーション                                             22
OECU Visual Media Lab.                Kansai.pm #14




作った Twitter 用モデルで解析
  「だよねー (´ ; ω ;` ) トイレで着替えなきゃwww」
      だ                  助動詞   だ
      よ                  助詞    よ
      ねー                 助詞    ねー
      (´ ; ω ;` )        顔文字   UNK
      トイレ                名詞    UNK
      で                  助詞    で
      着替え                名詞    きがえ
      な                  助動詞   な
      きゃ                 語尾    きゃ
      www                記号    わらわら
                                                23
OECU Visual Media Lab.                         Kansai.pm #14




もうちょっと難しそうなテキスト
  「ノノ * ` ω´* ルつお弁当」
      ノノ * ` ω´* ルつ 動詞         UNK
      お             接頭辞        お
      弁当            名詞         べんとう

      デフォルトのモデルの場合
         ノノ   名詞         UNK   つ    動詞  つ
         *    補助記号       UNK   お    接頭辞 お
         `    補助記号       `     弁当   名詞  べんとう
         ω    補助記号       おめが
         ´*   補助記号       UNK
         ル    補助記号       UNK
                                                         24
OECU Visual Media Lab.       Kansai.pm #14




Text::KyTea の高速化
  notag => [2]
      n 個目のタグを推定しない
      2 でデフォルトモデルの場合 -> 読みを推定しない

  tagmax => 1
      接頭辞 記号 言いよどみ などの候補の最大何個
      出力するか

  まだまだ勉強中です。 Text::KyTea にバグ・改善点
  などあれば気軽にお知らせください。 < ( . _ . ) >
                                       25
OECU Visual Media Lab.                     Kansai.pm #14




参考文献
  Graham Neubig ,中田 陽介,森 信介 : 点推定と能
  動学習を用いた自動単語分割器の分野適応 , 言
  語処理学会第 16 回年次大会 , 2010.

  Chin-Wei Hsu et al. : A Practical Guide to Supprot
  Vector Classification,
  <http://www.csie.ntu.edu.tw/~cjlin/papers/guide/
  guide.pdf>, 2010.



                                                     26
OECU Visual Media Lab.   Kansai.pm #14




       ご清聴ありがとうございました.




                                   27

More Related Content

Similar to PerlでKyTea

形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介Toshinori Sato
 
A Report on process Assessment for open source projects
A Report on process Assessment for open source projectsA Report on process Assessment for open source projects
A Report on process Assessment for open source projectsKiyoshi Ogawa
 
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)Junichi Akita
 
ニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみたニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみたJunichi Akita
 
福岡市LoRawan(TM)実証実験
福岡市LoRawan(TM)実証実験福岡市LoRawan(TM)実証実験
福岡市LoRawan(TM)実証実験Kaz Ueno
 
CloudStack&日本CloudStackユーザ会のご紹介(仮)
CloudStack&日本CloudStackユーザ会のご紹介(仮)CloudStack&日本CloudStackユーザ会のご紹介(仮)
CloudStack&日本CloudStackユーザ会のご紹介(仮)Yoshitake Takata
 
Scala Daysに行ってみて
Scala Daysに行ってみてScala Daysに行ってみて
Scala Daysに行ってみてKota Mizushima
 
第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説Hironori Washizaki
 
ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」Masaru Nagaku
 
20130714 eucalyptus habuka036
20130714 eucalyptus habuka03620130714 eucalyptus habuka036
20130714 eucalyptus habuka036Osamu Habuka
 
CRDF2011(20110225)
CRDF2011(20110225)CRDF2011(20110225)
CRDF2011(20110225)真 岡本
 
Osc tokyo20141019-last
Osc tokyo20141019-lastOsc tokyo20141019-last
Osc tokyo20141019-lastKiyoshi Ogawa
 
The way to the timeless way of programming
The way to the timeless way of programmingThe way to the timeless way of programming
The way to the timeless way of programmingShintaro Kakutani
 
プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介baban ba-n
 
2015.08.29 JUS共催勉強会資料
2015.08.29 JUS共催勉強会資料2015.08.29 JUS共催勉強会資料
2015.08.29 JUS共催勉強会資料umidori
 
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!デベロッパーネットワーク
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門ReNom User Group
 

Similar to PerlでKyTea (20)

形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
 
A Report on process Assessment for open source projects
A Report on process Assessment for open source projectsA Report on process Assessment for open source projects
A Report on process Assessment for open source projects
 
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
 
ニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみたニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみた
 
福岡市LoRawan(TM)実証実験
福岡市LoRawan(TM)実証実験福岡市LoRawan(TM)実証実験
福岡市LoRawan(TM)実証実験
 
OpenStack Now!
OpenStack Now!OpenStack Now!
OpenStack Now!
 
SensorBeeのご紹介
SensorBeeのご紹介SensorBeeのご紹介
SensorBeeのご紹介
 
CloudStack&日本CloudStackユーザ会のご紹介(仮)
CloudStack&日本CloudStackユーザ会のご紹介(仮)CloudStack&日本CloudStackユーザ会のご紹介(仮)
CloudStack&日本CloudStackユーザ会のご紹介(仮)
 
Scala Daysに行ってみて
Scala Daysに行ってみてScala Daysに行ってみて
Scala Daysに行ってみて
 
第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説
 
ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」
 
20130714 eucalyptus habuka036
20130714 eucalyptus habuka03620130714 eucalyptus habuka036
20130714 eucalyptus habuka036
 
CRDF2011(20110225)
CRDF2011(20110225)CRDF2011(20110225)
CRDF2011(20110225)
 
Osc tokyo20141019-last
Osc tokyo20141019-lastOsc tokyo20141019-last
Osc tokyo20141019-last
 
The way to the timeless way of programming
The way to the timeless way of programmingThe way to the timeless way of programming
The way to the timeless way of programming
 
プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介
 
不完全な文の構文解析に基づく同時音声翻訳
不完全な文の構文解析に基づく同時音声翻訳不完全な文の構文解析に基づく同時音声翻訳
不完全な文の構文解析に基づく同時音声翻訳
 
2015.08.29 JUS共催勉強会資料
2015.08.29 JUS共催勉強会資料2015.08.29 JUS共催勉強会資料
2015.08.29 JUS共催勉強会資料
 
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門
 

PerlでKyTea

  • 1. OECU Visual Media Lab. Perl で KyTea 大阪電気通信大学 吉岡 康平 (@_pawa_) 2011 年 11 月 26 日 Kansai.pm #14 1
  • 2. OECU Visual Media Lab. Kansai.pm #14 自己紹介 大阪電気通信大学 3年生 視覚・メディアの研究室( 3 年次に卒研がある) 趣味:草野球 2
  • 3. OECU Visual Media Lab. Kansai.pm #14 KyTea とは 読み方:きゅーてぃー JUMAN ・ ChaSen ・ MeCab より新しい,形態素解 析も可能なテキスト解析器 特徴 簡単に分野適応が可能 読み・発音推定も可能 3
  • 4. OECU Visual Media Lab. Kansai.pm #14 第 8 回 NLP 勉強会にも登場!? 2011 年 11 月 23 日 「点予測による自然言語処理」 ハッシュタグ: #TokyoNLP 発表資料: http://plata.ar.media.kyoto- u.ac.jp/mori/research/public/TokyoNLP11Nov.pdf NLPer じゃない人が見たら -> 「なるほど、わからん」 4
  • 5. OECU Visual Media Lab. Kansai.pm #14 Perl での使用例 (1/2) 1.KyTea のインストール root 権限がないレンタルサーバ等の場合は「 --prefix 」 でインストールディレクトリを変更する 2.Text::KyTea のインストール cpanm Text::KyTea cpanm -v Text::KyTea または cpanm –-interactive Text::KyTea (インストールディレクトリを変更した場合) 5
  • 6. OECU Visual Media Lab. Kansai.pm #14 Perl での使用例 (2/2) 3.解析 my $kytea = Text::KyTea->new(%config); $kytea->parse($text); 4.出力 農産 名詞 /2.70334713695609 のうさん /100 物 接尾辞 /1.6587805017786 ぶつ /1.98600310003943 価格 名詞 /2.52071395143603 かかく /100 安定 名詞 /2.71772008997416 あんてい /100 法 名詞 /1.77926630244534 ほう /100 を 助詞 /4.1659655242444 を /100 施行 名詞 /2.37552852395856 しこう /1.80822732106356 6
  • 7. OECU Visual Media Lab. Kansai.pm #14 読み推定のレベル 正解 小鳥遊さん -> たかなしさん 長野久義 -> ちょうのひさよし 鏡音リン -> かがみねりん 薬袋 -> みない 不正解 高次元 -> たかじもと (正解:こうじげん) 巡音ルカ -> じゅんおんるか (正解:めぐりねるか) 注連本 -> しめぼん (正解:しめもと) 7
  • 8. OECU Visual Media Lab. Kansai.pm #14 いろいろなモデル 中国語用モデル ひらがなもでる (http://www.phontron.com/kytea/model-ja.html) 京都大学 森准教授のモデル(森モデルと呼ぶ ) (http://plata.ar.media.kyoto- u.ac.jp/mori/research/topics/ASR/) 8
  • 9. OECU Visual Media Lab. Kansai.pm #14 中国語用モデル 「我是日本人。」 我 wo3_ 是 shi4_ 日本 ri4_ben3_ 人 ren2_ 。 。_ 9
  • 10. OECU Visual Media Lab. Kansai.pm #14 ひらがなもでる 「さいくろんまぐなむ」 さいくろん 名詞 まぐなむ 名詞 デフォルトのモデルの場合 さ 助詞 い 語尾 くろんまぐ 形状詞 な 助動詞 む 語尾 10
  • 11. OECU Visual Media Lab. Kansai.pm #14 森モデル 「黒毛和牛上塩タン焼き六百八十円」 黒毛 クロゲ 和牛 ワギュー 上 ジョー 塩 シオ タン タン 焼き ヤキ 六百 ロッピャク 八十 ハチジュー 円 エン 11
  • 12. OECU Visual Media Lab. Kansai.pm #14 KyTea の仕組み 農 |1 産 |2 物 |3 価 |4 格 |5 安 |6 定 |7 法 |8 を |9 施 |10 行 |1 ~ |10 に対して境界があるかないか推定 例えば, |8 に境界があるかないか推定する場合 |8 の周りの文字列 |8 の周りの文字列の文字種(ひらがな・漢字など) 辞書に含まれている単語 から推定 -> 農産 | 物 | 価格 | 安定 | 法 | を | 施工 12
  • 13. OECU Visual Media Lab. Kansai.pm #14 KyTea の使いどころ 読み推定の機能が欲しい場合 既存の形態素解析器では上手く解析できない場合 ( e.g. ツイート,専門分野,み○くら語など) 簡単に分野適応可能! 13
  • 14. OECU Visual Media Lab. Kansai.pm #14 MeCab より良い感じに Twitter のツイートを形態素解析できる モデルを作ってみよう! 14
  • 15. OECU Visual Media Lab. Kansai.pm #14 用意するもの Linux か Mac OSX か CygWin (メモリ 3.5GB 以上) KyTea の分野適応ツールキット v. 1.0 http://www.phontron.com/kytea/active-ja.html KyTea の素性ファイル http://www.phontron.com/kytea/train- ja.html#feature ツイート (とりあえず 1000 ツイートぐらい?) AnyEvent::Twitter::Stream などで収集可能 target-train.raw というファイル名で保存 15
  • 16. OECU Visual Media Lab. Kansai.pm #14 ファイル移動 KyTea の素性ファイル (kytea-0.3.2.feat) ツイート (target-train.raw) 両ファイルともツールキットの data ディレクトリへ 16
  • 17. OECU Visual Media Lab. Kansai.pm #14 ツールキット内の makemodel.sh の修正 - GEN_CORPORA="-full data/wiki-sample.word" + GEN_CORPORA="-feat data/kytea-0.3.2.feat" 「 -nope 」 という文字列を全て削除 17
  • 18. OECU Visual Media Lab. Kansai.pm #14 ツールキット内の merge-annot.pl を修正 $2 =~ /([^ ?|-&][^ ?|-&])/ and die "Unmarked character bigram '$1' at $_n"; ↑ をコメントアウト (単語分割のみの場合しか使えない) 18
  • 19. OECU Visual Media Lab. Kansai.pm #14 アノテーション(注釈付与) (1/3) $ ./makemodel.sh モデルが作成され,アノテーション(注釈付与)すべき 箇所が選択される メモリ 3GB ほど使用する LIBLINEAR という高速なライブラリを使用しているの で,意外と速い( 10 分ぐらい) ツールキットの work ディレクトリに「 ddd.annot 」 というファイルが生成されるので, ddd が最も大きいファイルを開く. 19
  • 20. OECU Visual Media Lab. Kansai.pm #14 アノテーション (2/3) [ ク - リ - ス - マ ! ス - ま - で - あ - と |4 7 日 、 、 、 ♥] 「 ! (半角)」を「 - 」(境界なし)や「 | 」(境界あり)に 書き換えて前後の単語と併せてタグ付与 「 ! 」意外でも目についた部分は書き換えて良い 例) [ ク - リ - ス - マ - ス / 名詞 / くりすます | ま - で / 助 詞 / まで | あ - と |4 7 日 、 、 、 ♥ ] 20
  • 21. OECU Visual Media Lab. Kansai.pm #14 アノテーション (3/3) 全ての「 ! 」に同様の処理ができたら $ ./saveannot.sh 良い感じになるまでループ ( $ ./makemodel.sh に戻る) 21
  • 22. OECU Visual Media Lab. Kansai.pm #14 顔文字も推定させたい場合 global -1 で学習させる Makemode.sh を編集する # make the model echo "$TRAIN $TRAIN_OPT $GEN_CORPORA $DICTS -part save/$num.wann -model work/$num.mod" $TRAIN $TRAIN_OPT $GEN_CORPORA $DICTS -part save/ $num.wann -global 1 -model work/$num.mod ヽ -(-´-▽- ` -)- / / 顔文字 /UNK のようにアノテーション 22
  • 23. OECU Visual Media Lab. Kansai.pm #14 作った Twitter 用モデルで解析 「だよねー (´ ; ω ;` ) トイレで着替えなきゃwww」 だ 助動詞 だ よ 助詞 よ ねー 助詞 ねー (´ ; ω ;` ) 顔文字 UNK トイレ 名詞 UNK で 助詞 で 着替え 名詞 きがえ な 助動詞 な きゃ 語尾 きゃ www 記号 わらわら 23
  • 24. OECU Visual Media Lab. Kansai.pm #14 もうちょっと難しそうなテキスト 「ノノ * ` ω´* ルつお弁当」 ノノ * ` ω´* ルつ 動詞 UNK お 接頭辞 お 弁当 名詞 べんとう デフォルトのモデルの場合 ノノ 名詞 UNK つ 動詞 つ * 補助記号 UNK お 接頭辞 お ` 補助記号 ` 弁当 名詞 べんとう ω 補助記号 おめが ´* 補助記号 UNK ル 補助記号 UNK 24
  • 25. OECU Visual Media Lab. Kansai.pm #14 Text::KyTea の高速化 notag => [2] n 個目のタグを推定しない 2 でデフォルトモデルの場合 -> 読みを推定しない tagmax => 1 接頭辞 記号 言いよどみ などの候補の最大何個 出力するか まだまだ勉強中です。 Text::KyTea にバグ・改善点 などあれば気軽にお知らせください。 < ( . _ . ) > 25
  • 26. OECU Visual Media Lab. Kansai.pm #14 参考文献 Graham Neubig ,中田 陽介,森 信介 : 点推定と能 動学習を用いた自動単語分割器の分野適応 , 言 語処理学会第 16 回年次大会 , 2010. Chin-Wei Hsu et al. : A Practical Guide to Supprot Vector Classification, <http://www.csie.ntu.edu.tw/~cjlin/papers/guide/ guide.pdf>, 2010. 26
  • 27. OECU Visual Media Lab. Kansai.pm #14 ご清聴ありがとうございました. 27