C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: 日本語テキストからキーワードを抽出する方法


(過去ログ 79 を表示中)

[トピック内 17 記事 (1 - 17 表示)]  << 0 >>

■46399 / inTopicNo.1)  日本語テキストからキーワードを抽出する方法
  
□投稿者/ こあら (65回)-(2010/02/01(Mon) 23:15:18)

分類:[雑談] 

掲示板の書き込みの日本語テキストから、技術的な検索キーワードを抽出する方法について教えて下さい。

もうずいぶん前のことなのですが「正しい質問の仕方」というトピックスで
「掲示板につけたら面白そう」という題目で、こんな書き込みをしました。

> 「ググれ」を無くす機能
> トピックを立てた書込内容をごにょごにょっとキーワードなりを抽出して、
> googleの検索結果を自動で追記してくれるシステム。
ttp://bbs.wankuma.com/index.cgi?mode=red&namber=23811&KLOG=45

最近めずらしく仕事が忙しいので、この「ごにょごにょ」を考えてみようと思い立ちましたw


まず最初に思い付いたのは正規表現で「連続する(漢字|英数字|カタカナ)」を抽出する方法。
漢字カタカナは2文字以上、英数字は4文字以上、くらいにするとまずますの感じですが
「方法」とか「場合」とか「教授」のような検索ノイズ?も含まれてしまいます。
今は漠然と、抽出ワードを「単語に重み付けした辞書」で絞り込む方法かなぁ?と考えていますが、
これだと、辞書を作るのに一苦労、辞書のメンテナンスに二苦労、となってしまいます。
※MSDNクローラーみたいなものを作れば良いのかも?

理想は「一度作ったら、あとは放置してOK」です。

もし何か良いアイディアがあったら教えて下さい。よろしくお願いいたします。



ちなみに単語に分割する側では「日本語形態素解析」で、ライブラリ?も見つけました。
http://chasen.org/~taku/software/TinySegmenter
かなりの精度で解析できるようですが「検索ワードを抽出する」という今回の用途に限ると、
正規表現と大差ないかなー?という印象でした。

引用返信 編集キー/
■46400 / inTopicNo.2)  Re[1]: 日本語テキストからキーワードを抽出する方法
□投稿者/ こあら (66回)-(2010/02/01(Mon) 23:32:13)
今は、こんなhtmlを書いてみた段階です。

*---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>日本語テキストからキーワードを抽出するテスト</title>
</head>
<script type="text/javascript" charset="UTF-8">
if (!Array.prototype.margepush){
  Array.prototype.margepush = function(object){
   for (var i = 0; i < this.length; i++) {
    if (this[i].indexOf(object)!=-1) {
     return i;
    }

    if (object.indexOf(this[i])!=-1) {
     this[i] = object;
        return i;
     }
    }

    this.push(object);
   return this.length;
  }
}

function Query() {
  var i = document.getElementById("input");
  var arr = new Array();
  var reg = new RegExp('([一-龠]{2,}|[ァ-ヶー]{2,}|[0-9a-zA-Z]{4,})', 'g');
  while ((m = reg.exec(i.value)) != null) {
    arr.margepush(m[0]);
  }

  var out = document.getElementById("output");
  out.style.display = 'block';
  out.innerHTML = "http://www.google.co.jp/search?q=" + arr.join("+");
}

function Clear() {
  var i = document.getElementById("input");
  var o = document.getElementById("output");
  i.value = "";
  o.style.display = "none";
  o.innerHTML = "";
}
</script>
<body>
	<h1>日本語テキストからキーワードを抽出するテスト</h1>
	<div class="main">
		<br>
		<p></p>
		<p>
			<h2>デモ</h2>
			<p>日本語の文章を入力し、問い合わせボタンをクリックしてください。</p>
			<textarea id="input" cols="40" rows="5"></textarea>
			<p>
				<input type="submit" value="問い合わせ" onclick="Query()">
				<input type="submit" value="クリア" onclick="Clear()">
			</p>
		</p>
		<p>
			<div id="output" style="width:91%; margin-left: 1.5em; border-width:1px; border: dotted 1px;"></div>
		</p>
</body>
</html>
---*

