kujirahand / nadesiko3

Japanese Programming Language Nadesiko v3 (JavaScript/TypeScript)
https://nadesi.com/
MIT License
231 stars 19 forks source link

そろそろ形態素解析を利用した構文解析ルールの導入もありかも #1681

Open kujirahand opened 1 month ago

kujirahand commented 1 month ago

現状のなでしこは、リソースの限られた環境では、助詞を利用した強制単語分割ルールは、うまく動いています。 しかし、昨今、形態素解析の負荷もそれほど高くないので、形態素解析ルールを導入した、プログラミング言語も一考の価値ありです。 ただし、既存の助詞区切りルールと併用する方法もあり。

kujirahand commented 1 month ago

手法案:

  1. 簡単な形態素解析器を作っておく。
  2. IT用語の語彙定義データを用いて学習
  3. 形態素(名詞|動詞|助詞くらい判別?)で区切った構文に対して構文解析を行う

プログラムの中で語彙登録を可能にしておく 語彙登録があれば、辞書を更新して、それを用いて形態素解析を行う 語彙登録がなければ、辞書更新を飛ばして標準辞書で形態素解析を行う


kujirahand commented 1 month ago

JSの形態素解析ライブラリ https://github.com/takuyaa/kuromoji.js なんてのもあるので、これを使うと、何もすることがなさそう。

動作速度の問題を考えたら、Rust+WebAssemblyでやるのも良さそう https://github.com/daac-tools/vibrato https://tech.legalforce.co.jp/entry/2022/09/20/133132

kuromoji/mecabベースのRustのライブラリがあった Lindera:

ただし、辞書が数十メガになるので、サーバ側で形態素解析だけして、コンパイルはクライアントでという形もありかも。 あるいは、形態素解析辞書を限定されたものにするとか。 というか、形態素解析をサーバ側で行うなら、普通にMeCabでもなんでも使えるのかも。