プロファイル

カレンダー

S M T W T F S
   1234
567891011
12131415161718
19202122232425
2627282930  
<< November 2017 >>

categories

archives

放射線観測値

Radiation

福島第一原発
福島第二原発
柏崎刈羽原発
電力館

電力消費量

Chrome Extension(拡張機能)を自作 その2

Chrome Extension(拡張機能)を自作 その2です。

前回は、manifest.jsonからHTMLを呼び出して、redirectさせる方法で作成しましたが、今回はmanifest.jsonからそのまま、タブを起動してサイトにアクセスするパターンです。



今回のソース
--------------------------------------------------------
{
   "app": {
      "launch": {
         "web_url": "http://cloud-cc.com/"
      },
      "urls": [ "*://cloud-cc.com/" ]
   },
   "description": "CCJ is the only one vendor can provide nuetral proposal in cloud world",
  "icons": { "16": "icon16-2.png","48": "icon48-2.png","128": "icon128-3.png"},
   "name": "Cloud COmputing Japan HOME",
   "version": "0.9.2"
}
--------------------------------------------------------

実はこっちの方法の方が簡単です(笑)
前回は、 "app": {"launch": {"local_path": "main.html"
と記述しましたが、これを
   "app": {
      "launch": {
         "web_url": "http://cloud-cc.com/"
      },
      "urls": [ "*://cloud-cc.com/" ]
   },

こう書き直します。
”web_url”と”urls”にサイトのアドレスを記述すればOK
あとは、前回と同様に
   "description"  "icons"  "name" "version"
をそれぞれ記述すれば終わりです。


そして、前回一つ書き忘れたことがあります。

それは、Chromeに直接インストールするときは、サーバからのmimeタイプが決まっています。
application/x-chrome-extension .crx
で送信されないといけません。

っで、普通ならば、httpd.confなどに記述するのですが、レンタルサーバなどではこれが出来ません。

そこで、今回はレンタルサーバ(ロリポップ)でのサンプルを追加して記述しておきます。

まず、用意するのは、おなじみ".htaccess"ファイル

ルートにすでに存在しているケースが多いですが、その際は追記することになります。

しかし、.htaccessファイルの記述は書いただけでは、有効になりません。
php.iniを書き換えるのですが、ロリポップではツールから書き換えるしか方法がないので、
コントロールパネルの”Web-ツール” ⇒ ”PHP設定”から行います。
PHPツール選択

すると、PHP選択画面が出てきますので、
PHP対象選択画面

すると詳細画面が出てきますので、その一番下にある、項目”php_value, php_flagを利用可能にする

の項目を”OFF”から”ON”に変更します。ここの注意書きにも書いてありますが、”この設定が「 On 」の場合 .htaccess の設定内容が優先されます
となります。
htaccess機能ON

これで準備OKです。

ここまで出来ると、サイトから.crxファイルをダウンロードしてそのままChromeへインストールが開始されます。

さぁ、他にも色々作れるので次回以降はもう少し難しいアプリを作ってみましょう。

なぐも

Chrome Extension(拡張機能)を自作 その1

ChromExtensionIcon


こんにちは、CTO南雲です。突然ですが皆さんブラウザは何を使っていますか?

私は主にGoogle Chromeです。やはり弊社でも活用そしてご提案しているGoogle Appsとの親和性や他Google Apps(Picasa、Google+)なども便利に活用出来るからです。

もちろん他にWebGLなんかの最新テクノロジが搭載されているからでもありますが、CTO的にはそこが気になるところですがね(笑)

さて今日は一風変わった記事にします。このGoogle Chromeで新しいタブを開いたときに出てくる、Google Chrome Extensions(拡張機能)を自作しちゃおうというネタです。

CNTLキー+Tキーで新しいタブが作られることはご存じだと思いますが、この新規タブが開いたときに出てくるアイコンとその中身を作りましょう。

これがあるとブックマークよりも便利なんで是非トライしてみてください。通常はGoogle Chrome Webshopからダウンロードするのですが、ここにないものも多く、自分で作られる方も最近は多くなってきています。

さて、詳細はこちらのGoogle本家のサイトを見ていただければ分かりますが、まずは細かいお作法や能書きは後にして、

とりあえずサンプルを参考に作ってみましょう。

まずはサンプルをダウンロードしてみてください。(解凍して同一フォルダに展開してください)

準備するものは(サンプルに含まれるもの)3つ。
1)manifest.json
2)main.html
3)icon×3
です。