引用返信 編集キー/
■46406 / inTopicNo.3)  Re[2]: 日本語テキストからキーワードを抽出する方法
□投稿者/ 渋木宏明(ひどり) (1270回)-(2010/02/02(Tue) 06:30:49)
渋木宏明(ひどり) さんの Web サイト
対象とする言語は日本語限定でいいんですか?
引用返信 編集キー/
■46407 / inTopicNo.4)  Re[1]: 日本語テキストからキーワードを抽出する方法
□投稿者/ Jitta on the way (542回)-(2010/02/02(Tue) 07:24:35)
No46399 (こあら さん) に返信

検索ワード抽出用のサイトを決めて、そこからワードを集める。抽出サイトから抽出したワードと一致するワードについて、検索をする。

とか。
引用返信 編集キー/
■46408 / inTopicNo.5)  Re[2]: 日本語テキストからキーワードを抽出する方法
□投稿者/ .SHO (1183回)-(2010/02/02(Tue) 08:31:18)
言うまでもなく一筋縄にはいかないでしょうね。

検索結果に対して「この検索は役に立ちましたか?」の質問を付け
その結果を基に検索ワードに重み付けをした辞書を成長させていくとか。

これなら、開発者から見れば「一度作ったら、あとは放置してOK」ですね。
まぁ、現実には重み付けのチューニングが設置当初は必要になるでしょうけど。

引用返信 編集キー/
■46413 / inTopicNo.6)  Re[3]: 日本語テキストからキーワードを抽出する方法
□投稿者/ こあら (67回)-(2010/02/02(Tue) 11:20:43)
みなさま書き込みありがとうございます。まとめての返信で失礼します。

No46406 (渋木宏明(ひどり) さん) に返信
> 対象とする言語は日本語限定でいいんですか?

日本語限定で考えています。
「ちょっと調べればすぐに分かること」を手助けするものを想定しています。



No46407 (Jitta on the way さん) に返信
> 検索ワード抽出用のサイトを決めて、そこからワードを集める。抽出サイトから抽出したワードと一致するワードについて、検索をする。

辞書はメンテナンスコストが膨大になりそうなので、できれば自分では作りたくないと思うのです。
ちゃんとしたインフラを持っている検索エンジンに丸投げしたいというか。
Googleタグクラウドみたいなサービスがあればベストなのですが・・・



No46408 (.SHO さん) に返信
> 検索結果に対して「この検索は役に立ちましたか?」の質問を付け
> その結果を基に検索ワードに重み付けをした辞書を成長させていくとか。

辞書を作るのに人手が必要なことには変わりないので、やっぱりうまくない気がします。

引用返信 編集キー/
■46415 / inTopicNo.7)  Re[4]: 日本語テキストからキーワードを抽出する方法
□投稿者/ 渋木宏明(ひどり) (1271回)-(2010/02/02(Tue) 14:14:45)
渋木宏明(ひどり) さんの Web サイト
>辞書はメンテナンスコストが膨大になりそうなので、できれば自分では作りたくないと思うのです。
>ちゃんとしたインフラを持っている検索エンジンに丸投げしたいというか。

語句の意味を取得するのは、検索エンジンに丸投げでもいいと思います。

でも、そーなると件名のように、まず「文書中から語句を抽出」してから、検索エンジンで検索を行うことになります。

ですが、「日本語文書」から「文書中から語句を抽出」するのは結構大変です。

日本語文書には、英語文書のように「単語の区切りを空白文字で示す」ようなルールが無いため、なんらかのアルゴリズムを用いて「文書中から語句を抽出」することになります。

近年、「日本語文書中から語句を抽出」するための手法として広く用いられているのは

形態素解析
http://www.bing.com/search?q=%E5%BD%A2%E6%85%8B%E7%B4%A0%E8%A7%A3%E6%9E%90

です。

オープンソースのプロジェクトもいくつかあるので、まずはそれらを調査してみるのがいいんじゃないでしょうか。

引用返信 編集キー/
■46419 / inTopicNo.8)  Re[5]: 日本語テキストからキーワードを抽出する方法
□投稿者/ todo (4回)-(2010/02/02(Tue) 15:03:05)
Yahoo! Japan の日本語形態素解析WebAPI
http://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html

