[掲示板へもどる]
一括表示

  [No.359] KHcoderのソースファイル 投稿者:ヒノキ  投稿日:2008/05/30(Fri) 22:52:18

はじめまして。
KHcoderを使って、音素解析の研究をしているものです。

ただ、自動的に音素を抽出させる方法が分からず、頓挫してします。
音素の辞書を作ればいいのですが、その場合、KHcoderのソースファイルが必要になりました。
データを探しましたが、重大な手がかりが一向に見つかりません。
根幹的なソースファイルがどこにあるか教えて頂けませんか?
また、文章から音素を抽出する場合、プログラミングの技術(KHcoderの改造)が必要になるのでしょうか?
御返答、よろしくお願いします。


  [No.360] 機能の追加 投稿者:HIGUCHI Koichi  投稿日:2008/05/30(Fri) 23:37:06

はじめまして、樋口です。
書き込みありがとうございます。

「文章から音素を抽出する」というのが具体的にどういった処理のこと
なのか寡聞にして存じないのですが、一般に、新しい機能を加えるため
にはなにかしらプログラミング(に近いこと)が必要になると思います。

単純な機能(もしくはKH Coderに元から用意されている機能に似通った
機能)を追加するであれば、KH Coderのメニューから「ツール」「SQL文
の実行」とたどって、独自のSQLを実行するだけで良いかもしれません。

もう少し複雑な機能でも、KH Coderのプラグインを作成することで実現
できると思います。プラグインについては、「plugin」フォルダにサン
プルがあります。

さらに根本的にKH Coderを改造されたい場合には、ソースコードを編集
する(プログラミングを行う)必要が生じるでしょう。これについては
別の投稿として書かせていただきます。

以上、ひとまずのご返信までにて失礼いたします。
どうぞよろしくお願いいたします。


  [No.362] Re: 機能の追加 投稿者:ヒノキ  投稿日:2008/06/18(Wed) 18:48:43

お久しぶりです。
諸事情であまり手が回らなくなっておりました。

> もう少し複雑な機能でも、KH Coderのプラグインを作成することで実現
> できると思います。プラグインについては、「plugin」フォルダにサン
> プルがあります。
サンプルはPMフォルダですよね。
あそこを調べましたら、日本語部分が文字化けされている状態で、半角カタカナと中国漢字ばかりです。
まともに読めません。
何か対策がありましたらお願いします。

> さらに根本的にKH Coderを改造されたい場合には、ソースコードを編集
> する(プログラミングを行う)必要が生じるでしょう。
また、プログラミングに対してですが、まともな知識は持ってありません。
初心者で、本当にプログラミングを行う必要があるとは、思ってもみませんでした。
KHcoder関連の書籍・資料(説明書ではない)、プログラミング関連のものがありましたら、参考程度でもいいですのでお教え頂けませんか?
ご負担かけてすみません。


  [No.363] Re: 機能の追加 投稿者:HIGUCHI Koichi  投稿日:2008/06/18(Wed) 22:57:35

こんにちは、樋口です。

> サンプルはPMフォルダですよね。
> あそこを調べましたら、日本語部分が文字化けされている状態で、半角カタカナと中国漢字ばかりです。
> まともに読めません。
> 何か対策がありましたらお願いします。

「秀丸エディタ(シェア)」「サクラエディタ(フリー)」のようなエ
ディタで開いていただけば、正常に表示できるのではないかと思います。
万一だめな場合は、文字コード(エンコード)を「EUC」と指定してい
ただければ、大丈夫なはずです。

※KH Coderのソースコードはすべて文字コードがEUCになっています。

> また、プログラミングに対してですが、まともな知識は持ってありません。
> 初心者で、本当にプログラミングを行う必要があるとは、思ってもみませんでした。
> KHcoder関連の書籍・資料(説明書ではない)、プログラミング関連のものがありましたら、参考程度でもいいですのでお教え頂けませんか?

特にKH Coderに関しての書籍・資料というのは思いつかないのですが、
KH CoderはPerlという言語で書かれています。Perに関しては「初めての
Perl」が有名かと思います。(Perlを覚えて、他人が書いたコードを編
集できるようになるまでには、通常、一定の期間を要するかとは思うの
ですが…)
http://www.amazon.co.jp/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AEPerl-%E3%83%A9%E3%83%B3%E3%83%80%E3%83%AB%E3%83%BBL-%E3%82%B7%E3%83%A5%E3%83%AF%E3%83%AB%E3%83%84/dp/4873111269/ref=sr_1_1?ie=UTF8&s=books&qid=1213796776&sr=1-1

また、KH Coderではデータベース処理のためにSQL文を使っています。SQL
については定番のような書籍が分からないのですが、多くの書籍が出版さ
れていますし、Web上にも下記サイトを始め解説が散見されます。
http://www.rfs.jp/sb/sql/index.html


なお、差し支えなければ、実際にどういう処理を行おうとされているのか
具体的にお教えいただければ、もう少しお役に立てるかもしれません。
例えば「本日は晴天なり」という文があったとして、この文をどういう
形に変形できれば良いのでしょう。あるいは、どういう形のデータを入力
して、どういう形のデータがアウトプットとして得られれば良いのでしょ
うか。よろしかったらご検討下さい。


  [No.361] ソースコードの編集 投稿者:HIGUCHI Koichi  投稿日:2008/05/31(Sat) 00:05:10

こんにちは、樋口です。

KH Coderのソースコードは決して「美しい」とか「読みやすい」とか言え
るものではありませんが、以下のような読み方で、なんとかトレースして
いただくことが可能ではないかと思います。(私の希望的観測でなけれ
ば、ですが…)

まず「kh_lib\gui_window\main\menu.pm」からスタートしてみてくださ
い。このファイルでKH Coderのメニューを作成しています。例えば、この
ファイルの254行目〜256行目は以下のようになっています(タブはスペー
スにかえました)。

$self->{t_word_search} = $f3->command( 
    -label => gui_window->gui_jchar('抽出語検索'),
    -font => "TKFN",
    -command => sub {$mw->after(10,sub{ 
        gui_window::word_search->open;
        })},
    -state => 'disable'    
 );     

この部分でメニューに「抽出語検索」という項目を加えています。また項
目が選択(クリック)された時には、gui_window::word_search->open;
を実行するように指定しています。

gui_window::word_search->open;ですが、これの処理内容は
「kh_lib\gui_window\word_search.pm」というファイルに記述されています。
ただし、「kh_lib\gui_window\」というフォルダに含まれるのは、基
本的にGUI(画面表示・操作)についてのプログラムです。
「kh_lib\gui_window\word_search.pm」の場合も、実際に「検索」ボタン
がクリックされた時には、mysql_words->search();を実行することで検索
を行っています。238行目〜244行目あたりです。

mysql_words->search();の処理内容は、「kh_lib\mysql_words.pm」という
ファイルの、「sub search{」で始まるサブルーチンに記述されています。

以上のように、メニューを作成しているファイル、「kh_lib\gui_window
\main\menu.pm」からスタートしていただくことで、トレース・編集が比較
的スムーズに行えるのではないかと思います。なお、前処理を実行してい
るのは「kh_lib\mysql_ready.pm」の「sub first{」から始まる部分です。

多少なりとも御参考になりましたら幸いです。
それではどうぞよろしくお願いいたします。