1)manifest.jason
これは、このEXTENSIONの振る舞いや設定が書かれているファイルで、よくGadget, Widgetなどにも利用されるものです。jsonフォーマットで書かれていて、”UTF-8”で保存されていなければなりません。

うちのEXTENSIONではこんな感じです。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
{
  "name": "日本クラウドコンピューティング株式会社ホーム",
  "description": "Cloud Computing Japan Home",
  "version": "0.9",
  "icons": { "16": "icon16-2.png","48": "icon48-2.png","128": "icon128-2.png"},
  "app": {"launch": {"local_path": "main.html"
    }
  }
}
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

1.  "name": "日本クラウドコンピューティング株式会社ホーム",
ここに記述した名前が新規タブのアイコの名称と、chrome://extensionsで表示される拡張機能一覧に、表示されます。日本語OKです。

2.  "description": "Cloud Computing Japan Home",
この内容が、chrome://extensionsで表示される拡張機能一覧で、NAMEの下に表示される内容を指定します。

3.  "version": "0.9",
この内容が、chrome://extensionsで表示される拡張機能一覧で、NAMEの右横に表示される内容を指定します。

4.  "icons": { "16": "icon16-2.png","48": "icon48-2.png","128": "icon128-2.png"},
アイコンファイルを指定します。同一フォルダ内にアイコンファイルがある場合は、パスの設定はいりません、また、用途に応じて16px*16px、32px*32px、48px*48px、128px*128px、
のアイコンが必要です。

形式はGIF、JPEG、PNGなどが指定できますが、PNGが最適ですと、Google先生は申しております。

16px:タブのアイコン用
32px:ギャラリー掲示用
48px:chrome://extensionsで表示される拡張機能一覧用
128px:新規タブ用

と用途がわかれます。
自作自演のものであれば32pxは必要ありません。

5.  "app": {"launch": {"local_path": "main.html"
EXTENSIONのタイプを指定します。とりあえず、このままにしておいてください。

ちなみにこんな感じで見れます。
EXTENSION一覧表示


次に
2)main.html
です。
うちのEXTENSIONではこんな感じです。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
<!DOCTYPE html>
<html lang="ja">
<head>
<META charset="UTF-8" HTTP-EQUIV="Refresh" CONTENT="0; URL=http://cloud-cc.com/">
</head>
<body>
</body>
</html>
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
単純にリダイレクトしているパターンです。これでも遜色なく稼働します。

今回はURLの部分だけ、変更してください。

最後に
3)icon×3
です。
16px,48px,128pxの画像を用意して、同一フォルダに格納して、その名称をここで指定してください。


これで作り物は終わりです。

この後は、このすべてのファイルが同一フォルダ内にあることを確認します。
次に、Chromeのアドレスバーにchrome://extensionsを入力し、拡張機能画面を表示します。
その上部にグレーボタンで「パッケージ化されていない拡張機能を読込む...」を押し、フォルダ選択ッ画面から、先ほど作ったEXTENSIONのファイルが保存されているフォルダを指定します。
EXTENSION読み込み

すると、一覧に追加されます。
EXTENSION一覧追加後

CNTL+Tで新しいタブを開くと、アイコンが追加されているのが分かります。
追加後タブ画面

これで完成です。
ここで表示されなければ、どっか間違っていますので、バグを直しましょう。