はどうでしょう?
引用返信 編集キー/
■46469 / inTopicNo.9)  Re[4]: 日本語テキストからキーワードを抽出する方法
□投稿者/ .SHO (1189回)-(2010/02/03(Wed) 13:16:03)
> 辞書はメンテナンスコストが膨大になりそうなので、できれば自分では作りたくないと思うのです。
> 辞書を作るのに人手が必要なことには変わりないので、やっぱりうまくない気がします。

自分では何もしたくないというのであれば、重み付けをも検索サイト側に任せるという発想で
検索した結果のヒット数が、極端に少ないものや、逆に極端に多いもの(これは「方法」とか
「場合」とか「教授」のような検索ノイズ)を捨てるようにするとか。

引用返信 編集キー/
■46501 / inTopicNo.10)  Re[5]: 日本語テキストからキーワードを抽出する方法
□投稿者/ こあら (68回)-(2010/02/04(Thu) 01:21:55)
No46469 (.SHO さん) に返信
>>辞書はメンテナンスコストが膨大になりそうなので、できれば自分では作りたくないと思うのです。
>>辞書を作るのに人手が必要なことには変わりないので、やっぱりうまくない気がします。

> 自分では何もしたくないというのであれば、重み付けをも検索サイト側に任せるという発想で
> 検索した結果のヒット数が、極端に少ないものや、逆に極端に多いもの(これは「方法」とか
> 「場合」とか「教授」のような検索ノイズ)を捨てるようにするとか。

これはイケるかも。試してみます。

・・・ほんの少し調べただけで、IEとFirefoxがどうとか、クロスドメインなんたらとか、
一般常識なのかもしれませんケド、webまわりって、とっつき易いんだか難いんだかw

引用返信 編集キー/
■46502 / inTopicNo.11)  Re[6]: 日本語テキストからキーワードを抽出する方法
□投稿者/ やじゅ (1504回)-(2010/02/04(Thu) 07:20:49)
やじゅ さんの Web サイト
No46501 (こあら さん) に返信

この前の質問の「VBからShortCutの作成」くらい明確なら、文章中からキーワード探して
検索できるかもしれないけど、他の質問文だとなかなか難しいですね。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=46393

テキスト要約サイト
http://www.ryo.com/getsen/
http://gensen.dl.itc.u-tokyo.ac.jp/gensenweb.html
http://www.ekiji.com/

質問応答技術とその周辺
http://www.sousei.gscc.osaka-cu.ac.jp/ws/wspdf/media/m060615.pdf
引用返信 編集キー/
■46539 / inTopicNo.12)  Re[4]: 日本語テキストからキーワードを抽出する方法
□投稿者/ Jitta (633回)-(2010/02/04(Thu) 22:40:00)
No46413 (こあら さん) に返信
-----
こんにちは、いつもお世話になっております。

今回、2つのフォームがありまして、そのフォームの間でデータのやりとりをしたいと思っています。具体的には、Form1 の「指定」をクリックすると、Form2 (検索条件設定フォームです)が開きます。Form2 で「実行」ボタンをクリックすると、設定してある検索条件を Form1 へ転送し、Form1 の中でデータベースから検索をしたいのです。
しかし、Form2 を表示することは出来たのですが、ここから Form1 へどうやったらデータをコピーできるのか、わかりません。どなたかヒントでも良いので教えてくださいませんか。
-----
という質問から、どれをキーワードとして検出しましょう?

 この質問では、「データベース」というのはひとつの検索キーワードですが、今回尋ねたいと思っている内容では、このキーワードは不要です。


引用返信 編集キー/
■46621 / inTopicNo.13)  Re[7]: 日本語テキストからキーワードを抽出する方法
□投稿者/ こあら (69回)-(2010/02/07(Sun) 00:31:37)
No46502 (やじゅ さん) に返信
> この前の質問の「VBからShortCutの作成」くらい明確なら、文章中からキーワード探して
> 検索できるかもしれないけど、他の質問文だとなかなか難しいですね。

そうなんですよね。質問に適切なキーワードを並べられるのであれば、その時点でほとんど解決しているようなものですものね。


