概要
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: 桃を
成果物
以上。