カテゴリ:コンピュータ関係( 37 )

使い分けがわからない。
日本語だと「正規化」とか「標準化」とか「正則化」書いてあって、
あまり厳密に区別していないように見える。
「Normalization Standardization Scaling」で検索すると、
多くの人が混同しているようで、
「違いがわかりません!」というページがたくさん出てくる。
ぜんぶ英語だけど。
で、自分なりにまとめてみた。
間違ってたら教えて偉い人。

・Normalization
各ベクトルのL2ノルムが1になるように収める。
L1ノルムを指定することもあるらしい。
(ノルム norm を使うから normalization なの?)
「正則化」と訳してあることが多い。
L2ノルムとは各特徴量の二乗の和。
L1ノルムは二乗しない絶対値の和。
ちなL0ノルムもあって、値が0でない特徴量の和、らしい。
どんな説明を読んでも、なんかぴんと来ない(笑

・Standardization
各ベクトルの平均0、標準偏差1にする。
これは各ベクトルなのか、
全ベクトルの特定の feature ごとなのか、
どっちもアリなのかは不明。
ちなみに R e1071 パッケージ svm の scale オプションは、
TRUE にすると、全ベクトルの各特徴量を串刺しで
ゼロ平均+分散1の変換をするので、
厳密には standardization なのだろうと思う。
(標準偏差を見るから、standardization なのかも)

・Scaling
値を特定の範囲([0,1]とか?[-1,1]とか?)に収める。
これも、各ベクトルなのか、
全ベクトルなのか、
全ベクトルの特定のrowなのか、
全部アリなのかは不明。
normalization も standardization も含めて scaling と言ったり、
別扱いしているページもあったり、
色々でよくわからない。


参考(主なもの):
http://scikit-learn.org/stable/modules/preprocessing.html
http://blog.pengyifan.com/scale-standardize-and-normalize-data/
http://www.faqs.org/faqs/ai-faq/neural-nets/part2/section-16.html

×××

機械学習とかパタン認識とかの説明を読むと、
どうも日本語よりも英語のほうがわかりそうな気がする
(多分に気のせいだと思うんだが)。
日本語に訳して、難しい感じになっちゃったり、
視認性が下がったりして読みづらくなっているのかなぁ。
例えば、クラス分類とクラスタリングを混同する人が多いのも、
classification / clustering と書くと、
全然違うから混同しないのではと思ったり。
[PR]
by xiaoxia | 2014-07-01 18:42 | コンピュータ関係 | Comments(0)

はじめに


会社でマシンを新規購入。
事情があってゲーミングマシンみたいな構成。
演算が多い用途なので、Haswell 機が欲しかったんだよう。

HP Envy 700-060jp/CT
Core i5-4570
HDD 1TB
memory 16GB

Windows 8 64bit がプレインストールされているところに、
Windows 7 Enterprise 64bit を上書きする。
社内ではまだ Windows8 が推奨されていないし、
HDD 暗号化ソフトの導入が義務付けられており、
そのソフトは Windows 7 までしか保証していない。

BitLocker もやってみたのだが、
TPM 非対応なので、USB メモリにスタートアップキーを入れるか、
暗証番号 PIN の入力が必要である。
USB メモリの使用は社内規約で禁じられているので、
PIN のみにしたかったのだが、
どうしても USB メモリを入れろと言われてしまう。
この辺はよくわからぬ。
Windows 8 だと PIN のみで良いのかもしれない。
ので、BitLocker の導入は諦めた。

追記:
データドライブのみ BitLocker で暗号化してみた。
詳細はこちら。
Win7 に BitLocker を入れてみた
http://xiaoxia.exblog.jp/20265885/


インストールにあたって、
一番参考になったのは以下のページ。
HP ENVY 700-060jp を Windows7 64bit にした備忘録 - 谷渓谷

RAID 構成をしない分、この方よりは大分楽だった。
と言っても、何しろ新しい機種なので、情報が非常に少ない。
作業時間の大半が調査だった。

各種バックアップ


お金がなかったので、リカバリDVDを購入しなかった。
ので、各種バックアップを行う。
以下の3種類の DVD を作成しておいた。
これでなんとかなるかなぁ。
  Windows でのバックアップ
  Windows リカバリ DVD 作成
  HP リカバリマネージャ DVD 作成

その他、Windows8 のプロダクトキー、初期状態のディスクパーティションなどを
写真に撮って残しておく。
(ウィルスソフトや、HDD暗号化ソフトをインストールするまで、
会社のLANに接続できない。
プリンタで印刷もファイル共有もできないので写真撮影、なのである)

BIOS 設定


起動時に ESC を連打して、BIOS 画面に入る。
初期状態では DVD ブートができないので、以下の変更を行う。
  セキュアブート 有効 → 無効
  レガシーブート 無効 → 有効

何度か赤いダイアログが出て、
「本当か!?本当にいいのか!?」と聞かれるので、
若干ひるんでしまうわね。

OS インストール


Windows 7 Enterprise 64bit の DVD を入れてブート。
UEFI や回復パーティションなどをバンバン削除する。
元の Windows8 に戻したい時に困るのかもしれないし、
前述のページでも「後悔した」とあるが、
まだわからない。

HDD 1TB あるので、300G ほど切ってシステムをインストール。
今どきパーティション切る人などいないと若者たちに言われたが、
もうそういう身体になっているので仕方がない。
追記:
データドライブのみ BitLocker で暗号化するためには、
システムと別ドライブにするのは必須。

ドライバのインストール


インストール直後にデバイスドライバを見ると、
上記ページにあるように、いくつかのデバイスに「!」が付く。
  ・ネットワークアダプタ
  ・SMバスコントローラ
  ・ユニバーサルシリアルバス(USB)コントローラ
  ・PCIシンプル通信コントローラー

この型番のマシンには Windows 7 モデルがないので、
HP から落としたドライバは、
やっぱり Windows8 用らしくて、インストールできない。
しれっと入ってくれたら良かったのだが。

■ ネットワークアダプタ
社内 LAN に接続するために IP アドレスの申請が必要で、
真っ先にこれが必要。
申請に MAC アドレスが必要だが、これが入っていないと MAC アドレスが見られない。

RealTek 製だが、上記ページにもあるように
公式ページには見当たらない。
NIC の RTL8151 は RTL8150 の派生だと思われるので、
それでも大丈夫だとは思うのだが、
最新対応が Vista という古さが気になる。
結局、転がっていた野良ドライバを入れてみた。
確かここから落としたような。
Realtek RTL8151xx LAN Driver

ネットワークアダプタの「!」が消えたし、
問題なさそうだからOKとする。

■ チップセット
チップセットのドライバを入れたら、
ネットワーク以外の「!」は消えるんじゃないかなーと
淡い期待をしながら、インストール。

チップセットが Intel Z87 なので、
インテルダウンロードセンターから8シリーズ対応のものをダウンロードする。
以下からダウンロード。

ソフトウェア製品
 →チップセットソフトウェア
  →チップセットソフトウェアインストールユーティリティー
   → Windows7(64bit), ドライバ

infinst_autol.exe をダウンロード、インストール。

SMバスコントローラの「!」が消える。
残念ながら、それ以外は消えなかった。

■ USB コントローラ
同様にインテル ダウンロード センターから。

ソフトウェア製品
 →チップセットソフトウェア
  → USB 3.0 eXtensible ホストコントローラードライバー
   → Windows7, ドライバ

検索結果が2つ出てくるので、
サマリーを読んで「8 Series」のほうを選択。

Intel(R)_USB_3.0_eXtensible_Host_Controller_Driver.zip がダウンロードされる。

ユニバーサルシリアルバス(USB)コントローラの「!」が消える。

■ PCI コントローラ
残り1個の、これが良くわからない。
以下のページを見ながら解決。
「PCI シンプル通信コントローラ」 のドライバが欲しい: ひでのブログ

デバイスマネージャ「!」の出ている状態で、
右クリックし、プロパティを開いて、
ハードウェアIDを見る。
以下の4つがあった。
  PCI\VEN_8086\DEV_8C3A&SUBSYS2AF3103C
  PCI\VEN_8086\DEV_8C3A&SUBSYS2AF3103C&REV4
  PCI\VEN_8086\DEV_8C3A&CC_078000
  PCI\VEN_8086\DEV_8C3A&CC_0780

ベンダ番号 8086、デバイス番号 8C3A だそうだ。

以下のページを開いて、
PCI Vendor and Device Lists
Vendor のところに 8086、
Device のところに 8C3A と入力して Search。
「Intel(R) Management Engine Interface」だそうである。
詳細を見ると以下のURLが書いてあるので、
ダウンロードしてインストール。
ASUS って(笑
http://dlcdnet.asus.com/pub/ASUS/nb/DriversForWin8/MEI/MEI_Intel_15M_Win7_8_VER9001287.zip

めでたくPCIシンプル通信コントローラーの「!」が消えた。

実は、インテルダウンロードセンターには
ソフトウェア製品
 →チップセットソフトウェア
  →マネジメントエンジンインターフェイス(インテルMEI)
というメニューもあるのだが、
たどっていくと、その先は前述のUSBコントローラと同じところになる。
意味がわからん。
ちゃんと英文を読めばいいのかもしらんが、面倒くさいし、
「!」が全部消えたから深追いしない。

おわりに


ここまで丸1日。
先人たちのお陰で、思っていたよりもスムーズに運んだ。
ので、私もメモっておくことにするよ。

追記:
解像度がおかしいと思ったら、
ディスプレイドライバ入れてなかった。
通常、法人向けマシンはオンボードチップが多いのだが、
コンシューマ向けを買ったので、
ディスプレイカード AMD Radeon HD 8760 が差してある。
これは OEM 用の名前なので、
ドライバは HD 7770 と同じでOK。
AMD Radeon HD 7770 GHz Edition
ページの上部「ドライバーとサポート」から Windows 7 (64bit) 用を選んで、
Catalyst ディスプレイドライバを入れる。

追記2:
オーディオドライバを落としてなかった。
詳細は別の記事に。
[HP Envy 700-060jp オーディオドライバの入手方法]
http://xiaoxia.exblog.jp/23080546/

[PR]
by xiaoxia | 2013-10-09 17:35 | コンピュータ関係 | Comments(0)

Android女子、始めました

ダンナが最近 Galaxy S II とか ThinkPad とか
楽しいおもちゃを増やしている。
なわけで、貸してもいいのがあったら貸して、と言ってみたら、
Galaxy S(初代)を貸してくれることになった。
とうとうオイラも「Android女子」だぜ☆うは♪

■常時「非」接続端末

以前、客先で使っていた欧米版とは違って docomo 様バージョンなのだが、
SIM は入れない(私はwillcomユーザだからSIMは持ってない)ので、
ただの Wi-Fi 端末である。
そして携帯式ルータも持ってないので、
ネットに接続するのは、自宅のルータに繋げる時だけ。
ほぼ非接続状態ってのは、
Android の意味があるのかと言われるとかなり不明だけど、
どこまでカスタマイズできるか試す目的なので、
常時接続じゃなくても別段困らないの。
現在使っている iPodTouch(初代) の代替機にしようと。
で、現在2個持ちなんだが。
なんか、(物理的な意味で)重い…。

■マーケットからアプリ

昨日は既存の設定を色々いじって、
既存のウィジェットを数個並べてみた。
(ちなみにウィジェットというのは、トップ画面に常駐するソフトのこと)

マーケットは少しだけのぞいてみた。
想像していたより、登録されているアプリが少ない。
Apple みたいな有料登録や審査がないのだから、
もっとワシワシあるのだと思ってた。

Samsung Apps は SIM 入れろと怒られたので見られず。
docomo SIM は入れてないが、docomo マーケットは見られた。
なにこれ中井和哉の着声ってどういうこくぁwせdrftgyふじこ(ry
まぁ docomo 様なので、有料のばかりなので、SIM なしには関係がなさそう。

Apple はストアが1つなのに、
Android はマーケットが複数あって煩雑、という話もあるが、
windows だって unix系だって、自分でソフトを探すのが普通なわけで、
私には、そこはまったく気にならない。
面白い野良を探す喜びもあるしな。
なんなら自分で作ってもいい。
いや、そのうち作りたいと思ってる。
web view だけのアプリなら、
ほぼ java 書けない私でも数時間で作れるし。

■iPhoneを考えてみるに

IT系でない人には、やっぱり iPhone 薦めるかなぁ。
定食メニューが充実してて、選びやすい。
がっちりコースというよりは、プリフィクスな感じかなぁ。
でも Android はほぼアラカルトだけだから、
選ぶ基準が自分の中ではっきりしてないと選べない。
iPhone は最初から Apple のステキな美的センスで選ばれた定食なので、
初期状態で使ってもステキよね☆って感じがする。
でも、 Android は初期状態で使うよりも、
カスタマイズしてあるほうがカコイイって感じ。
まぁ最終的にはどちらもお好みで、ってことで。
[PR]
by xiaoxia | 2011-07-19 17:41 | コンピュータ関係 | Comments(0)
一昨日から昨日にかけて windows vista でトラブったので、
ちょっとメモ。

Group Policy Client サービスによるログオンの処理に失敗しました


windows vista で、
ユーザの所属グループをあれこれ変更して、
数日使って、
さて再起動と思ったら、
このメッセージが表示されて
ログオンできなくなった。
あれこれ変更しちゃったので、
何をどう変更したのかは全然覚えてない。

ユーザプロファイルをコピーした後、
コピー先アカウントでログオンしようとすると、
これが発生することがあるらしい。
コピーの手順や方法に間違いがある場合に発生する。

対処方法は「このユーザは諦める」しかないようだ。
新しいユーザを作って、そちらでログインする。

1)
セーフモード(起動時にF8)でログオン。
このとき、ログオンするユーザは、
新しいユーザを作成できるユーザじゃないと意味ないのかも。
Administrator グループ以外でも新しいユーザが作れるかはよく知らない。

2)
以下の手順で新しいユーザを作る。
コンパネ
 → ユーザーアカウント
  → 別のアカウントの管理
   → 新しいアカウントの作成
グループは「管理者」がのちのち便利だと思う。
完全復旧するまでは、とりあえずパスワードはなしが良いのではないか。

3)
古いユーザのデータを退避。
c:¥users¥古いユーザ 以下に色々な設定などがあるので、
別ディレクトリに退避しておくと、後々便利。