No46539 (Jitta さん) に返信
一文なら「フォームの間でデータのやりとりをしたい」単語なら「Form1, Form2かフォーム、データ、コピー」あたりでしょうか。とりあえず出来たところまでのプログラムでは、以下のようになりました。上位3つくらいで検索することを想定していますので「実行 Form1 世話」ですね。まだ、カウントの取り方とか、ソート順のしきい値とか、全然適当なのを差し引いても、全く意味不明、とまでは言いませんが正解には程遠いです。
*---
実行:9099700
Form1:16403645
世話:17932200
ヒント:21152590
指定:25296600
転送:36760000
クリック:42551000
ボタン:57643000
表示:64985000
具体的:80089700
今回:103138200
出来:129069000
データベース:133587400
フォーム:420951700
Form2:677549387
コピー:3119467600
---*

次は、日本語的に最初と最後の一行はあいさつの可能性が高いので除外する、とか泥臭い手法も案外有効かな?とか、カウントをweb全体からではなく、site指定で取得すればsiteが持っている情報がベイジアンフィルタになるんじゃないか?とか考えています。

引用返信 編集キー/
■46622 / inTopicNo.14)  Re[5]: 日本語テキストからキーワードを抽出する方法
□投稿者/ こあら (70回)-(2010/02/07(Sun) 00:42:52)
※注意※
Firefox3.5.6でテストしています。IEでは動きません。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>日本語テキストからキーワードを抽出するテスト</title>
</head>
<script type="text/javascript" charset="UTF-8">


if (!Array.prototype.mergepush){
	Array.prototype.mergepush = function(object){
		for (var i = 0; i < this.length; i++) {
			if (this[i].indexOf(object) != -1) {
				return i;
			}
			if (object.indexOf(this[i]) != -1) {
				this[i] = object;
				return i;
			}
		}
		this.push(object);
		return this.length;
	}
}

var keywords;
function callback(arr) {
	if(document.all){
//		dom = new ActiveXObject("Microsoft.XMLDOM");
//		dom.async = false;
//		dom.loadXML(xml);
	}else{
		dom = document.implementation.createDocument("", "", null);
		dom.async = false;
		var sum = 0;
		for (var i = 0; i < arr[2].length; i++) {
			sum += parseInt(arr[2][i].replace(/[^0-9]/g, ""));
		}
		if (sum > 50000) keywords.push({keyword:arr[0], count:sum});
	}
	keywords.sort(function(a,b){var t=10000000;a1=a["count"];b1=b["count"];return ((b1>t)?-b1:b1)-((a1>t)?-a1:a1);});

	var out = document.getElementById("output");
	out.innerHTML = "";
	for (var i = 0; i < keywords.length; i++) {
		out.innerHTML += "<p>" + keywords[i]["keyword"] + ":" + keywords[i]["count"] + "</p>";
	}
}


function Query() {
	keywords = new Array();
	var i = document.getElementById("input");
	var arr = new Array();
	var reg = new RegExp('([一-龠]{2,}|[ァ-ヶー]{2,}|[0-9a-zA-Z]{4,})', 'g');
	while ((m = reg.exec(i.value)) != null) {
		arr.mergepush(m[0]);
	}

	for (var e = 0; e < arr.length; e++) {
//		var url = "http://www.google.co.jp/complete/search?output=toolbar&json=t&q=" + arr[e];
//		var url = "http://suggestqueries.google.com/complete/search?hl=ja&output=toolbar&json=t&jsonp=callback&qu=" + arr[e];
		var url = "http://suggestqueries.google.com/complete/search?hl=ja&json=t&jsonp=callback&qu=" + arr[e];
		var script = document.createElement('script');
		script.setAttribute('src', url);
		document.getElementsByTagName('head')[0].appendChild(script); 
	}
}

