TinySegmenter
2020/12/5 23:14:00
新しい技術を勉強して使いたい。例えばWeb WorkerやWebassemblyだ。しかしなかなか使う機会が無い。どちらも調査と検証は進めている。何もせずにこまねいているわけではない。ただ、Web Prowlerに使うには利用状況がうまく嵌ってくれない。
ウェブからのデータ取得にWeb Workerを使おうとしたが、DOMParserがWeb Workerでは使うことができなかった。DOMParserを除いた部分をWeb Workerで動かそうと考えたが、そこまで重たい処理でもない。DOMParserが一番CPUに負担がかかる処理だ。
Webassemblyで分かち書きを高速化しようとしたが、どうもTinySegmenterをWebassemblyで動かしても処理が遅くなるだけのようだ。それよりもTinySegmenterをBigramに置き換える方が速い。トークンの数は増えてしまうが、検索結果の精度向上につながるだろう。
D言語に移植されたTinySegmenterをwasmに変換しようとして力尽きた