忍者ブログ
盛大な独り言日記・自分用メモ2010.11.17~
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

MeCabでのコマンドの使い方

コマンドのつもりで入力したのに解析対象にされ続けたっていう…のがやっと解消されたのでメモ

MeCabでコマンド(分かち書き、外部出力、読み込み)を使いたいときは
直接アイコンクリックで起動ではなく、コマンドプロンプトで
C:\~\MeCab\bin>
まで持ってきて、
C:\~\MeCab\bin>ここにコマンドを書いてエンター押す。

コマンドは
分かち書き:mecab -Owakati
読み込み(と書き出し):mecab 読み込みファイル名( -o 書き出しファイル名)

読み込みファイルの内容を、分かち書きの状態で書き出しファイルに出力するときは
mecab 読み込みファイル名 -Owakati -o書き出しファイル

で実行すればいいぽい
・ファイル名はそれぞれ拡張子まで書く。
・分かち書きのときは-O(大文字のオー)とwakatiをくっつけて書く。-Owakati
・外部ファイル出力時は -o(小文字)、出力ファイル名の間にスペース入れる -o shuturyoku.txt
・わかち書きの命令は、外部ファイルのかたまり(-o ファイル名)より先に書く
-Owakati -o shuturyoku.txt


PR
形態素解析とは!
コンピュータ等の計算機を用いた自然言語処理の基礎技術のひとつ。(wikiより
ひらがなカタカナ漢字にも対応できる

対象言語の文法のルールや、単語リストを情報源として、自然言語で書かれた文章を
形態素(=言語で意味を持つ最小単位)に分割し、それぞれの品詞を判断する作業のこと。

英語だと単語と単語の間にスペースが入るので、比較的簡単に言葉の区切りを見つけることが出来るが、
日本語だとそうもいかないので難しいらしい。(「にわにはにわにわとりがいる」とか)

MeCabを試しに入れてみたのですが、文章入力→分割はコマンドプロンプト上で出来るのですが
コマンドを打とうとするとなぜかそれも解析されてしまうっていう…根本的に使い方を間違えている気が。。
外部ファイルに出力とかコマンドを使えば出来るみたいなので、そういうのうまくいけばいいな
検索のときめんどくさすぎて研究室のパソコンで華和梨を辞書登録しました。
今日までで制作が結構進んだ気がしましたが、これもやっぱりゴーストのテンプレートいじってるだけな気がしてきてます(^q^)ウへー
でも一応配布されてるスクリプトを改変したのではなく、作り方のサイトを見ながら一からスクリプト書いて作ってきました。そのまま使ったのはshiori.dllです。dllファイルがブラックボックス過ぎて怖い。

できたこと
・辞書を複数のファイルに分ける
 >kawarirc.kisファイルで辞書ファイル登録するだけなので結構簡単に辞書分割が出来ました。
・起動・終了イベントの実装
・ランダムトーク
 >経過時間の取得でてこずったのですがなんとかなりました。でもボキャ貧
・マウスイベント
 >クリックでメニューを出すことだけ。ダブルクリックとかホイールとかは実装してないです。
  クリックイベント作ると、右クリックでもクリックイベントが発生するため、元々あった右クリックで本体側のメニューが出るイベントをつぶしてしまうのですが
 でもダブルクリックじゃないとメニューでないのも不親切な気分がしてこのままです。
 一応本体メニューはパソコンの時計表示の横あたりのSSPアイコンを右クリックするとでます。
・メニュー(選択肢)
 >話しかける、ランダムトークさせる、伺かプログラムを終了させる、メニューキャンセルとか作りました。
 本体メニューをさっきの理由で潰してしまうので、とりあえずここに終了コマンドだけ入れました。
 終了とかどうするんだよとか思ったけど最後に\eではなく\-を入れるだけでよかった。お手軽だった。
・喋り
 >おあそびでだるまに俳句詠む機能を付けました。ただ単に5・7・5にそれぞれ入る言葉をいくつか登録してランダムで選ばせているのででたらめです。
 でもこれちゃんと季節対応させたり、言葉の分類詳しくしたりしたらちょっとうまいこと喋れそうな気がしないでもないです。それより先にやることあるけど。

これでたぶん、シンプルなゴーストくらいの機能は持たせられたと思います。(起動・終了・ランダムトーク程度)
あとはキーワードボックスで入力した文を受け取って反応させたりとか、形態素解析とか人口無能の会話のしかた?について調べたいと思っています。
こまいぬ
張り子犬とだるまです
金曜日のゼミで、前の記事に書いたような編集しやすいスクリプトの書き方がしたい場合は、
ゴースト単体をいじるのではなく、SHIORIそのものを編集するべきだと気づいたので、今後は勉強しながらSHIORIを編集する事にしました。

リンク切れが多くてソース自体がなかなか見つからなかったりしたのですが…
http://kawari.sourceforge.net/8.2.5/index.html
↑こちらのサイトで華和梨のソース(らしきもの)が配布されていたのと
作りかた、編集の仕方に関するガイドが充実しているようだったので、華和梨を使ってみようかなと思っています。
かわりはざっと読んだ感じだと、ゴーストの枠組み(SHIORI自体?)とゴースト単体の編集を分離して行えるように作られたみたいです。ゴーストだけ作りたい人はかわり専用の枠組み部分のスクリプトをどこかで貰ってきて、後はゴースト書き変えたりシェル作ったりすればOKらしい。

他の比較サイトではこのせいか敷居が高いとのことだったんですが…大丈夫かな。でも他のSHIORIのソースを見つけられないし(;-;)ワク組みとゴーストを分離出来るっていう事は都合がいいのかもしれないです。
とりあえずサイトにあるガイドの通りに一通りやってみようと思いました。それぞれのプログラム書いてる時はいいのですが、いざそれらを組み合わせて動かす時に動かし方が分からなそうな気がぷんぷんするのですが…何とかなるといいな。
伺かのテンプレートゴースト、ややめのスクリプトやシェルを少しいじりました。
シェルは、他の方の作ったキャラクターで中身だけ書き変えるのがなんとなく申し訳なかったので
とりあえず先に適当に作ったものをあてはめました。
テンプレには瞬き用に目元だけの画像が用意されていたのですが、やっぱりああいうの活用すると生き生きして見えますね。画像のサイズとか目元の位置が変わるので自分で作ったシェルにしてから外しておいたのですが、そうするとやっぱり動きが物足りなく感じます。。

ゴーストのスクリプトの方です。
こちらから単語を入力→返事を返す、という部分は
他のいくつかの会話とまとめてスクリプトの3番あたりに入ってました。
今試しに入れてみた文は
if(文字列に「マウス」が含まれる)
{
  if(文字列に「カーソル」が含まれる)
  {
     マウスカーソルの質問に関する答え
  }
  else if(文字列に「クリック」が含まれる)
  {
     if(文字列に「ダブル」が含まれる)
     {
        ダブルクリックに関するこたえ
     }
  }
}

全然わかりやすくできませんでしたが上のようにif文の条件分岐の中にそれぞれ書いてみました。
でも答えが1つ2つならともかくこれだとかなり書く量が多くて複雑になってしまうので
もっと別のやりかたで答えさせたいです。

「質問に対する返答内容(辞書の文章)」だけを箇条書きのようにして1文ずつキーワードなどと一緒に載せているだけの部分と、
「入力された文章から得たキーワードを元にこの範囲(質問に対する答えの記述範囲)から検索して、適切なものをかえす」ことを命令する部分に分けられたら、内容を追加する時も箇条書きの文を足すだけで済みそうなのにな…とか。
この方法が出来ないかちょっと探してみようと思います。
[3]  [4]  [5]  [6]  [7]  [8]  [9
プロフィール
 たごさく(@Ta56)
カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新CM
最新記事
最新TB
バーコード
ブログ内検索
最古記事
Admin / Write
忍者ブログ [PR]