function Clear() {
	var i = document.getElementById("input");
	var o = document.getElementById("output");
	i.value = "";
	o.style.display = "none";
	o.innerHTML = "";
}
</script>
<body>
	<h1>日本語テキストからキーワードを抽出するテスト</h1>
	<div class="main">
		<br>
		<p></p>
		<p>
			<h2>デモ</h2>
			<p>日本語の文章を入力し、問い合わせボタンをクリックしてください。</p>
			<textarea id="input" cols="40" rows="5"></textarea>
			<p>
				<input type="submit" value="問い合わせ" onclick="Query()">
				<input type="submit" value="クリア" onclick="Clear()">
			</p>
		</p>
		<p>
			<div id="output" style="width:91%; margin-left: 1.5em; border-width:1px; border: dotted 1px;"></div>
		</p>
</body>
</html>

引用返信 編集キー/
■46623 / inTopicNo.15)  Re[8]: 日本語テキストからキーワードを抽出する方法
□投稿者/ .SHO (1193回)-(2010/02/07(Sun) 08:47:27)
> 一文なら「フォームの間でデータのやりとりをしたい」単語なら「Form1, Form2かフォーム、データ、コピー」あたりでしょうか。

単純に検索だけで答えが得られるような質問がサンプルでなければ
意味がないのでは?
引用返信 編集キー/
■46675 / inTopicNo.16)  Re[6]: 日本語テキストからキーワードを抽出する方法
□投稿者/ こあら (71回)-(2010/02/08(Mon) 23:22:52)
今日できたところまで。前のものよりは精度が高くなった気がします。

1.日本語テキストを正規表現で単語に分割(keywords)
2.単語をタスキ掛けでGoogleSuggest(suggestions)
3.単語間の関連度(degree)と、ヒット件数(count)を重み付けに使う

*---
keyword[0]=コピー@degree=71@count=136534680
keyword[1]=フォーム@degree=60@count=298628700
keyword[2]=検索@degree=53@count=273512500
keyword[3]=表示@degree=52@count=221458000
keyword[4]=設定@degree=43@count=69557340
keyword[5]=データベース@degree=36@count=172536000
keyword[6]=ボタン@degree=32@count=129929100
keyword[7]=データ@degree=31@count=103280200
keyword[8]=クリック@degree=27@count=116404500
keyword[9]=転送@degree=19@count=25704200
keyword[10]=実行@degree=14@count=10151100
keyword[11]=指定@degree=9@count=9075510
keyword[12]=form1@degree=3@count=1007000
keyword[13]=form2@degree=3@count=1007000
keyword[14]=検索条件@degree=3@count=864000
keyword[15]=ヒント@degree=1@count=1070000
keyword[16]=世話@degree=0@count=0
keyword[17]=今回@degree=0@count=0
keyword[18]=具体的@degree=0@count=0
keyword[19]=検索条件設定@degree=0@count=0
keyword[20]=出来@degree=0@count=0
---*

引用返信 編集キー/
■46676 / inTopicNo.17)  Re[7]: 日本語テキストからキーワードを抽出する方法
□投稿者/ こあら (72回)-(2010/02/08(Mon) 23:26:00)
2010/02/08(Mon) 23:29:23 編集(投稿者)
※単語をタスキ掛けでGoogleSuggestしますので、あまり長文でテストしない方が良いかもしれません。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>日本語テキストからキーワードを抽出するテスト</title>
</head>
<script type="text/javascript" charset="UTF-8">

function KeywordArray() {}
KeywordArray.prototype = new Array();

KeywordArray.prototype.mergePush = function(object){
	for (var i = 0; i < this.length; i++) {
		if (object == this[i].keyword) return false;
	}
	return this.push({keyword:object, degree:0, count:0});
}

KeywordArray.prototype.parseContent = function(object){
	var o = object.toLowerCase();
	var reg = new RegExp('([一-龠]{2,}|[ァ-ヶー]{2,}|[0-9a-zA-Z]{4,})', 'g');
	while ((m = reg.exec(o)) != null) {
		this.mergePush(m[0]);
	}
}

KeywordArray.prototype.request = function(){
	for (var i = 0; i < this.length; i++) {
		for (var j = i+1; j < this.length; j++) {
			suggestions.push({keywords:this[i].keyword + " " + this[j].keyword, suggestion:null});
			var url = "http://suggestqueries.google.com/complete/search?hl=ja&json=t&jsonp=callback&qu=" + this[i].keyword + "+" + this[j].keyword;
			var script = document.createElement('script');
			script.setAttribute('src', url);
			document.getElementsByTagName('head')[0].appendChild(script); 
		}
	}
};

KeywordArray.prototype.customSort = function(){
	this.sort(
		function(a,b){
			if (b.degree!=a.degree){
				return b.degree - a.degree;
			} else {
				return b.count - a.count;
//				var t=10000000;
//				return ((b.count>t)?-b.count:b.count)-((a.count>t)?-a.count:a.count);
			}
		});
}

KeywordArray.prototype.toString = function(){
	var s="";
	for (var i = 0; i < this.length; i++) {
		s += "keyword[" + i + "]=" + this[i].keyword;
		s += "@degree=" + this[i].degree;
		s += "@count=" + this[i].count + "<br>";
	}
	return s;
}

function SuggestionArray() {}
SuggestionArray.prototype = new Array();

SuggestionArray.prototype.response = function(object){
	for (var i = 0; i < this.length; i++) {
		if (this[i].keywords == object[0].toLowerCase()) {
			if (!this[i].suggestion) this[i].suggestion = new Array();
			this[i].suggestion.push({suggest:object[1], count:object[2]});
			break;
		}
	}
}

SuggestionArray.prototype.receivedAllResponses = function(){
	for (var i = 0; i < this.length; i++) {
		if (!this[i].suggestion) {
			return false;
		}
	}
	return true;
}

SuggestionArray.prototype.parse = function(){
	for (var i = 0; i < this.length; i++) {
		for (var j = 0; j < this[i].suggestion.length; j++) {
			for (var k = 0; k < this[i].suggestion[j].suggest.length; k++){
				var arr = this[i].suggestion[j].suggest[k].split(" ");
				for (var l = 0; l < arr.length; l++){
					for (var m = 0; m < keywords.length; m++) {
						if (arr[l].toLowerCase() == keywords[m].keyword){
							keywords[m].degree ++;
							keywords[m].count += parseInt(this[i].suggestion[j].count[k].replace(/[^0-9]/g, ""));
						}
					}
				}
			}
		}
	}
}

SuggestionArray.prototype.toString = function(){
	var s="";
	for (var i = 0; i < this.length; i++) {
		s += "keywords=" + this[i].keywords.toString() + "<br>";
		for (var j = 0; j < this[i].suggestion.length; j++) {
			for (var k = 0; k < this[i].suggestion[j].suggest.length; k++) {
				s += this[i].suggestion[j].suggest[k].toString() + "@";
				s += this[i].suggestion[j].count[k].toString() + "<br>";
			}
		}
		s += "<br>";
	}
	return s;
}

function callback(data) {
	suggestions.response(data);
	if (suggestions.receivedAllResponses()) {
		suggestions.parse();
		keywords.customSort();
		document.getElementById("output").innerHTML = keywords.toString();
	}
}

var keywords;
var suggestions;
function Query() {
	keywords = new KeywordArray();
	suggestions = new SuggestionArray();
	document.getElementById("output").innerHTML = "";
	keywords.parseContent(document.getElementById("input").value);
	keywords.request();
}

function Clear() {
	var i = document.getElementById("input");
	var o = document.getElementById("output");
	i.value = "";
	o.style.display = "none";
	o.innerHTML = "";
}

function Debug() {
	var o = document.getElementById("output");
	o.style.display = "block";
	o.innerHTML = keywords.toString() + "<br>" + suggestions.toString();
}

</script>
<body>
	<h1>日本語テキストからキーワードを抽出するテスト</h1>
	<div class="main">
		<br>
		<p></p>
		<p>
			<h2>デモ</h2>
			<p>日本語の文章を入力し、問い合わせボタンをクリックしてください。</p>
			<textarea id="input" cols="40" rows="5"></textarea>
			<p>
				<input type="submit" value="問い合わせ" onclick="Query()">
				<input type="submit" value="クリア" onclick="Clear()">
				<input type="submit" value="debug" onclick="Debug()">
			</p>
		</p>
		<p>
			<div id="output" style="width:91%; margin-left: 1.5em; border-width:1px; border: dotted 1px;"></div>
		</p>
</body>
</html>

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -