(57)【要約】【課題】ユーザが電子掲示板システムへコメントを投稿する過程で、会社名と一般名称の組み合わせで記述される文字列を的確に検出し、適切な商品名のリンクを自動的に埋め込むことができる、広告宣伝の効果及び利便性の高いサービス提供装置及びサービス提供システムを提供する。【解決手段】いわゆる電子掲示板の機能を提供するｗｅｂサーバで、ユーザが投稿したコメントの文字列中、商品名ではないが商品名を想起できるに足りる、企業名と一般名称の組み合わせよりなる部分文字列を探索し、商品名とその宣伝を記すｗｅｂページのＵＲＬを埋め込む。これを実現するために、予め企業名マスタ、一般名称マスタ、商品名マスタを用意する。商品名マスタには、企業名と一般名称の組み合わせを商品名と紐付けてレコードに記述する。これらを参照して、部分文字列を探索する。【選択図】図１
2010086331.tif 000002
【特許請求の範囲】
【請求項１】
企業をユニークに識別する企業ＩＤが記録される企業ＩＤフィールドと、前記企業の企業名が記録される企業名フィールドとを備える企業名マスタと、
一般名称をユニークに識別する一般名称ＩＤが記録される一般名称ＩＤフィールドと、前記一般名称が記録される一般名称フィールドとを備える一般名称マスタと、
商品の商品名が記録される商品名フィールドと、前記商品に関係するｗｅｂサイトのＵＲＬが記録されるリンクＵＲＬフィールドと、前記商品に関係する企業の企業ＩＤが記録される企業ＩＤフィールドと、前記商品が該当する一般名称の一般名称ＩＤが記録される一般名称ＩＤフィールドとを備える商品名マスタと、
クライアントから送信される文字列データよりなるコメントを受信し、前記コメントに前記商品名マスタの各レコードに記録される前記企業ＩＤと前記一般名称ＩＤの組み合わせに合致する前記企業名と前記一般名称の組み合わせよりなる文字列を検出し、前記文字列に前記ＵＲＬを埋め込む処理を行うコメント書き込み部と
を備えるサービス提供装置。
【請求項２】
前記コメント書き込み部は、前記コメントに前記商品名の文字列を検出し、前記文字列に前記ＵＲＬを埋め込む処理を行う請求項１記載のサービス提供装置。
【請求項３】
前記コメント書き込み部は、前記企業名と前記一般名称との間に一定の文字列出現規則に従う文字列が存在することを検証する請求項２記載のサービス提供装置。
【請求項４】
所定の操作情報を出力する操作部と、所定の情報を表示する表示部と、入力された情報に基づいて前記表示部を制御する表示制御部と、前記操作部から入力された前記情報を送信するとともに、所定の情報を受信して前記表示制御部に渡す入出力制御部とよりなるクライアントと、
企業をユニークに識別する企業ＩＤが記録される企業ＩＤフィールドと、前記企業の企業名が記録される企業名フィールドとを備える企業名マスタと、一般名称をユニークに識別する一般名称ＩＤが記録される一般名称ＩＤフィールドと、前記一般名称が記録される一般名称フィールドとを備える一般名称マスタと、商品の商品名が記録される商品名フィールドと、前記商品に関係するｗｅｂサイトのＵＲＬが記録されるリンクＵＲＬフィールドと、前記商品に関係する企業の企業ＩＤが記録される企業ＩＤフィールドと、前記商品が該当する一般名称の一般名称ＩＤが記録される一般名称ＩＤフィールドとを備える商品名マスタと、前記クライアントから送信される文字列データよりなるコメントを受信し、前記コメントに前記商品名マスタの各レコードに記録される前記企業ＩＤと前記一般名称ＩＤの組み合わせに合致する前記企業名と前記一般名称の組み合わせよりなる文字列を検出し、前記文字列に前記ＵＲＬを埋め込む処理を行うコメント書き込み部とよりなるサービス提供サーバと
を備えるサービス提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス提供装置およびサービス提供システムに関する。より詳細には、多数のユーザが閲覧する電子掲示板システムに適用して好適な技術に関する。
【背景技術】
【０００２】
近年、友人・知人間のコミュニケーションを促進する手段や場、あるいは趣味や嗜好、居住地域、出身校、友人の友人といった自身と直接関係のない他人との繋がりを通じて新たな人間関係を構築する場としてＳＮＳ（Social Networking site）を利用する人が増えている。ＳＮＳとは、社会的ネットワークの構築のできるサービスやｗｅｂサイトのことである。なお、本発明の先行技術を特許文献１に記す。
【０００３】
【特許文献１】特開２００８−１５８６９５
【非特許文献１】”Wikiとは ［ウィキ］ - 意味・解説 ： IT用語辞典”、［２００８年９月８日検索］、インターネット＜URL:http://e-words.jp/w/Wiki.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
今、仮に製造業である特定の企業が、ｗｅｂサイト上で上記のようなＳＮＳサービスを運営する場合を考える。
当該ＳＮＳサービス内で、ユーザが投稿する記事（以下「コメント」と定義する。）の中に、当該企業が扱う製品に関する記述があったとする。もしも、その記述に当該企業の商品に関するｗｅｂページへのリンクが張られていれば、当該企業にとって広告宣伝の効果が見込める。
【０００５】
一般に、ユーザが自己の発意に基づいてそのようなリンクを能動的に記述することはそう多くはないので、ＳＮＳサービスを提供するｗｅｂサーバ側で、そのようなリンクを自動的に生成する仕組みがあることが望ましい。
ある特定のキーワードを検出すると自動的にリンクを生成する仕組みは、非特許文献１に示すように「ｗｉｋｉ」で周知である。
しかし、特定の商品名或は商標が必ずしもユーザに完全に周知されているとは限らない。ユーザが忘れてしまう場合等も良くある。そのような場合、「戊社の体温計」等のように、会社名と一般名称の組み合わせで記述されることが往々にして見受けられる。このような場合、特定の商品名ではないので、そのままでは商品名に関するリンクを埋め込むことが困難である。
【０００６】
本発明はかかる点に鑑みてなされたものであり、ユーザが電子掲示板システムへコメントを投稿する過程で、会社名と一般名称の組み合わせで記述される文字列を的確に検出し、適切な商品名のリンクを自動的に埋め込むことができる、広告宣伝の効果及び利便性の高いサービス提供装置及びサービス提供システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明のサービス提供装置は、企業をユニークに識別する企業ＩＤが記録される企業ＩＤフィールドと、企業の企業名が記録される企業名フィールドとを備える企業名マスタと、一般名称をユニークに識別する一般名称ＩＤが記録される一般名称ＩＤフィールドと、一般名称が記録される一般名称フィールドとを備える一般名称マスタと、商品の商品名が記録される商品名フィールドと、商品に関係するｗｅｂサイトのＵＲＬが記録されるリンクＵＲＬフィールドと、商品に関係する企業の企業ＩＤが記録される企業ＩＤフィールドと、商品が該当する一般名称の一般名称ＩＤが記録される一般名称ＩＤフィールドとを備える商品名マスタと、クライアントから送信される文字列データよりなるコメントを受信し、コメントに商品名マスタの各レコードに記録される企業ＩＤと一般名称ＩＤの組み合わせに合致する企業名と一般名称の組み合わせよりなる文字列を検出し、文字列にＵＲＬを埋め込む処理を行うコメント書き込み部とを備える。
【０００８】
サービス提供装置には、予め企業名マスタ、一般名称マスタ、商品名マスタを用意する。商品名マスタには、企業名と一般名称の組み合わせを商品名と紐付けてレコードに記述する。コメント書き込み部はこれらを参照して、部分文字列を探索して、ユーザが投稿したコメントの文字列中、商品名ではないが商品名を想起できるに足りる、企業名と一般名称の組み合わせよりなる部分文字列を探索し、商品名とその宣伝を記すｗｅｂページのＵＲＬを埋め込む。
【発明の効果】
【０００９】
本発明により、ユーザが電子掲示板システムへコメントを投稿する過程で、会社名と一般名称の組み合わせで記述される文字列を的確に検出し、適切な商品名のリンクを自動的に埋め込むことができる、広告宣伝の効果及び利便性の高いサービス提供装置及びサービス提供システムを提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態の例を、図１〜図１６を参照して説明する。
【００１１】
［サービス提供システム１０１］
図１は、本発明の一実施形態の例である、サービス提供システム１０１の概略図である。
これより説明する、本実施形態のサービス提供システム１０１は、特に、医療機関に所属する医師や看護師等を対象とした、ソーシャルネットワーキングサービス（ＳＮＳ：Social Networking Service：参加者同士の交流を通じた、社会的ネットワークの構築を促進する、ｗｅｂベースのコミュニケーションサービス）を形成するシステムである。
【００１２】
本実施形態のサービス提供システム１０１は、クライアントＰＣ１０２およびサービス提供サーバ１０４より構成されており、これらの各要素がインターネット１０６上で相互に接続されている。
クライアントＰＣ１０２（Personal Computer）のユーザ１０３が、サービス提供サーバ１０４が形成する電子掲示板に文章を投稿すると、サービス提供サーバ１０４は、投稿された文章の中に特定の商品名、或は特定の会社名と一般名称の組み合わせよりなる文字列を探す。それら文字列がある場合、サービス提供サーバ１０４は当該文字列に対して広告へのリンクを自動的に埋め込む処理を行う。
【００１３】
図２は、クライアントＰＣ１０２の機能ブロック図である。図２では、本実施形態に用いられる機能ブロックのみを示している。したがって、本実施形態と関係のない機能の記載は省略している。
クライアントＰＣ１０２は一般的なパソコンである。表示部２０５は、ディスプレイである。操作部２０６は、キーボード及びマウス等のポインティングデバイスである。
パソコンであるクライアントＰＣ１０２内では、ｗｅｂブラウザ２０２が稼動する。ｗｅｂブラウザ２０２は、インターネット１０６を通じて所定のｗｅｂサーバから情報をダウンロードすると、その内容を入出力制御部２０３で受信し、表示制御部２０４に渡す。
表示制御部２０４は、入出力制御部２０３から受け取った情報を画面表示の信号に変換して、表示部２０５に渡す。
表示部２０５は、表示制御部２０４から受け取った信号を画面に表示する。
操作者は表示部２０５に表示されている内容に基づいて、操作部２０６で種々の操作を行う。
操作部２０６は操作情報を入出力制御部２０３に出力する。
入出力制御部２０３は、操作情報を処理して、表示制御部２０４に送ると共に、必要に応じてインターネット１０６を通じて、所定のｗｅｂサーバに送信する。
【００１４】
図３は、サービス提供サーバ１０４の機能ブロック図である。
サービス提供サーバ１０４は、一般的なｗｅｂサーバを構成する。サービス提供サーバ１０４のハードウェアは一般的なパソコンと同じであり、ネットワークＯＳが稼動する。
サービス提供サーバ１０４は、前述の通り、ｗｅｂベースのＳＮＳサービスをユーザ１０３に提供する。
【００１５】
ｗｅｂサーバプログラム３０２は、クライアントＰＣ１０２から来る要求（コマンド）を受信し、これに応じて、ＨＴＴＰ（Hyper Text Transfer Protocol）にてｈｔｍｌ文書等をクライアントＰＣ１０２へ送信する機能を提供する。一例としてはＡｐａｃｈｅ（http://www.apache.org/）等である。
また、ｗｅｂサーバプログラム３０２は、クライアントＰＣ１０２の要求に応じ、ｃｇｉ（Common Gateway Interface）の実行も行う。ｃｇｉは、標準出力にテキストを出力するプログラムである。このｃｇｉが生成するテキストが、ｗｅｂサーバプログラム３０２によってＨＴＴＰにてクライアントＰＣ１０２へ送信される。図３に示すサービス提供サーバ１０４では、ログインｃｇｉ及びメインメニューｃｇｉがこれに該当する。
【００１６】
ログイン画面ｈｔｍｌファイル３０３は、ログイン画面をクライアントＰＣ１０２の表示部２０５に表示するためのｈｔｍｌ文書である。
ログイン画面は、クライアントＰＣ１０２のユーザ１０３がアクセスするため情報であるユーザＩＤを入力するための画面である。
ログインｃｇｉ３０４は、クライアントＰＣ１０２から送信されたユーザＩＤ及びパスワードの情報を、ユーザマスタ３０５で検索して照合し、正規ユーザ１０３であるか否かを判断する。正規ユーザ１０３であると判断したら、メインメニューｃｇｉ３０６に転送するための転送メッセージを作成して、クライアントＰＣ１０２に送信する。
【００１７】
メインメニューｃｇｉ３０６は、サービス提供サーバ１０４が提供するＳＮＳサービスにログインしたユーザ１０３が最初に見る画面のｈｔｍｌ文書を作成する。
ユーザ１０３は、クライアントＰＣ１０２の表示部２０５に表示されているメインメニューから、自らの発意に基づき、自らが所属する種々のフォーラムにアクセスしたり、特定の他のユーザ１０３にメッセージを送信する等の行為を行う。
メインメニューの画面については、本発明とは直接関係しないので省略する。
【００１８】
フォーラムメニュー表示部３０７は、サービス提供サーバ１０４が提供するＳＮＳサービスにログインしたユーザ１０３が、自らが所属するフォーラムにアクセスする際に見る、画面のｈｔｍｌ文書を作成する。
ユーザ１０３は、クライアントＰＣ１０２の表示部２０５に表示されているフォーラムメニューから、自らの発意に基づき、フォーラムに書き込まれているトピックを選択する等の行為を行う。
フォーラムメニューの画面については、本発明とは直接関係しないので省略する。
なお、ユーザ１０３が所属するフォーラム、そしてフォーラムに書き込まれているトピックについては、フォーラムデータベース３０８がこれを記録している。
【００１９】
トピック表示部３０９は、サービス提供サーバ１０４が提供するＳＮＳサービスにログインしたユーザ１０３が、自らが所属する特定のフォーラムの特定のトピックにアクセスする際に見る、画面のｈｔｍｌ文書を作成する。
ユーザ１０３は、クライアントＰＣ１０２の表示部２０５に表示されている、選択したトピックを表示した後、自らの発意に基づき、トピック中のコメント表示範囲を変更したり、或はトピックにコメントを書き込む等の行為を行う。
トピック表示部３０９が提供する画面については、後述する。
なお、トピックそのものについては、トピックデータベース３１０がこれを記録している。
【００２０】
図４はトピック表示部３０９の詳細を示すブロック図である。
トピック表示部３０９は、トピック表示ｃｇｉ４０２、コメント投稿確認ｃｇｉ４０３、コメント書き込みｃｇｉ４０４の三つのｃｇｉと、これらに付随するデータよりなる。
トピック表示ｃｇｉ４０２は、トピックデータベース３１０からトピックテーブル４０５を読み出して、図７にて後述するトピック表示ｈｔｍｌ文書を作成し、ｗｅｂサーバプログラム３０２を通じてクライアントＰＣ１０２へ送信する。また、クライアントＰＣ１０２からコメント表示範囲を変更する要求を受信すると、その要求に応じたトピック表示ｈｔｍｌ文書を作成し、クライアントＰＣ１０２へ送信する。
トピック表示ｃｇｉ４０２が作成するトピック表示ｈｔｍｌ文書には、コメントを書き込むためのフォームと、書き込んだコメントを送信するための「確認」ボタンも形成されるようになっている。
ユーザ１０３が操作部２０６を操作して、「確認」ボタンを押してコメントを送信すると、コメント投稿確認ｃｇｉ４０３がこれを受信するようになっている。つまり、トピック表示ｈｔｍｌ文書の「確認」ボタンには、コメント投稿確認ｃｇｉ４０３のＵＲＬが埋め込まれている。
【００２１】
コメント投稿確認ｃｇｉ４０３は、クライアントＰＣ１０２から受信したコメントのテキストデータを、一時ファイル４０６に記録すると共に、コメント投稿確認ｈｔｍｌ文書を作成し、クライアントＰＣ１０２へ送信する。
コメント投稿確認ｃｇｉ４０３が作成するコメント投稿確認ｈｔｍｌ文書には、書き込む予定のコメント文が含まれていると共に、コメントを書き込むための「投稿」ボタンが形成されるようになっている。ユーザ１０３が操作部２０６を操作して「投稿」ボタンを押すと、コメント書き込みｃｇｉ４０４がこれを受信するようになっている。つまり、コメント投稿確認ｈｔｍｌ文書の「投稿」ボタンには、コメント書き込みｃｇｉ４０４のＵＲＬが埋め込まれている。
【００２２】
コメント書き込みｃｇｉ４０４は、クライアントＰＣ１０２から受信したコメントのテキストデータに、商品名マスタ４０７、企業名マスタ４０８及び一般名称マスタ４０９を用いてＵＲＬを含むタグを埋め込んだ後、トピックテーブル４０５に記録する。そして、トピックテーブル４０５にコメントを記録した後、コメント投稿完了ｈｔｍｌ文書を作成し、クライアントＰＣ１０２へ送信する。
コメント書き込みｃｇｉ４０４が作成するコメント投稿完了ｈｔｍｌ文書には、元のトピックを表示するための［戻る］ボタンが形成されるようになっている。ユーザ１０３が操作部２０６を操作して［戻る］ボタンを押すと、トピック表示ｃｇｉ４０２がこれを受信するようになっている。つまり、コメント投稿完了ｈｔｍｌ文書の［戻る］ボタンには、トピック表示ｃｇｉ４０２のＵＲＬが埋め込まれている。
【００２３】
トピックデータベース３１０は、トピックテーブル４０５の集合体である。
トピックテーブル４０５は、一つのトピックを構成する。
トピックは、一人以上のユーザ１０３が投稿するコメントの集合体である。
誰かがあるテーマに基づいてトピックを新規に作成すると、概ねそのテーマに沿う内容のコメントを、トピック作成者を含む複数のユーザ１０３が書き込む。
トピックテーブル４０５は、新規に作成されると、トピックの番号が付され、フォーラムデータベース３０８で管理される。
【００２４】
図５はコメント書き込みｃｇｉ４０４のブロック図である。
コメント書き込みｃｇｉ４０４は、クライアントＰＣ１０２から受信したコメントをトピックテーブル４０５に書き込む際、コメントを構成する文章内に、商品名の文字列及び企業名及び一般名称の文字列の組み合わせがあったら、商品名に該当する商品の広告のｈｔｍｌ文書を表示するためのリンク（ＵＲＬ）を埋め込む。これは、ＨＴＭＬで「<a href="http://…">」で始まり、「</a>」で終わる、「Ａタグ」と呼ばれるタグを埋め込むことを指す。
コメント書き込みｃｇｉ４０４は、所定のプログラミング言語で作られるプログラムである。例えばｐｅｒｌのような言語が用いられる。
【００２５】
クライアントＰＣ１０２から受信したコメントのデータは、一旦入力バッファ５０２に格納される。
入力バッファ５０２に格納されたコメントのデータは、評価用バッファ５０３に複写される。
評価用バッファ５０３に格納されたコメントのデータは、整形処理部５０４を経て、改行、記号等の除去が行われる。
その後、コメントのデータは分かち書き処理部５０５に入力され、分かち書き処理によって単語に分解される。分かち書き処理部５０５は、英語圏の言語とは異なり単語の切れ目が機械的に判別し難い日本語に対し、周知の分かち書き処理を施す。分かち書き処理とは、形態素解析とも呼ばれる、周知の自然言語処理である。一例として、Ｍｅｃａｂ（http://mecab.sourceforge.net/）、Ｃｈａｓｅｎ（http://chasen-legacy.sourceforge.jp/）、ＫＡＫＡＳＩ（http://kakasi.namazu.org/）等のプログラムが知られている。
【００２６】
分かち書き処理部５０５で単語単位に分解された評価用バッファ５０３内のコメントは、単語の出現順に配列変数５０６に格納される。配列変数５０６は、メモリ（ＲＡＭ）内に設けられたテーブルであり、二つの引数を備える。
ここでは、配列変数５０６の名称として、ｔａｎｇｏ［ｎ，ｏ］というものが設けられているとする。
引数ｎは、１から始まる、コメント内に出現する単語の順番である。
引数ｏは、０，１，２，３の値が与えられる。
引数ｏが０のときは、単語そのものが書き込まれる。
引数ｏが１のときは、後述する企業ＩＤが書き込まれる。
引数ｏが２のときは、後述する一般名称ＩＤが書き込まれる。
引数ｏが３のときは、組み合わせを示すフラグが書き込まれる。
ｔａｎｇｏ［ｎ，ｏ］は、初期状態では単語が記録される以外、引数ｏが１及び２の値にはそれぞれ「０」が、引数ｏが３の値には論理の「偽」を表す「０」が書き込まれる。
【００２７】
商品リンク埋め込み部５０７は、商品名マスタ４０７を参照しながら配列変数５０６内の単語を照会して、当該単語が商品名であるか否かを判断する。配列変数５０６内のある単語が商品名であれば、入力バッファ５０２の該当箇所に、商品に該当するリンクを埋め込む。
【００２８】
企業名・一般名称チェック部５０８は、企業名マスタ４０８及び一般名称マスタ４０９を参照しながら配列変数５０６内の単語を照会して、当該単語が企業名であるか、一般名称であるか、否かを判断する。
配列変数５０６内のある単語が企業名であれば、ｔａｎｇｏ［ｎ，１］に企業ＩＤを書き込む。
配列変数５０６内のある単語が一般名称であれば、ｔａｎｇｏ［ｎ，２］に一般名称ＩＤを書き込む。
【００２９】
複合リンク埋め込み部５０９は、商品名マスタ４０７を参照しながら、企業名と一般名称の組み合わせよりなる文字列パターンが存在するか否かをチェックする。その際、企業名の単語と一般名称の単語との間の文字列が所定の文字列パターンに合致しているか否かを、正規表現パターン５１０を参照して確認する。
配列変数５０６内のある単語とある単語が、企業名と一般名称の組み合わせよりなる文字列パターンの条件を充足している場合は、ｔａｎｇｏ［ｎ，３］にそれぞれ論理の「真」を示す「１」を書き込む。
そして、当該パターンに該当する入力バッファ５０２の該当箇所に、商品に該当するリンクを埋め込む。
【００３０】
企業名・一般名称リンク埋め込み部５１１は、企業名マスタ４０８及び一般名称マスタ４０９を参照しながら配列変数５０６内の単語を照会して、当該単語が企業名或は一般名称で、且つｔａｎｇｏ［ｎ，３］が「０」である単語を見つけて、当該パターンに該当する入力バッファ５０２の該当箇所に、企業名或は一般名称に該当するリンクを埋め込む。
【００３１】
以上、商品リンク埋め込み部５０７、複合リンク埋め込み部５０９、企業名・一般名称リンク埋め込み部５１１によってリンクを埋め込まれた入力バッファ５０２内のコメントデータは、トピックテーブル４０５に書き込まれる。
【００３２】
図６（ａ）、（ｂ）、（ｃ）及び（ｄ）は、各種テーブルの概略図である。各テーブルには、フィールド名とサンプルレコードを示す。
図６（ａ）は企業名マスタ４０８である。
「企業ＩＤ」フィールドは、企業をユニークに識別するＩＤが格納される。
「企業名」フィールドは、企業の名称が格納される。
「リンクＵＲＬ」フィールドは、企業のホームページのＵＲＬが格納される。
【００３３】
図６（ｂ）は一般名称マスタ４０９である。
「一般名称ＩＤ」フィールドは、一般名称をユニークに識別するＩＤが格納される。
「一般名称」フィールドは、一般名称そのものが格納される。
「説明文」フィールドは、一般名称の内容を説明する説明文が格納される。
【００３４】
図６（ｃ）は商品名マスタ４０７である。
「商品名」フィールドは商品名が格納される。
「リンクＵＲＬ」フィールドは、商品の広告などが記されるホームページのＵＲＬが格納される。
「企業ＩＤ」フィールドは、企業名マスタ４０８のそれと同じである。
「一般名称ＩＤ」フィールドは、一般名称マスタ４０９のそれと同じである。
【００３５】
図６（ｄ）はトピックテーブル４０５である。
「ユーザＩＤ」フィールドは、コメントを書き込んだユーザ１０３のユーザＩＤである。
「投稿日時」フィールドは、ユーザ１０３がコメントを書き込んだ日時である。
「コメント文」フィールドは、コメントの文章そのものである。
【００３６】
図７（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）、（ｆ）、（ｇ）、（ｈ）及び（ｉ）は、企業名と一般名称の組み合わせの一例と、正規表現パターンを示す図である。
図７（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）及び（ｆ）は、企業名と一般名称の組み合わせの一例を示す。
図７（ｇ）は、図７（ａ）に示す、企業名と一般名称の間の文字列に合致する正規表現パターンである。
図７（ｈ）は、図７（ｂ）、（ｃ）、（ｄ）、（ｅ）及び（ｆ）に示す、企業名と一般名称の間の文字列に合致する正規表現パターンである。
図７（ｉ）は、図７（ｇ）及び（ｈ）を同時に表現する正規表現パターンである。
正規表現とは、周知の文字列一致規則であり、またその機能を指す。なお、この図７（ｇ）、（ｈ）及び（ｉ）で示す正規表現は、Ｐｅｒｌ（http://www.perl.org/）、Ｐｙｔｈｏｎ（http://www.python.org/）、Ｒｕｂｙ（http://www.ruby-lang.org/ja/）等で使用される拡張正規表現を採用している。
”()”（丸括弧）は文字列をグループ化する。但し、”\”（半角円マーク或はバックスラッシュ。正規表現では「エスケープ文字」という。）を直前に置くことで、グループ化の機能を無効にし、丸括弧の文字自体を表現する。
丸括弧中の”|”（縦棒）は、この演算子で区切られる文字列のどれか一つに合致することを示す、論理和を示す。「選言演算子」ともいう。
”{m,n}”（中括弧に囲まれた整数ｍと整数ｎ）は、直前の文字或はブロックのｍ回以上ｎ回以下の繰り返しに合致することを示す。ここでは便宜的に「繰り返し演算子」と呼ぶこととする。
【００３７】
図７（ａ）の場合は、文字列の末尾が「の」で統一されている。そして、「の」の直前が、何もない場合、「株式会社」の場合、「（株）」の場合、「社」の場合、そして「社製」の場合と、５パターン存在する。そこで、丸括弧内に４パターンの文字列を選言演算子で区切って並べ、繰り返し演算子で「０回以上１回以下」を指定する。これで、「の」の直前に文字列が何もない場合を含め、５パターンを表現できる。
図７（ｂ）の場合は、文字列の末尾が「が開発した」で統一されている。
図７（ｃ）の場合は、文字列の末尾が「が販売する」で統一されている。
図７（ｄ）の場合は、文字列の末尾が「が販売している」で統一されている。
図７（ｅ）の場合は、文字列の末尾が「で販売している」で統一されている。
図７（ｆ）の場合は、文字列の末尾が「が製造した」で統一されている。
そこで、これらを包含するべく記述した正規表現が、
(が|で)((開発|製造)した|販売(する|している))
である。
以上のような手順で作成した正規表現パターンが、図７（ｉ）である。
【００３８】
図８は、クライアントＰＣ１０２の表示部２０５に表示される、トピック表示画面である。
図９（ａ）及び（ｂ）は、クライアントＰＣ１０２の表示部２０５に表示される、コメント投稿確認画面及びコメント投稿完了画面である。
図１０は、クライアントＰＣ１０２の表示部２０５に表示される画面に基づいた、状態遷移図である。
【００３９】
ユーザ１０３はクライアントＰＣ１０２の表示部２０５にフォーラムメニューを表示させている状態から、所定の操作を行うことで、所望のトピックを選択する。すると、その操作情報が操作部２０６から入出力制御部２０３によってトピック表示ｃｇｉ４０２に送信される。
トピック表示ｃｇｉ４０２は、ユーザ１０３によって選択されたトピックに該当するトピックテーブル４０５を、トピックデータベース３１０から選び出して読み出し、トピック表示ｈｔｍｌ文書を作成し、クライアントＰＣ１０２へ送信する。
クライアントＰＣ１０２のｗｅｂブラウザ２０２は、トピック表示ｈｔｍｌ文書を受信すると、これを表示部２０５に表示する。これが図８のトピック表示画面８０２である。
【００４０】
これより図８のトピック表示画面８０２の詳細を説明する。これは図１０に示す状態遷移図の、トピック表示状態Ｐ１００２に該当する。
フォーラム名８０３は表示されているトピックが属するフォーラムの名称である。
タイトル８０４は、このトピックを作成したユーザ１０３が記入する、トピックの表題である。
これらはフォーラムデータベース３０８に記録されている。
画面左側の欄は、投稿者欄８０５である。
画面右側の欄の先頭にある文章は、オリジナルポスト８０６という。
画面右側の欄の二番目以降の文章は、コメント８０７という。
オリジナルポスト８０６及びコメント８０７の上側には、投稿日時８０８が表示されている。
これらはトピックテーブル４０５に記録されている。
【００４１】
表示範囲リンク８０８は、コメント８０７を表示する番号とその範囲を指定するリンクである。
全表示リンク８０９は、トピックの全てのコメント８０７の表示を指定するリンクである。
最新表示リンク８１０は、トピックの直近２０件のコメント８０７の表示を指定するリンクである。
これら表示範囲リンク８０８、全表示リンク８０９及び最新表示リンク８１０は、トピック表示ｃｇｉ４０２へのリンクが埋め込まれている。
これら表示範囲リンク８０８、全表示リンク８０９及び最新表示リンク８１０を押す行為は、図１０のステップＳ１００３の「メッセージ表示範囲変更」に該当する。
【００４２】
コメント入力フォーム８１１は、コメント８０７を書き込む入力欄である。
「確認」ボタン８１２は、コメント入力フォーム８１１にコメント８０７を書き込んだ後、コメント８０７をサービス提供サーバ１０４に送信するためのボタンである。この「確認」ボタン８１２は、コメント投稿確認ｃｇｉ４０３へのリンクが埋め込まれている。
「確認」ボタン８１２を押す行為は、図１０のステップＳ１００４に該当する。
【００４３】
ユーザ１０３は、クライアントＰＣ１０２の表示部２０５にトピック表示画面８０２が表示されている状態で、コメント入力フォーム８１１にコメント８０７を書き込んだ後、「確認」ボタン８１２を押すと、その操作情報及びコメント８０７を構成する文字列データが、入出力制御部２０３によってコメント投稿確認ｃｇｉ４０３に送信される。
コメント投稿確認ｃｇｉ４０３は、受信したコメント８０７の文字列データを一時ファイル４０６に書き出した後、コメント８０７の文字列データを含むコメント投稿確認ｈｔｍｌ文書を作成し、クライアントＰＣ１０２へ送信する。
クライアントＰＣ１０２のｗｅｂブラウザ２０２は、コメント投稿確認ｈｔｍｌ文書を受信すると、これを表示部２０５に表示する。これが図９（ａ）のコメント投稿確認画面９０２である。
【００４４】
これより図９（ａ）のコメント投稿確認画面９０２の詳細を説明する。これは図１０に示す状態遷移図の、コメント投稿確認状態Ｐ１００５に該当する。
コメント表示欄９０３は、ユーザ１０３が書き込んだコメント８０７の文章が表示される領域である。
ユーザ１０３はこれを見て、投稿するか、改めてコメント８０７の文章を書き直すかを選択する。
「投稿」ボタン９０４は、コメント表示欄９０３に表示されたコメント８０７をそのままサービス提供サーバ１０４に送信し、投稿するためのボタンである。この「投稿」ボタン９０４は、コメント書き込みｃｇｉ４０４へのリンクが埋め込まれている。
「投稿」ボタン９０４を押す行為は、図１０のステップＳ１００６に該当する。
「中止」ボタン９０５は、コメント表示欄９０３に表示されたコメント８０７を再度編集し直すためのボタンである。この「中止」ボタン９０５は、トピック表示ｃｇｉ４０２へのリンクが埋め込まれている。
「中止」ボタン９０５を押す行為は、図１０のステップＳ１００７に該当する。
【００４５】
ユーザ１０３は、クライアントＰＣ１０２の表示部２０５にコメント投稿確認画面９０２が表示されている状態で、「投稿」ボタン９０４を押すと、その操作情報及びコメント表示欄９０３に表示されているコメント８０７を構成する文字列データが、入出力制御部２０３によってコメント書き込みｃｇｉ４０４に送信される。
コメント書き込みｃｇｉ４０４は、受信したコメント８０７の文字列データをトピックテーブル４０５に書き込んだ後、コメント８０７投稿完了ｈｔｍｌ文書を作成し、クライアントＰＣ１０２へ送信する。
クライアントＰＣ１０２のｗｅｂブラウザ２０２は、コメント８０７投稿完了ｈｔｍｌ文書を受信すると、これを表示部２０５に表示する。これが図９（ｂ）のコメント投稿完了画面９０６である。
【００４６】
これより図９（ｂ）のコメント投稿完了画面９０６の詳細を説明する。これは図１０に示す状態遷移図の、コメント投稿完了状態Ｐ１００８に該当する。
「戻る」ボタン９０７は、図８のトピック表示画面８０２に戻るためのボタンである。この「戻る」ボタン９０７は、トピック表示ｃｇｉ４０２へのリンクが埋め込まれている。
「戻る」ボタン９０７を押す行為は、図１０のステップＳ１００９に該当する。
【００４７】
図１１は、クライアントＰＣ１０２の表示部２０５に表示される、トピック表示画面８０２である。図８とは別のトピックを表示させた状態を示す。
コメント８０７中、「戊社の体温計」という文字列に、アンダーバーが記されている。この、「企業名＋一般名称」の組み合わせに埋め込まれているリンクが、複合名リンク１１０２である。
この複合名リンク１１０２にマウスカーソルを置くと、フキダシ１１０３が表示される。フキダシ１１０３には比較的短い商品の宣伝文が記され、更に詳細な内容を知りたいユーザ１０３のために、宣伝リンク１１０４が埋め込まれている。このフキダシ１１０３は、周知のＡｊａｘ（Asynchronous JavaScript（登録商標） + XML：ｗｅｂページのリロードを伴わずに、ｗｅｂサーバとＸＭＬ形式のデータの送受信を行って処理を進めていく、対話型ｗｅｂアプリケ-ションの実装形態。）にて実現される。
宣伝リンク１１０４には、当該商品の詳細を示すホームページのＵＲＬが埋め込まれており、クリックすると当該ホームページにアクセスする。
なお、複合名リンク１１０２自身も宣伝リンク１１０４に埋め込まれているリンク先のＵＲＬが埋め込まれており、クリックすると、同様に当該ホームページにアクセスする。
【００４８】
図１２（ａ）、（ｂ）及び（ｃ）は、それぞれトピック表示画面８０２の一部拡大図である。これらは企業名リンク、一般名称リンク及び商品名リンクを示す図である。
図１２（ａ）は、企業名リンクを示す。
コメント８０７中に「戊社について」というような、「企業名＋一般名称」の組み合わせでない、企業名が単独で記されている場合は、企業名に当該企業のホームページへのリンクが埋め込まれる。これ以降、このリンクを企業名リンク１２０２と呼ぶ。この場合、フキダシ１１０３は表示されない。
同様に、図１２（ｂ）、は、一般名称リンクを示す。
コメント８０７中に「体温計について」というような、「企業名＋一般名称」の組み合わせでない、一般名称が単独で記されている場合は、一般名称にリンクが埋め込まれる。このリンクにマウスカーソルを置くと、当該一般名称を説明する短い文章が記されるフキダシ１１０３が表示される。これ以降、このリンクを一般名称リンク１２０３と呼ぶ。
【００４９】
また同様に、図示はしていないが、コメント８０７中に「メディサーモについて」というような、「商品名」そのものが記されている場合は、複合名リンク１１０２と同じリンクを埋め込む。したがって、マウスカーソルを置くとフキダシ１１０３が表示され、フキダシ１１０３内の宣伝リンク１１０４をクリックすると当該商品の詳細を示すホームページが表示される。これ以降、このリンクを商品名リンクと呼ぶ。
【００５０】
上述の複合名リンク１１０２、企業名リンク１２０２、そして一般名称リンク１２０３をコメント８０７内に埋め込む作業は、コメント書き込みｃｇｉ４０４内で行われる。
【００５１】
図１３は、コメント書き込みｃｇｉ４０４の、コメント書き込みの際の処理の流れを示すフローチャートである。
コメント書き込みｃｇｉ４０４は、クライアントＰＣ１０２からコメント８０７のテキストデータを受信すると、処理を開始する（Ｓ１３０１）。最初に前処理として、コメント８０７のテキストデータは、一旦入力バッファ５０２に蓄積される。その後、評価用バッファ５０３にコピーされた後、整形処理部５０４に入力される。
整形処理部５０４は、入力されたコメント８０７のテキストデータに対し、改行、スペース及び記号等を除去する（Ｓ１３０２）。
次に、整形処理されたコメント８０７のテキストデータは、分かち書き処理部５０５で分かち書き処理が行われ、単語に分解される。分解された単語は配列変数５０６に格納される（Ｓ１３０３）。
【００５２】
次に、商品リンク埋め込み部５０７は商品名マスタ４０７を参照しながら配列変数５０６内の商品名を探索し、あれば商品名リンクを入力バッファ５０２内のコメント８０７のテキストデータに埋め込む（Ｓ１３０４）。
【００５３】
そして、企業名・一般名称チェック部５０８、複合リンク埋め込み部５０９、企業名・一般名称リンク１２０３埋め込み部５１１による、企業名＋一般名称リンク埋め込み処理を行う（Ｓ１３０５）。
【００５４】
最後に、リンクが埋め込まれた入力バッファ５０２中のコメント８０７のテキストデータは、トピックテーブル４０５に格納されて（Ｓ１３０６）、処理を終了する（Ｓ１３０７）。
【００５５】
図１４、図１５及び図１６は、企業名＋一般名称リンク埋め込み処理の詳細を示すフローチャートである。
処理を開始すると（Ｓ１４０１）、最初にカウンタ変数ｉを１に初期化する（Ｓ１４０２）。
次に、企業名・一般名称チェック部５０８は、配列変数ｔａｎｇｏ［ｉ，０］、つまりｉ番目の単語が企業名であるか否かを、企業名マスタ４０８と照合しつつ検証する（Ｓ１４０３）。もし、企業名であるならば（Ｓ１４０３のＹ）、配列変数ｔａｎｇｏ［ｉ，１］、つまり企業ＩＤを格納するフィールドに、当該企業名の企業ＩＤを代入する（Ｓ１４０４）。
【００５６】
ステップＳ１４０３で、企業名でないならば（Ｓ１４０３のＮ）、企業名・一般名称チェック部５０８は、配列変数ｔａｎｇｏ［ｉ，０］、つまりｉ番目の単語が一般名称であるか否かを、一般名称マスタ４０９と照合しつつ検証する（Ｓ１４０５）。もし、一般名称であるならば（Ｓ１４０５のＹ）、配列変数ｔａｎｇｏ［ｉ，２］、つまり一般名称ＩＤを格納するフィールドに、当該一般名称の一般名称ＩＤを代入する（Ｓ１４０６）。
ステップＳ１４０５で、一般名称でないならば（Ｓ１４０５のＮ）、配列変数ｔａｎｇｏに対する操作は行わない。
【００５７】
ステップＳ１４０４、ステップＳ１４０６、ステップＳ１４０５のＮの後は、カウンタ変数ｉをインクリメントする（Ｓ１４０７）。そして、ｉ番目の単語の有無を検証し（Ｓ１４０８）、あれば（Ｓ１４０８のＮ）再度ステップＳ１４０３から繰り返す。なければ（Ｓ１４０８のＹ）、次のステップに移行する。
【００５８】
図１５を参照して、フローチャートの続きを説明する。
先ず、カウンタ変数ｉを１に初期化する（Ｓ１５０９）。
次に、複合リンク埋め込み部５０９は、配列変数ｔａｎｇｏ［ｉ，１］が０でない、つまりｉ番目の単語に企業ＩＤが記入されているか否かを検証する（Ｓ１５１０）。配列変数ｔａｎｇｏ［ｉ，１］に企業ＩＤが入っていなければ初期値の「０」のままである。
企業ＩＤが入っていれば（Ｓ１５１０のＹ）、次にカウンタ変数ｊを１に初期化する（Ｓ１５１１）。
次に、複合リンク埋め込み部５０９は、配列変数ｔａｎｇｏ［ｉ＋ｊ，２］が０でない、つまりｉ＋ｊ番目の単語に一般名称ＩＤが記入されているか否かを検証する（Ｓ１５１２）。配列変数ｔａｎｇｏ［ｉ＋ｊ，２］に一般名称ＩＤが入っていなければ初期値の「０」のままである。もし、初期値「０」のままであれば（Ｓ１５１２のＮ）、カウンタ変数ｊをインクリメントする（Ｓ１５１３）。そして、カウンタ変数ｊが最大３になるまで（Ｓ１５１４のＮ）、処理を繰り返す（Ｓ１５１２）。
ステップＳ１５１２で一般名称ＩＤが入っていれば（Ｓ１５１２のＹ）、この時点で
・ｔａｎｇｏ［ｉ，０］は企業名で、ｔａｎｇｏ［ｉ，１］には企業ＩＤが格納されていると共に、
・ｔａｎｇｏ［ｉ＋ｊ，０］は一般名称で、ｔａｎｇｏ［ｉ＋ｊ，２］には一般名称ＩＤが格納されており、
・ｔａｎｇｏ［ｉ＋１，０］とｔａｎｇｏ［ｉ＋ｊ−１，０］は１語以上３語以下である
ことが判る。つまり、「企業名＋一般名称」の、複合名リンク１１０２の条件に合致する可能性がある。
そこで、次に複合リンク埋め込み部５０９は、ｔａｎｇｏ［ｉ＋１，０］からｔａｎｇｏ［ｉ＋ｊ−１，０］までの単語の集合体が、正規表現パターン５１０に合致するか否か、検証する（Ｓ１５１５）。
正規表現パターン５１０に合致したら（Ｓ１５１５のＹ）、ｔａｎｇｏ［ｉ，３］とｔａｎｇｏ［ｉ＋ｊ，３］に、複合名リンク１１０２に該当することを示すフラグとして、論理値の「真」（「１」）を代入する（Ｓ１５１６）。なお、正規表現パターン５１０に合致しなかったら（Ｓ１５１５のＮ）、フラグ操作は行わない。
【００５９】
複合名リンク１１０２に該当した文字列は検証作業が済んだので、カウンタ変数ｉはｊ＋１増加させる（Ｓ１５１７）。逆に、複合名リンク１１０２に該当していない単語は、その次の単語の検証をしなければならないので、カウンタ変数ｉをインクリメントする（Ｓ１５１８）。
こうして、ｉ番目の単語がなくなるまでは（Ｓ１５１９のＮ）、単語の検証及びフラグ付与作業を繰り返す。
【００６０】
ｉ番目の単語がなくなったら（Ｓ１５１９のＹ）、次の処理に入る。
図１６を参照して、フローチャートの続きを説明する。
先ず、カウンタ変数ｉを１に初期化する（Ｓ１６２０）。
次に、複合リンク埋め込み部５０９は、配列変数ｔａｎｇｏ［ｉ，１］が０でない、つまりｉ番目の単語に企業ＩＤが記入されているか否かを検証する（Ｓ１６２１）。配列変数ｔａｎｇｏ［ｉ，１］に企業ＩＤが入っていなければ初期値の「０」のままである。
企業ＩＤが入っていれば（Ｓ１６２１のＹ）、次に配列変数ｔａｎｇｏ［ｉ，３］が論理の「真」（「１」）であるか、つまり複合名リンク１１０２に該当するか否かを検証する（Ｓ１６２２）。
当該単語に複合名リンク１１０２のフラグが立っていれば（Ｓ１６２２のＹ）、それは企業ＩＤの複合名リンク１１０２であるので、対になる一般名称の単語がすぐ後に必ずある。そこで、カウンタ変数ｊを１に初期化して（Ｓ１６２３）、配列変数ｔａｎｇｏ［ｉ＋ｊ，３］が論理の「真」であるか否か確認する（Ｓ１６２４）。なければ（Ｓ１６２４のＮ）、カウンタ変数ｊをインクリメントして（Ｓ１６２５）、見つかるまで探す。
見つかったら（Ｓ１６２４のＹ）、複合名リンク１１０２を埋め込む処理を行う（Ｓ１６２６）。そして、当該文字列のリンク埋め込み処理は終わったので、カウンタ変数ｉはｊ＋１だけ進める（Ｓ１６２７）。
【００６１】
ステップＳ１６２１で、当該単語が企業名でなければ（Ｓ１６２１のＮ）、次に配列変数ｔａｎｇｏ［ｉ，２］が０でない、つまりｉ番目の単語が一般名称であるか否かを検証する（Ｓ１６２８）。一般名称であれば（Ｓ１６２８のＹ）、一般名称にリンクを埋め込む処理を行う（Ｓ１６２９）。
一般名称でなければ（Ｓ１６２８のＮ）、リンクを埋め込む処理は行わない。
【００６２】
ステップＳ１６２２で、当該単語が企業名であるが複合名リンク１１０２のフラグが立っていない場合（Ｓ１６２２のＮ）は、企業名にリンクを埋め込む処理を行う（Ｓ１６３０）。
【００６３】
ステップＳ１６２８のＮ、ステップＳ１６２９及びステップＳ１６３０の後は、カウンタ変数ｉをインクリメントする（Ｓ１６３１）。
こうして、配列変数５０６の中に含まれている単語に対して、適切にリンクを埋め込む処理を最初から最後まで満遍なく行う（Ｓ１６３２のＮ）。単語の検証が終わったら（Ｓ１６３２のＹ）、処理を終了する（Ｓ１６３３）。
【００６４】
改めて図１４、図１５及び図１６に示した、企業名＋一般名称リンク埋め込み処理を説明する。
企業名＋一般名称リンク埋め込み処理は、配列変数ｔａｎｇｏに対し、三回のループ処理を行う。
最初のループ処理は、図１４のステップＳ１４０２からステップＳ１４０８までの間で実行する、配列変数ｔａｎｇｏに含まれる各単語の中から、企業名と一般名称を見つけて、それぞれフラグを立てる処理である。
二度目のループ処理は、図１５のステップＳ１５０９からステップＳ１５１９までの間で実行する、配列変数ｔａｎｇｏに含まれる各単語のうち、複合名リンクの条件に合致する単語の組み合わせを見つけて、あれば複合名リンクのフラグを立てる処理である。
三度目のループ処理は、図１６のステップＳ１６２０からステップＳ１６３２までの間で実行する、配列変数ｔａｎｇｏに含まれる各単語のうち、複合名リンクのフラグが立っている単語の組み合わせを見つけたら商品リンクを埋め込み、複合名リンクのフラグが立っていない企業名リンクの単語を見つけたら企業名リンクを埋め込み、複合名リンクのフラグが立っていない一般名称リンクの単語を見つけたら一般名称リンクを埋め込む処理である。
【００６５】
本実施形態には、以下のような応用例が考えられる。
（１）前述の企業名＋一般名称リンク埋め込み処理では、予め分かち書き処理で単語に分解した後、複合名リンクの条件を満たす文字列を探すために、単語が企業名或は一般名称であるか否かを、企業名マスタ及び一般名称マスタを用いて検証した。
分かち書き処理は、単語の検証作業を高速に行うための処理である。
この分かち書き処理を行わなくても、正規表現による文字列一致の検証を所定の条件下で繰り返すことで、同様の処理を実現することができる。以下、ＰＯＳＩＸ（Portable Operating System Interface for UNIX（登録商標））系ＯＳ等で周知のａｗｋ（http://www.opengroup.org/onlinepubs/009695399/utilities/awk.html http://www.kt.rim.or.jp/%7Ekbk/gawk-30/gawk_toc.html）を用いる例を示す。
・先ず、複合名リンクを探すための文字列整形処理として、クライアントＰＣ１０２から入力されたコメント（文章＝文字列データ）から改行を除去した後、句読点毎に改行する。
・次に、入力された文字列に対し、ａｗｋのｍａｔｃｈ関数で企業名を探索する。企業名がヒットすれば、ａｗｋの組み込み変数ＲＳＴＡＲＴに文字列中の位置が、ＲＬＥＮＧＴＨに文字列の長さが格納される。
・ヒットしたら、入力された文字列を変数ＲＳＴＡＲＴ以降に切り詰めて、複合名リンクの有無を確認する。一般名称が存在するか、企業名と一般名称の組み合わせは商品名マスタに存在するか、企業名と一般名称の間の文字列は正規表現で定義した文字列であるか、の三点の条件を全て充足するか、検証する。
・複合名リンクの条件を充足していれば、商品名マスタを参照して複合名リンクを埋め込む。充足していなければ、企業名マスタを参照して企業名リンクを埋め込む。
・リンクを埋め込んだ部分文字列を入力された文字列から除外して、ｍａｔｃｈ関数を用いた探索処理を繰り返す。
ａｗｋのｍａｔｃｈ関数は、Ｐｅｒｌ等の他の言語でも同様の動作を得ることができる。したがって、上記の処理内容を記述する言語はａｗｋに限られない。
【００６６】
（２）上述の実施形態はＳＮＳで実現するものとして説明したが、一般的なｗｅｂベースの電子掲示板システムに適用してもよい。この場合、ユーザが投稿するコメントを保持する形式はトピックテーブルのようなテーブルに限る必要はなく、またユーザ認証等の機能も必ずしも必要ではない。
【００６７】
本実施形態では、サービス提供システムを開示した。
いわゆる電子掲示板の機能を提供するｗｅｂサーバで、ユーザが投稿したコメントの文字列中、商品名ではないが商品名を想起できるに足りる、企業名と一般名称の組み合わせよりなる部分文字列を探索し、商品名とその宣伝を記すｗｅｂページのＵＲＬを埋め込む。これを実現するために、予め企業名マスタ、一般名称マスタ、商品名マスタを用意する。商品名マスタには、企業名と一般名称の組み合わせを商品名と紐付けてレコードに記述する。これらを参照して、部分文字列を探索する。
以上の処理により、電子掲示板システム上で商品名をユーザに周知させると共に、商品の宣伝を効果的に実現できる。
【００６８】
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態の例である、サービス提供システムの概略図である。
【図２】クライアントＰＣの機能ブロック図である。
【図３】サービス提供サーバの機能ブロック図である。
【図４】トピック表示部の詳細を示すブロック図である。
【図５】コメント書き込みｃｇｉのブロック図である。
【図６】各種テーブルの概略図である。
【図７】企業名と一般名称の組み合わせの一例と、正規表現パターンを示す図である。
【図８】クライアントＰＣの表示部に表示される、トピック表示画面である。
【図９】クライアントＰＣの表示部に表示される、コメント投稿確認画面及びコメント投稿完了画面である。
【図１０】クライアントＰＣの表示部に表示される画面に基づいた、状態遷移図である。
【図１１】クライアントＰＣの表示部に表示される、トピック表示画面である。
【図１２】トピック表示画面の一部拡大図である。
【図１３】コメント書き込みｃｇｉの、コメント書き込みの際の処理の流れを示すフローチャートである。
【図１４】企業名＋一般名称リンク埋め込み処理の詳細を示すフローチャートである。
【図１５】企業名＋一般名称リンク埋め込み処理の詳細を示すフローチャートである。
【図１６】企業名＋一般名称リンク埋め込み処理の詳細を示すフローチャートである。
【符号の説明】
【００７０】
１０１…サービス提供システム、１０２…クライアントＰＣ、１０４…サービス提供サーバ、１０６…インターネット、２０５…表示部、２０６…操作部、２０２…ｗｅｂブラウザ、２０３…入出力制御部、２０４…表示制御部、３０２…ｗｅｂサーバプログラム、３０３…ログイン画面ｈｔｍｌファイル、３０４…ログインｃｇｉ、３０５…ユーザマスタ、３０６…メインメニューｃｇｉ、３０７…フォーラムメニュー表示部、３０８…フォーラムデータベース、３０９…トピック表示部、３１０…トピックデータベース、４０２…トピック表示ｃｇｉ、４０３…コメント投稿確認ｃｇｉ、４０４…コメント書き込みｃｇｉ、４０５…トピックテーブル、４０６…一時ファイル、４０７…商品名マスタ、４０８…企業名マスタ、４０９…一般名称マスタ、５０２…入力バッファ、５０３…評価用バッファ、５０４…整形処理部、５０５…分かち書き処理部、５０６…配列変数、５０７…商品リンク埋め込み部、５０８…企業名・一般名称チェック部、５０９…複合リンク埋め込み部、５１０…正規表現パターン、５１１…企業名・一般名称リンク埋め込み部、８０２…トピック表示画面、８０３…フォーラム名、８０４…タイトル、８０５…投稿者欄、８０６…オリジナルポスト、８０７…コメント、８０８…投稿日時、８０９…全表示リンク、８１０…最新表示リンク、８１１…コメント入力フォーム、８１２…「確認」ボタン、９０２…コメント投稿確認画面、９０３…コメント表示欄、９０４…「投稿」ボタン、９０５…「中止」ボタン、９０６…コメント投稿完了画面、９０７…「戻る」ボタン、１１０２…複合名リンク、１１０３…フキダシ、１１０４…宣伝リンク、１２０２…企業名リンク、１２０３…一般名称リンク
【図１】
2010086331.tif 000003
【図２】
2010086331.tif 000004
【図３】
2010086331.tif 000005
【図４】
2010086331.tif 000006
【図５】
2010086331.tif 000007
【図６】
2010086331.tif 000008
【図７】
2010086331.tif 000009
【図８】
2010086331.tif 000010
【図９】
2010086331.tif 000011
【図１０】
2010086331.tif 000012
【図１１】
2010086331.tif 000013
【図１２】
2010086331.tif 000014
【図１３】
2010086331.tif 000015
【図１４】
2010086331.tif 000016
【図１５】
2010086331.tif 000017
【図１６】
2010086331.tif 000018