- - PR -
ある期間に、頻繁に出現するキーワードを多い順にSELECTしたい。
1
投稿者 | 投稿内容 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-19 13:31
みなさん、お世話になります。
SQLサーバーのフルテキスト検索について質問です。 環境 SQL Server 2000 Enterprise Edition ・アクセントを区別する ・カタカナを区別する ・フルテキストカタログ作成 ・ワードブレイク:Japanese 例: 電話応対システムのテーブルで、トラブル内容を記入するフィールドがあります。 そのフィールドから、過去一週間を対象に頻繁に起こったトラブルを抽出させる。 結果 キーワード,出現回数 アクセス権設定,1301 インターネットオプション,1200 IE,1100 Word2000,989 Word,800 ワード,500 改ページ,765 以上のような感じなのですが、フルテキストカタログから抽出は可能なのでしょうか。 宜しくお願します。 質問の説明が下手ですみません、追記です。 私のすべて予想なんですが以下のようになっているのではと思っています。 問い合わせ内容フィルード内: Microsoft SQL Server 2005 では、列の既定言語ではない言語をフルテキスト クエリで使用して、フルテキスト データを検索できます。 フルテキストカタログ内 単語,レコードID Microsoft,0001 SQL,0001 Server,0001 2005,0001 列,0001 既定言語,0001 言語,0001 フルテキスト,0001 クエリ,0001 使用,0001 データ,0001 検索,0001 そこで、フルテキストカタログにSELECTのようなものを掛けられたら良いなと思っています。 [ メッセージ編集済み 編集者: 水龍蓮 編集日時 2006-07-19 15:06 ] | ||||||||||||||||||||||||
|
投稿日時: 2006-07-20 10:18
おはようございます。
フルテキスト クエリ という機能があります。 FREETEXT や COUNTAINS を利用してSELECT文を組み立てます。 フルテキスト検索と Analysis Services とを組み合わせて分析するのもおもしろいかもしれません。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||||||||||||||||||||||
|
投稿日時: 2006-07-20 10:40
TimberLandChapel です。 ■結論から言うと,T-SQL だけで実現するのは少し難しいと思います。 2000 のフルテキスト検索には CONTAINSTABLE,FREETEXTTABLE という 機能があって, ■指定したキーワードがフルテキストインデックス内に出現する頻度と一致率 をランキング化することができます。 これは,Windows で動いている多くのヘルプに検索をかけたときに 一致の高い順に結果が並んで返ってくることをイメージしていただくとわかりやすいと思います。 しかし, この機能は,「キーワード」があらかじめわかっていないと使えないわけです。 ですので, 水龍蓮さんの要件である, インデックス内でのキーワードそのものの出現頻度のランキングの取得 とは少しずれてしまいます。 で, 例えば,ワードブレイクをしたキーワードの一覧をテーブルなどに保存して, 一覧内のキーワードとCONTAINSTABLE とを相関サブクエリ化してランキング その結果の出現頻度からキーワードのランクを取り出す。 とするとできるんではないかなぁ。と考えたのですが, 水龍蓮さんの状況でワードブレイクがどの程度とれるかによってしまうと思います。 いかがでしょう? ---------- TimberLandChapel Micorosoft MVP for Windows Server System - SQL Server (Jul 2005 - Jun 2007) 2006.08.05 Workshop 開催 http://blogs.timberlandchapel.com/blogs/workshop/archive/2006/07/18/904.aspx | ||||||||||||||||||||||||
|
投稿日時: 2006-07-20 11:11
これは面白い話題ですね。SQL Serverについては全然分からないのですが、ちょっと加わらせて下さい。
そもそも、日本語の場合「どこからどこまでが単語とみなす」のか自体曖昧なのでキーワードを抽出する事自体が難しいのだと思います。 で、キーワードリストを作る方法、という所にこの問題は集約するのでは無いかと思います。 ・人力 ・形態素解析 (安易にやろうと思ったら、「トラブルの内容にカテゴリを割り当てる」とか「キーワードのフィールドを作っておいて「入力しておいてください」という方法」って感じかな・・・(今回の要件を全然満たしていないけど)) | ||||||||||||||||||||||||
|
投稿日時: 2006-07-20 12:07
TimberLandChapel です。 そうなんですよね。 少し前に,PASSJ の河端さんが,Andrew Cencici 氏のソースをもとに, SQL Server のワードブレイクを検証するツールを作られていました。 (ここではあくまで検証用ですが,もっと作りこめば応用は利きそうです) http://blogs.sqlpassj.org/yoshihirokawabata/archive/2004/06/16/2749.aspx 自分は, 茶筌(http://chasen.naist.jp/hiki/ChaSen/) なんかも触ったことがあるんですが, なかなか完璧! とまではいかないです。 日本語は情緒豊かなのですきなんですが,この辺はなかなか困ります。 さらにニューラルネットで解析,というのも試してみたいんですが, なかなか実用という点が難しいところです。 ---------- TimberLandChapel Micorosoft MVP for Windows Server System - SQL Server (Jul 2005 - Jun 2007) 2006.08.05 Workshop 開催 http://blogs.timberlandchapel.com/blogs/workshop/archive/2006/07/18/904.aspx | ||||||||||||||||||||||||
|
投稿日時: 2006-07-20 12:37
お忙しい中、みなさん返信ありがとうございます。
ueさん
なるほど、Analysis Servicesは、あまり使用したことが無かったのでこれを機会に使用してみたいと思います。 TimberLandChapelさん
そうなんですか残念です・・・、CONTAINSTABLEで重み付けができるので、その逆も、もしかしたら可能なのではと期待していたのですが。
やはり自分で作成しないといけないようですね、私の知識では完成しないと思われます^^; 冬寂さん
社内システムで社員の方が使うので、その方法が一番確実ですね。カテゴリをさらに詳細化してみます。 TimberLandChapelさん
これは面白そうなツールですね、ダウンロードできるようなのでいろいろいじってみます。
テキストマイニングのツールは、フリーの物もあるんですね。会社とは別で個人的なテストサーバー(検索エンジン)を公開しているので、そっちのDB(レコード:300万 1日:3000レコード追加あり)で実験してみたいと思います。 ところで、Developer版なのですが2005を入手しました、MSDNで見た感じとしてはキーワード抽出はないのですが、やはりないのでしょうか? 皆さんありがとうございます、一人で悶々と考えていたので助かりました。 [ メッセージ編集済み 編集者: 水龍蓮 編集日時 2006-07-20 12:39 ] [ メッセージ編集済み 編集者: 水龍蓮 編集日時 2006-07-20 13:15 ] | ||||||||||||||||||||||||
|
投稿日時: 2006-08-08 23:13
お疲れ様です。
TimberLandChapel です。 回等ではないのですが, Microsoft SQL Server フルテキスト検索 (FTS) の開発チーム(米国)が 全世界で,時期バージョンに向けてのアンケートを行っています。 https://live.datstat.com/WSS-Collector/Survey.ashx?Name=SQL_FTS_Survey_Ja 日本語処理も含めて,フィードバックのチャンスです。 FTS は今後需要が高まってくると思いますので,みなさんもぜひご協力ください。 私もフィードバックあげてみます。 ---------- TimberLandChapel Micorosoft MVP for Windows Server System - SQL Server (Jul 2005 - Jun 2007) http://blogs.timberlandchapel.com/blogs/timberlandchapel/ |
1