4)
再起動して、新規ユーザでログイン。

注意:
使用しているのは ThinkPad なのだが、
ThinkVantage とかいうステキ機能があり、
自動バックアップなどがされている。
(これがHDDの大部分を占めていてすこぶる邪魔なのだが)
また、OSにもバックアップ機能がある。
「いじっちゃう前の状態に戻せばOKだよね☆」と思うのは危険。
ユーザ設定は、書き戻しても戻らない。
結局、新しいユーザを作るしか復旧方法がないので、
戻すだけ損である。
ThinkPad の機能によるバックアップを書き戻すと、
ノートンなどがエラーを起こすようになる。
これについては後述。

SRTSPL.SYS とブルースクリーン


windows にログオンできなくなったので、
前の復旧ポイントまで戻せばよいかと思い、
ThinkPad のバックアップ機能で書き戻したが、
そのためにまったくログインできなくなってしまった。

ログオンできなくなったユーザの代わりに、
新しく作ったユーザでログオンしようとすると、
windows の起動途中で、ブルースクリーンになる。
SRTSPL.SYS でのエラーらしく、メモリダンプされて再起動が掛かる。
これはノートン関係のファイルらしい。

対処方法は「ノートンを起動しないようにする」しかないようだ。
詳細には「Symantec Endpoint Protection」である。