次に、専用のフォーマットに従ってこのファイル群をフォルダ毎固めます。
実は専用フォーマットと言っても、ZIPで圧縮されているだけです。
ただ一つ違うのはプライベートキーが包含されますので、通常通りZIPしただけでは出来ません。

方法は一つ。先ほどのテストと同じくchrome:extensions 画面を開き今度は上部右側のグレーボタン「拡張機能のパッケージ化」ボタンを押します。
パッケージ化
ダイアログが表示されますので、ここに先ほど作成した拡張機能のフォルダ名をフルパスで入力します。
はじめの登録時は、秘密鍵ファイルは省略できます。

この処理が完成すると、フォルダ名.crx, フォルダ名.pemという二つのファイルが、拡張機能が入ったフォルダの親フォルダに作成されます。

今回はCCJ-HOMEというフォルダに拡張機能を作りましたので、CCJ-HOME.crx, CCJ-HOME.pemというファイルが出来ました。

ここまで出来たなら、あとはCCJ-HOME.CRXというファイルを、ブラウザにドラッグアンドドロップして、処理続行ボタンを押すと、
インストール許可
インストールが開始され、新しいタブが開き、アイコンが表示されます。

これで完成です!

簡単ですよね。

次回からはもう少し込み入ったアプリの作り方を記事にしたいと思います。

南雲尚彦

SEO関連(キーワード検索とページ評価)


こんにちは日本クラウドコンピューティングの南雲尚彦です、最近急に寒くなってきましたが、皆さん体調には気をつけましょう。さて今日は少し前に書いたSEOの話の続きです。

前回SEOの話で「形態素解析」について書きましたが、

今日は、形態素解析で分解されたキーワードについて話をしたいと思います。

そもそもSEOって、なんだろうって思われる方多いです正直言って。私のお客さんでも。

SEOは杓子定規に解釈するとSEARCH ENGINE OPTIMIZATION=検索エンジン最適化
となります。

ん〜〜〜ん、はて??

なんでしょう。

わかりやすく言うと、検索エンジンがわかりやすくなるようにホームページを書きましょう!っってことです。

検索エンジンの話が出たので少し書きましょう。

検索エンジンは、利用する側としては、「日本クラウドコンピューティング」と入力して、検索ボタンを押すと、弊社のページが検索結果として表示されます。

では、この検索結果はどうやって、誰が、いつ集めたのでしょうか????
人が登録したのでしょうか?

いえいえ、違います、検索エンジン会社が勝手にかつ、自動で登録したものになります。

この勝手に自動で行う行為のことをクローリング
クローリングをする自動プログラムをボットといいます。

検索エンジン会社はこのボットを使って、ほぼ毎日世界中のサイト駆け廻って新しいサイトが出来たか、ページは更新されたか、ページはなくなってないかを情報収集しています。

ボットとクローリングの挙動については、また後日お話しますが、
今回はこのボットが集めたデータをどうやって評価しているかをお話します。


ボットは、純粋に更新されたページ、新しいサイト、削除されたサイトの情報収集してきます。これを検索エンジン会社は、ず〜〜〜っと保存してあります。

この保存に関しても、また別途BLOGで公開します。これはこれで面白いので。

検索エンジン会社はボットが集めて保存されたデータの中から、ユーザ検索したキーワードにあったページを表示しなければなりません。

どうやって???って思いますよね?

たとえば、旅行会社に行って、ドイツに旅行が行きたいといえば
ドイツの旅行パンフレットを出しきてくれますが、

ユーザが探している場所は、自宅。入力されたのは「ドイツ 旅行」

さて何を表示しましょうか?

ここで登場するのがキーワードなのです。

入力された「ドイツ 旅行」にぴったりあったサイトを探してきてくれるのが、
検索エンジン会社の提供するキーワード検索です。

