自動タグ付け機能でも作ってみる - 2 : 要件詰め

要件

自動タグ付けをするにあたって、今回はこのサイト構築に使っている Hugo を前提としたものとしたい。 したがって、Markdownをインプットとする。

Markdown -> Tags

ただし、ものをMarkdown専用にしてしまうのはやや勿体無い感もあるので、平文を介しておくこととする。

Markdown -> Sentences -> Tags

道具

考えた要件を満たすにあたり、ライブラリを探ってみる。

Markdownパーサー

Markdownを読んで解釈したい。Lexerを自作してもいいが、面倒くさい。 今回は mistletoeを使ってみようと思う。 HTMLRendererとして文の処理を行うイメージで。

形態素解析

ただの分かち書きでも良いかもしれない。ただ、キーワード選定にあたっては品詞が必要になりそうなので、 形態素解析に頼っておこうと思う。 MeCabをNeologdの辞書使ってゴリゴリするのが今のトレンドらしいので乗っかることにする。

語の重み付け

Okapi BM25、ライブラリが多言語を扱えるのかどうか分からないものばかり。 よく分からんものを使って苦しむのは嫌だ、という結論から、自作することとする。

構成

ザックリとした構成

figure-1

ザックリとした処理の流れ

figure-2