- 2008-06-07 (土) 1:19
- サンプルプログラム
日本語は、同音異義語や送り仮名の間違いなど、勢いづいて書いているとなかなか見つけられない間違いをよくします。
そこで、そんな間違いを指摘してくれる「校正支援」をYahoo! JapanがWebサービスとして提供しているので、早速使ってみました。
まずは、次のサイトからアプリケーションIDを登録します。
» Yahoo!デベロッパーネットワーク - テキスト解析 - 校正支援
そして、JavaScriptを作り込んでいくわけですが、XMLの解析が必要なので「JKL.ParseXML」と定番の「Prototype.js」を組み込んでおきましょう。
» Prototype JavaScript framework: Easy Ajax and DOM manipulation for dynamic web applications
» [ajax] JKL.ParseXML/ajax通信処理ライブラリ
JavaScriptから直接外部の URLを呼び出すことがセキュリティ上できないので、PHPで橋渡しプログラムを作ります。「kousei.engine.php」などというファイル名で保存します。
<?php
header("Content-Type: text/xml; charset=utf-8");
// パラメータを受信する
$message = stripslashes($_GET['message']);
readfile('http://jlp.yahooapis.jp/KouseiService/V1/kousei?appid=h2o_ajax&sentence='.$message);
?>
これで準備完了です。
HTMLを準備して・・
<p>以下のテキストエリアに、間違えた日本語(小形飛行機など)を記入して「校正チェックする」ボタンをクリックしてみてください。</p>
<form id="formMain" action="#" method="post">
<div><textarea id="message" name="message" cols="50" rows="3"></textarea><br />
<input type="button" id="btnCheck" value="校正チェックする" /></div>
<div id="areaErrorMessage">
</div>
</form>
<head>要素で、次のようなスクリプトを組み込んでいきます。
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/jkl-parsexml.js"></script>
<script type="text/javascript">
// ボタンをクリックした時のイベントを定義します
window.onload = function() {
$('btnCheck').onclick = function() {
// 作ったPHPを呼び出す
var http = new JKL.ParseXML('kousei.engine.php?message=' + encodeURI($('message').value));
var data = http.parse();
// 間違いがない場合
if (data.ResultSet.Result == undefined) {
var message = '<p>間違いは見つかりませんでした!</p>';
} else {
var message = '<p>次の日本語間違いが見つかりました。参考にして修正してください。</p><ul>';
// 1件の場合
if (data.ResultSet.Result.length == undefined) {
var r = data.ResultSet.Result;
message += '<li>' + r.Surface + '→' + r.ShitekiWord + '【' + r.ShitekiInfo + '】' + '</li>';
} else {
// 複数件の場合
for (var i=0; i<data.ResultSet.Result.length; i++) {
var r = data.ResultSet.Result[i];
message += '<li>' + r.Surface + '→' + r.ShitekiWord + '【' + r.ShitekiInfo + '】' + '</li>';
}
}
message += '</ul>';
}
// 結果画面に反映する
$('areaErrorMessage').innerHTML = message;
}
}
</script>
これで完成です。作ったスクリプトはこちら
使い方次第で非常に面白い使い方ができそうです。是非お試しください!
- Newer: Microsoftから『Silverlight 2 Beta 1』が提供されています
- Older: [Aptana] Aptana Studioに、Subversionを追加する方法(ムービー)
Comments:0
Trackback+Pingback:0
- TrackBack URL for this entry
- http://www.h2o-ajax.com/archives/77/trackback
- Listed below are links to weblogs that reference
- 『Yahoo! Japan 校正支援Webサービス』を使った校正サービスの作り方 from Recently Ajax