1)
セーフモードでログインする。
管理者権限であること。

2)
スタートメニューからファイル名を指定して実行
 → msconfig
  → スタートアップタブ
   →「Symantec Endpoint Protection」のチェックをオフにする

3)
再起動するとログオンできる(はず)


ほかにウィルスチェックプログラムが入っていないのならば、
ノートンをアンインストールして、再インストールする。

  XXX

これで半日以上かかってしまった。
そもそもユーザのグループをいじったのは、
今月で今の客先常駐仕事が終了するから、
ずっと使っていた端末を掃除しようと思ったわけ。
ユーザ名やディレクトリ名なんかに
私の名前がモリモリ入っているから、
それは変えておきたいなと思ったんだよね。
ホントに、やぶへびなことはするもんじゃないなぁ。
でもそうとわかっていてもやっちゃうのがトホホ者なんだよね(苦笑
[PR]
by xiaoxia | 2010-03-03 18:37 | コンピュータ関係 | Comments(2)
昨日、秋の情報処理試験を受けてきました。
一応、応用情報処理技術者、昔で言うところの1種です。
2種取ってからもう10年経ってるんで、
試験らしい試験を受けるのも10年ぶり。
根がものすごく小心者なので、
行くまでお腹グルグルでしたよ(^^;;

休日早朝の電車に乗るのはほぼ初めて。
この日は英検とか日能研の模試とか、色々試験があったようで、
電車の中はなにやら勉強している人ばかり。
あーそういうもんなんですねー。

駅から会場の大学までのバスは、若い兄さんたちばかり。
しかもちょっと酸っぱい系(笑)
まぁギョーカイがギョーカイですからなぁ。
バスはそんな酸っぱい兄さんたちに囲まれてぎゅうぎゅう。
バス停から大学まで歩いている時、
老紳士に「これは英検ですか」と聞かれました。
彼は英検を受けるんでしょうな。
でも客層が明らかに違うんで、なんか違う…と気付いたんでしょうな。
私もこんな若い男の子の集団見たの久しぶりだもん(笑)

大学のお部屋は階段教室。
あー最近学会とかも行かないから、こういうの懐かしいなぁ。
そして、時間になっても人が少ない。
結構な人が遅刻してきたが、
それでも席は半分も埋まっていない感じ。
遅刻してきた上、受験票にまだ写真貼ってなくて、
試験官に糊借りてる人もいたり。
受験票に写真のない人は受験できませんて書いてあるんだから、
そんな人は問答無用で退出させればいいのに。
なんつーの、社会人としておかしくね?
(応用情報は、一応実務の人向けの試験です)

久しぶりに小数点の掛け算とか割り算とかたくさんやって
(こんなに筆算したのは久しぶりだ!)、
頭が煮え煮えになったところで、午前終了。
お昼は大学の芝生の上で。
お天気良くて良かったー(^-^)

人がいないのは午前試験免除なの?午後から来るの?と思っていたけれど、
やっぱり午後も席は埋まらず。
結局 2/5 くらいかなぁ。
受験番号があるってことは、受験料を払ったことなのだろうけど、
払ったのなら折角だから来れば良いのにー。

合格は来年のつもりで、
今回は雰囲気に慣れるために行ったわけだけど、
行って良かったです。
やっぱし試験10年受けてないと、
「試験会場」なんてものの雰囲気、忘れてたし。
これで来年の試験は、お腹グルグルにならずに受けられそう(^^;;

合否の方は。
まぐれでも受かる気しません。
どうせ落ちるから、採点もしてないっす。
だって、問題文の意味からしてわかんない…という問題が多すぎだしw
ストラテジって何よ。
経営戦略とか平社員の私には多分一生カンケーないし。
内部統制はわからないでもないけど、
平社員は統制される側だから、普段考えてないし。
こりゃ真面目に勉強しないとなぁ。
目標はその先のネットワークスペシャリストなんで
(応用に受かると、ネスペの午前免除だっけ?)、
来年は受かりたいなぁ。
(受かるぞ!じゃないところがちと弱いw)
[PR]
by xiaoxia | 2009-10-19 20:15 | コンピュータ関係 | Comments(4)

hadoop と hbase のメモ

あちこちに「HBase 使えねー」って書いてあって、
ヘコみ気味です(´・ω・`)
うーん Hive 使ったほうが良いのかなぁ。

さて、今日悩んだことの自分用メモ。
すごい初歩的なことばかりで、大変恥ずかしいのだが。
というのも、バージョン 0.18 と 0.19 を
あーでもないこーでもないと切り替えながら作業しているので、
設定が間違えているだけなのに、動かないー!なんて思ってしまうことがある。
そして設定が合っていても本当に動かないこともあるので、
それがまた…。

・64bit の Fedora 10 で動かしているんだが
 hadoop 0.19 はイマイチうまいこといかない。
 hadoop 0.18 が良さそう。
 hbase のバージョンも hadoop に合わせて
 hbase 0.18 にすること。

・以下の設定を合わせること
これあんまりよそに書いてないんだけど、常識だから?
※まだちゃんと最後まで動かせていないので、この部分は変更の可能性アリ
$HADOOP_HOME/conf/hadoop-site.xml
<property>
  <name>fs.default.name</name>
  <value>hdfs://myserver:90000</value>
</property>

$HBASE_HOME/conf/hbase-site.xml
<property>
  <name>hbase.rootdir</name>
  <value>hdfs://myserver:90000/hbase</value>
  <description>The directory shared by region servers.</description>
</property>


・設定を変更したり再起動したりしたら、
 ちゃんと hadoop が動いているか、確認してから hbase を起動すること。
 プロセスがあるだけでは信用できないので、
 example の wordcount を動かしてみること。
 hbase の確認には、hbase shell で list とやってみる。
 プログラムを動かす前に、
 hadoop と hbase が間違いなく起動していることを確認すること。

・hbase shell でカラムを検索する場合
 ※DBのスキーマ(?)については「こどもてれび」さんところの「HBase入門」参照
 ver0.18.* scan 'scores', ['course:']
 ver0.19.* scan 'scores', { COLUMNS=>['course:'] }
[PR]
by xiaoxia | 2009-06-08 18:08 | コンピュータ関係 | Comments(0)
なんでも評点:なぜ自動翻訳は使い物にならないのか? ― 翻訳を生業とする立場と経験から分析してみる

えーっと、AI に近いところにおって、
色々思うところがあるわけで、
ちょっと書いてみる。
エンドユーザはこう思っているのかーと、
なかなか興味深いのだが。

まず、なぜ自動翻訳は使い物にならないのか?というタイトルだが、
使い物になるわけがない。

この人も書いているように、
印欧語同士でない翻訳、例えば日英/英日などは、
単語と単語の意味が、ぴったりと対応しているわけではない。
例えば、日本語の「糠雨」と「霧雨」を区別できる英単語はあるだろうか。
アラブの方には、たくさんのラクダをあらわす単語があるらしい。
日本語では多分「○○なラクダ」としか言いようがない。
そして面倒なことに、「糠雨」と「霧雨」はちょっとニュアンスが違う。
糠雨の方が湿度が高くてしっとり感があるが、ベタベタではない。
降るなら春先かな、みたいな。
そこまではさすがに翻訳できない。
翻訳家なら、そのニュアンスも加味して翻訳することができるかもしれない。
そんなわけで、単語と単語の置き換えだけでは、まずうまくいかない。
文脈を解析して、意味を理解した上での置き換えなら、
うまくいくかもしれないが、
現在の技術では、意味解析の実用化はまだ無理。
オントロジーだのセマンティック web だのも、
一時期流行したものの、
現在は、なんか良さそうだけど何に使おうか?という感じ。
実際に動くようになるのは 20 年後くらいじゃないか。
現在使われている形態素解析だって、
実は 20-30 年くらいは研究され続けてきているのだから。

使い物にならない理由として、ほかに挙げられるのは、
チューニングができないということ。
チューニングするには、バイリンガルの協力が不可欠だが、
翻訳家は「精度が上がると自分たちの仕事がなくなる!」と思って、
なかなか協力してくれない。
人間の仕事がなくなるほど精度が上がるなんて、
現在のところはまったく考えられないのだが、
説明してもわかってくれない。
結果、日本語ネイティブがあーでもないこーでもないと、
英語のチューニングをしていたりする。
精度の上がりようがない。
上記リンクの人は理解があるが、
大多数の翻訳家は、この人ほど理解がない。

現在、ホワイトボックステストでも
多分精度は 7-8 割くらいだろうと思う。
ここまでは割とサクサクと来るのだが、実はここからが難しい。
ここから精度を 1% 上げるのに数年かかったりするのだが、
普通の人には「精度が 1% 上がりましたー!」と言っても、
「…で?」と言われるだろう。
企業としても、精度を上げる方向で開発を続けづらい。
ここ 10 年くらいで開発をやめちゃった企業もたくさんある。
こういうのは知識の蓄積でできているので、
一度やめちゃうと、多分もう二度と開発を始められない。
例えば、アメリカは大昔に「機械翻訳なんてクソ」と開発をやめてしまったので、
その分野では、ヨーロッパに大分遅れを取っている。

ま、そんなこんなで、全自動で機械翻訳なんて、まだまだ無理。
できるかも!と思ってる人って結構いるのかな。

上記記事へのツッコミ。
使えない例として、google の翻訳をあげているが、
これは大変にひどい例なので、
例としては如何なものか。
結果から見るに、google のは
統計的手法を主にした機械翻訳なのだろうと思う。
これは学習に食わせるドキュメントの質と量で、格段に差が出る。
forgot なんか入れると、パスワード云々なんて日本語が出ていたので、
食わせているのはきっとマニュアルとか、そういう類の文書。
学習データにあわせて、ニュースよりもマニュアルを入力にしたら、
もうちょっと質が良いものが出力されるかも。
学習に使う文書だが、
日英の対がそろっている文書なんて、実はそうたくさんない。
購入することもできるが、結構お高くてよ。
多分、google のは学習量が足りなすぎ。
他のルールベースのサービスに比較できる品質になるには、
まだ大分お金をかける必要があるが、
翻訳サービスにそれだけの価値を見出すかどうかは、google 次第。
個人的には、全然期待していない。

統計的手法はここ 10 年くらいにホットになったが、
従来のルールベースほど精度が出ないということで、
統計とルールを両方使うほうが良さそう、ということで FA になっている。
ところが、統計的手法のエンジンは比較的簡単に構築できるが、
ルールを記述するのは、
それなりにシステムもルール全体もわかっていないとダメ。
新しくルールを入れたら、別の方がおかしくなった、ということが良くある。
だから、ルールをユーザにカスタマイズさせないのは、そういう理由。
「筆者の構想:完全にプログラミング可能な翻訳システム」の内容が
実現されていないのも、そういう理由による。
作る側は「ユーザは何をしでかすかわからない人」という思想でソフトを作る。
ある程度コンピュータリテラシの高い人を想定してソフトを作ったとして、
それが何本売れるだろう?
それよりは「どんな人でもOK」というソフトを作ったほうが、
明らかに売れる。
たとえ、訳がかなりおかしいとしても、である。

半自動の翻訳機能を人間が操作しながら翻訳出力を生み出すシステムを
目指していれば、もっと使えるものが出来ていた可能性もある。

とあるけれど、実は既に存在する。
汎用性を目指すと帯にもたすきにもならないのは、
開発の人もわかっているので、
分野を特定すれば良いのでは?というのは、誰でも考え付く。
企業としても、いつまで経っても実用化できない開発は続けられないが、
多少でも実用化できれば、開発費が一部でも回収できるかもしれない。
実際、欧州では、天気予報というジャンルに限って、
欧州内の各言語に翻訳するシステムが、大分前から稼動している。
それを日本でもと思うのは当然。
なわけで、実際にある。
でも、企業の中で使われているので、一般の人が知らないだけ。
天気予報じゃなくて、アレとかコレとか。
ちょっと書けないけど。

翻訳メモリに関しては、
翻訳家の間で必須なツールであることは、開発側もわかっている。
しかし、シェアはほぼ TRADOS の寡占状態なので、
TRADOS と提携するのも難しいし、
新規に作った別の翻訳メモリ+翻訳ソフトに
乗り換えてもらうのも難しい。

翻訳家の人の気持ちもわかるんだけど、
色々オトナの事情というのがあるのだよ。

ここまで書いたのは、ちょっと前の AI 業界近所の話。
今はもうちょっと違う状況なのかな。
[PR]
by xiaoxia | 2008-09-25 14:46 | コンピュータ関係 | Comments(0)
実はいまだに動画のファイル形式のことがよくわからない。
わからないなーって避けて通っちゃったら、
ここまで来ちゃったのよね。
H.264 てのは高画質らしいとか、
良く目にするものには、何となくな印象はあるんだけど。
なので、wikipedia を見ながら、自分なりにまとめてみる。
自分が良く目にするあたりのみ。
(だから ogg とか入ってない)

ファイル形式


えーっとまず「コンテナ」があるのね。
このコンテナの中に、映像や音声や字幕や、そのたもろもろ情報を入れられる。
どんな情報が入れられるかは、コンテナ依存。
動画や音声にもそれぞれフォーマットがあって、
コンテナによって、入れられるフォーマットが決まっている。

コンテナとコーデックの種類は、
Wikipedia のまとめがキレイ。さすが。
Template:圧縮フォーマット(Wikipedia)

だから、2つの違う形式のコンテナがあって、
コーデックが同じ映像と音声が入っていたりすると、
劣化させずに変換できたりするのね。
なるほど、そういうことだったのか。

主な音声ファイルフォーマット



  • AAC : MPEG-2, MPEG-4 で使われる。
       RAW AAC のファイル拡張子は .aac。
  • Apple Lossless : Apple 製。
       可逆圧縮なので劣化なし。
       QuickTimeのMOVファイル(.mov)、MP4ファイル(.m4a)のコンテナに入れられる。
  • HE-AAC : MPEG-4 の圧縮方式
  • MP3 : MPEG-1 Layer 3 の略。
       MPEG-1 の音声圧縮方式で、MPEG-2, 4 では AAC が使われている。
  • MPEG-4 : 音声のみの拡張子は m4a
  • RealAudio : いくつかのコーデックを使うらしい
       RealMedia、Matroska などのコンテナに入れられる
  • WMA : Windows Media Audio の略
       Microsoft 製。バージョンはあるけど互換性もある。


主な動画ファイルフォーマット



  • DivX : DivX, Inc. 製。
       MPEG-4 Part 2 をベースにしたらしい。
       AVI、ASF、MKV、OGM、MOV、MP4 などのコンテナに格納することができる。
  • H.264 : MPEG-4/AVC と同一。
       MP4, MPEG-2 システム (MPEG-2 TS), QuickTime のコンテナに入れられる。
  • MPEG-1 : 通常 MPEG というとこれ。
       拡張子が mpg なのに再生できないのは MPEG-2 かも。
  • MPEG-2
  • MPEG-4 : 動画のみの拡張子は m4v。
  • MPEG-4/AVC (H.264) : AVC は Advanced Video Coding の略。
       H.264 と同一。
  • RealVideo
  • WMV : Windows Media Video の略。
       Microsoft 製。MPEG-4 を元にした独自コーデック。
       ASF、AVI などのコンテナに入れる。
  • Xvid : オープンソースでフリー。MPEG-4 ASP 準拠。昔は XviD 。
       AVI、MKV などに入れる。


主なコンテナ


音声のみのコンテナ

  • AU : SUN 製。UNIX 標準。
  • AIFF : Apple 製。非圧縮。
  • WAV : MS + IBM 製。
       通常は非圧縮。MP3、WMA も入れられる。

汎用のコンテナ

  • AVI : Windows 標準。
       映像 : MPEG-[124](DivXなど), WMV, H.264, FLV[14], ...
       音声 : PCM, MP3, AAC, WMA ...
       良く使われるのは mp3+DivX, mp3+VP3, mp3+MS-MPEG4, Vorbis+XviD など。
  • ASF : AVI の後継。ストリーミングに適している。
    映像 : MPEG-4, WMV[7-9], DivX ...
    音声 : WMA9, PCM, MP3 ...
  • MPEG-2システム :
       MPEG-2プログラムストリーム(MPEG-2 PS)とMPEG-2トランスポートストリーム(MPEG-2 TS)の2種類ある。
       PS の方は DVD など、TS の方はデジタル放送なんかで使うらしい。
       H.264 も入れられる。
  • Flash Video : 拡張子 flv 。
       映像 : FLV1, FLV4, H.264 ...
       音声 : MP3, PCM, AAC ...
  • MP4 : 拡張子 mp4。
       映像 : MPEG-[124]、MPEG-4 AVC、DivX
       音声 : AAC、HE-AAC、MP3、MP2、MP1 ...
  • QuickTime : Apple 謹製。拡張子 mov 。
       映像 : MPEG-4、H.264 ...
       音声 : MP3, AAC, Apple Lossless ...
  • RealMedia : 拡張子 rm 。
  • Matroska : マトリョーシカ、と読む。オープンソース。
       映像 : QuickTime MPEG-1/-2/-4, H.264, WMV, FLV, RealVideo ...
       音声 : AAC, MP3, MP2, WMA, RealAudio ...


雑談


しかしアルファベット 3 文字が多いなぁ。
苦手なんだけど、こういう無意味つづりって。
いまだに CSV (Comma Separated Values) と
CVS (Concurrent Versions System) を間違うくらいなのに。
意味わかってても混乱するからね。
絶対覚えらんない。
特に MPEG 周辺は複数の意味を持っている単語が多くて、
全然覚えられない。
仕事で使うわけじゃないから良いんだけど…。
ま、とりあえず「色々ある」ってことだけはわかった<全然ダメ
[PR]
by xiaoxia | 2008-05-30 19:32 | コンピュータ関係 | Comments(3)
特に仕事がないので、仕事を探す旅に出たところ、
T部長のところでお仕事をもらうことができた。
ああ良かった。
ブラブラしてても良いんだけど、
やっぱこう、居づらいじゃないの。

それがまたgdgdなプロジェクトでしてねー(笑)、
ま、色々あって、仕方ないと言えば、仕方ないと言えないこともないんですが。
結合テスト終わりましたねーってなところで、
動作条件の試験してないんですよって、をいをい。
メモリ 512MB のマシンで動作することってなっているのに、
512MB のマシンがなくて、テストしてないんですよねーって。
ですよねーじゃないってばさ。
自社内になかったら、レンタルしてやるでしょ、常考。
1年間の日ごとのレポートを作成するアプリなのだが、
365 日全部データが埋まった状態も、テストしてないって。
もうなんつーかgdgdすぎ。
そんなに忙しいプロジェクトじゃなさそうなんだが。
小霞さん入ってくれるなら、やってもらおうかなーだって。
良いでがすよ、やりますよ。

でまぁ「無料で 512MB のマシンぽい状態をエミュレートして試験をする」という
ミッションが与えられた。
プロジェクトのみなさんは、全然よい考えが浮かばなくて、
小霞さんよろしくーってな状態なので、
一人で勝手に考えて、勝手に実行しちゃうことにした。
特に問題なさそうだし(^^;;
貸してもらった試験用ノートパソコンは、
メモリ 768MB というもの(OS は WindowsXP)。

案1:RAMディスク作っちゃう→失敗


256MB + 512MB なのだから、
256MB を RAMディスクにしちゃえば、512MB のマシンになるんじゃね?という案。
ERAM(http://www.vector.co.jp/authors/VA000363/)というアプリを入れてみた
(結局採用しなかったので、インストール方法は書かないよ)。
256MB だから 256×1024=262144KB だよねーと設定してみたが、
再起動すると ERAM が無効になっちゃって、
RAMディスクができていない。
でも、20600KB(20MB) だとちゃんとRAMディスクができるので、
指定する数値が大きすぎるのかも。
どこまでなら設定できるのだ?
いや、設定できる上限値がわかっても、256MB が設定できなくては意味がない。
諦める。

ちなみに ERAM のアンインストールは、「プログラムの変更と削除」から。
♪杏仁どーふ、杏仁どーふ♪

案2:boot.iniを編集→成功


boot.ini を編集して、使用できる最大物理メモリ量を制限しちゃえという案。
boot.ini はエクスプローラでは表示されないので
(勿論、検索してもムダムダムダムダァァァァァ)、
どこにあるのか、場所を探してしまったりするけど、
見えなくても「c:\」にあります。
表示されないだけです。
システム側からすると、見せたくないほど大切なファイルなわけですね。

boot.ini を編集する方法はいくつかあるけれど、
とにかく大切なファイルなので、試す場合は自己責任でよろしく。
boot.ini のバックアップは必須ね。

コントロールパネル

システム

詳細設定タブ

起動と回復 設定ボタン

起動システム 編集ボタン

メモ帳が開くので、以下のように編集。
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /MAXMEM=512

太字の部分を追加。
こうすると、512MB しか働かなくなる。
再起動して、タスクマネージャで確認。
パフォーマンスの物理メモリの合計値が、
512MB ぽい数値になっているのが確認できたらおk。

あぁよかった。
これでテストに取り掛かれる。
[PR]
by xiaoxia | 2008-03-17 17:51 | コンピュータ関係 | Comments(2)

FizzBuzz とクラスタリング

先月流行した FizzBuzz 問題。
私もへっぽこながら挑戦してみたわけですが。

もう大体回答も出揃った頃だろうと思い、つらつらと検索しながら回答を見る。
プログラムの内容もさることながら、
いろんな言語で挑戦する人がいて、
そのバラエティ豊かなことが非常に面白かった。
awk や sed な人とか、cobol な人とか、fortran な人とか、
アセンブラな人までいたよ。
すごいなぁ、みんな(笑)
Erlang とか haskell とかが散見されるのだが、流行ってるのん?
意外に Ruby が多くて、PHP が少ないとか。

言語の傾向からクラスタ分析できる?


で、ふと思いついたのだが、
言語によって、使われる言葉や文言に傾向がある。
C だったら printf とか、java だったら System.out.print とか。
lisp だったら、ひょっとしたら lambda なんて多いかもしんない。
てことは、結果をクラスタ分析したら、
言語ごとにクラスタが分かれるんじゃね?と思いついた。
われながら良いアイディア。

早速、yahoo のまとめ検索を使ってみる。
「Fizz Buzz」の検索結果、上位100件をグループごとにまとめて表示
記事をまとめる度合い:強

…結果、全然ダメ(^^;;
うーん、ある意味、優秀だな、yahoo。
print とか out とか、そういうのはノイズになることが多いので、
クラスタの要素としてはカウントされないのかも。
でも if とか else とか for なんかは出てるんだよね。
こっちこそ除外すべき単語じゃないかと思うんだが、
英語に弱いのか、日本語 yahoo。

老舗なvivsimo(英語)も試してみた。
これもある意味優秀で、
クラスタの要素が、読んでもそれなりに良くわかるようにできている。
クラスタの要素は、だいたい1単語で出てくるので、
「数字」とか「リスト」とか、
気持ちはわかるけど、それだけではどんなクラスタかわからない、というのが多い。
そういう意味では、ちゃんとしたフレーズで出てくるので、わかりやすい。
でも端的にあらわしているかと言えば、ちょっと冗長な感。

そして次に試してみたのが、これ。
clusty
おお、これはなかなか良いぞ。
クラスタを代表する要素として、言語名がキレイに出てますねー。
Python、Ruby、Erlang、Gauche などなど。
Java や C な人は、きっとメジャーだから、
この言語で書いたよ!と宣言しないんだろうな。
だからクラスタの要素に出てこないんだろう。

クラスタ分析なんて、普段全然使わないんだけど、
こういう風に目的を持って使ってみると、結構面白いな。

Lisp脳


途中、偶然見つけたのがこのページ。
「Lisp脳」の謎に迫る - Schemeプログラマの発想(Gaucheプログラミング)

手続き的な発想では、毎回特殊な処理を行いそれを繰り返す
という発想でプログラミングしていました。
Schemeプログラマはそうは考えません。
データからデータへの変換を考えれば良く、出力は後からどうにでもなる、
と考えています。

これを読んで爆笑。
FizzBuzz を解いたとき、
最初は perl で書いて、後から lisp で書いた。
振り返ってソースを見てみると、私の perl は lisp 脳である。
確かに、いつも仕事で書いているときでも、
データの加工の方に頭が行っていて、
「出力なんてどうにでもなる」って思ってるな。
あはははは。

「プリントせよ」という文を読んだからといって
素直に「印字せよ」とは考えません

あるある。
最後に評価したものが返却値になるから、
敢えて return なんて使わない。
返却値は勝手に標準出力に出るし。
あれ?「評価」とかいう言葉が、既に lisp かい?

三歳じゃなかったけど、三つ子の魂って怖いねー。
[PR]
by xiaoxia | 2007-06-05 18:54 | コンピュータ関係 | Comments(0)

ダメ女プログラマ&主婦&腐女子&バイオリン弾き


by 小霞