N-gram 検索システム(一時的)

概要

SSGNC の改修が一段落して動く状態になったので,形態素 N-gram コーパス形態素 N-gram コーパスの修正版 - やた@はてな日記)を対象とする検索システムを一時的に公開しています.

リクエス

検索条件を URL のクエリ文字列として指定することにより,特定の形態素を含む N-gram を検索できます.検索条件として指定できるパラメータは以下のとおりです.検索条件の詳細は,使ってみれば良く分かると思います.

パラメータ 説明
q 文字列 空白区切りの形態素列(UTF-8
o 文字列 マッチングの条件(UNORDERED, ORDERED, PHRASE, FIXED)
f 数値 頻度の下限
t 数値範囲 検索対象とする N-gram の構成形態素
r 数値 検索結果として受け取る N-gram 数の上限
i 数値 検索時に読み込むバイト数の上限
c 文字列 検索結果の書式(HTML, TEXT, XML
  • マッチングの条件
    • UNORDERED: 指定された形態素の順序を考慮しません.
    • ORDERED: 指定された形態素の順序を考慮します.
    • PHRASE: 指定された形態素が連続して出現する場合にマッチします.
    • FIXED: 指定された形態素のみが連続して出現する場合にマッチします.指定していない形態素の出現を許容しません.
  • パラメータの数値(f 以外)
    • 0: 範囲なし,あるいは上限なしになります.

レスポンス

検索結果の書式はリクエストのパラメータに依存します.

HTML 形式のレスポンス

形態素列が空ならば検索フォーム,そうでなければ検索結果を HTML 文書として返します.

http://s-yata.jp/ssgnc/word?q=%E6%9C%89%E6%A9%9F+*&o=ordered&r=2&c=html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>SSGNC</title>
    <style type="text/css">
    <!--
      table { border: 2px solid; margin: 10px; padding: 5px; }
      table caption { caption-side: top; font-size: 125%;
       padding: 0px 0px 10px 0px; }
      table tr td { padding: 5px 10px; }
      table tr td.last { padding: 5px 10px 10px 10px; }
      table tr td.link { border-top: 1px solid; text-align: right; }
      a { color: inherit; text-decoration: none; }
    -->
    </style>
  </head>
  <body>
    <div class="result">
      <span class="token">有機</span>
      <span class="token">野菜</span>
      <span class="freq">18700</span>
    </div>
    <div class="result">
      <span class="token">有機</span>
      <span class="token">栽培</span>
      <span class="freq">16300</span>
    </div>
  </body>
</html>
TEXT 形式のレスポンス

形態素の間は半角空白,形態素と頻度の間は水平タブが区切り文字になります.

http://s-yata.jp/ssgnc/word?q=%E6%9C%89%E6%A9%9F+*&o=ordered&r=2&c=text

有機 野菜	18700
有機 栽培	16300
XML 形式のレスポンス

<search> をルート要素とする XML 文書を返します.

http://s-yata.jp/ssgnc/word?q=%E6%9C%89%E6%A9%9F+*&o=ordered&r=2&c=xml

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<search>
  <query>
    <str>有機 *</str>
      <min_freq>10</min_freq>
      <min_num_tokens>0</min_num_tokens>
      <max_num_tokens>0</max_num_tokens>
      <max_num_results>2</max_num_results>
      <io_limit>262144</io_limit>
      <order>fixed</order>
    </query>
  <results>
    <result>
      <token>有機</token>
      <token>野菜</token>
      <freq>18700</freq>
    </result>
    <result>
      <token>有機</token>
      <token>栽培</token>
      <freq>16300</freq>
    </result>
  </results>
</search>

追記(2010-08-31):頻度の下限を 1000 以上に設定したとき XML 形式の検索結果で min_freq の値がおかしくなる不具合を修正しました.

追記(2010-09-11):N-gram コーパスを完成版に差し替えました.

追記(2010-09-15):URL を変更しました.