読者です 読者をやめる 読者になる 読者になる

太陽がまぶしかったから

C'etait a cause du soleil.

クライアントサイドで本文注釈をWikipediaから自動生成するJavascript

プログラミング プログラミング-Webサービス

f:id:bulldra:20161008233433j:plain

本文注釈をクライアントサイドで自動生成

 ブログに書いた文章をクライアントサイドで解析してWikipediaから注釈を自動生成するスクリプトを作ってみた。wikipedia_annotaionクラスを持つSPANタグで囲まれた文章に対して分かち書きと簡単な単語判定を行い、切り出された単語ごとにWikipediaのAPIに問い合わせて注釈を生成する。

<span class="wikipedia_annotaion"> ブログ本文への注釈をWikipediaから...仕組み。</span>
<script type="text/javascript" src="//bulldra.github.io/tiny_segmenter-0.2.js"></script>
<script type="text/javascript" src="//bulldra.github.io/wikipedia_annotaion.js"></script>
<script type="text/javascript">execWikipediaAnnotation();</script>

 「※」をマウスオーバーするとWikipediaをソースにした注釈が表示され、リンクも生成される。

JavaScriptだけで単語の切り出しと注釈生成

 Wikipediaへのアクセスには『ユーザーローカルWikipedia API - ウィキペディア情報をサイトで利用できるAPI』を利用。JSONP形式で簡単に検索結果が取得ができるので捗る。

 クライアントサイドの分かち書きには『TinySegmenter: Javascriptだけで実装されたコンパクトな分かち書きソフトウェア』を利用。たった25kバイトのソースコードで、日本語の新聞記事であれば文字単位で95%程度の精度で分かち書きが行えるとのこと。

ちゃんとした日本語構文解析をするのは難しい

 分かち書きだけだと大量の接続詞も入ってくるので、文字種別の続き方で単語候補を簡易判定。本当はロンゲストマッチにしたいけど、辞書なしだと厳しい。酷い実装だし、特別に有用なものではないけど一発ネタとして。

 そもそも、はてなブログには、はてなキーワードがあるのでサーバーサイドで登録された単語を使えばよいのだけど、そういったリソースが使えないときにクライアントサイドだけで自動化してみるのも面白いかなと。

入門 自然言語処理

入門 自然言語処理

  • 作者: Steven Bird,Ewan Klein,Edward Loper,萩原正人,中山敬広,水野貴明
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2010/11/11
  • メディア: 大型本
  • 購入: 20人 クリック: 639回
  • この商品を含むブログ (44件) を見る