- hiromikai_green
- 2543
- 1
- 1
- 0
年末年始にTLで突如発生したマルコフ連鎖botブーム
そこで生まれたイカれた奴らを紹介するぜ!
機械化らこの作者、laco0416はアルゴリズムの改善を進めたいらしい
マルコフ連鎖だと文章が変になることが多いから自然言語処理のアルゴリズムを用いて改善したいとのこと
らこらこアルゴリズムの要点
- 文脈自由文法を採用したい
- 文脈自由文法を使うために文章をチョムスキー標準形であらわす
- 構文(文の要素)と品詞の対応関係のデータを集める
- 品詞と文字列の対応関係(語彙)を集める
- 文章構造はランダムあるいは何らかの確率で決め打ちして構文に対応する語彙を当てはめる
チョムスキー標準形やそれに登場する終端記号、非終端記号という用語の解説は以下がわかりやすい
というか形式文法を理解してないとWikipediaの説明は読めない
@laco0416 一般に、たとえば文脈自由文法であれば非終端記号として既知の品詞や句を割り当てるわけだけど、実際の文章はあれより高次の概念、あるいはより細分化された低次の概念が存在しているので、それらを機械的に抽出して組み込むと、より複雑な表現を自然に扱えると思ってる。
2014-01-10 00:14:24@laco0416 ああ、それもそうだね。あとはたとえば文としての構成的に、コピペの各単語を置き換えたネタツイとかよくあるじゃん。ああいうのは句の上位概念で文の下位概念みたいな位置づけ(なのか?)だと考えればああいった表現もうまく捉えられるかなと思って。
2014-01-10 00:19:40@kazoo04 @laco0416 それ、ある種テンプレをどうやってgenericに抜き出すかが分からんのだけど
2014-01-10 00:22:52@potetisensei @laco0416 教師なし学習で獲得させるしかない。真面目にやろうとすると階層Pitman-Yor過程とか出てくるので猛烈に面倒くさくなる。とおもう。
2014-01-10 00:24:29@kazoo04 ウーン、教師ありでk個の文字列から品詞分解して部分列(要素ni,nj,nk...から構成できるi<j<k)の長さが最大になるようにすればある程度の精度でないかな
2014-01-10 00:33:04@potetisensei 長い部分一致文字列は頻繁に出てくる(あいさつとか住所とか)ので、その方法は経験的にうまくいかない。長い文字列ではなくてなんらかの基準でもっともらしい部分文字列が欲しいわけだからね。
2014-01-10 00:35:30@kazoo04 というか良く考えると、教師ありで学習する時点である程度人力でサンプル探すわけだからテンプレを手で入力してテンプレ内の可変箇所に入れることのできる文法のデータとか突っ込んだ方が早い気がするんだけど
2014-01-10 00:41:08@potetisensei それが滅茶苦茶大変だから教師なしでやるんじゃん。日本語の階層構造やそれぞれの語や品詞を手でラベリングしていくって地獄だぞ。ただ少数のラベル付きデータと、たくさんのラベルなしデータで学習する方法というのはある(半教師あり学習/準教師あり学習)。
2014-01-10 00:43:03@kazoo04 いや、むしろ教師なし以外でやる価値を見出せてなかった。部分的な教師あり学習は確かに有効な場面があるのか。なるほどなー
2014-01-10 00:44:31