カテゴリー: general

  • CMSとしてのdokuwiki

    先日、個人で運営する新しいサイト

    を開設しました。このサイトは dokuwiki という wiki エンジンをコンテンツ管理システム(CMS)として使用しており、ほとんどのページが「書きかけ」ですが、随時更新を行っています。

    はてな日記はブログのシステムとして気に入っており、このまま利用を続けたいと思っています。一方で、日常的にちょっとしたメモを書きためて、関連する内容をまとめたページを作りたいという気持ちも強く、日記に書き散らかした記事をまとめるために CMS を活用したいと思っていました。

    私が管理しているサイトに

    というドメインがあります。ここには以前の勤務先(京都工芸繊維大学)のサーバで公開していたコンテンツを 2002年12月に引っ越しして再整備した

    があります。執筆に参加した書籍「バージョン管理システム(CVS)の導入と活用」に関連する情報

    もここに含まれています。

    多くの方に御利用いただいているのは radiofly wiki

    のほうだと思います。こちらは以前から活動している「ラジオ放送の文化と番組制作技術に関する研究開発」のためのサイトです。pukiwiki によって「放送博物誌」などの記事を書きためています。作成した当初、wikipedia のようなオープンコンテントのサイトは日本では一般的ではありませんでした。最初に放送と電気通信技術に関する年表を radiofly の wiki に書き始めたのは私でしたが、以降は川崎隆章氏が中心になって充実・整備をすすめておられます。私は現在は読むだけでほとんど書き込みをすることはありません。

    radiofly wiki には「放送博物誌」と無関係に西本が書いていた記事や情報のページがいくつかありましたが、昨年末にメンテナンスを行った際に、radiofly の活動と無関係な記事の大半を削除しました。radiofly の活動と私個人の活動は、明確に分離していくことが望ましいと考えています。

    pukiwikiは導入しやすいツールで、気に入っていたのですが、1.4.7 を最後に公式なアップデートがなされておらず、日本でしか使われていないということもあり、将来性に不安を感じています。

    radiofly から削除したコンテンツの再整備などを行うために新たな CMS の検討を行いました。最初に考えたのは WordPress でした。

    2006年のはじめにIPA未踏ソフトウェアでの活動を公開するために Movable Type サイトを開設し、その後 WordPress に移行しました。現在は

    として運営しています。その後、英語での情報発信を行うために

    を開設しています。(日本語のブログはひきつづき「はてな」で運用するつもりです)

    WordPress はいわゆる WYSIWYG 編集ができるという利点がありますが、ソースコードを貼り付けて技術情報を書くサイトとしては向いていないと感じました。また、日付に対応する日記的な記事は作りやすいのですが、static なページを作りやすいとは思えませんでした。MySQL によるデータ管理も、私が管理したい記事の量ではオーバースペックと言えそうです。

    pukiwiki の wiki 記法には気に入らない部分もあります。例えば pre 要素に対応する記法は「行の先頭に半角スペース」ですが、行数の多いソースコードを貼り付けるのが面倒だったりして、あまり好きではありません。(pukiwikiに複数行#preという機能を拡張する試みはなされていますが)

    MediaWiki などの候補をいろいろ調べて dokuwiki に行き着きました。

    最初は「見出しタグが ====== ほげほげ ======」というあたりに違和感を感じましたが、慣れてきました。

    今後、いったん公開をやめた記事、公開する機会がなかった技術メモ、日々の仕事で気づいたことなどを随時

    に書いていきたいと思います。また、

    やこの日記で、ときどき更新情報をお伝えしたいと思います。

  • ヒューマンインターフェースとソフトウェア開発

    音声認識の研究者に広く使われているHTKというソフトウェアがあります。

    数ヶ月前にリリースされた Ver 3.4.1 をいじりながら、多くの人が「HTKは難しい」と言うのはなぜなのか、改めて考え直しています。

    「そんな難しくないですよ」と言いながら、いろいろ試したり説明をしようとしたら、私自身が落とし穴にはまり、落ち込んでしまうこともあります。

    HTK は HMM(隠れマルコフモデル)による音声認識のためのツールキットです。最初はケンブリッジ大学で開発され、有償ソフトウェアになったのは 1993 年だそうです。その後 Microsoft に買収され、現在はケンブリッジの手に戻って、無償で配付されています。最新版の英語マニュアル(HTKBook)は384ページにもおよぶ膨大なPDFファイルです。

    十数年にわたる音声認識研究の歴史が詰まっている HTK は、最近に至るまで拡張が続いています。今回、久しぶりにチュートリアルを精読してみたら、知ってるつもりで知らなかった機能にいくつか気づくことができました。と同時に、拡張を繰り返してきたツール全体の仕様の見通しの悪さ、コマンドラインオプションの覚えにくさ、などなど、課題もいろいろあるように感じました。

    HTKBookのチュートリアルをできるだけそのまま実行してみようとして、チュートリアルの説明と挙動が異なる箇所があること、配付サイトで公開されているファイルだけではチュートリアルを完全に再現できないこと、などにも気づきました(私の誤解かも知れませんが)。

    フリーソフトでつくる音声認識システム - パターン認識・機械学習の初歩から対話システムまで

    フリーソフトでつくる音声認識システム – パターン認識・機械学習の初歩から対話システムまで

    荒木先生が書かれた参考書は HTK の手っ取り早い入門として学生からも評判がよいのですが、突っ込んで使いこなしたい場合には、自力でマニュアルを読んで理解をしなくてはなりません。

    最近、信号処理やパターン認識の分野で Matlab や R などスクリプト言語系のツールが普及しつつあります。性能や言語仕様の利便性などの議論はともかく、学習の容易さという点からは高く評価できるでしょう。

    また、個人的には Ruby on Rails の勉強において script/console がとても有用であることに気づきました。いわゆる「コード補完」が有効であることにも驚いたし、irb で “hello”.methods を実行すればStringクラスのメソッド一覧が簡単に見られる、というのも目からウロコでした。

    プログラミング言語がプログラマーと言語処理系のインタフェースであるとすれば、「ユーザインタフェースの原則」がプログラミングという行為においても重要ではないかと思います。

    • やりたいことが完結に記述できること
    • やりたいことがコマンド名、関数名、メソッド名として「連想が容易」であること
    • 連想された記述法が正しいかどうか、対話的にフィードバックを得られること

    などがインタプリタ系言語の嬉しいところです。そう考えていると、

    において議論してきた「インタフェースの原則」と重なってきます。

    HTKでは数千個という膨大な学習データを扱ったり、膨大なパラメータ数の統計モデルを学習することができます。しかし、やりたいことを完結に記述できるか、コマンドやオプションを容易に連想できるか、操作のフィードバックが容易に得られるか、などと考えると、あちこちに落とし穴(ノーマンの7段階モデル流に言えば「淵」)がありそうです。

    HTKについて考察していると「音声認識による機械と人間のインタフェース」にとどまらず「HTK と研究者のインタフェース」についても考えたくなってしまいます。

  • 第61回音音研 6月18日

    下記のとおり開催します。直前のお知らせで恐縮ですが、ご興味のある方はお気軽にご参加ください。

    • 第61回 2009年6月18日(木) 18:30-
    • 話題提供1:東京女子大学 松村瞳さん+東京大学 西本
      • テーマ:音声CAPTCHAの検討
      • 要旨:昨年度から東京女子大学と東京大学の共同で行っている「人間が聞き取ることができ、機械に認識されにくい音声」の研究について、昨年度の成果の報告を行い、今年度の研究計画についてご助言をいただきたいと思います。
    • 話題提供2:帝京平成大学・川島先生
      • テーマ:音源分離知覚について
      • 要旨:日常的な場面では人間は重畳信号から個々の音源について知覚する。その理解は例えば何を分離知覚しているのか,あるいはその知覚に関わる要因とメカニズムはどのようなものかという点について行われてきた。今回は音源分離知覚に関するこうした問いについて文献調査と発表者の研究の結果などから得られる回答を整理する。