傀儡師の館.Python

傀儡師の館.Python

PR

×

Calendar

Keyword Search

▼キーワード検索

Archives

2026.05
2026.04
2026.03
2026.02
2026.01
2025.12
2025.11
2025.10
2025.09
2025.08

Profile

kugutsushi

kugutsushi

Free Space

設定されていません。
2003.01.29
XML
カテゴリ: ことばの処理
しばらく前に o3124a さんのページ 「もういちど月へ RETURN TO THE MOON を久々に見てみた。やっぱりよくできているので、繰り返し見ても飽きない。NHK教育の番組でも見ているようなできばえで、何度も見られる。いいコンテンツだと思ったものは、忘れたころにまた見てみるといいかもしれない。こういう無料で見られる有料コンテンツだけ集めたリンク集や検索エンジンがあれば楽しいのにな。

『千と千尋の神隠し』がテレビで放映されてすごい視聴率を記録したようだが、やっぱり何度も見られるような良質なコンテンツを作っていくということは大切なことだと思う。そして、それを大切にしていく姿勢も大切なことだと思う。消費されるコンテンツが多すぎるのだよな。マスメディアというものは、基本的にどれも新しいものをどんどんと消費しながら生き血を吸って生きているわけだし、多くのコンテンツがニュース化されて話題に上がることだけを目的にしたかのように生まれて死んでいくが、やっぱり、じっくりお金をかけて作られるコンテンツというものは大切だなと思う。しかし、『千と千尋の神隠し』が大ヒットするというのは、やっぱり、日本がいかに病んでいるかってことでもあるな・・・。

○ 未知語についてもう少し (Python で人工無能)

とりあえず、今日の話題の前に、 日本語形態素解析器 MeCab のメーリングリスト(このページにリンクがある) の [Mecab 00027] で MeCab の作者、工藤氏が未知語(要するに辞書に載っていないもの)の処理について説明してくれていた。やっぱり MeCab を使うなら、ML を購読しておくといいことがある。でもって、もう少し未知語について考えることにした。

MeCab の未知語処理では、単純にいえば文字種(ひらがな、カタカナ、漢字、数字、記号、・・・)によって単語の境界が決められていくということだが、そのあたりで、いろいろいじると何か面白いのかもしれない。


1,999円
1 未知語,*,*,*,*,*,*,*,*
, 未知語,*,*,*,*,*,*,*,*
999 未知語,*,*,*,*,*,*,*,*
円 名詞,一般,*,*,*,*,円,エン,エン


この場合、「,」の文字種が違うので一まとまりになってくれないようだが、やっぱりつながってくれた方があとで扱いやすいし、製品名などの扱いにしても、つないでしまいたいパターンがたくさんある。ヒューリスティックなルールをどんどん入れていったら当然処理が重くなってしまうんだろうけど、手を入れてみたい気もする。うーむ、でも C++ はなぁ。とりあえず Python でルールを作っていろいろ検証してみる方向かな。



固有名詞に関しては、ものすごい不公平があって(笑)、有名な会社は登録されているけれど、有名ではない会社は当然、辞書に載っていないので正しく扱ってくれない。


東急建設
東急建設 名詞,固有名詞,組織,*,*,*,東急建設,トウキュウケンセツ,トーキュー

大東亜建設
大 接頭詞,名詞接続,*,*,*,*,大,ダイ,ダイ
東亜 名詞,固有名詞,地域,一般,*,*,東亜,トウア,トーア
建設 名詞,サ変接続,*,*,*,*,建設,ケンセツ,ケンセツ


これが世の常というものだ。

じゃあ、こういう不公平をどうやって解消していったらいいか。一つは地道に辞書登録することだろう。とりあえず会社名であれば、上場企業のリストだけでなく、店頭公開企業まで広く辞書に登録してやることかもしれない。ちなみに、MeCab の辞書だと「マイクロソフト」は載っていても、「オラクル」は載っていない。MeCab 0.72 で未知語処理が改良されるまでは「オ(未知語)/ラ(未知語)/ク(名詞)/ル(未知語)」などと解析されていたわけなのだ。未知語処理が入ったおかげでいちおう 未知語の一単語として「オラクル」 となったわけだが、 「マイクロソフト」(固有名詞,組織) という扱いに比べると非常に低い扱いになっている(爆笑)。

これが世の常というものだ。

全部登録するの大変だし無駄も多いから、特定のキーワードにマッチして、xx建設だったら、その前も固有名詞とか、株式会社、有限会社、合資会社が前か後ろにつく未知語は固有名詞とか、やっぱりそういうヒューリスティックなルールもとりあえず人工無能側でつくるかな。とりあえず、大量にテキストを解析させて、未知語を拾い出してパターンを調べるのが先決か。

また、分かち書きは一見正しくできていても意味上の解析誤りもある。


カールを食べる。

カール 名詞,固有名詞,人名,名,*,*,カール,カール,カール
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べる 動詞,自立,*,*,一段,基本形,食べる,タベル,タベル
。 記号,句点,*,*,*,*,。,。,。


お菓子のカールを食べるつもりで、人間のカール(固有名詞,人名)さんを食べてしまうわけだ。 ちょっとイジワルなやり方をしたが、人工無能で形態素解析結果の品詞を使うのであれば、未知語じゃないものでも、望んだ解析結果になるとは限らないということをやっぱり前提にしなければならないだろう。

「~を食べる」という形で認識させるには、最低でも係り受け(どの単語がどの単語に掛かっているかを解析する)が必要となるんだろうが、単純な文であれば人工無能にそうした格フレーム([主体:人]が[対象:食物]を[動作:食べる])をもたせて、扱ってしまうことも考えるかな。人工無能があんまり賢くなっちゃいけないとは思うが、ある程度やらないと、やっぱり無能すぎるし。うーん、でもそういうことをしないでなんとかする方法もとってみたいな。自動学習に近い形でなんとかするか。

なんにせよ、辞書は人工無能の世界観そのものなわけで、どうやって辞書をメンテナンスしていくかも考えないといけないということだな。別に、特定用途の辞書であれば、人名「カール」を辞書からわざと削除してしまってもいいわけだし。辞書っていうのは、追加していけば賢くなるだけでなく、削除することによっても賢くなるだろうし。最初から知らなければ迷わないことだってあるし、間違えることだってないのだから。特定分野に最適化した辞書を用意しておいて、文脈に応じて切り替えてみたり、そうして作った複数の辞書を使って複数回、形態素解析をしてその結果を使って何かしてもいいわけだし。そういう無駄ならしてもいい時代だろうし。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2006.09.11 23:56:21 コメント(1) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: