JP4516103B2 - Server apparatus and computer program - Google Patents

Server apparatus and computer program Download PDF

Info

Publication number
JP4516103B2
JP4516103B2 JP2007252252A JP2007252252A JP4516103B2 JP 4516103 B2 JP4516103 B2 JP 4516103B2 JP 2007252252 A JP2007252252 A JP 2007252252A JP 2007252252 A JP2007252252 A JP 2007252252A JP 4516103 B2 JP4516103 B2 JP 4516103B2
Authority
JP
Japan
Prior art keywords
word
search
database
input
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007252252A
Other languages
Japanese (ja)
Other versions
JP2009086744A (en
Inventor
信也 武井
利秋 中津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MARS FLAG CORPORATION
Original Assignee
MARS FLAG CORPORATION
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MARS FLAG CORPORATION filed Critical MARS FLAG CORPORATION
Priority to JP2007252252A priority Critical patent/JP4516103B2/en
Publication of JP2009086744A publication Critical patent/JP2009086744A/en
Application granted granted Critical
Publication of JP4516103B2 publication Critical patent/JP4516103B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、サーバ装置及びコンピュータプログラムに関する。   The present invention relates to a server device and a computer program.

近年はインターネットが急速に普及し、膨大な情報がインターネットを介して入手可能となっている。そのような膨大な情報量を効率的に扱うための手段として最も有効なのが、検索エンジンである。   In recent years, the Internet has spread rapidly, and a large amount of information is available via the Internet. Search engines are the most effective means for efficiently handling such an enormous amount of information.

検索エンジンには、不特定多数のインターネット上の情報を検索検索語を頼りに探索するものや、特定のウェブサイト内の情報を同様に検索検索語に従って検索するものがある。   Search engines include a search engine that searches a large number of unspecified information on the Internet using a search search word, and a search engine that searches information in a specific website according to the search search word.

また、検索検索語には、異なるユーザであっても共通性が見出せるため、検索サイトが検索語候補を提示して、ユーザーの入力負担を軽減するサジェスト機能と呼ばれる技術も近年は提供されている(特許文献1を参照。)
特開2002−324077号公報
Also, since search users can find commonality even among different users, a technology called a suggest function is also provided in recent years in which search sites present search word candidates to reduce the user's input burden. (See Patent Document 1)
JP 2002-324077 A

しかし、上記のサジェスト機能では、ユーザ自身が過去に入力した検索語や、検索サイトで過去に使用された検索語を提示したり、内部辞書に基づいて検索語候補を提示したりするものが多く、特定のウェブサイト内で特有に使われる単語や、同一ページ内に登場する関連性の高い単語の組合せを必ずしも的確に提示することができない。   However, in the above suggestion functions, there are many that present search terms that the user has entered in the past, search terms that have been used in the past on the search site, and suggest search terms candidates based on the internal dictionary. It is not always possible to accurately present a combination of words that are uniquely used in a specific website or highly related words that appear in the same page.

そこで、本発明は、ウェブサイト内検索を行う際に、ウェブサイト内で実際に使用されている検索語を候補として提示するための技術を提供することを目的とする。   Therefore, an object of the present invention is to provide a technique for presenting a search term actually used in a website as a candidate when performing a search in the website.

上記課題を解決するための本発明は、
インターネットに公開されたウェブサイトにアクセスするクライアント装置からの検索指示に応じて、該ウェブサイト内の検索を行うサーバ装置であって、
ウェブサイトを構成するウェブページの情報の全文検索を行うための第1のデータベースと、
前記ウェブページ内に含まれる単語を登録した第2のデータベースと、
前記クライアント装置において前記ウェブサイト内の検索を行うため入力された入力語を、新たな文字入力の度に受信する受信手段と、
受信した入力語と前方一致する単語を前記第2のデータベースにおいて探索し、検索語候補を決定する探索手段と、
前記探索手段が決定した検索語候補を、検索語として前記クライアントに送信する送信手段と、
前記クライアント装置から受信した前記検索語に基づき、前記第1のデータベースを利用して全文検索を行う検索手段と
を備え、
前記受信手段が受信した入力語に、区切り文字が含まれる場合に、
前記探索手段は、
前記区切り文字の直前の第1の入力語と前方一致する第1の単語を前記第2のデータベースにおいて探索し、
探索した前記第1の単語を含む第1のウェブページを前記第1のデータベースを用いて探索し、
探索した前記第1のウェブページにおいて前記第1の単語の周辺に存在する第1の周辺単語を抽出し、
前記第1の単語と前記第1の周辺単語とを、前記探索語候補に決定することを特徴とする。
The present invention for solving the above problems is as follows.
In response to a search instruction from a client device that accesses a website published on the Internet, the server device performs a search in the website,
A first database for performing a full text search of information of web pages constituting the website;
A second database in which words contained in the web page are registered;
A receiving means for receiving an input word input for searching the website in the client device each time a new character is input;
Search means for searching the second database for a word that matches the received input word and determining a search word candidate;
Transmission means for transmitting the search word candidate determined by the search means to the client as a search word;
Search means for performing a full-text search using the first database based on the search terms received from the client device;
When the input word received by the receiving means includes a delimiter,
The search means includes
Searching the second database for a first word that matches the first input word immediately before the delimiter;
Searching for the first web page containing the searched first word using the first database;
Extracting a first neighboring word existing around the first word in the searched first web page;
The first word and the first neighboring word are determined as the search word candidates.

本発明によれば、ウェブサイト内検索を行う際に、サイト内で実際に使用されている検索語を候補として提示するための技術を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, when performing the search in a website, the technique for showing the search term actually used in the site as a candidate can be provided.

以下に、添付する図面を参照して本発明の実施形態を説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。   Embodiments of the present invention will be described below with reference to the accompanying drawings. However, the constituent elements described in this embodiment are merely examples, and are not intended to limit the scope of the present invention only to them.

<システム構成>
図1は、本実施形態に対応するウェブサイト内の検索システムの全体構成を示すブロック図である。ユーザが操作してウェブサイト内の検索を行うクライアント101a、101b、101c(以下、これらを総称して「クライアント101」という。)、ウェブサイト情報を提供すると共に、ウェブサイト内検索を行うサーバ103が、それぞれインターネット102に接続されている。また、サーバ103には、サイト情報データベース104、全文検索データベース105、検索語データベース106が接続されている。
<System configuration>
FIG. 1 is a block diagram showing the overall configuration of a search system in a website corresponding to this embodiment. Clients 101a, 101b, and 101c (hereinafter collectively referred to as “client 101”) that perform a search in the website by the user's operation, provide the website information, and the server 103 that performs the search in the website. Are connected to the Internet 102. In addition, a site information database 104, a full text search database 105, and a search term database 106 are connected to the server 103.

クライアント101は、ユーザが操作して、サーバ103がインターネット上で公開するウェブサイト情報を閲覧可能な情報処理装置であり、ノートパソコン、デスクトップパソコン、携帯情報端末、携帯電話等を含む。クライアント101には、所謂インターネット・ブラウザのソフトウェアがインストールされているものとする。   The client 101 is an information processing apparatus that can be operated by a user and browse website information published by the server 103 on the Internet, and includes a notebook personal computer, a desktop personal computer, a portable information terminal, a mobile phone, and the like. It is assumed that so-called Internet browser software is installed in the client 101.

クライアント101は、イーサネット(登録商標)等のネットワークケーブルを含むアクセス手段であるLANによってインターネット102に接続されている。尚、ネットワーク102へのアクセス手段はイーサネット(登録商標)ケーブルに限定されるものではなく、無線LAN等の無線通信手段によって構成されていてもよい。後述するサーバ103も同様のアクセス手段を備えているものとする。   The client 101 is connected to the Internet 102 by a LAN which is an access means including a network cable such as Ethernet (registered trademark). Note that the access means to the network 102 is not limited to an Ethernet (registered trademark) cable, and may be constituted by wireless communication means such as a wireless LAN. It is assumed that a server 103 to be described later includes similar access means.

インターネット102は、世界中のネットワークが互いに接続されたネットワークであるが、例えば、イントラネットのように特定の組織内においてのみ接続可能なネットワークであってもよい。   The Internet 102 is a network in which networks all over the world are connected to each other, but may be a network that can be connected only within a specific organization, such as an intranet.

サーバ103は、クライアント101のユーザーに対して、特定の企業、店舗或いは個人に関する情報を提供するウェブサイトをインターネット上に公開すると同時に、該ウェブサイト内のウェブページの検索サービスを提供する情報処理装置である。本実施形態では、説明の簡単のために、サーバ103でサイトの公開とサイト内検索との両方を実行する場合を記載したが、サーバ103の構成はこれに限定されるものではない。即ち、サイト公開のためのサーバと、サイト内検索のためのサーバを別個独立に設けることもできる。なお、ウェブサイトとは、ひとまとまりに公開されているウェブページ群のことを言う。ウェブサイトには、例えば、法人や個人のホームページ等がある。   The server 103 publishes on the Internet a website that provides information on a specific company, store, or individual to the user of the client 101, and at the same time, an information processing apparatus that provides a search service for web pages in the website It is. In the present embodiment, for the sake of simplicity of explanation, a case has been described in which the server 103 performs both site publication and site search, but the configuration of the server 103 is not limited to this. That is, a server for publishing a site and a server for searching in a site can be provided separately. Note that a website refers to a group of web pages published as a group. Websites include, for example, corporate and personal websites.

サーバ103は、サイト情報データベース104、全文検索データベース105、検索語データベース106に格納されている情報を管理している。サーバ103は、例えば、LANによって、サイト情報データベース104、全文検索データベース105、検索語データベース106に接続される。   The server 103 manages information stored in the site information database 104, the full text search database 105, and the search term database 106. The server 103 is connected to the site information database 104, the full-text search database 105, and the search term database 106 by, for example, LAN.

サイト情報データベース104、全文検索データベース105、検索語データベース106は、それぞれ所定のデータベース・ソフトウェアがインストールされた情報処理装置であり、各種データの管理を行う。   The site information database 104, the full-text search database 105, and the search term database 106 are information processing apparatuses in which predetermined database software is installed, and manage various data.

サイト情報データベース104は、ウェブサイトをインターネット102に公開するためのウェブページの情報を管理する。該ウェブページには、ウェブサイトのオーナー及びオーナーが提供する商品などに関する情報が含まれる。例えば、ウェブサイトが法人のホームページの場合、会社概要や投資家向け情報等の他に、法人が製造・販売している製品の情報や、その他法人が提供するあらゆるサービスに関する情報が含まれる。   The site information database 104 manages information on web pages for publishing websites on the Internet 102. The web page includes information on the website owner and products provided by the owner. For example, in the case where the website is a corporate website, information on products manufactured and sold by the corporation and information on all services provided by the corporation are included in addition to the company outline and information for investors.

全文検索データベース105は、サイト情報データベース104に格納されたウェブページに基づき、単語とページのメタ情報(URL,タイトル,検索順位等)を紐付けたデータベースである。サーバ103は、クライアント101から受信したユーザ指定の検索語を用いて、全文検索データベース105を利用して検索を行う。   The full-text search database 105 is a database in which words and page meta information (URL, title, search order, etc.) are linked based on the web page stored in the site information database 104. The server 103 performs a search using the full-text search database 105 using the search term specified by the user received from the client 101.

検索語データベース106は、全文検索データベース105に格納されている検索用の情報から、サイトを構成するウェブページに含まれる単語を抽出してテーブル化して管理し、サーバ103がクライアント101から入力語を受信した場合に、テーブルの登録内容に従って、検索語候補を提供する。   The search word database 106 extracts words contained in web pages constituting the site from the search information stored in the full-text search database 105 and manages them in a table. The server 103 inputs input words from the client 101. When received, search word candidates are provided according to the registered contents of the table.

尚、本明細書では、便宜上、サーバ103、サイト情報データベース104、全文検索データベース105、及び、検索語データベース106は、それぞれ物理的に独立した情報処理装置によって実現されるものとして説明するが、本発明の実施形態はこれに限られるものではない。例えば、これらが単一の情報処理装置によって実現されてもよい。その一方で、サーバ103等の各装置が複数台の情報処理装置により冗長構成、或いは分散構成されても良い。また、サイト情報データベース104、全文検索データベース105及び検索語データベース106は、サーバ103とLAN等によって接続されているものとして説明するが、例えば、インターネット102や非図示のイントラネット経由でサーバ103と通信可能な形態をとってもよい。   In this specification, for the sake of convenience, the server 103, the site information database 104, the full-text search database 105, and the search word database 106 are described as being realized by physically independent information processing apparatuses. The embodiment of the invention is not limited to this. For example, these may be realized by a single information processing apparatus. On the other hand, each device such as the server 103 may be configured redundantly or distributedly by a plurality of information processing devices. The site information database 104, the full-text search database 105, and the search word database 106 are described as being connected to the server 103 via a LAN or the like. For example, the site information database 104, the full-text search database 105, and the search term database 106 can communicate with the server 103 via the Internet 102 or an unshown intranet. May take any form.

<情報処理装置の構成>
次に、本実施形態に対応するウェブサイト内検索システムを構成する情報処理装置の概略について説明する。図2は、クライアント101のハードウェア構成の一例を示すブロック図である。上述した情報処理装置としてのサイト情報データベース104、全文検索データベース105及び検索語データベース106も、同様或いは同等のハードウェア構成として構成しても良い。
<Configuration of information processing apparatus>
Next, an outline of the information processing apparatus constituting the website search system corresponding to the present embodiment will be described. FIG. 2 is a block diagram illustrating an example of the hardware configuration of the client 101. The site information database 104, the full-text search database 105, and the search word database 106 as the information processing apparatus described above may be configured in the same or equivalent hardware configuration.

図2において、CPU200は、ハードディスク装置(以下、HDと呼ぶ)205に格納されているアプリケーションプログラム、オペレーティングシステム(OS)や制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。   In FIG. 2, a CPU 200 executes an application program, an operating system (OS), a control program, and the like stored in a hard disk device (hereinafter referred to as HD) 205, and stores information, files, etc. necessary for executing the program in a RAM 202. Control to temporarily store.

ROM201は、内部に基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。RAM202は各種データを一時記憶し、CPU200の主メモリ、ワークエリア等として機能する。   The ROM 201 stores various data such as a program such as a basic I / O program, font data used for document processing, and template data. The RAM 202 temporarily stores various data and functions as a main memory, work area, and the like of the CPU 200.

外部記憶ドライブ203は、記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア(記録媒体)204に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア204は、例えば、フロッピー(登録商標)ディスク(FD)、CD−ROM、CD−R、CD−RW、PCカード、DVD、Blu−ray、ICメモリカード、MO、メモリスティック等を利用することができる。   The external storage drive 203 is an external storage drive for realizing access to a recording medium, and can load a program or the like stored in the medium (recording medium) 204 into the computer system. The media 204 is, for example, a floppy (registered trademark) disk (FD), CD-ROM, CD-R, CD-RW, PC card, DVD, Blu-ray, IC memory card, MO, memory stick, or the like. can do.

外部記憶装置205は、本実施形態では大容量メモリとして機能するHD(ハードディスク)を用いている。HD205には、アプリケーションプログラム、OS、制御プログラム、関連プログラム等が格納される。なお、ハードディスクの代わりに、フラッシュ(登録商標)メモリ等の不揮発性記憶装置を用いても良い。   In this embodiment, the external storage device 205 uses an HD (hard disk) that functions as a large-capacity memory. The HD 205 stores application programs, OS, control programs, related programs, and the like. A nonvolatile storage device such as a flash (registered trademark) memory may be used instead of the hard disk.

指示入力装置206は、キーボードやポインティングデバイス(マウス等)、タッチパネル等がこれに相当する。指示入力装置206を用いて、ユーザは、クライアント101に対して、装置を制御するコマンド等を入力指示する。ディスプレイ207は、指示入力装置206から入力したコマンドや、それに対するクライアント101の応答出力等を表示したりするものである。システムバス209は、情報処理装置内のデータの流れを司る。インターフェイス(以下、I/Fという)208は、外部装置とのデータのやり取りを仲介する役割を果たす。   The instruction input device 206 corresponds to a keyboard, a pointing device (such as a mouse), a touch panel, or the like. Using the instruction input device 206, the user instructs the client 101 to input a command or the like for controlling the device. The display 207 displays a command input from the instruction input device 206, a response output of the client 101 in response thereto, and the like. A system bus 209 manages the flow of data in the information processing apparatus. An interface (hereinafter referred to as I / F) 208 plays a role of mediating data exchange with an external device.

尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。   In addition, it can also be comprised as an alternative of a hardware apparatus with the software which implement | achieves a function equivalent to the above each apparatus.

本実施形態では、メディア204から本実施形態に係るプログラム及び関連データを直接RAM202にロードして実行させる例を示すが、これ以外にも、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているHD205からRAM202にロードするようにしてもよい。また、本実施形態に係るプログラムをROM201に記録しておき、これをメモリマップの一部をなすように構成し、直接CPU200で実行することも可能である。   In the present embodiment, an example is shown in which the program and related data according to the present embodiment are directly loaded from the medium 204 to the RAM 202 and executed. However, every time the program according to the present embodiment is operated, the program is already executed. May be loaded into the RAM 202 from the HD 205 in which is installed. It is also possible to record the program according to the present embodiment in the ROM 201, configure it as a part of the memory map, and execute it directly by the CPU 200.

図3は、サーバ103の機器構成を示すブロック図である。CPU200、ROM201、RAM202、外部記憶ドライブ203、メディア204、HD205、指示入力装置206、ディスプレイ207、I/F208、システムバス209の機能及び用途、更には、これらの関係は、図2を用いて説明したものと同様或いは同等である。図3では、データベース310がシステムバス209に接続されていることに留意する。ここで、データベース310は、サイト情報データベース104、全文検索データベース105及び検索語データベース106を総称するものである。   FIG. 3 is a block diagram illustrating a device configuration of the server 103. Functions and applications of the CPU 200, ROM 201, RAM 202, external storage drive 203, media 204, HD 205, instruction input device 206, display 207, I / F 208, system bus 209, and their relationship will be described with reference to FIG. Similar or equivalent to Note that in FIG. 3, database 310 is connected to system bus 209. Here, the database 310 is a generic term for the site information database 104, the full text search database 105, and the search word database 106.

次に、発明の実施形態に対応する検索語データベース106に格納される検索語テーブルを説明する。本実施形態では、検索語テーブルとして、単語テーブル、仮名変換テーブル及びローマ字変換テーブルを備える。   Next, a search term table stored in the search term database 106 corresponding to the embodiment of the invention will be described. In the present embodiment, a word table, a kana conversion table, and a romaji conversion table are provided as search term tables.

単語テーブルは、検索語候補となりえる単語を候補語として登録する。本実施形態において候補語として登録される単語は、漢字、平仮名、片仮名、アルファベット、記号、数字、合成語を用いて表記可能となっている。記号は、"!"、"%"、"¥"等の特定の意味が付されたマークをいう。記号にはまた、"+"、"−"、"×"、"÷"と言った算術記号も含まれる。数字は、1〜9の算用数字の他に、ローマ数字等が含まれる。よって、数字と記号の組合せにより構成される数式を単語として登録することもできる。また、合成語は、特定の文字の組合せ、或いは文字に、該文字が有する読みや意味とは異なる他の読み、意味が与えられたものである。例えば、不等号の"<"に平仮名の"く"の読みを与えたり、片仮名の"レナ"に、平仮名の"け"の読みを与えたり、漢字の"王見"に"現"の意味を与えたりする。   The word table registers words that can be search word candidates as candidate words. In the present embodiment, words registered as candidate words can be written using kanji, hiragana, katakana, alphabets, symbols, numbers, and synthesized words. The symbol refers to a mark with a specific meaning such as “!”, “%”, “¥” or the like. Symbols also include arithmetic symbols such as “+”, “−”, “×”, “÷”. The numbers include Roman numerals and the like in addition to the arithmetic numbers 1 to 9. Therefore, a mathematical expression composed of a combination of numbers and symbols can be registered as a word. In addition, a composite word is a combination of specific characters, or a character given a different reading or meaning different from the reading or meaning of the character. For example, the inequality sign “<” gives the reading of “Hi” in Hiragana, “Lena” in Katakana gives the reading of “K” in Hiragana, and the meaning of “present” in “Omi” in Kanji. Or give.

図4は、単語テーブルの一例を示す図である。図4において、単語テーブル400には候補語401とポイント402とが含まれる。候補語401には、ウェブサイト内検索を行う際に検索語となり得る単語が登録される。候補語401として登録される単語は、サイト情報データベース104に登録されているウェブページに含まれる語のみである。ポイント402は、候補語401に与えられるポイントを登録する。該ポイントは、ウェブサイト内での出現数や出現位置、表示サイズに応じて各単語に与えられる。また、ウェブページ内での分布を考慮し、分布率が高い単語についてはポイントを減じてもよい。ポイントが高い単語ほど、ウェブサイト内での重要性の高い単語となる。   FIG. 4 is a diagram illustrating an example of a word table. In FIG. 4, the word table 400 includes candidate words 401 and points 402. In the candidate word 401, a word that can be a search word when performing a search in a website is registered. The words registered as the candidate words 401 are only words included in the web page registered in the site information database 104. As the point 402, a point given to the candidate word 401 is registered. The point is given to each word according to the number of appearances, the appearance position, and the display size in the website. In addition, in consideration of the distribution in the web page, points may be reduced for words with a high distribution rate. The higher the word, the more important the word on the website.

次に、仮名変換テーブルとは、単語テーブル400の候補語401の仮名表記を登録するテーブルである。本実施形態に対応する仮名変換テーブルは、単語テーブル400に登録されている単語(特に、漢字、片仮名、アルファベット、記号、数字、合成語)の平仮名表記を登録することができる。図5は、仮名変換テーブルの一例を示す図である。図5において、仮名変換テーブル500には、候補語501と仮名候補502とが登録される。候補語501には、単語テーブル400に登録されている候補語が登録される。仮名候補502には、候補語501の各候補の仮名表記が登録される。例えば、「販売」という候補に対応する仮名候補には「はんばい」が登録される。   Next, the kana conversion table is a table for registering kana notation of the candidate word 401 of the word table 400. The kana conversion table corresponding to the present embodiment can register hiragana notation of words (in particular, kanji, katakana, alphabets, symbols, numbers, and composite words) registered in the word table 400. FIG. 5 is a diagram illustrating an example of a kana conversion table. In FIG. 5, candidate words 501 and kana candidates 502 are registered in the kana conversion table 500. Candidate words registered in the word table 400 are registered in the candidate word 501. In the kana candidate 502, the kana notation of each candidate of the candidate word 501 is registered. For example, “hanbai” is registered in the kana candidate corresponding to the candidate “sales”.

次に、ローマ字変換テーブルは、仮名変換テーブルに登録されている仮名候補のローマ字表記を登録するテーブルである。図6は、ローマ字変換テーブルの一例を示す図である。図6においてローマ字変換テーブル600には、仮名候補601と、ローマ字候補602とが登録されている。仮名候補601は、仮名変換テーブル500に登録されている仮名候補が登録される。ローマ字候補602には、仮名候補601の各候補のローマ字表記が登録される。たとえば、「おぷそん」については「opuson」が、「はんばい」については「hanbai」が登録される。   Next, the romaji conversion table is a table for registering romaji notation of kana candidates registered in the kana conversion table. FIG. 6 is a diagram illustrating an example of a Roman character conversion table. In FIG. 6, kana candidates 601 and romaji candidates 602 are registered in the romaji conversion table 600. As the kana candidate 601, a kana candidate registered in the kana conversion table 500 is registered. In the Romaji candidate 602, the Roman character notation of each candidate of the kana candidate 601 is registered. For example, “opuson” is registered for “Opuson” and “hanbai” is registered for “hanbai”.

なお、発明の実施形態は、単語テーブル400の他に、仮名変換テーブル500とローマ字変換テーブル600をそれぞれ有する構成に限定されず、仮名変換テーブル500のみ有していても良い。また、ローマ字変換テーブル600に単語テーブル400に登録された単語のローマ字表記を登録して、該ローマ字変換テーブル600のみ有する構成としても良い。   Note that the embodiment of the invention is not limited to the configuration having the kana conversion table 500 and the romaji conversion table 600 in addition to the word table 400, but may have only the kana conversion table 500. Alternatively, the Roman alphabet notation of the words registered in the word table 400 may be registered in the Roman alphabet conversion table 600, and only the Roman alphabet conversion table 600 may be included.

次に、図1乃至図6に示した構成に基づいて、本発明のウェブサイト内検索システムで実行されるウェブサイト内検索処理の詳細を説明する。   Next, based on the configuration shown in FIG. 1 to FIG. 6, the details of the website search process executed by the website search system of the present invention will be described.

図7aから図7gは、発明の実施形態に対応するウェブサイト内検索処理の一例をSDL(Specification and Description Language) の記述法に従って示す状態遷移図である。図7aから図7gに対応する処理は、クライアント101とサーバ103とがそれぞれ保持する処理プログラムを各々が実行することにより実現される。また、クライアント101とサーバ103との間の通信は、クライアント101において実行されるウェブブラウザの通信機能、或いは、ウェブブラウザのプラグイン(拡張プログラム)の通信機能を利用して実現することができる。例えばJava(登録商標)Scriptを用いたHTTPプロトコルに従って実現することができる。その他に、Flash等を使ってもよいし、HTTPではない別のプロトコルに従って通信でもよい。   FIGS. 7a to 7g are state transition diagrams showing an example of the search processing in the website corresponding to the embodiment of the invention according to the description method of SDL (Specification and Description Language). The processing corresponding to FIGS. 7a to 7g is realized by executing the processing programs held by the client 101 and the server 103, respectively. Further, communication between the client 101 and the server 103 can be realized using a communication function of a web browser executed by the client 101 or a communication function of a plug-in (extension program) of the web browser. For example, it can be realized according to an HTTP protocol using Java (registered trademark) Script. In addition, Flash or the like may be used, or communication may be performed according to another protocol that is not HTTP.

まず、図7aは、クライアント101とサーバ103の状態遷移を示す図である。図7aにおいて、クライアント101は、ステップS710からステップS760までの状態を取り、それぞれの状態において図7b乃至図7fに示す処理が行われる。また、サーバ103はクライアント101からの要求待ち状態にあり、クライアント101から受信した要求に応じて、後述する図7gに示すような処理を実行する。   First, FIG. 7 a is a diagram illustrating state transition between the client 101 and the server 103. In FIG. 7a, the client 101 takes the state from step S710 to step S760, and the processing shown in FIGS. 7b to 7f is performed in each state. In addition, the server 103 is in a state of waiting for a request from the client 101, and executes processing as shown in FIG. 7g described later in response to a request received from the client 101.

まず、クライアント101は、ステップS710において初期状態にある。この初期状態では、クライアント101のディスプレイ207には検索画面が表示されておらず、図7bに示すように、ステップS711においてサーバ103に対して検索画面表示要求を送信する。その後、ステップS720の検索画面表示待ち状態に移行する。   First, the client 101 is in an initial state in step S710. In this initial state, the search screen is not displayed on the display 207 of the client 101, and a search screen display request is transmitted to the server 103 in step S711 as shown in FIG. 7b. Thereafter, the process proceeds to the search screen display waiting state in step S720.

ステップS720の検索画面表示状態では、図7cに示すように、クライアント101は、ステップS721においてサーバ103から検索画面情報を受信し、ステップS722においてディスプレイ207に検索画面を表示し、ステップS730における検索画面表示状態に移行する。   In the search screen display state in step S720, as shown in FIG. 7c, the client 101 receives the search screen information from the server 103 in step S721, displays the search screen on the display 207 in step S722, and the search screen in step S730. Transition to the display state.

検索画面の一例は図9に示す通りである。図9において検索画面900には、検索語入力領域901と、検索実行ボタン902が含まれる。検索語入力領域901に検索語を構成する文字が漢字、平仮名、片仮名、アルファベット、記号、数字、或いは、合成語により入力されると、以下に説明する手順に従い検索語候補表示領域903に、検索語候補が表示される。ユーザは検索語候補表示領域903内の検索語候補の中から適当な検索語を選択して、検索語入力を行うことができる。   An example of the search screen is as shown in FIG. In FIG. 9, the search screen 900 includes a search word input area 901 and a search execution button 902. When the characters constituting the search word are input in the search word input area 901 as kanji, hiragana, katakana, alphabet, symbol, number, or composite word, the search word candidate display area 903 is searched according to the procedure described below. Word candidates are displayed. The user can select an appropriate search word from the search word candidates in the search word candidate display area 903 and input the search word.

ステップS730の検索画面表示状態では、図7dに示すように、ユーザからの入力内容に応じて3種類のイベントが実行される。   In the search screen display state in step S730, as shown in FIG. 7d, three types of events are executed according to the input content from the user.

一つ目は、ステップS731における文字入力イベントであり、図9の検索語入力領域901に対して、漢字、平仮名、片仮名、アルファベット、記号、数字、或いは、合成語の入力が行われる。このイベントが発生すると、ステップS732において入力語がクライアント101からサーバ103に送信される。その後、ステップS740におけるサーバ103からの検索語候補の受信待ち状態に移行する。   The first is a character input event in step S731, where a kanji, hiragana, katakana, alphabet, symbol, number, or composite word is input to the search word input area 901 in FIG. When this event occurs, the input word is transmitted from the client 101 to the server 103 in step S732. Thereafter, the process shifts to a waiting state for receiving search word candidates from the server 103 in step S740.

なお、文字入力を検出してサーバ103に送信する処理を行うための文字入力検出プログラムは、ステップS721においてサーバ103から受信する検索画面情報に含まれており、クライアント101は検索画面情報を受信する度に文字入力検出プログラムを取得することができる。この文字入力検出プログラムは、例えばJava(登録商標)Script, Flashにより構成することができる。   Note that a character input detection program for performing processing for detecting character input and transmitting it to the server 103 is included in the search screen information received from the server 103 in step S721, and the client 101 receives the search screen information. A character input detection program can be acquired each time. This character input detection program can be constituted by, for example, Java (registered trademark) Script, Flash.

次に、2つ目は、ステップS733における検索語候補選択イベントであり、図9の検索語候補表示領域903に表示された検索語候補から、所望の検索語候補が選択される。選択操作は、例えばマウスクリック、或いは、Enterキー操作による。検索語候補が選択されると、ステップS734において該検索語に区切り文字を付加して入力語として、クライアント101からサーバ103へ送信する。その後、ステップS740におけるサーバ103からの検索語候補の受信待ち状態に移行する。なお、区切り文字には、スペース(空白)、AND記号(+)等が含まれるが、ここに例示したものに限らず、2つの単語を切り分けるために用いられる記号や文字であれば何でも良い。   Next, the second is a search word candidate selection event in step S733, and a desired search word candidate is selected from the search word candidates displayed in the search word candidate display area 903 of FIG. The selection operation is, for example, by mouse click or Enter key operation. When a search word candidate is selected, a delimiter is added to the search word and transmitted as an input word from the client 101 to the server 103 in step S734. Thereafter, the process shifts to a waiting state for receiving search word candidates from the server 103 in step S740. Note that the delimiter includes a space (blank), an AND symbol (+), and the like, but is not limited to those illustrated here, and may be any symbol or character used to separate two words.

さらに、3つ目は、ステップS735における検索実行イベントであり、所定の操作に基づくユーザからの検索実行指示を受け付ける。検索実行指示は、例えば、指示入力装置206のマウスを利用した検索ボタン902のクリック操作に基づいて受け付けることができる。その他にも、キーボードのEnterキーの操作に基づいても良いし、Java(登録商標)Script等を使って任意の操作入力に基づくこともできる。続くステップS736では、クライアント101からサーバ103に対して、検索語を指定した検索実行指示を送信する。その後、ステップS750の検索結果受信待ち状態に移行する。   Furthermore, the third is a search execution event in step S735, which accepts a search execution instruction from a user based on a predetermined operation. The search execution instruction can be received based on, for example, a click operation of the search button 902 using the mouse of the instruction input device 206. In addition, it may be based on the operation of the Enter key of the keyboard, or based on an arbitrary operation input using Java (registered trademark) Script or the like. In a succeeding step S736, a search execution instruction specifying a search word is transmitted from the client 101 to the server 103. Thereafter, the process proceeds to the search result reception waiting state in step S750.

ステップS740の検索語候補受信待ち状態では、図7eに示すように、ステップS741において検索語候補をサーバ103から受信する。続いて、ステップS742において受信した検索語候補を図9の検索画面900の検索語候補表示領域903に表示し、ステップS730の検索画面表示状態に移行する。   In the search word candidate waiting state in step S740, as shown in FIG. 7E, the search word candidate is received from the server 103 in step S741. Subsequently, the search word candidate received in step S742 is displayed in the search word candidate display area 903 of the search screen 900 in FIG. 9, and the process proceeds to the search screen display state in step S730.

ステップS750の検索語結果受信待ち状態では、図7fに示すように、ステップS751において検索結果をサーバ103から受信する。続いて、ステップS752において受信した検索結果をディスプレイ207に表示して、ステップS760の検索結果表示状態に移行する。ステップS760の検索結果表示状態では、検索結果に基づきユーザからアクセスするページの指定を受け付けることができる。   In the search word result reception waiting state in step S750, the search result is received from the server 103 in step S751, as shown in FIG. Subsequently, the search result received in step S752 is displayed on the display 207, and the process proceeds to the search result display state in step S760. In the search result display state in step S760, it is possible to accept specification of a page to be accessed from the user based on the search result.

次に、サーバ103側の処理を説明する。図7gのステップS770において、サーバ103は当初要求待ち状態に置かれている。この要求待ち状態においてサーバ103は、クライアント101からステップS711で送信された検索画面表示要求、ステップS732又はS734で送信された入力語、及び、ステップS736で送信された検索実行指示のいずれかを受信する。   Next, processing on the server 103 side will be described. In step S770 of FIG. 7g, the server 103 is initially in a request waiting state. In this request waiting state, the server 103 receives any of the search screen display request transmitted from the client 101 in step S711, the input word transmitted in step S732 or S734, and the search execution instruction transmitted in step S736. To do.

ステップS771において検索画面表示要求を受信すると、ステップS772において検索画面情報をクライアント101へ送信する。その後、ステップS770の要求待ち状態に戻る。   When a search screen display request is received in step S771, search screen information is transmitted to the client 101 in step S772. Thereafter, the process returns to the request waiting state in step S770.

次に、ステップS773において入力語を受信すると、ステップS774に移行して検索語候補の探索を行い、ステップS775では、探索した検索語候補をクライアント101へ送信する。その後、ステップS770の要求待ち状態へ戻る。なお、検索語候補の探索処理については、図8のフローチャートを参照して後述する。   Next, when an input word is received in step S773, the process proceeds to step S774 to search for a search word candidate, and in step S775, the searched search word candidate is transmitted to the client 101. Thereafter, the process returns to the request waiting state in step S770. The search processing for search word candidates will be described later with reference to the flowchart of FIG.

さらに、ステップS776において検索実行指示を受信すると、ステップS777に移行して検索処理を実行する。この検索処理は、検索実行指示に含まれる検索語に基づき、全文検索データベース105を用いて行われる。続くステップS778では検索結果をクライアント101へ送信して、ステップS770の要求待ち状態に戻る。   Furthermore, when a search execution instruction is received in step S776, the process proceeds to step S777 to execute search processing. This search process is performed using the full-text search database 105 based on the search term included in the search execution instruction. In the subsequent step S778, the search result is transmitted to the client 101, and the process returns to the request waiting state in step S770.

次に、ステップS774における検索語候補の探索処理の詳細について、図8を参照して説明する。   Next, details of the search processing for a search word candidate in step S774 will be described with reference to FIG.

ステップS801では、ステップS705で受信した入力語に、区切り文字が含まれるか否かを判定する。なお、スペース等の後ろに文字が入力されていなくても良い。   In step S801, it is determined whether or not a delimiter is included in the input word received in step S705. Note that no character may be input after a space or the like.

もし、区切り文字を含まない場合には(ステップS801において「NO」)、ステップS803に移行する。一方、区切り文字を含む場合には(ステップS801において「YES」)、ステップS802に移行する。   If no delimiter is included (“NO” in step S801), the process proceeds to step S803. On the other hand, when a delimiter is included (“YES” in step S801), the process proceeds to step S802.

ステップS802では、区切り文字の直前の文字列を処理対象の入力語として選択してステップS803に移行する。ステップS803では、入力語に基づき単語テーブル400を検索し、前方一致する候補語を探索する。例えば、「オプ」が入力語の場合には、「オプソン」、「オプソンプリンタ」、「オプソンダイレクト」、「オプソンスクエア」、「オプソンサービス」などが探索される。   In step S802, the character string immediately before the delimiter is selected as an input word to be processed, and the process proceeds to step S803. In step S803, the word table 400 is searched based on the input word, and a candidate word that matches forward is searched. For example, if “op” is an input word, “opson”, “opson printer”, “opson direct”, “opson square”, “opson service”, etc. are searched.

次に、ステップS804では、入力語が平仮名又はアルファベットである構成されているか否かを判定する。なお、検索語データベース106に仮名変換テーブル500と、ローマ字変換テーブル600とのいずれか一方のみしか存在しない場合には、対応するテーブルに従い平仮名であるか、又は、アルファベットであるかのみを判定する。もし、平仮名又はアルファベットで構成されている場合(ステップS804において「YES」)、ステップS805に移行する。もし、平仮名又はアルファベット以外の要素で構成されている場合には(ステップS804において「NO」)、ステップS806に移行する。   Next, in step S804, it is determined whether the input word is composed of hiragana or alphabet. If only one of the kana conversion table 500 and the romaji conversion table 600 exists in the search word database 106, it is determined only whether it is hiragana or alphabet according to the corresponding table. If it is composed of hiragana or alphabet (“YES” in step S804), the process proceeds to step S805. If it is composed of elements other than hiragana or alphabet (“NO” in step S804), the process proceeds to step S806.

ステップS805では、入力語が平仮名の場合には、仮名変換テーブル500を用いて、前方一致する候補語を探索する。例えば、「はん」が入力語の場合、「販売」、「販売株式会社」、「販売当時」、「販売中」、「範囲」等が探索される。また、入力語がアルファベットの場合には、ローマ字変換テーブル600を用いて、前方一致する仮名候補を探索する。例えば、「op」が入力語の場合は、「おぷそん」、「おぷそんぷりんた」、「おぷそんだいれくと」、「おぷそんすくえあ」、「おぷそんさーびす」などが探索される。探索された仮名候補は、仮名変換テーブル500を用いて候補語に変換する。その後、ステップS806に移行する。なお、検索語データベース106内に仮名変換テーブル500が存在せず、ローマ字変換テーブル600のみの場合は、ローマ字表記から候補語に直接変換する。   In step S805, if the input word is hiragana, the kana conversion table 500 is used to search for a candidate word that matches forward. For example, when “han” is an input word, “sale”, “sales corporation”, “at the time of sale”, “under sale”, “range”, etc. are searched. If the input word is alphabetic characters, the roman character conversion table 600 is used to search for a kana candidate that matches forward. For example, if “op” is an input word, search for “opson”, “opsompurinta”, “opsodairikuto”, “opsonsukueia”, “opsonsabis”, etc. Is done. The searched kana candidates are converted into candidate words using the kana conversion table 500. Thereafter, the process proceeds to step S806. In the case where the kana conversion table 500 does not exist in the search word database 106 and only the Roman character conversion table 600 exists, the Roman word notation is directly converted into a candidate word.

ステップS806では、検索語候補を決定する。具体的には、ステップS803、ステップS805で探索された候補語の中から、ポイントの高い候補語を所定数選択し、検索語候補と決定することができる。   In step S806, search term candidates are determined. Specifically, a predetermined number of candidate words with high points can be selected from the candidate words searched in steps S803 and S805, and determined as search word candidates.

次に、ステップS807では、ステップS801の判定において入力語に区切り文字が含まれていたか否かを判定する。もし、区切り文字が含まれていた場合には(ステップS807において「YES」)、ステップS808に移行する。一方、区切り文字が含まれていなかった場合には(ステップS807において「NO」)、検索語の決定処理を終了し、図7のステップS707に移行する。   Next, in step S807, it is determined whether or not a delimiter is included in the input word in the determination in step S801. If a delimiter is included (“YES” in step S807), the process proceeds to step S808. On the other hand, if no delimiter is included (“NO” in step S807), the search word determination process ends, and the process proceeds to step S707 in FIG.

ステップS808では、ステップS806で決定された検索語候補(以下、「第1検索語候補」という)を含むウェブページを、全文検索データベース105を用いて検索する。続くステップS809では、ステップS808での検索により検出されたウェブページ内で、該第1検索語候補の周辺に位置する単語(周辺単語)を抽出する。「周辺に位置する」とは、例えば以下のように定義することができる。第1検索語候補を含む文と同一の文、或いは更にその前後の文に含まれる単語、或いは、第1検索語候補の前後に位置し、かつ第1検索語候補から所定文字数以内に位置する単語、である。   In step S808, the web page including the search word candidate determined in step S806 (hereinafter referred to as “first search word candidate”) is searched using the full-text search database 105. In subsequent step S809, words (neighboring words) located around the first search word candidate are extracted from the web page detected by the search in step S808. “Located in the vicinity” can be defined as follows, for example. Located in the same sentence as the sentence including the first search word candidate, or further included in the sentences before and after the sentence, or before and after the first search word candidate, and within the predetermined number of characters from the first search word candidate A word.

続くステップS810では、ステップS809で抽出した周辺単語のうち、区切り文字の直後の文字列と前方一致する単語を選択して、周辺単語の絞り込みを行う。なお、当該直後の文字列が存在しない場合、即ち、空白のみが入力された場合には、本ステップを省略して、ステップS809において得られた全周辺単語について以降の処理を行うことができる。   In subsequent step S810, a word that matches the character string immediately after the delimiter is selected from the peripheral words extracted in step S809, and the peripheral words are narrowed down. If there is no character string immediately after that, that is, if only a blank is input, this step can be omitted, and the subsequent processing can be performed for all the peripheral words obtained in step S809.

続くステップS811では、上記工程を経て得られた周辺単語のそれぞれと、第1検索語候補との距離Dwを算出する。当該距離Dwは、例えば、第1検索語候補を含む文と同一文、前後の文のいずれに含まれるか、周辺単語と第1検索語候補との間に位置する文字数等に基づいて決定できる。   In subsequent step S811, a distance Dw between each of the surrounding words obtained through the above steps and the first search word candidate is calculated. The distance Dw can be determined based on, for example, the same sentence as the sentence including the first search word candidate or the preceding or following sentence, the number of characters positioned between the surrounding word and the first search word candidate, or the like. .

続くステップS812では、各周辺単語の出現頻度Fwを算出する。該出現頻度Fwは、例えば、同一の周辺単語が同一ページ内で登場する頻度(回数)に基づくことができる。この頻度が高い周辺単語ほど、該ページ内で第1検索語候補と関連する可能性が高い単語と考えることができる。但し、同一ページ内での登場頻度の高い単語であっても、サイトに一般的な単語である場合も考えられる。そこで、ステップS808で検出された第1検索語候補を含む全ページ(総ページ数をPal)内での周辺単語の出現数の合計Awを、総ページ数で割った値(Aw/Pal)を求める。この値が所定の閾値より大きい場合には、第1検索語候補とペアになった周辺単語は特定のページに特徴的な単語でない可能性があるため、Fwのポイントを一定量下げるか、或いは、周辺単語の候補から除外しても良い。   In subsequent step S812, the appearance frequency Fw of each neighboring word is calculated. The appearance frequency Fw can be based on, for example, the frequency (number of times) that the same surrounding word appears in the same page. Peripheral words with higher frequency can be considered as words that are more likely to be related to the first search word candidate in the page. However, even a word that appears frequently on the same page may be a general word on the site. Therefore, a value (Aw / Pal) obtained by dividing the total number Aw of the number of appearances of neighboring words in all pages (total number of pages is Pal) including the first search word candidate detected in step S808 by the total number of pages. Ask. If this value is larger than a predetermined threshold, the surrounding word paired with the first search word candidate may not be a word characteristic of a specific page, so the Fw point is lowered by a certain amount, or , It may be excluded from the peripheral word candidates.

次に、ステップS813では、ステップS811で算出した距離Dwと、ステップS812で算出した出現頻度Fwとに基づいて、周辺単語毎にポイントを算出する。ポイントの算出法は特に限定されるものではないが、例えばDwとFwとの和や積でもよいし、重み付けを行ってから演算しても良い。また、DwとFwのいずれか一方のみを利用しても良い。   Next, in step S813, points are calculated for each peripheral word based on the distance Dw calculated in step S811 and the appearance frequency Fw calculated in step S812. The point calculation method is not particularly limited. For example, the sum or product of Dw and Fw may be used, or calculation may be performed after weighting. Further, only one of Dw and Fw may be used.

なお、ステップS813では、距離と出現頻度に基づいてポイントを計算したが、更に、第1検索語候補の品詞解析および係受けを考慮した計算を行うこともできる。また、第1検索語候補と周辺単語の各組合せについて、過去に選択された選択頻度や、予め与えられた順位(ユーザの指定によっても良い)を更に考慮したり、これらの要素に基づいてポイントを算出することもできる。具体的に、過去に選択された頻度の高い組合せや、与えられた順位の高い組合せに高いポイントを与えることができる。選択頻度や順位の情報は、検索語データベース106内に格納しておくことができる。   In step S813, the points are calculated based on the distance and the appearance frequency. However, it is also possible to perform calculation in consideration of part-of-speech analysis and dependency of the first search word candidate. Further, for each combination of the first search word candidate and the surrounding word, the selection frequency selected in the past and the order given in advance (may be specified by the user) are further considered, or points based on these factors Can also be calculated. Specifically, a high point can be given to a combination with a high frequency selected in the past or a combination with a high ranking. Information on the selection frequency and rank can be stored in the search word database 106.

次に、ステップS814では、算出されたポイントが所定値以上の周辺単語を決定する。なお、このステップは省略してステップS813でポイントを算出した周辺単語を全て選択しても良い。続くステップS815では、決定した周辺単語と、第1検索語候補とを新たな検索語候補(第2検索語候補)に決定する。即ち、ステップS806における第1検索語候補とステップS814における周辺単語との組合せが、第2検索語候補となる。その際、第2検索語候補のポイントは、ステップS813で求めたポイントとなる。その後、検索語候補の決定処理を終了し、図7のステップS707に移行する。   Next, in step S814, surrounding words whose calculated points are greater than or equal to a predetermined value are determined. Note that this step may be omitted and all the peripheral words for which points have been calculated in step S813 may be selected. In the subsequent step S815, the determined peripheral word and the first search word candidate are determined as new search word candidates (second search word candidates). That is, the combination of the first search word candidate in step S806 and the surrounding words in step S814 becomes the second search word candidate. At that time, the point of the second search word candidate is the point obtained in step S813. Thereafter, the search word candidate determination process is terminated, and the process proceeds to step S707 in FIG.

なお、入力語に3語以上含まれる場合、即ち、区切り文字が2つ以上含まれる場合には、ステップS808以降の処理を、各区切り文字の直後の文字列について繰り返すことにより、さらに絞り込みをかけた第3、第4の検索語候補を決定することができる。   If the input word contains three or more words, that is, if two or more delimiters are included, the processing after step S808 is repeated for the character string immediately after each delimiter to further narrow down. The third and fourth search word candidates can be determined.

以上のように、本実施形態によれば、ウェブサイト内のウェブページから予め抽出した単語を検索を行う際の検索語候補としてユーザに提示することができるので、ユーザはウェブサイト内に確実に存在する単語を検索語として検索を行うことができる。   As described above, according to the present embodiment, a word extracted in advance from a web page in a website can be presented to a user as a search word candidate when performing a search. A search can be performed using existing words as search terms.

また、ユーザが複数の単語を検索語として入力しようとする場合、ウェブサイト内のページで実際に関連性を有する単語の組合せを候補として提示することができるので、より精度の高い検索が可能となる。   In addition, when a user intends to input a plurality of words as search terms, a combination of words that are actually relevant on a page in the website can be presented as candidates, so that a more accurate search is possible. Become.

特に本発明では、2語目以降の検索語候補を決定する場合に、予めテーブルを用意せずにリアルタイム計算により候補を決定している。これにより、組合せの候補をデータベース内に予め登録しておく場合と比べて、データベースの容量コストを大幅に削減することができる。   In particular, in the present invention, when determining search word candidates for the second word and thereafter, candidates are determined by real-time calculation without preparing a table in advance. Thereby, compared with the case where the combination candidate is registered in the database in advance, the capacity cost of the database can be greatly reduced.

また、2語目以降の検索語候補は入力せずとも、1語目を入力した後にスペース等の区切り文字を入れるだけで、1語目と関連性の高い検索語の候補が提示される。よって、ユーザは2語目について自ら考えなくても、自分が探しているページに該当するであろう検索語を、提示候補の中から選択して効率的に検索を行うことができる。この際、本願発明では、履歴に基づき過去に組合せで入力された単語のペアを候補として提示するのではなく、サイト内の実際のページにおいて関連性が認められる単語のペアを提示する点に特に特徴を有する。この特徴により、ユーザはウェブページと真に関連する単語のペアを検索語として選択することができる。   Further, even if the search word candidates for the second word and thereafter are not input, a search word candidate highly relevant to the first word is presented only by inputting a delimiter such as a space after inputting the first word. Therefore, even if the user does not think about the second word by himself / herself, he / she can efficiently perform a search by selecting a search word that will correspond to the page he / she is looking for from the presentation candidates. In this case, the present invention does not present a pair of words that have been input in the past based on the history as a candidate, but particularly presents a pair of words that are recognized to be relevant on an actual page in the site. Has characteristics. This feature allows the user to select a word pair that is truly associated with the web page as a search term.

さらに、本発明によれば、単語を組み合わせて検索語候補を提示する場合に、リアルタイムに計算して候補を決定するので、検索履歴が蓄積されていないサイトオープン当初の段階からでも、的中率の高い検索語の組合せを確実に提示することができる。   Furthermore, according to the present invention, when a search word candidate is presented by combining words, the candidate is determined by calculation in real time, so even if the search history is not accumulated, the hit rate is high. It is possible to reliably present a combination of search terms having a high value.

また、以上の処理(例えば上記図7a乃至図7gや図8に示したフローチャートに従った処理等)をコンピュータプログラムとしてCD−R、ROMやDVD−ROM、MO等の記憶媒体に記憶させ、この記憶媒体に記憶されているプログラムをコンピュータに読み込ませる(インストール、もしくはコピーさせる)ことで、このコンピュータは以上の処理を行うことができる。よって、コンピュータプログラム及び記憶媒体も本発明の範疇にあることは明白である。   Further, the above processing (for example, processing according to the flowcharts shown in FIGS. 7a to 7g and FIG. 8 above) is stored as a computer program in a storage medium such as a CD-R, ROM, DVD-ROM, MO, etc. By causing the computer to read (install or copy) the program stored in the storage medium, the computer can perform the above processing. Therefore, it is obvious that a computer program and a storage medium are also within the scope of the present invention.

発明の実施形態に対応するウェブサイト内検索システムの全体構成の一例を示すブロック図である。It is a block diagram which shows an example of the whole structure of the search system in a website corresponding to embodiment of invention. 発明の実施形態に対応するクライアント101のハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of the client 101 corresponding to embodiment of invention. 発明の実施形態に対応するサーバ103のハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of the server 103 corresponding to embodiment of invention. 発明の実施形態に対応する単語テーブルの一例を示す図である。It is a figure which shows an example of the word table corresponding to embodiment of invention. 発明の実施形態に対応する仮名変換テーブルの一例を示す図である。It is a figure which shows an example of the kana conversion table corresponding to embodiment of invention. 発明の実施形態に対応するローマ字変換テーブルの一例を示す図である。It is a figure which shows an example of the Romaji conversion table corresponding to embodiment of invention. 発明の実施形態に対応する、サイト内検索処理の一例を示す状態遷移図である。It is a state transition diagram showing an example of site search processing corresponding to an embodiment of the invention. 発明の実施形態に対応する、初期状態でのクライアント101の処理例を示す状態遷移図である。It is a state transition diagram showing a processing example of the client 101 in the initial state corresponding to the embodiment of the invention. 発明の実施形態に対応する、検索画面表示待ち状態でのクライアント101の処理例を示す状態遷移図である。It is a state transition diagram showing a processing example of the client 101 in a search screen display waiting state corresponding to the embodiment of the invention. 発明の実施形態に対応する、検索画面表示状態でのクライアント101の処理例を示す状態遷移図である。It is a state transition diagram showing a processing example of the client 101 in the search screen display state corresponding to the embodiment of the invention. 発明の実施形態に対応する、検索語候補受信待ち状態でのクライアント101の処理例を示す状態遷移図である。It is a state transition diagram showing a processing example of the client 101 in a search word candidate reception waiting state corresponding to the embodiment of the invention. 発明の実施形態に対応する、検索結果受信待ち状態でのクライアント101の処理例を示す状態遷移図である。It is a state transition diagram showing a processing example of the client 101 in a search result reception waiting state corresponding to the embodiment of the invention. 発明の実施形態に対応する、要求待ち状態でのサーバ103の処理例を示す状態遷移図である。It is a state transition diagram which shows the example of a process of the server 103 in the request waiting state corresponding to embodiment of invention. 図7gの検索語候補探索処理の一例を示すフローチャートである。It is a flowchart which shows an example of the search word candidate search process of FIG. 検索画面の一例を示す図である。It is a figure which shows an example of a search screen.

Claims (5)

インターネットに公開されたウェブサイトにアクセスするクライアント装置からの検索指示に応じて、該ウェブサイト内の検索を行うサーバ装置であって、
ウェブサイトを構成するウェブページの情報の全文検索を行うための第1のデータベースと、
前記ウェブページ内に含まれる単語を登録した第2のデータベースと、
前記クライアント装置において前記ウェブサイト内の検索を行うため入力された入力語を、新たな文字入力の度に受信する受信手段と、
受信した入力語と前方一致する単語を前記第2のデータベースにおいて探索し、検索語候補を決定する探索手段と、
前記探索手段が決定した検索語候補を、検索語として前記クライアントに送信する送信手段と、
前記クライアント装置から受信した前記検索語に基づき、前記第1のデータベースを利用して全文検索を行う検索手段と
を備え、
前記受信手段が受信した入力語に、区切り文字が含まれる場合に、
前記探索手段は、
前記区切り文字の直前の第1の入力語と前方一致する第1の単語を前記第2のデータベースにおいて探索し、
探索した前記第1の単語を含む第1のウェブページを前記第1のデータベースを用いて探索し、
探索した前記第1のウェブページにおいて前記第1の単語の周辺に存在する第1の周辺単語を抽出し、
前記第1の単語と前記第1の周辺単語とを、前記探索語候補に決定する
ことを特徴とするサーバ装置。
In response to a search instruction from a client device that accesses a website published on the Internet, the server device performs a search in the website,
A first database for performing a full text search of information of web pages constituting the website;
A second database in which words contained in the web page are registered;
A receiving means for receiving an input word input for searching the website in the client device each time a new character is input;
Search means for searching the second database for a word that matches the received input word and determining a search word candidate;
Transmission means for transmitting the search word candidate determined by the search means to the client as a search word;
Search means for performing a full-text search using the first database based on the search terms received from the client device;
When the input word received by the receiving means includes a delimiter,
The search means includes
Searching the second database for a first word that matches the first input word immediately before the delimiter;
Searching for the first web page containing the searched first word using the first database;
Extracting a first neighboring word existing around the first word in the searched first web page;
The server apparatus, wherein the first word and the first neighboring word are determined as the search word candidates.
前記探索手段は、さらに、
前記第1の単語と前記第1の周辺単語との前記第1のウェブページ内での距離、前記第1の周辺単語の前記第1のウェブページ内での出現頻度、前記第1の単語と前記第1の周辺単語との組合せが過去に選択された選択頻度、及び、前記組合せに与えられた順位の少なくともいずれかに基づいて、前記第1の単語と前記第1の周辺単語との組合せに与えられる第1のポイントを算出し、
前記送信手段は、前記第1のポイントを前記検索語候補と共に、クライアント装置に送信することを特徴とする請求項1に記載のサーバ装置。
The search means further includes:
The distance between the first word and the first neighboring word in the first web page, the appearance frequency of the first neighboring word in the first web page, the first word and A combination of the first word and the first surrounding word based on at least one of a selection frequency in which a combination with the first surrounding word is selected in the past and a ranking given to the combination. Calculate the first point given to
The server device according to claim 1, wherein the transmission unit transmits the first point together with the search word candidate to a client device.
前記区切り文字の直後に第2の入力語が含まれる場合に、
前記探索手段は、さらに、
前記第1の周辺単語のうち、前記第2の入力語と前方一致する第2の周辺単語を選択し、
前記第1の単語と前記第2の周辺単語とを、前記探索語候補に決定する
ことを特徴とする請求項1または2に記載のサーバ装置。
If the second input word is included immediately after the delimiter,
The search means further includes:
Selecting a second peripheral word that matches the second input word forward among the first peripheral words;
The server device according to claim 1 or 2, wherein the first word and the second neighboring word are determined as the search word candidates.
前記第2のデータベースは、
前記単語と、該単語の前記ウェブサイトにおける出現数に少なくとも基づいて与えられる第2のポイントとを関連づけて登録する単語テーブルと、
前記単語の平仮名表記、または、ローマ字表記を登録する変換テーブルと
を備え、
前記探索手段は、前記単語テーブルと、前記変換テーブルとを用いて、前記第1の単語を探索し、
前記単語は、漢字、平仮名、片仮名、アルファベット、記号、数字、合成語の少なくともいずれかの組合せからなることを特徴とする請求項1乃至3のいずれか1項に記載のサーバ装置。
The second database is
A word table for registering the word in association with a second point given based at least on the number of occurrences of the word on the website;
A conversion table for registering the hiragana notation of the word or the Roman alphabet notation,
The search means searches for the first word using the word table and the conversion table,
4. The server device according to claim 1, wherein the word is composed of a combination of at least one of kanji, hiragana, katakana, alphabet, symbol, number, and composite word. 5.
コンピュータを、請求項1乃至4のいずれか1項に記載のサーバ装置として機能させるためのコンピュータプログラム。   The computer program for functioning a computer as a server apparatus of any one of Claims 1 thru | or 4.
JP2007252252A 2007-09-27 2007-09-27 Server apparatus and computer program Active JP4516103B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007252252A JP4516103B2 (en) 2007-09-27 2007-09-27 Server apparatus and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007252252A JP4516103B2 (en) 2007-09-27 2007-09-27 Server apparatus and computer program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010110588A Division JP2010205292A (en) 2010-05-12 2010-05-12 Server device and computer program

Publications (2)

Publication Number Publication Date
JP2009086744A JP2009086744A (en) 2009-04-23
JP4516103B2 true JP4516103B2 (en) 2010-08-04

Family

ID=40660137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007252252A Active JP4516103B2 (en) 2007-09-27 2007-09-27 Server apparatus and computer program

Country Status (1)

Country Link
JP (1) JP4516103B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013225226A (en) * 2012-04-23 2013-10-31 Kyocera Corp Information terminal, display control program and display control method
CN112597180A (en) * 2020-11-20 2021-04-02 深圳市世强元件网络有限公司 Electronic component selling platform service item searching method and device and computer equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252252A (en) * 2004-02-26 2005-09-15 Au Optronics Corp Bonding pad and flexible wiring board lead

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252252A (en) * 2004-02-26 2005-09-15 Au Optronics Corp Bonding pad and flexible wiring board lead

Also Published As

Publication number Publication date
JP2009086744A (en) 2009-04-23

Similar Documents

Publication Publication Date Title
EP2546766B1 (en) Dynamic search box for web browser
US9323827B2 (en) Identifying key terms related to similar passages
JP4962967B2 (en) Web page search server and query recommendation method
US8700621B1 (en) Generating query suggestions from user generated content
US20030229628A1 (en) Method and apparatus for processing user input selecting images from a web page in a data processing system
US20130031110A1 (en) Systems and methods for rich query construction
US8255377B2 (en) Multi-prefix interactive mobile search
JP6147861B2 (en) Information processing apparatus, search server, web server, and computer program
WO2012012808A2 (en) Method for document search and analysis
US8458187B2 (en) Methods and systems for visualizing topic location in a document redundancy graph
CN101246484A (en) Electric text similarity processing method and system convenient for query
JP5103051B2 (en) Information processing system and information processing method
JP2017134787A (en) Device, program, and method for analyzing topic evaluation in multiple areas
US20070016564A1 (en) Database search engine
US20120296911A1 (en) Information processing apparatus and method of processing data for an information processing apparatus
JP4516103B2 (en) Server apparatus and computer program
WO2014012443A1 (en) Method for inputting and processing reference file guiding information
JPH1153394A (en) Device and method for document processing and storage medium storing document processing program
JP2010205292A (en) Server device and computer program
JP2007249421A (en) Information sorting apparatus
JP2001265774A (en) Method and device for retrieving information, recording medium with recorded information retrieval program and hypertext information retrieving system
US20140115525A1 (en) Systems and methods for integrated query and navigation of an information resource
JP2009271671A (en) Information processor, information processing method, program, and recording medium
JP5084859B2 (en) Information processing apparatus, data extraction method, and program
JP2010113730A (en) Search server and computer program

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100416

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100513

R150 Certificate of patent or registration of utility model

Ref document number: 4516103

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160521

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250