先の話に戻って、旅行代理店の人がドイツのパンフレットを探すのはたやすいことでしょう。しかし、検索エンジンがどの情報をだしたらよいかわかりませんよね?別のエンジンは旅行代理店ではないので。

では、逆に皆さんがドイツに旅行をしたいと思っているときに、
まちなかで「ドイツ 旅行」って言葉を目にしたら、はっ!と目に留まりませんか?

じゃぁ、そのパンフレットが複数枚あって、自分の気になっている言葉が出ているもの、条件があっているものに目が留まって、吟味した後に旅行を決めますよね。

これを同じことを検索エンジはやってのけます。

どうやって???

実は先日お話した「形態素解析」を使って、収集したホームページのデータを評価しているのです。


ドイツ旅行に関してのパンフレットを皆さんが見るときに、レイアウトや文章を見て、判断しますよね?同じことが出来るんです、たとえば、ドイツと旅行って言う言葉が出てくると、評価はあがり、何度も出てくるとさらに評価があがり、何回も出すぎると鬱陶しいので、評価は下がります。

単純に言うと、「ドイツ 旅行」に興味がある人が呼んで、価値があると思われるページの評価が高いのです。

さらにたとえば、いかがわしいチラシって「安い!」とか「すごい!」とか「今だけ!」とか同じキーワードが乱発されていますよね?見てて鬱陶しいですよね?

でも、呼んでいる人に訴えかけるような文章があると、思わず読んでしまいます。これが自動で評価される仕組みを持っているのです。

ページには、書いた人が訴えたいキーワードがおおむね2〜3はあるもので、これがページ中に何回出現したか、全体の文章のうちの何パーセントか、他のキーワードとの出現率の比較して、多いか少ないか。

こういった指標でページを評価します。

ですから、「ドイツ 旅行」というキーワードがあっても、「安い」が100回あったら、評価が低いし、「ドイツ 旅行」が他のキーワードと同じくらいの出現率だったら、評価が低いのです。

(先にお断りしておきますが、ページ評価はキーワードだけではありませんので、それ以外はまた別途お話します)

ですから、ページは人が読んでみて読みやすい文章が一番で、過激に特定のキーワードだけを入れ込んでも、ページの評価は下がるだけです。

じつはこのバランスを考えていくことがSEOのキーワード検索での注意点なのです。

ですから、これからページを更新したり、ページを追加したりするときは、普通の文章として正しくユーザに評価されるものなのかを気をつけて書いてもらえればと思います。

ただしSEOに関しては、複雑な要因が絡まって評価されますので、慎重に!

なぐも


クラウドプレーヤー SQLITE その2

 
さぁ、第二回目。

前回は、SQLITEのCLIからCreateDBして、データインサートまでは出来ました。
まぁ、これぐらいはお茶のこさいさいでしょう。
しかもアプリから呼ぶのも決して難しくないんです。

そう、SQLITEの本筋はアプリケーション内部に包含され、C/C++から直接呼べるようになっ ていることです。

本家SQLITEのページで紹介されていますが、簡単に。
またサンプルコードは○×(まるぺけ)つくろーどっとコムさんからお借りしまし た。


#pragma comment( lib, "sqlite3.lib" )

#include <tchar.h>
#include <sqlite3.h>
#include <stdio.h>

// 抽出結果が返るコールバック関数
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
   int i;
   for(i=0; i<argc; i++)
      printf("%s = %s¥n", azColName[i], argv[i] ? argv[i] : "NULL");
   return SQLITE_OK;
}

