import { TokenizerBuilder } from '../../pkg/lindera_wasm.js';
let tokenizer = null;
try {
let builder = new TokenizerBuilder();
builder.set_dictionary_kind("ipadic");
builder.set_mode("normal");
builder.append_character_filter("unicode_normalize", { "kind": "nfkc" });
builder.append_token_filter("lowercase");
builder.append_token_filter("japanese_compound_word", {
"kind": "ipadic",
"tags": [
"名詞,数"
],
"new_tag": "名詞,数"
});
builder.append_token_filter("japanese_number", { "tags": ["名詞,数"] });
tokenizer = builder.build();
console.log("Tokenizer is ready.");
} catch (e) {
console.error("Failed to create Tokenizer:", e);
}
document.getElementById('runButton').addEventListener('click', () => {
if (!tokenizer) {
console.error("Tokenizer is not initialized yet.");
return;
}
const inputText = document.getElementById('inputText').value;
const tokens = tokenizer.tokenize(inputText);
const resultList = document.getElementById('resultList');
resultList.innerHTML = '';
tokens.forEach(token => {
const li = document.createElement('li');
li.textContent = token.get('text') + ' : ' + token.get('details').join(", "); resultList.appendChild(li);
});
});