- 1 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 20:31:21 ]
- このスレッドでは、日本語の構文解析、談話理解、情報検索、
文章生成などの技術に関する理論と(おもに)実装を扱います。 あくまでアプリケーションプログラミングの技術的な面に重点をおきたいので、 学術的な話はアリですが、いわゆる人工無能や哲学的AI話、 言語学の話題などは他のスレッドでお願いします。 前スレ:自然言語処理スレッド その2 pc11.2ch.net/test/read.cgi/tech/1173105287/ 次スレは>>980
- 2 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 20:33:59 ]
- 形態素解析
- Juman: nlp.kuee.kyoto-u.ac.jp/nl-resource/juman.html - ChaSen: chasen.naist.jp/hiki/ChaSen/ - KAKASI: kakasi.namazu.org/ - MeCab: mecab.sourceforge.net/ 依存構造解析 - KNP: nlp.kuee.kyoto-u.ac.jp/nl-resource/knp.html - CaboCha: chasen.org/~taku/software/cabocha/ Namazu - namazu: www.namazu.org/
- 3 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 20:35:44 ]
- 関連スレ
形態素解析と日本語処理 pc11.2ch.net/test/read.cgi/tech/1106606281/
- 4 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 21:18:03 ]
- 拠り所にする文法規則ってあるじゃん
めかぶならIPAとか でも諸説あってどれか定められない どの文法が機械処理に向いてるんだろう ってずっと考えてるだけで実装が進まない
- 5 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 03:51:37 ]
- //
/ / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ まピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
- 6 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 19:31:31 ]
- mecab の ipa (naist-jdic) は文法体系ってか品詞体系だと思うけど、
あの体系自体は機械処理に向けて作られたものなので、 考えて進まないくらいならあれでやっていいと思うが。
- 7 名前:デフォルトの名無しさん [2009/03/06(金) 14:05:39 ]
- 文書の重要度 (まともらしい、スパムらしいなど) はどう計ればいいですか。
人間が学習させると、未知の文書、外国語の文書に対応できません。 圧縮してサイズが激減する物は、重要でないと言えると思いますが 減らない物が重要とは言えないです。JPGが重要文書になってしまいます。 もし日本語の特徴を学習してしまうと、アラビア語、バルト語、ムー大陸語に対応できません。 人間が認識可能であるらしいこと、価値ある文書であるらしいことを判別したいんです。
- 8 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 14:10:49 ]
- 無理
- 9 名前:7 [2009/03/06(金) 14:27:54 ]
- 無理って事は無いと思うんです。
たとえば、英語なら使われる文字は40文字程度、日本語なら6000文字程度など限定的ですし、 平仮名や、「は」「が」が良く出現するとかの特徴で言語らしい判別は出来そうですが。
- 10 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 14:35:46 ]
- 教師付き学習でもカオスになりそうだな
- 11 名前:デフォルトの名無しさん [2009/03/06(金) 14:38:32 ]
- もともとの目標を書きます。
全文検索エンジンを作ろうとして、その性能を評価したいんです。 重要文書が上位に検索されるように、インディックス作成時のパラメータを調整したいんです。 そこで重要文書を別の方法で得点づける必要が出てきます。
- 12 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 14:41:19 ]
- >もし日本語の特徴を学習してしまうと、アラビア語、バルト語、ムー大陸語に対応できません。
特定の言語に最適化するつもりは無いんだろ? >たとえば、英語なら使われる文字は40文字程度、日本語なら6000文字程度など限定的ですし、 >平仮名や、「は」「が」が良く出現するとかの特徴で言語らしい判別は出来そうですが。 だったら特定の言語の特徴は関係ないだろ。
- 13 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 14:43:04 ]
- ランダムに打たれた文字、AA、普通の文書くらいの判別ならできるが
スパムとまともな文書(これらは主観的な判断)を見分けるには 重要度について客観的に評価できる形で厳密に定義する必要がある
- 14 名前:デフォルトの名無しさん [2009/03/06(金) 14:44:11 ]
- >>12
それは、例で出したんです。 多言語でも、頻出する語がある程度の割合ででるはずです。 「a」「the」「is」など。
- 15 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 14:49:00 ]
- >圧縮してサイズが激減する物は、重要でない
うそ臭いな
- 16 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 15:20:27 ]
- 14のいうスパムは意味のない文書のことではなくて
言語の体をなしていない文書のことなのか? それだとDMや文章系のコピペは重要で詩性の強い文学や歌詞は 重要ではないことになるぞ
- 17 名前:デフォルトの名無しさん [2009/03/06(金) 15:30:45 ]
- 想像する重要でない文書は、同じ単語、文が頻繁に現れる物、どんな人間も理解できない文書です。
コピペ文も理解できるなら重要と見なします。 コピペが同一文書に連続すれば、たとえば圧縮することで情報量が少ない事がわかります。 歌詞や文学もほぼ誰にも理解できないなら、価値を減らしたいです。 古代文字で現在解読されていなくても、古代人には理解できるなら価値を高めたいです。
- 18 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 15:41:25 ]
- 仮に可能であったとして完成したとしたら
これほど無用なものは無いな
- 19 名前:デフォルトの名無しさん [2009/03/06(金) 15:41:43 ]
- 下準備として、辞書無しで単語分割したいのですが良い方法ありますか。 あと類似単語を見つける方法ありますか。
類似文書については、たとえば3byteの固定長語の出現回数を測定してベクトル空間法を使えば簡単そうです。
- 20 名前:デフォルトの名無しさん [2009/03/06(金) 15:45:06 ]
- >>18
グーグルの方法だと、リンクの入力を計測しますから 新規の文書の価値は低く、名の知れたサイトの価値は高いです。 新規の文書や、リンクのない検索で使えると思いますが。
- 21 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 15:53:34 ]
- エントロピー次第って事か
- 22 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 17:30:47 ]
- 重要度とかいう俺様指標をきちんと定義しろよな。
あとは情報検索の入門書でも読め。
- 23 名前:デフォルトの名無しさん [2009/03/06(金) 18:36:44 ]
- 文書の重要度ではないのですが、自分で考えた重要単語( indexに登録すべき語 )の求め方を書きます。
3-gramで全文検索して、不要単語は登録しない物を目指してます。 たとえばabcが、全100万文書中20文書出現するとします。x=100万/20 or log(100万/20)とおきます。 abcが多くの文書で出現すればxは小さい値になり、abcはそれを含む文書を特徴づける単語ではありません。 もし大きい値であれば、abcは重要単語と見なせます。そしてその周囲の語も重要である可能性が高いです。 本来の区切りが3バイトとは限らない為です。そこでbを中心に左右に (線形的に) 値を減らながら値を割り振ります(加算します)。 これを全単語に対して行うことで、indexに登録すべき文書範囲が決まります。
- 24 名前:デフォルトの名無しさん [2009/03/06(金) 18:47:19 ]
- 23の方法である単語に対し、文書ごとの重要度が求められるのですが
この結果がホントに重要文書順を出力するのか調べたいんです。 たとえば、x = C + (100万/20) ^ r とした方がいいとか、 値を割り振るときに等比的に減少された方が良いとか、 考慮すべき所があります。
- 25 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 19:20:02 ]
- 頼む。
辞書無しで単語分割すること。 辞書無しで類似単語を見つけること。 知識無しで文書がスパムでないことを定量化すること。 文書の分類(言語、エンコード、分野などで分類)すること。 単語分割にはViterbi 、A*がいいらしい。
- 26 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:20:42 ]
- 全文検索するにはエンコードを特定しないと駄目だな。
SJISとEUCでN-gramで登録しても一方の検索がHITしない。 登録時はそのままにして 検索時に、全てのエンコードに変換して検索かけるという手はあるが 世界各国対応とすると検索回数が10回以上になる。 エンコードを決めて、N-gramするなら全ての言語の知識がいる。 どうすればいい?
- 27 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:36:35 ]
- 知識無しでエンコードする方法考えた。
ベクトル空間法で文書を分類し、つながりの確率から単語分割する。 頻出単語の昇順に番号を付ける。 もし同一言語でエンコードが異なる物は、単語のつながり方に関係があるはずで 上で付けた番号どおしで変換できる。
- 28 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:50:07 ]
- しかし手間かかるから現実的でない。自動判別できるソフトを使うべきか
- 29 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:11:28 ]
- サポートする全言語の知識はどうやろうが必要だと思うけど……。
スパムかどうかは普通読む人次第(読む人に関係なくスパムと見なされて いるのはアダルトかアフィリエイトかな、現在のところ。)だから、 読む人と無関係な基準を作れたとして、それが意味あるとは思えない。 「重要度」というオレオレ単語をどうにかしる
- 30 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:27:47 ]
- 文書、言語として成り立っている物は正常なんです。
アダルトでも文法が正しく読めるならいいんです。 日本人の多くはアラビア語はわかりませんが、文法が正しく理解可能ならいいんです。 JPGファイルは情報量は多いですが、人間が理解できません。 適切なエントロピーである事が一つの条件になると思いますが厳密な定義はわかりません。
- 31 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:30:03 ]
- いま試しに、言語の知識なしで、まともな文書を生成する事をやってます。
文書データは使いますが、文法や分かち書き辞書などは使いません。
- 32 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:20:42 ]
- よー分からんが
Colorless green ideas sleep furiously. というのは文法的には正しいのに意味をなさない文として有名だけど、 これは OK ってことだよね。 単語分割くらいならがんばればできると思うけど、それ以上は難しいかも。 単語分割はエントロピー的なもので教師なしに分割するという話は腐るほど あるので、検索すれば出てくると思うけど…… 最近の話だったら ttp://nl-ipsj.r.dl.itc.u-tokyo.ac.jp/NL190program.html ベイズ階層言語モデルによる教師なし形態素解析 ○持橋大地, 山田武士, 上田修功(NTTコミュニケーション科学基礎研究所) 言語の文字列を階層Pitman-Yor過程による文字-単語階層nグラムモデルの 出力とみなし, ベイズ学習を行うことで, 教師データや辞書を一切用いな い形態素解析を可能にする。これにより, 教師データの存在しない古文や 話し言葉,口語体などの形態素解析と言語モデルの作成が可能になる。 だと思う
- 33 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 22:13:56 ]
- たとえば、 私 俺 わたくし オレ が似ていることを決定することもなかなか難しい。
プログラマは、国語学の知識は無いとして、品詞分解や文法として正しい文を組み立てられる物か。
- 34 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 13:09:54 ]
- >>33
それは周辺の文脈を使って単語クラスタリングすればある程度分かるし、 そこまで言語学の知識なくても、周辺の N 単語を使うとか、 bag-of-words を使うとかすればいいし。 品詞を決めようとすると正解タグづきコーパスがないと難しいんじゃないかなぁ
- 35 名前:デフォルトの名無しさん [2009/03/08(日) 13:32:09 ]
- 品詞名は決まらなくて良いんです。
本来、動詞、名詞と分類されるグループに含まれるっぽいという事がわかれば。 そのほか、英文とドイツ語が混在している文書ならは、英語っぽい、ドイツ語っぽいとかいう分類もあります。 でも今は単語分解してます。 辞書無しで短時間で分解したいんですが難しいです。 たとえば2バイトごとのつながりの計測はすぐに済みますが、 その統計を使ってabcdeというつながりが高確率であり得ると出ても、2語しか比較してないので 実際に文書から出現回数を求めてみないとわかりません。 このチェックを毎回していたら大分時間掛かります。
- 36 名前:デフォルトの名無しさん [2009/03/08(日) 14:45:46 ]
- 繋がる部分は長めになるけど、分割部分は2バイトあればわかるか。
たとえば、abcxyが、本来abcとxyにわかれるならば、bcとxyのつながりに比べてcxのつながりは弱い。
- 37 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 14:51:50 ]
- だから品詞名が必要ないなら単語分割したあとクラスタリングすればいい、
って言っているんだが。。。それが動詞っぽいクラスタであるか名詞っぽい クラスタであるかは人間が見て分かるだけで、クラスタリングでは自動で クラスタのラベルはつけないし。 あと前も書いたけど辞書なしで単語分割する手法も研究レベルでは たくさんあるし、そういうの参考にすればいいんじゃないの? 短時間でできるかどうかは自分で実装したことないので分かんないけど。 どちらかというと暗号解読系の技術に近いことがしたいのかもね。 サイモン・シンの「暗号解読」はちょうど未知の言語の判別問題について どんな手法があるか書いてあるね。古代の言語(文字)の解読の話題も 書いてあったと思うので、そういうの読んでみたらいいんじゃない
- 38 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 14:58:28 ]
- 重要度順に並べるとどうなるか脳内でシミュレーションできない?
たとえばこのスレで重要度が高くなって欲しいレスと低くなって欲しいレスは どういうの?
- 39 名前:デフォルトの名無しさん [2009/03/08(日) 15:11:53 ]
- ほとんど空白ばかりの文書、JPGの中身をコピペした文書は重要でありません。
エントロピーが適度で、人間が先を予測出来る文書が重要らしいと思うのですが厳密にはわかりません。 そこでまず人間に重要らしいと思わせられる文書を自動生成されてみようと思いました。 >>37 トン。 サイモン・シン読んでみます。 もともとの目標が全文検索エンジンを作る事なので、知識0のままで高速にindexを作りたいんです。
- 40 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 18:48:42 ]
- 言語と絵の境界は曖昧だよ。
- 41 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 23:16:30 ]
- >>39 ああ、そうするとデータ圧縮系の話が興味あると思う。
どのように符号化すれば圧縮限界に近づくかとかそういうことだよね。 でも自然言語はあえて冗長な部分があったり (70% 削っても人間は元の文が復元できるとかいう実験結果があった。 数字はいいかげん)、一次元の尺度ではうまくいかないんじゃないかなぁと思う。 機能語は単純な頻度とか圧縮率で抽出できると思うけど、 内容語は頻度もそんなにないし曖昧性もあるし。 機能語だけに着目して言語判定できるかというとそういうものでもないし。 前文字コード判別でバイト列の N グラムを作って判別したことあるよ。 この場合単語分割する必要すらないんで……。 知識ゼロで作るのは研究としては意味あるけどねー 精度的にはまだまだなんで、かなりブラッシュアップが必要だと思うよ
- 42 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 14:43:57 ]
- スレ違い
- 43 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 19:33:21 ]
- は?
- 44 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 22:58:51 ]
- >>43
しね
- 45 名前:デフォルトの名無しさん [2009/06/19(金) 04:51:03 ]
- つながりの確率を求めて単語分割したいんだけど2バイト同士のつながりの統計を取ろうとすれば、
4バイト(int) * 2の32乗 の記憶域が必要になる。(出てこない文字を削れば減るが) 単語は、2語より長くなるから、もっと記憶域を使うことになる。 たとえば、「プログラ」のあと、「ム」「ミング」が来やすいという統計を取ろうとすれば 相当の記憶域が必要。 どうすればいいんでしょうか? x,y,z,v,wを16bit数とし、「プログラム」の個数を数えるには sum[x][y][z][v][w]という配列にアクセスするようなものと思うのですが。
- 46 名前:デフォルトの名無しさん [2009/06/19(金) 04:55:45 ]
- 全角で8語くらいまでの統計が求められれば、たくさん自動学習させることで、
どんな既存の辞書も使う事無しに精度はかなり良いと思います。 PPM圧縮を調べたのですが、長い単語の対処方法がわかりません。
- 47 名前:デフォルトの名無しさん [2009/06/19(金) 13:52:06 ]
- 頻出する (2語、4バイトの) 単語が求め、それに2バイトを割り当てて
再び、4バイトの単語の統計をとれば、長い単語が求められそうです。
- 48 名前:デフォルトの名無しさん [2009/09/12(土) 07:03:04 ]
- 特徴語、重要語の求め方教えて。
辞書による単語分割は使わず。 中国語、漢語でも可能な方法。
- 49 名前:48 [2009/09/12(土) 08:07:55 ]
- 何度もデータを読みに行くのは辞めたい。 一度のロードで済ましたい。時間食うので。
例えば、一度目の読み込みで単語辞書を決定し、2度目で単語の回数を測定するとか。 5Gのデータ群だと、2回読めば10Gになり時間食う。 読み込みは、一度だけでいい方法ありますか。
- 50 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 11:41:37 ]
- >>49
64bitOSで32GBくらいRAMを積めばOK。
- 51 名前:48 [2009/09/12(土) 17:38:28 ]
- 再読み込み、巨大メモリを使って
試行錯誤せず (計算多くせず) 済む方法が知りたいです。 辞書無しの方法がいいです。
- 52 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:43:09 ]
- 5Gを全て使わずとも適当にさっぴいてやればいい
- 53 名前:48 [2009/09/12(土) 20:54:34 ]
- 具体的には、500Mを利用して単語辞書を作成するとかですか?
5Gは複数ファイルの合計値です。 各ファイル毎に特徴語を求めたいです。 辞書に漏れた単語のランク付けがうまくいかないと思うのですが?
- 54 名前:デフォルトの名無しさん [2009/09/12(土) 20:58:45 ]
- 単語辞書だと、「単語」「辞書」に分かれますが、「語辞」と間違えて抜き出したら
「単語」や「辞書」が一つも出現せず、「語辞」が多く出る文書の特徴語と同じになってしまいます。 これをどのように回避するのかが重要と思うのですが?
- 55 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:35:43 ]
- クラスタリングで、文書のドメイン特定してから
そのドメインにおいて、単語辞書 を 単語 辞書 とすべきか 単 語辞 書 にすべきかを HMMなり使って最大になる分割を決めればいい。 と、素人ながらに思ったが。 特徴語が同じになるって話だから、そもそもクラスタリングがうまく行かない可能性が高いかw
- 56 名前:デフォルトの名無しさん [2009/09/12(土) 21:47:51 ]
- 短時間、辞書無し、何言語でも、特徴語を抜き出したいです。
HMMは、確率的に最も有り得る単語分割を決定するって事でしょうか。 これを行ってからだと相当時間食いそうなのが難点です。
- 57 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 23:06:47 ]
- それは無理。
辞書ありの形態素解析器ですら、使ってるんですから。 確率使わずに、最適な分割例を決めるとか、無理でしょw
- 58 名前:デフォルトの名無しさん [2009/09/12(土) 23:11:23 ]
- 確率は使うのは良いんですが、膨大な時間を使うのを回避したいです。
- 59 名前:デフォルトの名無しさん [2009/09/12(土) 23:15:43 ]
- 特徴語を決定するのに、全ての単語の単語分割が必要なのかどうかも疑問です。
- 60 名前:デフォルトの名無しさん [2009/09/13(日) 03:53:43 ]
- まずビタピ(ビーム)サーチやってみます。 ABCDはそれぞれ1語(16bit)としたとき
分割方法は8とおりありますが、Aが1000回出現してABは5回出現ならABが繋がる確率は1/200でしょうか? 一方でBが10回しか出現しないとすれば1/2になりますが、これは少ない方(確率の高い方)を採用すれば性格でしょうか? ABCD ABC-D AB-CD AB-C-D A-BCD A-BC-D A-B-CD A-B-C-D
- 61 名前:60 [2009/09/13(日) 06:16:05 ]
- 2語の統計とっても、ABCDなど3語以上の出現確率が不明だ。
3語、4語、5語と統計取るのはメモリ容量から実現難しい。 2語(16bit)でやる人は多いと思いますが、3語以上の確率はどう求めますか?
- 62 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 11:39:25 ]
- >45辺りから全力で間違った方向に進んでいるような気がする。
疎行列とか連想配列とか使えよ。
- 63 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:36:47 ]
- 便乗の質問です
>>60 A 1000回 AB 5回 B 10回 こんな場合だとAとABとBを単語として認識することになるんでしょうか。 もしABがあった場合、これはどの単語が出現したとカウントするんでしょう。 AとABとB、三つともカウントですか?
- 64 名前:60 [2009/09/13(日) 15:07:26 ]
- >>63
カウントは、出現したやつは全部カウントしないと統計取る意味ないじゃないですか。 よく繋がる語を、単語と見なすんです。 同じ語の繋がりでも文意によっては変わるんです。日本語変換と同じです。
- 65 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 16:18:06 ]
- なるほど。
語Aと語Bの複合語ABがあった時にもA, B, ABを全部カウントですね。 辞書ありの形態素解析なんかでは最長一致の事が多いから、ABだけですよね。
- 66 名前:デフォルトの名無しさん [2009/09/18(金) 08:41:15 ]
- 必要と思うので、グーグルのメモリ管理、mapとicuの導入方法をここに記す。
いまから調べる。 windows XP 32bit visual c++ 2008を元にする。
- 67 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 23:32:43 ]
- 文章のクラスタリングをするために適当な固定次元の特徴ベクトルで表現できないかと思っています
どんなベクトル表現が適切でしょうか
- 68 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 23:55:25 ]
- 日本語処理はrubyが充実しててpython使ってる人があまりいない気がする
- 69 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 23:56:36 ]
- それは完全に気のせいです
- 70 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 09:25:54 ]
- I18Nのハンドリングは自然言語処理と基本的に関係ありませんから。
- 71 名前:デフォルトの名無しさん [2009/09/27(日) 12:21:03 ]
- >>67
2文字か3文字(32-48bit)ごとの統計を取って、2の32乗のベクトルと見なす。 そのベクトルのうち直交しているものをいくつか選び出す。 たとうば、20個選べば、20次元の座標に、それぞれの文書を特徴づけられる。
- 72 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 01:07:42 ]
- 自然語処理って強化学習と相性よさそうなのに
あんまり話を聞かないのは,ダメだってことかな
- 73 名前:71 [2009/09/28(月) 08:03:50 ]
- >>67
一緒に作るか?前から文書分類しようと考えていた
- 74 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 08:29:39 ]
- ベイジアンスパムフィルタは、判定結果(あるいはその判定を人間がさらに判定した結果)に
もとづいて学習させてるじゃない?
- 75 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 08:56:48 ]
- >>71
意味通じない
- 76 名前:71 [2009/09/28(月) 14:14:58 ]
- >>75
ABCDEFG・・・は2バイト文字とする。 ABC、BCD、CDE・・はそれぞれ一回ずつ出現する。出現した物をカウントする。 すると、2の48乗次元ベクトル空間が得られる。 似ている文書では、同じ箇所がカウントされやすくそのベクトルの類似がはかれる。 これでは、計算量の点から、クラスタリングが困難なので 直行している基底をいくつか選んで射影をとってクラスタする。 すると、20次元くらいなどにおさえられる。
- 77 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:50:03 ]
- 文字コードが一文字nビットm文字単位だとだと(mn)^2次元ですか。
どうしてそう無駄なパラメータ入れるかな。
- 78 名前:デフォルトの名無しさん [2009/10/09(金) 10:16:43 ]
- 高速クラスタリング考えた。偶然良いクラスタに入る法、良いクラスタを選択する法の2つ。
※クラスタの中心を求めるコストは無視できるとする。 前者。 データを100個、1000個など一定数になるように等分する。N等分されたとする。 クラスタnの中心を求めてそれと離れている (関係が薄い) ものをクラスタn+1へ移す。 n=Nのときだけ、クラスタ0へ移すか、新規クラスタへ移すかを選択する。 次クラスタへ移す条件=悶値を徐々に上げていくことで分割が完了する。 後者。 始めにクラスタの中心を関係が薄いもの (直行しているベクトル) 同士で選び出す。 0 < a < b < 1を適当に設定して、クラスタの中心との内積値がbを超えたら、そのクラスタに属すものとする。 すべてのクラスタの中心との内積値が、a未満ならどこにも属さない新規クラスタとする。 こっちは一度の走査で分割が完了する。
- 79 名前:78 [2009/10/09(金) 10:23:47 ]
- 後者は、内積値が最大になるクラスタへ移すのが最善だけど、
時間食うので、bを超えたらそこにしてしまいます。 より良いクラスタがある可能性はあります。 後者で荒く分割 (a,bは0に近い) してから前者を用いるのもいいかもしれません。
- 80 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 10:48:26 ]
- >>78
どこが高速なの?
- 81 名前:78 [2009/10/09(金) 11:01:06 ]
- 前者をK-means法と比較すると、
クラスタに合わないもの(悶値以下のもの)は、そのまま次のクラスタへ入れてしまう所。 たまたまそこが良かったらそのままにする。 K-means法は合うところを試行錯誤して選ぶ。 後者は、一度の走査で入る場所を確定できる。
- 82 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 11:47:09 ]
- >>81
前者は収束が鬼のように遅くなるだけの気がするけど?
- 83 名前:デフォルトの名無しさん [2009/10/09(金) 12:19:02 ]
- 文書分類するやついま作ってる。それを動かしてもらうとわかりやすいはず。
- 84 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 17:03:33 ]
- >>78>>81
悶値って何? 閾値じゃなくて?
- 85 名前:デフォルトの名無しさん [2009/10/09(金) 17:40:07 ]
- まちがえて似た字を当てはめたかも?
- 86 名前:デフォルトの名無しさん [2009/10/09(金) 17:42:28 ]
- スマン
いきち = 閾値 は、字だけみた事あって読みを知らなかった。
- 87 名前:デフォルトの名無しさん [2009/10/09(金) 17:45:25 ]
- 閾値の読み方
閾値の本来の読み方は「いきち」で、「しきいち」は慣用読み。「閾」の字は日本人になじみが薄く、第二次大戦後、当用漢字外とされたため、字義である「敷居(しきい)」の語を当てたものと思われる。「閾」の訓読みは「しきみ」。 しきい値 - Wikipedia
- 88 名前:デフォルトの名無しさん [2009/10/20(火) 10:36:29 ]
- 日本語の判定テストレポート
対象ソフト。 universalchardet-1.0.3 code.google.com/p/juniversalchardet/ icu4c-4_2_1 site.icu-project.org/ nkf-2.0.9 sourceforge.jp/projects/nkf/releases/ libguess-0.2.0-d7 www.honeyplanet.jp/download.html 対象サンプル。 一部文字化けを含むネット上ニュースまたはwindowsXPのバイナリファイル。 個数 バイナリ 2300、 UTF8 5200、 SJIS 4100、 JIS 3800、 EUC-JP 2000 速度。 libguessがもっとも速くこれを1としたときの比較。 ICU 185、 nkf 30、 universalchardet 10 正解率。 libguess 0.99971(5個)、 ICU 0.9996(6個)、 nkf 0.998567(25個)、 universalchardet 0.969221(537個) まとめ。 libguess( 関数 guess_jp)とnkfは日本語限定の判定。 ICUとuniversalchardetは判定可能な全ての言語での判定。 ICUは一致率60未満でバリナリと判定しこのとき4つのバイナリが西ヨーロッパ言語、2つのEUCが中国語となった。中国語と判定されたケースはもともと漢字が多く言語判定ではICUがもっとも正確といえる。 nkfの25個はSJISをバイナリと誤認した。universalchardetは、バイナリを言語、言語をバイナリなど間違えるケースが多発した。 日本語限定であればlibguess。 世界各国語が対象なら判定速度は遅いがICUがいい。
- 89 名前:デフォルトの名無しさん [2009/10/20(火) 10:43:02 ]
- ↑
正解率の括弧は、間違えた個数です。
- 90 名前:デフォルトの名無しさん [2009/10/24(土) 18:54:24 ]
- >>83
おい、はやく報告しろ。
- 91 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 19:16:16 ]
- アイデアのみで実装してないけど、自然言語処理にウェーブレット
使ったらどうだろう?
- 92 名前:デフォルトの名無しさん [2009/11/05(木) 09:17:25 ]
- >>90
クラスタリングは諦めた。 それほど関連のある文書は多くない。 正しい分類が出来たところでほとんどは関連がない。 対象はたとえば世界中の文書。 ある一つの文書を指定したとき、関連する文書をサーチするのでいいや。 これは少ししたら上げる
- 93 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 09:32:42 ]
- やっと悪金解除された・・・
>>92 それはデータが少ないからじゃないのか? どの位のデータなんだ?
- 94 名前:デフォルトの名無しさん [2009/11/11(水) 05:16:35 ]
- 100万件を10個程度ずつ10万個に分類したところで意味があるか。
人間にとって価値がないと思う。 いかに速く分類できたという数値測定は意味あるだろうが・
- 95 名前:デフォルトの名無しさん [2009/11/11(水) 05:22:36 ]
- 100万件の分類には相当時間かかるから、人間がデータを与えたら
それと似た文書を高速で検索できれば十分という考えになった。 100万などやったら、数時間〜一日とかかかるだろ。ずれなく分類使用した場合。
- 96 名前:デフォルトの名無しさん [2009/11/16(月) 16:17:41 ]
- >>90
重要そうな文書を指定個数だけ勝手に判断して、 それと類似する文書を抜き出すのは出来た。 クラスタリングは全てを分類しなければならず大変だが これなら短時間で可能。
- 97 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 07:48:06 ]
- ふう、悪金解除されたと思ったらまたされて、ようやく解除された・・・
お、ちゃんと進めてるみたいじゃん。 それってk-NN検索だね。 でもそれを効率良く(高速に)行なおうとすると索引が必要になって、 索引作りって半ばクラスタリングしてるようなもんになってない? ところで100万文書というとかなりのもんだけど、やっぱウェブ?
- 98 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 08:38:35 ]
- 昨日まちがえて Tully's cafe でキャラメルマキアート頼んでしまったが
店員さんは適当にキャラメルトッピングのホットコーヒーを作ってくれた
- 99 名前:デフォルトの名無しさん [2009/11/23(月) 09:51:13 ]
- 特徴ベクトルを抜き出す部分までは言語処理だけど
クラスタリングは別分野になるな。 画像でも、ベクトルさえ抽出できていたら 分類するのは言語でも共通するから。
- 100 名前:デフォルトの名無しさん [2009/11/23(月) 11:04:56 ]
- ファイル群の特徴ベクトル抽出に一時間掛かったとしても
ほぼ無視出来るほどの時間だろう。 これに比べて分類は数倍-数十倍掛かるだろうから。 あと、クラスタリングより類似画像抽出のほうが困難と思った。 大きな分類だけではなく、ひとつひとつの対応まで必要だから。 これを高速で行えれば言語でも使える。
- 101 名前:デフォルトの名無しさん [2009/11/23(月) 11:10:51 ]
- 基底となるベクトルを3つ、4つなど数個を設定して
それとの類似度を計算して3次元、4次元座標に移し替えれば クラスタリングしやすいと思った。 これを計算量は3n、 4nで分類に比べた無視出来る程度。 これで距離が近い物は元々似ている可能性があり 離れていれば、元々似ていないことが決定する。
- 102 名前:デフォルトの名無しさん [2009/11/27(金) 00:39:26 ]
- わかち書きってどのようなアルゴリズムでやるんですか。
辞書は与えられたとして最長一致にしたいのですが。
|

|