int _tmain(int argc, _TCHAR* argv[])
{
   sqlite3 *db;
   char *zErrMsg = 0;

   // データベースファイルを新規生成
   int rc = sqlite3_open("CCJ.db", &db);

   // テーブル生成SQL文
   char create_sql[] = "CREATE TABLE tblCCJ ( "
                       "               id     INTEGER PRIMARY KEY, "
                       "               name TEXT    NOT NULL,    "
                       "               place  TEXT    NOT NULL     "
                       "             )                             ";

   // テーブルを生成
   rc = sqlite3_exec(db, create_sql, 0, 0, &zErrMsg);

   // データ追加SQL文
   char insert_sql[] = "INSERT INTO tblCCJ ( id, name, place )"
                       "            values (%d, '%s', '%s')     ";

   // 追加SQL文を生成
   char insert_record[2][256];
   sprintf( insert_record[0], insert_sql, 0, "Arai"  , "Saitama" );
   sprintf( insert_record[1], insert_sql, 1, "Nagumo" , "Tokyo" );

   // データ追加
   int i;
   for( i = 0; i < 3; i++ )
      rc = sqlite3_exec(db, insert_record[i], 0, 0, &zErrMsg);

   // tblCCJ"テーブルから"name"を抽出して列挙
   rc = sqlite3_exec(db, "SELECT name FROM tblCCJ", callback, 0, &zErrMsg);

   // データベースを閉じる
   sqlite3_close(db);
   return 0;
}


この様にDBのOpenはsqlite3_open()、Closeはsqlite3_close()、SQL実行はsqlite3_exec()で 実行できます。また、データベース領域も予め領域を確保するのではなく、データが挿入される毎にデータ領域を確保するので、最初はほんとに小さなデータ ベースが作成されます。エクスプローラーでファイルを見るとデータが無い状態では0バイトになってます。

この様に色んな使い方が出来、非常にコンパ クトなので、最近割りと組み込まれているケースが多いです。

そして、クラウドコンピューティングと言っても、絶対にオンラインであるとは 限らないので、オフライン時に状態保持をしておく必要があり、そのオフライン時にデータ保持にこのSQLITEが非常に役に立つのです。

か ならずオンラインだけを前提にしていると、オフラインになったときにシステムの状態が消え、最初から作業のやり直しなんてことも発生します。そんな事を避 けるために、クライアント側にはSQLITEの様な小さいデータベースを用意しておき、作業の継続性を高めることが出来るのです。

そうそして、GoogleGearもSQLITE使ってるんです!

私も気 に入って、最近は実装に使っています^^

なぐも

クラウドプレーヤー SQLITE その1

 
最近クラウドに注目があって、私たちの会社もクラウドを専門としています。
サーバー側の技術だけが注目されがちですが、実はクライアントも非常に重要です。

先日クラウドプレーヤーについて一般的な話しは書きましたが、今回はSQLITEについて技術的に(といっても割りと一般的ですが(笑))書きたいと思います。

SQLITEってにわかに有名ですよね。なんつったってMAC版Google Desktopに使われています(Windows版はどうも違うらしい)。Google Desktopのフォルダを覗くと、とんでもなくデカイファイルがありますよね、あれってSQLITEのDatabaseなんですよ(MAC版)

SQLITEは、非常にコンパクト軽いDBです。基本的に単体で動くというよりも、他のモジュールから呼び出されて使うと言った感じです。自分でぶんぶん動いてるってわけではないんですね。

コマンドラインインターフェイスも持っているので、コマンドラインからsqlite3.exeをたたいて、CLIで操作することも 可能です。

こんな感じでDBを作って、TBLを作ります。

C:¥Documents and Settings¥nagumo>sqlite3 dbNagumo;
SQLite version 3.6.23.1
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> ;
sqlite> create table tblNagumo(name varchar(10), age integer);
sqlite> insert into tblNagumocalues('Nagumo', 42);
sqlite> insert into tblNagumo values('Nagumo', 42);
sqlite> insert into tblNagumo values('Arai', 39);
sqlite> select * from tblNagumo;
Nagumo|42
Arai|39
sqlite>

これで、C:¥Documents and Settings¥nagumoにdbNagumoというDatabaseが作成されました。

UIを使った操作だけなら、SQLite Database Browserを使ったほうが早いです。

DatabaseStructureタブでDatabaseの構造を見れます。
SQLite Database Browser1


BrowseDataタブのドロップダウンボタンで見たいテーブルを選択すると各テーブルのデータが見れます。ここでデータを直接編集することが可能です。
SQLite Database Browser2


Excute SQLタブで、SQLを記述して実行することが可能です。
SQLite Database Browser3

といった感じです。ちなみに、FirefoxのAddonで、SQLITE Managerというのもあって、同じように利用できますので、Firefoxユーザの方はそちらを使ったほうが良いかもしれませんね。

続きはというところで、続きは次回!

なぐも

Appleがすぐ標準化する件


最近iPhoneに載せる載せないでADOBEとAPPLEが戦っていますよね。ちょっとタイムリーなので、その話題を。

APPLEってどんな会社だと思いますか?マッキントッシュ(古っ)、iPhone、iPod、iPad、Newton(これも古っ)なんてものを出している会社ですよね。

ただ、APPLEって基本的にはSteveJobsの会社であることは間違いないのと、
実はもう一つ重要なことがあるのです。

実はユーザーエクスペリエンス(ユーザ体験)を売っている会社なんです。

私も一度WWDC(World Wide Developer's Conference )に参加したことがあるのですが、そこに即席Apple Labが出来ていたのですが、一番行列が出来ていたのが、

ななんと、ユーザーインターフェイスラボなんです。要は、みんなユーザインターフェイスとかUIとかをAPPLEと一緒に一所懸命研究してるんですね。

さてそんな話しはほど程に、Appleって実は色んな事を標準化している会社なんです。

みなさんブラウザって何を使ってますか?
IE?Firefox?Chrome?Safari?Opera?

スマートフォンは何を使ってますか?
iPhone?WindowsMobile?Symbian?Blackberry?Palm?

実は、Safari、Chrome、Symbian、PalmWebOS、ANDROID、QtWebやAroraでは全てレンダリングエンジンとしてWebkitが使われています。

っで、このWebkitってのは、実はKHTMLエンジンをベースにAppleが作ってOpenSourceにしてしまったんです。Appleって実はこんなこともやってたんですね。

んで、これをOpenにすることで色んな人たちが利用できるようにする。いい会社じゃないですか(笑)

さて、Appleは実はほかにもFirewireやOpenCLも標準化してます。

それで大体の技術はKhronos Groupって所に移管して、「あとはヨロシク!」って任せちゃいます。このKhronos Groupは他にもOpenGL、WebGLなど色んな標準化を担当してます。WebGLなんかの話しはまたこんど。

さてこんなに標準化しちゃったり、Open化しちゃってもいいわけ?って思いますが、やっぱりこれは標準化によるメリットを開発した会社がより多く享受するための作戦です。

いま、FLASHの載せないのもこのせいでしょう。

なんでかって?自分が優位に立っていないコーデック技術でADOBEにやられているのが、悔しいのでしょう。FLASHを使えるようにしたら、ADOBEの思うがままですもんね。

もちろん収益はADOBEが一番多く得られるようになるし。Steve Jobsも公式発表では、技術の問題だっていってるけど、これは表向きで、実際は金の話ですよ。

まぁ技術的なことも一理有るので、全て金の為とは言い切れませんが、9割は金の為でしょうね。

ということで、今後AppleはHTML5(canvas, audio, videoのタグ)、CSS、JavaScript
を使っていくんでしょう。んで、まだ技術的には未熟ですが、Ogg Theoraのコーデックフォーマットもあるし。

ただ、AppleはH.264を推しているので、これをなんとかするんでしょうね。IE9では、H.264 をサポートするし、Chromeもサポートしてるし、ただFirefoxはH.264をサポートしないんですよね。あっ、HTML5での話です。

VideoCodecの対応表

今度iPhoneからはじまり、FLASHが使えない環境が増えるとなると、ビデオはHTML5に任せるとして、やっぱりPapervisionやOpenFrameworksなんかを使って、色々表現していくことになるんでしょうね。

最近みてると、クリエーターが自分達で新しいFrameworkを作り始めてますよね。それが凄く楽しみです。

これもひそかに戦っている、AIRとSilverlightも面白いですね。
もしかしたらAppleが新しいRIAのフレームワーク出してくるかもしれませんね。

あと、関係ないですが、HTML5から標準で使えるDOM.Storageも注目です。

では、今回はこれくらいで。

なぐも

SEOシリーズその1 形態素解析


みなさんこんにちは、南雲です。先日久しぶりにバイクでツーリング行ってきました。私は400ccのアメリカンで行ったのですが、一緒に行ったメンバーがV-MAXだのTRIUMPH SPEED TRIPLEだので、峠を攻めたので、一緒について行きながら、低いバンクセンサーをガリガリ言わせながら頑張りました(^^;

さて、今回はちょっと毛色が変わった内容です。Webマーケッティングの中でもSEOに関する話題です。今回から何回かお話したいと思います。

Webマーケッティングの概要やSEM(リスティング)については、いろんな書物が出ているので、それ以外のところをお話します。

まず一回目は形態素解析です。

はて?と思われる方もいらっしゃるとは思いますが、形態素解析。これがとても重要なんです。

例えば、「私はバイクが欲しい」とサーチエンジンで検索したとします。

検索エンジンは、検索語をどうやって認識し、自分の持っている巨大なデータベースとつき合わせるのでしょうか?

実は、この「私はバイクが欲しい」という、言葉を分解してマッチングしています。

この「私はバイクが欲しい」を分解すると、

仮にYahooがこの言葉を受け取ったとすると
私+は+バイク+が+ほしい
になります。

そして、この「私+は+バイク+が+ほしい」という形態素と一番合っていて、かつランクの高いサイトから順番に表示されます(ランクというか評価のつけ方は又今度)。

この「私はバイクがほしい」を「私+は+バイク+が+ほしい」に分解するアルゴリズムを”形態素解析”といいます。

形態素解析について詳しくは、「言語学」という本屋にコーナーに行ってください。難しすぎて詳しく説明できません、、、

ただ、
チョムスキーが1960年代に、「世界じゅうの数多くの言語には、 実はそのすべてに共通する「普遍文法 (universal grammer)」がある」なんて、大見得きっちゃったもんだから、みんな一所懸命研究してます。本当でしょうか、チョムスキーさん、、、


しかし、言語学で言うと音声は以下の5つに分類されます。

「http://www.unixuser.org/~euske/ 新山祐介さんのHPから引用」
これらの分野について簡単に解説しておく。 音韻論とは、「あー」とか「ひょげ」とかいう音と文字の関係、 子音と母音の組み合わさり方などを明らかにするものである。 形態論が単語とか、品詞とかについて、その語形変化や並び方などを 研究する分野。語形論とも呼ばれる。構文論がチョムスキーの考えた 生成文法を研究する分野にあたる。語や文節がどのように「かたまり」を作って、 どのようにそれらが入れ子になったり、他の「かたまり」を修飾したり するのだろうか、といった研究である。意味論とは、ひとつひとつの 「単語」がどのような意味をもっているか、といった分野だが、この 分野はまだ構文論にくらべて研究が進んでいない。語用論はあるひとつの 文 (発話) をとりあげ、その発話が文脈の中でどのような働きをもっているか を研究する (たとえば依頼や婉曲、皮肉など)。こっちのほうはもっと 研究が進んでいない。ましてやこれらをとり入れた自然言語処理システムなど、 今のところ一つもない。
言語論                    ↑対応モジュール
─────────────┼──────────────────
1.音韻論 phonology        │音素解析モジュール (いわゆる音声認識)
2.形態論 morphology       │形態素解析モジュール
3.構文論 (統語論) syntax  │構文解析モジュール
4.意味論 semantics        │意味解析モジュール
5.語用論 pragmatics       │談話 (discourse) 解析モジュール

現在は、やっとこさ構文解析モジュールが出てきたくらいなので、まだまだなんです。

さて、SEOとなんの関係があるかというと、お客様のHPに出現する言葉(キーワード)の数と量(出現頻度)が問題で、検索エンジンはこれを全て形態素解析で解析しています。

そして、これをデータベース化しているのです。

たとえば、A社のホームページは「鍋」を売りたいというページで、「鍋」が10回、「お買い得」が10回出現すると、検索エンジンはA社のページには「鍋」×10、「お買い得」×10のキーワードがある。と認識し、この情報を保存しておきます。

次に、「鍋 お買い得」と入力して検索した人が居たとしたら、検索エンジンはこの人にこのA社のホームページが一番適していると考えて、検索結果に表示することになります。

実はこの形態素解析した結果のデータを保存しているのが、クラウドストレージになります。クラウドストレージの話もまた今度しますね。これはこれで結構面白いもので、まだまだ研究の余地があるエンジニアにとっても、物凄く興味があるものなので^^

全てのページは検索エンジンが持っているこの形態素解析エンジンによって解析され、データとして保存されています。

一度皆さんのページも形態素解析して、どんなキーワードがどんな出現頻度になっているか解析してみたら如何でしょうか?

ちなみに形態素解析してくれる無料サイトが数多くありますので、ぜひ
「キーワード解析 無料」なんて探してみては如何でしょうか。
ちなみに、http://www.keyword-kaiseki.jp/
このサイトで無料で解析してくれます。

SEOに関する書物は別途ご紹介します。

なぐも


クラウドセキュリティ バーチャルキーボード

クラウドセキュリティに関して、様々なベンダーが提供していますが、
今回はちょっと毛色の違うセキュリティ。

現在も特定の金融会社Webでは、バーチャルキーボードを実装しているところはあります。
たとえば、SMBCなんかは割りとセキュリティに関して意識が高く、何年も前からバーチャルキーボードを導入しています。

先日Googleからバーチャルキーボードが発表されましたので、ここでお知らせ。

これは、Googleが作ったキーボードが利用できるAJAXライブラリで、Google以外のWebページでも利用できるように公開されています。

これを使うと、利用中のキーボードレイアウトに依存しないでも利用したい言語環境のキーボードを利用したり、マウスとカーソルを利用して、Webにデータを入力することが可能です。

まずは、
バーチャルキーボードの普通の使い方
http://ccjpoc.net/PoC/vk1.html

同じテキストエリアに違う言語で入力するとき。(ってあるのかな?)
http://ccjpoc.net/PoC/vk2.html

掘普通にキーボードを打つと、期待する言語のキーボードレイアウトで入力してくれる。
http://ccjpoc.net/PoC/vk3.html
日本語環境から英語環境独特のコード(バックスラッシュ)などを打つときに便利ですね。

複数のテキストエリアに別の言語で入力したい時(マルチナショナルプロジェクトだと使うかも)
http://ccjpoc.net/PoC/vk4.html


例としてはこれらがありますが、これらは便利であることと同時に、KeyLoggerなどのマルウェアからデータを保護してくれます。

KeyLoggerは、あるときPCに忍び込みユーザが入力するキー入力を全てロギングし、サーバに送信します。すると、ロギングデータにはユーザが入れたユーザIDやパスワードが含まれているので、知らない間にユーザIDやパスワードを盗まれてしまいます。

そこで、このバーチャルキーボードを利用することでキーボードを使ったキー入力をせずに、ユーザIDやパスワードを入力することが出来るのです。

ログインした後は、普通にデータを入力する事も可能ですし、もちろん沢山のデータは入力しづらいですが、バーチャルキーボードを使うことも可能です。

ということで、クラウドではこういった情報漏えい対策も可能になります。

なぐも

| 1/1PAGES |