0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

enebularでkuromoji その5

Posted at

概要

enebularでkuromojiやってみた。
練習問題やってみた。

練習問題

クイズを作って見て。

参考にしたページ

方針

  • 名詞と「が」「から」「を」で、判断する。

サンプルコード



var endpoint = "https://ohiapp0.herokuapp.com/kuromoji?token=";
var src = document.getElementById('src');
var out = document.getElementById('out');

function send(msg) {
	var xhr = new XMLHttpRequest();
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			var str = "";
			var data = JSON.parse(xhr.responseText);
      for (i = 0; i < data.length; i++)
			{
				if (data[i].pos == "名詞" && data[i + 1].surface_form == "が")
				{
					str += "q: ";
					for (j = 0; j < i; j++)
					{
						str += data[j].surface_form;
					}
					str += "何";
					for (j = i + 1; j < data.length; j++)
					{
						str += data[j].surface_form;
					}
					str += "か\n";
	        str += "a: " + data[i].surface_form + data[i + 1].surface_form + "\n\n";
				}
      }
			for (i = 0; i < data.length; i++)
			{
				if (data[i].pos == "名詞" && data[i + 1].surface_form == "から")
				{
					str += "q: ";
					for (j = 0; j < i; j++)
					{
						str += data[j].surface_form;
					}
					str += "何";
					for (j = i + 1; j < data.length; j++)
					{
						str += data[j].surface_form;
					}
					str += "か\n";
	        str += "a: " + data[i].surface_form + data[i + 1].surface_form + "\n\n";
				}
      }
			for (i = 0; i < data.length; i++)
			{
				if (data[i].pos == "名詞" && data[i + 1].surface_form == "を")
				{
					str += "q: ";
					for (j = 0; j < i; j++)
					{
						str += data[j].surface_form;
					}
					str += "何";
					for (j = i + 1; j < data.length; j++)
					{
						str += data[j].surface_form;
					}
					str += "か\n";
	        str += "a: " + data[i].surface_form + data[i + 1].surface_form + "\n\n";
				}
      }
    	out.value = str;	
		}
		else
		{
			//alert(xhr.readyState);
			//alert(xhr.status);
			//alert(xhr.responseText);
		}
	};
  var uri = endpoint + msg;
	xhr.open("GET", uri, true);
	xhr.send();
	//alert("ok");
}

function run() {
  send(src.value);
  //src.value = '';  
};




実行結果

q: 今朝何が川から拾った桃を切ろうとしたら、桃が突然割れて中から男の子が飛び出してきたか
a: おばあさんが

q: 今朝おばあさんが川から拾った桃を切ろうとしたら、何が突然割れて中から男の子が飛び出してきたか
a: 桃が

q: 今朝おばあさんが川から拾った桃を切ろうとしたら、桃が突然割れて中から何が飛び出してきたか
a: 男の子が

q: 今朝おばあさんが何から拾った桃を切ろうとしたら、桃が突然割れて中から男の子が飛び出してきたか
a: 川から

q: 今朝おばあさんが川から拾った桃を切ろうとしたら、桃が突然割れて何から男の子が飛び出してきたか
a: 中から

q: 今朝おばあさんが川から拾った何を切ろうとしたら、桃が突然割れて中から男の子が飛び出してきたか
a: 桃を


成果物

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?