[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/09 13:38 / Filesize : 48 KB / Number-of Response : 181
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

自然言語処理スレッド その3



1 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 20:31:21 ]
このスレッドでは、日本語の構文解析、談話理解、情報検索、
文章生成などの技術に関する理論と(おもに)実装を扱います。
あくまでアプリケーションプログラミングの技術的な面に重点をおきたいので、
学術的な話はアリですが、いわゆる人工無能や哲学的AI話、
言語学の話題などは他のスレッドでお願いします。


前スレ:自然言語処理スレッド その2
pc11.2ch.net/test/read.cgi/tech/1173105287/

次スレは>>980

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 ]
わかち書きってどのようなアルゴリズムでやるんですか。
辞書は与えられたとして最長一致にしたいのですが。

103 名前:102 [2009/11/27(金) 05:21:43 ]
簡単かと思っていたら、LZH ZIPなど圧縮法と関係あるみたいですね。
圧縮は辞書から最長一列を求めることなので。

104 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 05:42:45 ]
ChaSenのソース読めばわかるよ。
色んなやり方があるけど、
基本的には当然、辞書の中の単語で文を切っていく
切っていくときに、単語の出現頻度を加味しながら、評価関数をmax(min)する組み合わせを探すだけ。
ChaSenなんかは、単語の頻度だけじゃなくて、品詞も見てて、
ある品詞が来たときに次の品詞は何になるかって情報を使ってるのね。(条件付き確率ってやつ)
(もしかすると、品詞情報を使って解くと言うより、品詞を当てるために使ってるのかもしれんが・・・)

で、ここまで書いてて俺がわかんなくなったんだけどw
あれってHMMをモデルに使ってるらしいけど、一体何を隠れ状態にしてるの?
品詞?単語?
あと、HMMつっても、解くときってどうやってるの?
確かMeCabがViterbiを使って高速に解くように改良したってどっかで書いてたけど
逆に、ChaSenの時は、HMMを何で解いてたの?まさか全探索してないよね?w



105 名前:デフォルトの名無しさん [2009/11/27(金) 05:48:33 ]
それは最もあり得る探索では
最長一致を高速に求めたいのですが

106 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 05:54:37 ]
最長一致を高速に求めるなら、全文検索のお話じゃだめなの?
多分、SuffixTree(or Array)なりを作るような感じになると思うけど・・・
多分そっちだと、どうやって高速に作って、枝刈りしてリソース押さえるかって問題になるけど・・
でも、ちょい研究としては古いかな・・・。

107 名前:デフォルトの名無しさん [2009/11/27(金) 06:01:01 ]
ここいくとそれほど古い話でもないようだけど。
研究は知らないけど、コピーと同等の速度で分かち書きを出力できればいいけど。

DO++: LZ法再び
DO++: 最長一致文字列の話

hillbig.cocolog-nifty.com/do/2008/10/lz-5ed2.html
hillbig.cocolog-nifty.com/do/2008/07/post_2e1d.html



108 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 06:09:19 ]
ほほー、これは知らなかった。
BWT法とかよりいけそうなのか・・・。
うちはSuffixArrayで色々やってきたんだけど、
Treeに比べればメモリ的には優しいけど、それでも大変なんだよな・・・
なんせ一切端折らずに全ての位置情報を付加すれば、
文字数分のintなりlongの位置情報が必要になっちまうから・・・

109 名前:デフォルトの名無しさん [2009/11/27(金) 06:10:01 ]
全文検索に使いたいんですけど、結局の所、
分かち書きしなくても、辞書に登録と検索は可能なんですよね。
N-gramでやれば。 
分割して無駄省けば、辞書サイズと検索精度は上がりますが。
検索目的で考えれば、品詞分解にやってる人は無駄だと思います。
それ以外で、MeCabやChaSen使うのはかなり少数な気がします

110 名前:デフォルトの名無しさん [2009/11/27(金) 06:24:07 ]
SuffixArrayやBWT法は一時期きょうみ持ったけど、
大きな欠点として新規データの追加が行えないので離れた。
構築時間も掛かるし。zipなど定番と同程度、同圧縮になれば
全文検索出来る分のメリットはあるけど。
これ実現したら、世界標準の圧縮になり得るけど。

111 名前:デフォルトの名無しさん [2009/11/27(金) 06:34:58 ]
Suffix Array、BWTは、O(n)で実現できるようですけど、
10nでも100nでも、O(n)ですからね。
圧縮と書き込み完了までの合計がコピーの5倍以内だったらいいけど。

112 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 18:04:51 ]
    ┏┓┏┓          ┏━━━━━━┓  ┏┓  ┏━━━━┓┏━━┓
    ┃┃┃┃          ┗━━━━━┓┃  ┃┃  ┗━━┓┏┛┃┏┓┃
┏━┛┗┛┗━━━┓  ┏━━━━━┛┗┓┃┃  ┏━━┛┗┓┃┗┛┃
┃┏┓┏┓┏━━┓┃  ┗━━━━━━┓┃┃┃  ┗━━┓┏┛┗━━┛
┃┃┃┃┃┃    ┃┃  ┏━━━┓    ┃┃┃┃  ┏━━┛┗┓
┃┃┃┃┃┃┏━┛┗┓┃┏━┓┃    ┃┃┃┃  ┃┏━┓┏┛
┃┃┃┃┃┃┃┏┓┏┛┃┃  ┃┃    ┃┃┃┃  ┃┃  ┃┃
┃┗┛┗┛┃┃┗┛┃  ┃┗━┛┗━━┛┃┃┗┓┃┗━┛┃
┗━━━━┛┗━━┛  ┗━━━━━━━┛┗━┛┗━━━┛

113 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 11:47:52 ]
>>2 にある 依存構造解析 というのは、 構文解析 (下記) とは意味が異なるの?

ttp://ja.wikipedia.org/wiki/%E6%A7%8B%E6%96%87%E8%A7%A3%E6%9E%90

114 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 11:58:52 ]
形態素解析も依存構造解析も構文解析の一種

115 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 12:00:19 ]
ここって随分低レベルになったり、
逆に、自然言語処理の研究者(M、Dr含む)が書き込んでるっぽいなぁってレスがあったりで
波がすごいなw

116 名前:デフォルトの名無しさん mailto:sage [2009/11/29(日) 12:30:15 ]
>>114
ありがとう。同じグループとして繋がりました。

>>115
すみません。まったくの素人です。
たまたま検索エンジンでこちらががヒットして、気になったことを質問しました。

大量にある文書から個人情報の箇所を自動的に隠蔽したく (例: 鈴木様 <<人名>>様)、
そういう技術を探していました。 市販の商品もあるようですが、手元のマシンで動かして確かめ
たり、理解を進めたいと思っています。

もし形態素解析で「人名」が特定できるなら、その部分を除去して元に戻すことで望む動作に
ならないかと期待しています。 
実データを用いてどこまでできるか、何はできないか知りたいと思っています。

117 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 02:30:42 ]
>>101
よくあるのは特異値分解していくつかの特異ベクトルを基底に選んで低次元に投射するってのだね。
そういうオーソドックスな事はやってみた?




118 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 18:35:53 ]
(つд⊂)エーン

119 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 20:39:43 ]
dosita

120 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 21:54:04 ]
俺も今泣きたい。

121 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 08:21:24 ]
nasite?


122 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 17:02:06 ]
なにが

123 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 09:43:12 ]
部外者です。
つまらない質問なんですけど、例えば「住んでいて」という言葉を「住んでて」と略したりしますよね?
これは文法的には間違っているけど、通じますよね?
こういった言葉の翻訳の場合、どのような処理をするもんなんでしょうか?
普通に考えると、辞書的な処理とか、略す規則を求めるとかなんでしょうけど、
もっと別の方法ってあるんですかね?

124 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 13:22:00 ]
い抜き言葉とか、ら抜き言葉とか
一応決まった規則があるから、それで処理するだけかと

もっと本気で分析するなら、音素関係を見て
どういう音素の繋がりがあった時に、どの音を抜くかとか
そういうのもあるとは思うけど

125 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 13:57:41 ]
>>123
間違ってないよ。
君の知らない文法があるってだけ。


126 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:55:33 ]
>>123
音素コーパスから統計処理。

127 名前:デフォルトの名無しさん [2010/01/23(土) 13:22:01 ]
>>117
特異値分解が、クラスタリングで重要なことがわかったけど
これを実行することが難しい。



128 名前:デフォルトの名無しさん [2010/01/23(土) 14:23:24 ]
でかい疎行列の特異値を計算するライブラリないですか?

129 名前:デフォルトの名無しさん [2010/01/23(土) 14:33:59 ]
特異値分解が、全ての相関度を計算するコストより
かかったら意味ないな。
経験的に、多くのベクトルと関連があって直行に近い数個のベクトル
を選んでおく方が良いか。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<48KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef