(58)【調査した分野】(Int.Cl.,DB名)
前記サービス供給データベースは、段階的な構成で前記サービス供給者情報を記憶し、前記分析サーバーはソフトウエアを実行して、前記意味段階構造で前記サービス供給データベースにおいて段階的に検索する請求項1〜4の何れか1項に記載のサービス要求分析システム。
前記クライアント装置からスケジュール情報と場所情報を取得し、前記スケジュール情報と前記場所情報に基づいて、前記クライアント装置に現された前記少なくとも1つのサービス供給者情報を濾過することを更に含む請求項6又は7に記載のサービス要求分析方法。
前記要求文字列から時間情報と場所情報を取得し、前記時間情報と前記場所情報に基づいて、前記クライアント装置に現された前記少なくとも1つのサービス供給者情報を濾過することを更に含む請求項6又は7に記載のサービス要求分析方法。
サービス供給データベースを検索する工程には、前記意味段階構造で前記サービス供給データベースにおいて段階的に検索し、前記サービス供給データベースが段階的な構成で前記サービス供給者情報を記憶する請求項6〜9の何れか1項に記載のサービス要求分析方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記方案の何れにも不便があり、まず、キーワードに表す意味が単一の文字や用語では表現されなく、例えば、使用者が「玉山」を入力すると、玉山銀行を検索しようとする場合もあるし、南投に位置する玉山を検索しようとする場合もあるので、使用者がネットワークイエローページ又は類似なウェブサイトを使用すれば、検索結果の関連性を確保するために、数多くの精確なキーワードを決めなければならない。またネットワーク情報が多すぎるので、使用者は、常に、大量な検索結果から、自らサービス供給者を連絡してサービス時間と場所を約束する必要があり、過程が非常に複雑である。しかし、仲立ちプラットフォームのウェブサイトを使用する場合、仲立ちプラットフォームのウェブサイトが労働力に基づいてサービス要求を分析する必要があるので、使用者は、仲立ちプラットフォームのウェブサイトの提供したサービス供給者を認めるしかない。
【課題を解決するための手段】
【0005】
そのため、従来のサービス要求分析方法のネットワークイエローページ等ウェブサイト及び仲立ちプラットフォームのウェブサイトによる検索困難、労働力消費及び時間場所の手配の非効率性の問題を解決したサービス要求分析システムと方法が望まれている。
【0006】
本発明の一態様は、サービス供給者情報を含むサービス供給データベースと、サービス供給データベースに接続されて、且つクライアント装置に接続されており、プロセッサーと、少なくとも1つのコマンドを記憶するメモリと、を含む分析サーバーと、を備え、プロセッサーは、コマンドを実行して動作を行う、クライアント装置から要求文字列を受信し、単語分割処理と濾過を行って要求キーワードを得る動作と、要求キーワード任意の両者の間の関連数を算出し、要求キーワードと関連数に基づいてクラスタリングして、前記要求キーワードを複数の要求キーワード群に分ける動作と、各要求キーワード群内のサービス供給データベースの検索用の意味段階構造を作成して、1つ又は複数の要求文字列に適うサービス供給者情報を取得する動作と、前記サービス供給者情報をクライアント装置に伝送して、クライアント装置に要求文字列に適うサービス供給者情報を現すようにする動作と、を行うクライアント装置サービス要求分析システムである。
【0007】
一実施例において、分析サーバーのプロセッサーがクラスタリングする動作は、前記要求キーワード及び前記関連数に基づいて要求キーワードネットワークチャートを作成し、下限閾値によって前記関連数を濾過して、前記要求キーワードネットワークチャートの接続関係を調整し、更にクラスタリングすることを含む。
【0008】
一実施例において、分析サーバーのプロセッサーが前記複数の要求キーワード群のそれぞれの意味段階構造を作成する動作は、要求キーワード群における任意の両者の間の関連指向性を確認することと、関連指向性に基づいて複数の要求キーワード群のそれぞれの概念ルートキーワードを判断することと、を含む。
【0009】
一実施例において、分析サーバーのプロセッサーの動作は、クライアント装置からスケジュール情報と場所情報を取得し、スケジュール情報と場所情報に基づいて、クライアント装置に現されたサービス供給者情報を濾過することを含む。
【0010】
一実施例において、分析サーバーのプロセッサーの動作は、要求文字列から時間情報と場所情報を取得し、時間情報と場所情報に基づいて、クライアント装置に現されたサービス供給者情報を濾過することを含む。
【0011】
前記サービス供給データベーがスは、段階的な構成で前記サービス供給者情報を記憶し、前記分析サーバーはソフトウエアを実行して、前記意味段階構造で前記サービス供給データベースにおいて段階的に検索する。
【0012】
本発明の別の態様は、クライアント装置から要求文字列を受信し、要求文字列に対して単語分割処理と濾過を行い、複数の要求キーワードを得る工程と、要求キーワード任意の両者の間の関連数を算出し、要求キーワードと関連数に基づいてクラスタリングして、複数の要求キーワードを1つ又は複数の要求キーワード群に分ける工程と、複数の要求キーワード群のそれぞれの意味段階構造を作成し、要求文字列に適うサービス供給者情報を取得するように、意味段階構造でサービス供給データベースにおいて検索する工程と、サービス供給者情報をクライアント装置に伝送して、クライアント装置に要求文字列に適うサービス供給者情報を現すようにする工程と、を備えるサービス要求分析方法である。
【0013】
一実施例において、サービス要求分析方法では、要求キーワードを要求キーワード群に分ける工程は、要求キーワードと関連数に基づいて要求キーワードネットワークチャートを作成し、下限閾値で関連数を濾過して、要求キーワードネットワークチャートの接続関係を調整し、更にクラスタリングすることを含む。
【0014】
一実施例において、複数の要求キーワード群のそれぞれの意味段階構造を作成する工程は、要求キーワード群における任意の両者の間の関連指向性を確認することと、関連指向性に基づいて複数の要求キーワード群のそれぞれの概念ルートキーワードを判断することと、を含む。
【0015】
一実施例において、サービス要求分析方法は、クライアント装置からスケジュール情報と場所情報を取得し、スケジュール情報と場所情報に基づいてクライアント装置に現されたサービス供給者情報を濾過することを更に含む。
【0016】
一実施例において、サービス要求分析方法は、要求文字列から時間情報と場所情報を取得し、時間情報と場所情報に基づいて、クライアント装置に現されたサービス供給者情報を濾過することを更に含む。
【0017】
一実施例において、サービス要求分析方法の検索サービス供給データベースの工程には、意味段階構造でサービス供給データベースにおいて段階的に検索し、サービス供給データベースが段階的な構成で前記サービス供給者情報を記憶する。
【0018】
本発明のまた別の態様は、コンピュータプログラムを記憶しており、サービス要求分析方法を実行するためのコンピュータ読み取り可能な記録媒体において、クライアント装置から要求文字列を受信し、要求文字列に対して単語分割処理と濾過を行い、複数の要求キーワードを得る工程と、要求キーワード任意の両者の間の関連数を算出し、要求キーワードと関連数に基づいてクラスタリングして、複数の要求キーワードを1つ又は複数の要求キーワード群に分ける工程と、複数の要求キーワード群のそれぞれの意味段階構造を作成し、要求文字列に適うサービス供給者情報を取得するように、意味段階構造でサービス供給データベースにおいて検索する工程と、前記サービス供給者情報をクライアント装置に伝送し、クライアント装置に要求文字列に適うサービス供給者情報を現すようにする工程と、を備えるコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0019】
以上をまとめて言えば、上記の実施例を適用すれば、従来ネットワークイエローページ及び仲立ちプラットフォームのウェブサイトによってサービスを提供する場合の問題を解決することができ、使用者が普通の言葉でサービス要求を入力できるようにし、精確なキーワードを尋ねる必要はなく、普通の言葉で入力すれば、更に言語環境を提供し、サービスの要求分析過程を自動化し、意味分析結果によって精確的に検索し、仲立ちプラットフォームが人為的に分析する場合に消費する労働力を省く。なお、時間と場所情報によってサービス要求に適うサービス供給者を濾過でき、更に使用者が自らサービス供給者とサービスの時間と場所について調和しなければならない複雑過程を省くことができる。
【発明を実施するための形態】
【0021】
以下、図面及び詳しい説明に基づいて、本発明の精神を明らかに説明する。当業者であれば、本発明の好適な実施例を理解する上で、本発明の教示した技術によって、本発明の精神と範囲から逸脱せずに、変更や修正を加えることができる。
【0022】
図1は、本発明の第1の実施例によるサービス要求分析システムを示す模式図である。サービス要求分析システム100は、分析サーバー110と、サービス供給データベース120と、クライアント装置130と、を備える。サービス供給データベース120には、例えば、内装サービスメーカー、冷気補修サービスメーカー、及び家屋工事メーカー等のような複数件のサービス供給者の情報が記憶されており、分析サーバー110は、使用者がクライアント装置130によって入力した、「うちの便器が壊れて水が絶えず流されているが、補修をお願いします」のような普通の言葉でサービス要求を表現する要求文字列を受信し、分析サーバー110が自動的に要求文字列に対して分析処理を行って、使用者が自らキーワードを取り決めなくても、精確な検索結果を取得できるようにする。
【0023】
具体的には、分析サーバー110は、要求文字列から使用者に必要なサービス要求の種類及びサービス要求の細部等の情報を取得して、サービス要求分析の結果に基づいてサービス供給データベース120を検索し、使用者の入力した要求文字列に適う複数件のサービス供給者情報を取得して、得られたサービス供給者情報をクライアント装置130に現す。以下、各素子の機能とサービス要求分析システム100の運行の流れについて、詳しく説明する。
【0024】
分析サーバー110は、プロセッサー112と、メモリ114と、を含む。クライアント装置130が分析サーバー110に連結され、使用者のクライアント装置130に入力した要求文字列が連結によって分析サーバー110に伝送される。メモリ114になくとも1つのコマンドが記憶され、プロセッサー112がコマンドを実行して、受信した要求文字列を処理する。
【0025】
分析サーバー110は、サーバー(Server)、ワークステーション(Workstation)又はパソコン(Personal Computer)であり、プロセッサー112は、中央プロセッサー(Central Processing Unit)又はマイクロコントローラ(Microcontroller)であり、メモリ114は、ハードディスク(Hard Disk)、光ディスク(Optical Disc)、又はフラッシュメモリ(Flash Memory)である。
【0026】
クライアント装置130は、処理素子132と、表示素子134と、記憶素子136と、入力素子138と、を含む。一実施例において、クライアント装置130は、スマートフォン(Smart phone)又はタブレット(Tablet)であり、処理素子132は、マイクロプロセッサー(Microprocessor)であり、表示素子134は、液晶ディスプレイ(liquid crystal display;LCD)又は有機発光ダイオード(organic light emitting display;OLED)ディスプレイであり、記憶素子136は、SD記憶カード又はフラッシュメモリ(Flash Memory)であり、入力素子138は、実体キーボード、又は表示素子134と結合したタッチスクリーン(Touchscreen)である。別の実施例において、クライアント装置130は、個人用コンピュータ(Personal Computer)であり、処理素子132は、中央プロセッサー(Central Processing Unit)であり、表示素子134は、液晶ディスプレイ(LCD)又は発光ダイオード(light‐emitting diode;LED)ディスプレイであり、記憶素子136は、ハードディスク(Hard Disk)、光ディスク(Optical Disc)又はソリッドステートドライブ(solid state disk;SSD)であり、入力素子138は、キーボードマウスセットである。
【0027】
図2は、本発明の第1の実施例に係る要求文字列処理のデータの模式図である。使用者が普通の言葉で要求文字列210を入力して、分析サーバー110が要求文字列210に対して中国語の単語分割処理(Chinese Word Segmentation)を行い、単語分割結果における介詞、接続詞、助語、及び代名詞等のような不重要な文字や用語を濾過し、更に時を表す名詞、地名と位置を表す名詞を濾過して、複数の要求キーワード220を取り出す。
【0028】
本実施例において、要求文字列210は、「うちの台所の水管が壊れて、水漏れがひどく、タンクを交換する必要もあるし、またベランダの壁がんを補修する必要もある」であり、取り出された要求キーワード220は、[台所、水管、水漏れ、タンク、交換、ベランダ、壁がん、補修]である。
【0029】
一実施例において、分析サーバー110は、台湾中央研究院により研究開発された中国語単語分割システム(Chinese Knowledge and Information Processing;CKIP)によって単語分割を行って、その品詞判断結果に基づいて濾過する。別の実施例において、分析サーバー110は、全文検索エンジンのLuceneに組み込まれたワードブレーカによって単語分割を行う。上記で挙げた単語分割システムは、例示だけであり、当業者であれば、自ら適当な単語分割エンジンを選用してもよいが、本発明で挙げた例示に限定されない。
【0030】
分析サーバー110は、要求キーワード220を取得してから、要求キーワード220における任意の両者の間の関連数を算出し、この関連数が任意の2つのキーワードの間の意味的類似性(Semantic Similarity)又は意味関連性(Semantic Relatedness)の定量結果である。本実施例において、分析サーバー110は、更にコーパス(Corpus)140に接続されて、意味的類似性として、正規化Google距離(Normalized Google Distance;NGD)によって任意の2つのキーワードの間の共起(Co‐occurrence)程度を定量する。例としては、2つの要求キーワードt1とt2がある場合、正規化Google距離の算式は、下記の通りである。
【数1】
g(t1)とg(t2)は、それぞれ独にt1及びt2をキーワードとしてコーパス140において検索して得られた検索結果の数を表し、g(t1,t2)は、t1及びt2を同時にキーワードとして検索して得られた検索結果の数を表し、Nは、コーパス140におけるデータ総数である。
【0031】
一実施例において、Google検索エンジンによってデータをコーパス140としてアクセスし、関連数として、Google検索結果によってキーワードの間のNGDを算出することができる。別の実施例において、ウィキペディア(Wikipedia)の全ての条目をコーパス140として、Solr検索サーバーによって検索して、要求キーワード220の間の関連数を算出する。また別の実施例において、当業者は、関連数として2つのキーワードの間の意味関連性を定量するように、意味定量ライブラリ(Semantic Measure Library)等のような、意味分析に関わる他のオープンソースライブラリ(Open Source Library)を選択してもよい。
【0032】
従来、要求文字列における要求キーワードを理解するために、要求文字列210の表現する意味内容を調べるように、要求キーワード220と人為的に作成した本体論(Ontology)ネットワークとを比べ合わせる必要があるが、要求文字列210に用いる語彙が本体論ネットワークに用いる語彙と僅かに異なる場合、比べ合わせが困難となってしまう。また、分野にまたがる本体論ネットワークを作成するには、人為的な介入を大量に必要とし、経済的ではない。そのため、本発明は、自動的なクラスタリング、及び要求文字列210における中心概念の取り出し方法を提供する。
【0033】
分析サーバー110は、クラスタリング分析(Clustering Analysis)を実行し、要求キーワード220と関連数に基づいて要求キーワード220に対してクラスタリングを行う。クラスタリングアルゴリズムとしては、階層クラスタリング(Hierarchical Clustering)アルゴリズム、K‐means及びその誘導アルゴリズム及びグラフクラスタリング(Graph Clustering)アルゴリズムを含む様々なものがあるが、当業者であれば、必要に応じて、適合のクラスタリングアルゴリズムを選択すればよい。
【0034】
一実施例において、分析サーバー110K‐meansアルゴリズムによってクラスタリングを行い、まず、開始のクラスタリング中心としてK個のキーワードをランダムに捜し出し、次に、各キーワードを最大関連数となるクラスタリング中心に分類し、全てのキーワードが分類されてから、新しいクラスタリング中心位置を算出し、上記2つの工程を繰り返して、クラスタリング中心位置が変わらなくなるまで反復計算する。実際に、要求キーワード群250/260のクラスタリング中心の間の関連数がある閾値より小さく、要求キーワード群250/260内の各要求キーワードとクラスタリング中心との間の関連数が何れも別の閾値より大きく、得られたクラスタリング結果によると、各要求キーワード群の間の差異が大きく、群内の差異が小さいことを表す。
【0035】
別の実施例において、複数の要求キーワードのそれぞれを一つのノードとし、各ノードの間をエッジ(edge)でつながり、無向グラフ(Undirected Graph)である要求キーワードネットワークチャート230を形成する。次に、分析サーバー110は、要求キーワードネットワークチャート230を処理し、関連数が下限閾値より低い2つの要求キーワードの間のつながっているエッジを除去して、次のクラスタリング工程を行い、
図2に示した要求キーワードネットワークチャート230を参照し、タンクと壁がんとの間に接続されているエッジはないのは、下限閾値により濾過されたからである。一実施例において、意味関連性の低いノードの間のつながっているエッジを濾過して取り除くために、下限閾値が0.1に決められる。別の実施例において、下限閾値が0.5に決められる。上記で挙げた数値は、例示だけであり、本発明を限定するものではなく、当業者であれば、必要に応じて、下限閾値を調整してもよい。
【0036】
分析サーバー110は、K‐coreクラスタリングアルゴリズムによって、要求キーワードネットワークチャート230を処理して、クラスタリングを行い、注意すべきなのは、K‐coreクラスタリングアルゴリズムでは、要求キーワードネットワークチャート230における不重要な接続エッジとノードを除去して、生じたサブグラフ(Subgraph)における複数のノードの何れも少なくともK個の他のノードと接続関係を有するようにし、各サブグラフが同一の要求キーワード群に属する。
【0037】
また別の実施例において、分析サーバー110がK‐coreアルゴリズムを行った結果が、要求キーワードネットワークチャート230を濾過する場合に使用する下限閾値と関わるため、下限閾値があまり低く設定されると、K‐coreアルゴリズムは、異なる概念の文字を正確に分離できないため、動態クラスタリング検証によって要求キーワードネットワークチャート230を濾過する場合に用いる下限閾値を調整する。まず、要求キーワード220における任意の2つの要求キーワードの間の関連数を昇順で関連数序列に配列し、次に、二分探索(Binary Search)の概念によって、関連数序列の中央値(Median Value)を下限閾値として要求キーワードネットワークチャート230を濾過してから、分析サーバー110がKを2として、K‐coreアルゴリズムを実行し、2つ以上の中心概念を分けることができる場合、関連数序列の第3の四分位数(Third Quartile)を下限閾値として要求キーワードネットワークチャート230を濾過し、更に2つ以上の概念を分けることができる場合、第3の四分位数を下限閾値とする。中央値によって2つ以上の中心概念を分けることができない場合、第1の四分位数(First Quartile)を下限閾値として要求キーワードネットワークチャート230を濾過し、第1の四分位数によって2つ以上の中心概念を分けることもできない場合、要求文字列210に中心概念が1つしかないと判断する。
【0038】
要求キーワード220は、複数の要求キーワード群250/260に分けられることができる。分析サーバー110は、更に、要求キーワード群250/260内の意味段階構造240を作成し、つまり、要求キーワード群250/260は、要求キーワードの集合のみであるが、意味段階構造240内の各要求キーワードの間の関連が指向性を有し、関連指向性によって各要求キーワード群250/260内の最も重要な概念ルートキーワードを捜し出す。
【0039】
一実施例において、正規Google距離と条件付け確率の概念に合わせて、要求キーワード群の間の要求キーワードt1とt2との関連の指向性を確認し、判断時に用いるの数式は、下記の通りである。
g(t1,t2)、g(t1)とg(t2)関数の定義は、NGD算式の定義の通りであり、
【数2】
CP(t1→t2)は、要求キーワードt2がコーパス140のファイルに現れる場合、前記ファイルに要求キーワードt1が同時に現れる確率を表すため、CP(t1→t2)がCP(t2→t1)より大きくなると、要求キーワードt2が要求キーワードt1の下位の要求キーワードであることを表すので、要求キーワードt1が要求キーワードt2を指向する。
【0040】
別の実施例において、PageRankアルゴリズムによって、要求キーワード群250/260内の要求キーワードの間の関連指向性と概念ルートキーワードを評価し、PageRankアルゴリズムは、ウェブページ間の互いに引用する関係を分析するものであり、1つのウェブページの引用される回数が多いほど、より基本的且つ重要となることを表し、PageRank値も高くなるため、要求キーワード群250/260内の概念ルートキーワードを探すこと好適に用いられ、算出PageRankの算式は、下記の通りである。
【数3】
PageRank(t1)は、要求キーワードt1のPageRank値であり、dは減衰係数であり、0.85にデフォルトされ、Nは要求キーワード群内の要求キーワード総数量であり、B(t1)は前記要求キーワード群内における要求キーワードt1とつながった全ての要求キーワードであり、O(t2)は前記要求キーワード群内における要求キーワードt2の連結エッジの数である。
【0041】
また別の実施例において、要求文字列210は、タイトル部を更に含み、分析サーバー110は、ターム頻度(Term Frequency;TF)の概念に合わせて、K近傍(K Nearest Neighbor;KNN)アルゴリズムとの関連指向性を作成し概念ルートキーワードを捜し出す、ターム頻度の概念を用いることで、2つの要求キーワードがコーパス140に含まれるデータにおいて同一センテンスで現れた頻度を定量することができ、2つの要求キーワードが同一センテンスで現れた頻度が高い場合、この2つの要求キーワード相関度が高いことを表す。具体的には、本実施例では、また要求文字列210におけるタイトル部の重要性を強化し、2つの要求キーワードがタイトル又はキーワードに同時に現れると、2つの要求キーワードt
iとt
jとの間の第2の関連数r
ijを1に設定し、2つの要求キーワードがタイトル又はキーワードに同時に現れていない場合、コーパス140に基づいて下記式によって第2の関連数r
ijを算出する。
【数4】
g(t
i)及びg(t
j)は、それぞれ要求キーワードt
i及び要求キーワードt
jをキーワードとしたTF‐IDF(Term frequency‐inverse document frequency)数値であり、g(t
i,t
j)は要求キーワードt
i及び要求キーワードt
jのTF‐IDF(Term frequency‐inverse document frequency)数値を表し、即ち、要求キーワードt
i及び要求キーワードt
jが要求文字列に同時に現れ、また、コーパス140に同時にこの2つのキーワードのファイル数を有する。
【0042】
分析サーバー110は、上記第2の関連数r
ijに基づいて、それぞれ要求キーワード群250/260の加重連結グラフ(weighted connected graph)を作成し、同一の要求キーワード群内の複数の要求キーワードのそれぞれをノードとし、2つのノードの間のエッジ加重は第2の関連数r
ijであり、点加重は要求キーワードコーパス140におけるTF‐IDF(Term frequency‐inverse document frequency)の合計及び前記要求キーワードと要求キーワード群における他の要求キーワードとの第2の関連数の平均である。分析サーバー110は、要求キーワード群250における複数の要求キーワードのそれぞれに対してK個の第2の関連数が最も高い隣接する要求キーワードを取って、候補キーワード群を形成し、次に、候補キーワード群に対応するサブグラフにおいて、TF‐IDF数値を上記条件付け確率に用いるの関数として、要求キーワードの間の関連指向性を判断し、又はPageRankアルゴリズムを採用して、サブグラフに2つの要求キーワードの間の関連指向性を作成し、関連指向性に基づいて概念ルートキーワードを判断する。分析サーバー110は、要求キーワード群260内の要求キーワードに対しても同様に処理して、意味段階構造を取得する。
【0043】
図2に、要求キーワード群250/260の意味段階構造240が示され、分析サーバー110は、意味段階構造240を作成してから、要求文字列210に適うサービス供給者情報を取得するように、意味段階構造240に基づいてサービス供給データベース120において検索し、クライアント装置130に要求文字列210に適うサービス供給者情報を現す。要求キーワード群250の概念ルートキーワードは、ベランダ251、壁がん252と補修253の何れもベランダ251に指向するが、要求キーワード群260の概念ルートキーワードは台所261であり、台所261がまた水管262とタンク264に分けられ、水漏れ263が水管262を指向し、交換265がタンク264を指向する。
【0044】
一実施例において、サービス供給データベース120内の各サービス供給者情報に、サービス提供可能な時間帯及びサービス領域範囲等の情報を含み、分析サーバー110は、クライアント装置130から使用者のスケジュール情報と場所情報を取得し、スケジュール情報と場所情報に基づいてクライアント装置130に現されたサービス供給者情報を濾過し、スケジュール情報は、使用者が携帯電話のスケジュール機能によって記録した日程計画手配であり、Googleカレンダー(Google Calendar)等のようなクラウドスケジュールであってもよく、場所情報は、使用者の住所や勤務先のアドレス等の情報である。
【0045】
別の実施例において、サービス供給データベース120内の各サービス供給者情報には、サービス提供可能な時間帯及びサービス領域範囲等の情報を更に含み、分析サーバー110は、単語分割処理と濾過を行う場合、要求文字列210中の時間情報及び場所情報を保留し、要求文字列210中の時間情報及び場所情報に基づいてクライアント装置130に現されたサービス供給者情報を濾過する。例としては、使用者が要求文字列210に、時間情報と場所情報として、「うちの台所の水管が壊れて、水漏れがひどく、タンクを交換する必要もあるし、またベランダの壁がんを補修する必要もあり、火曜日と水曜日の午後は都合がいいですが、所在地はxx区xx路x号です」を入れた場合、分析サーバー110は、要求キーワード220に基づいて要求分析を行ってから、要求文字列210内の所在地を場所情報として、「火曜日と水曜日の午後」を時間情報として、クライアント装置130に現されたサービス供給者情報を濾過する。
【0046】
上記のサービス供給データベース120とコーパス140については、その具体的な実施形態がコンピュータのハードディスク、又は他のコンピュータ読み取り可能な記録媒体等のような同一の記憶装置に記憶されてもよいし、それぞれ異なった記憶装置に記憶されてもよく、又はクラウドデータベースとして実施してもよく、当業者であれば、本発明の精神から逸脱せずに、適用要求に応じて自ら取り決めてもよい。
【0047】
図3は、本発明第2の実施例によるサービス要求分析方法を示すフロー図である。サービス要求分析方法300は、複数の工程を含んで、使用者の普通の言葉によって入力した要求文字列を分析し、要求文字列に適うサービス供給者を使用者に提供して選択させる。容易且つ明確に説明できるために、以下、サービス要求分析方法300については、
図1に示したサービス要求分析システム100を例として説明するが、本発明はこれに制限されない。
【0048】
工程S310において、分析サーバー110は、クライアント装置130から要求文字列を受信して、単語分割処理を行い単語分割処理の結果を濾過して、複数の要求キーワードを取得する。要求文字列に対して単語分割処理を行う細部については、
図1の説明文字の通りであるが、ここで詳しく説明しない。
【0049】
工程S320において、分析サーバー110は、要求キーワードの間の関連数を算出し、関連数が2つの要求キーワード間意味関連性を算出して定量した結果である。一実施例において、正規化Google距離(NGD)アルゴリズムによって算出してもよい。別の実施例において、他の意味関連性の定量方法によって算出してもよい。
【0050】
工程S330において、分析サーバー110は、要求キーワードと要求キーワード任意の両者の間の関連数に基づいて、要求キーワードネットワークチャートを作成し、要求キーワードネットワークチャート中のノードそれぞれは、要求文字列から取り出された要求キーワードを表し、要求キーワードの間の関連数が下限閾値の取り決めよりも大きくなると、対応するノードの間につながっているエッジがある。
【0051】
一実施例において、分析サーバー110は、要求キーワードネットワークチャートの接続エッジを濾過する下限閾値を、所定のプリセット値に設定し、数値の範囲としては、0.1〜0.2の間に決める。別の実施例において、分析サーバー110は、要求キーワードの間の関連数の分布範囲で下限閾値を設定し、例としては、第1の四分位数又は中央値を下限閾値とする。
【0052】
工程S340において、分析サーバー110は、要求キーワード及びその関連数に基づいて、要求キーワードをクラスタリングして要求キーワード群を取得する。一実施例において、分析サーバー110は、正規化Google距離を距離算出のアルゴリズムとして、K‐meansアルゴリズムによってクラスタリングする。別の実施例において、分析サーバー110は、要求キーワードネットワークチャートを基礎とし、K‐coreアルゴリズムでクラスタリングし、分析サーバー110が下限閾値を調整して、全ての要求キーワードが単一の要求キーワード群に属して同一の概念に対応し、又はそれぞれ複数のものに属して異なる概念の要求キーワード群に対応すると判断し、細部については、
図2の説明文字の通りであるが、ここで詳しく説明しない。
【0053】
工程S350において、分析サーバー110は、分けられた要求キーワード群内の意味段階構造を作成し、意味段階構造を作成する場合、まず、要求キーワード群内の任意の2つの要求キーワードの間の関連指向性を捜し出し、即ち、2つの要求キーワード間のどちらが上位であるか、下位の要求キーワードが上位の要求キーワードを指向するものである。例としては、「台所261」と「タンク264」2つの要求キーワードとは、両者が高く関連し、且つ後者が前者の中に位置するため、関連指向性は、「タンク264」から「台所261」へ指向する。関連指向性が確定された後、複数の要求キーワード群のそれぞれにおける最上位の概念ルートキーワードは、他の要求キーワードの何れも指向する要求キーワードである。要求キーワード群における任意の両者の間の関連指向性を作成する場合の細部は、上記の通りであるが、ここで詳しく説明しない。
【0054】
工程S360において、分析サーバー110は、要求文字列に基づいて結果を分析してサービス供給データベース120を検索し、要求文字列に適うサービス供給者情報を取得する。一実施例において、分析サーバー110は、要求キーワード群中の意味段階の構成に基づいて、サービス供給データベース120内で段階的に検索して、要求キーワード群中の概念ルートキーワードによってサービス供給者情報の種類を検索し、次に、要求キーワード群中の他の要求キーワードを制限条件として、概念ルートキーワードの記述に適う種類のサービス供給者情報を濾過し、サービス供給データベース120が段階的な構成でサービス供給者情報を記憶し、例としては、サービス供給データベース120中のサービス供給者情報が台所種類とベランダ種類に分けられ、台所種類が更に水管種類、タンク種類、水濾し器種類とガスパイプライン種類等に分けられる。
【0055】
工程S370において、分析サーバー110がクライアント装置130にそれぞれ要求文字列における異なった要求キーワード群に適うサービス供給者情報を現し、異なった要求キーワード群に適うサービス供給者情報が重複となる場合、併せて表示する。一実施例において、現されたサービス供給者情報は、メーカー名、配合可能な時間、サービス可能な地域、価格及び評価等を含む。
【0056】
工程S380において、分析サーバー110は、時間と場所情報に基づいて、更に、工程S370で得られた要求文字列に適うサービス供給者情報を濾過する。一実施例において、分析サーバー110は、クライアント装置130上のスケジュール情報と使用者の会社/住宅の所在地等の場所情報を取得し、サービス供給者情報とマッチし、又はスケジュール情報で配合する暇のないサービス供給者を濾過する。別の実施例において、分析サーバー110は、要求文字列における時間と場所に関わる部分を保留し、要求文字列に記載の時間情報と場所情報に基づいて工程S370で得られたサービス供給者情報を濾過する。
【0057】
図4は、本発明第3の実施例に係る実作サービス要求分析方法のソフトウエアを説明する構造図である。実際のサービス要求分析方法のソフトウエアは、コンピュータ読み取り可能な記録媒体に記憶されて、コンピュータプロセッサーがソフトウエアを読み取って実行する。ソフトウエアは、文字列処理モジュール420、関連算出濾過モジュール430、サービス要求分析モジュール440、使用者情報モジュール450、情報仲立ちモジュール460及び情報表示モジュール470。文字列処理モジュール420が要求文字列410に対して初期処理を行って要求キーワードを分析して取得し、関連算出濾過モジュール430が要求キーワードの間の意味関連性を算出し、サービス要求分析モジュール440が要求キーワードを分析し、情報仲立ちモジュール460が分析結果に基づいて要求文字列410の記述に適うサービス供給者を取得し、使用者情報モジュール450が情報仲立ちモジュール460を濾過して得られたサービス供給者情報を更に調整し、情報表示モジュール470がサービス供給者情報を使用者に現す。以下、各モジュールの機能について、別々に説明する。
【0058】
文字列処理モジュール420は、単語分割モジュール422及び文字濾過分類モジュール424を更に含む。中国語を書く場合、単語と単語の間に空欄で分割しないので、単語分割モジュール422は、中国語単語分割(Chinese Word Segmentation)アルゴリズムで要求文字列410を複数の「独立に運用可能な、完備した意味を持つ最小な言語成分」の語彙に切り、単語分割モジュール422として、オープンソースライブラリ(Open source library)又は従来の単語分割エンジンを使用し、又は自ら遺伝的アルゴリズム(Genetic algorithm)等のアルゴリズムを使用してもよい。文字濾過分類モジュール424は、品詞と種類によって単語分割モジュール422により生じた複数の語彙を濾過し、一実施例において、文字濾過分類モジュール424は、時間場所人物に属する語彙を保留し、事物属する語彙を要求キーワードとして関連算出濾過モジュール430に伝送し、上記両者に属しない語彙を捨てる。
【0059】
文字列処理モジュール420により初期処理分析された後、要求文字列410は、品詞と種類が事物に属する複数の要求キーワードを関連算出モジュール430に伝送する。これらの要求キーワードは、使用者が要求文字列410を入力する場合に表現しようとするサービス要求の条件を含み、関連算出濾過モジュール430が任意の2つの要求キーワードの間の関連数を算出して、2つの要求キーワードの間の意味関連性を定量する。本実施例において、関連算出濾過モジュール430が要求キーワードと関連数に基づいて要求キーワードネットワークチャートを作成し、関連数については正規Google距離アルゴリズムによって算出し、更に下限閾値によって関連数を濾過して任意の2つの要求キーワードが要求キーワードネットワークチャートにおいて接続エッジを有するかどうかを決め、関連数が下限閾値より大きい場合、両者の関連が緊密であることを表示し、要求キーワードネットワークチャートにおいて接続エッジによってつながる。関連算出濾過モジュール430は、他のアルゴリズムを選用して関連数を算出してもよく、実施細部は
図2の説明文字の通りであるが、ここで詳しく説明しない。
【0060】
任意の2つの要求キーワードの間の関連数を算出した後、本発明は、前もって本体論(Ontology)ネットワークを作成せずに、サービス要求分析モジュール440によって要求キーワードを自動的に分析し、要求文字列内に含まれるサービスの種類と制限条件を捜し出し、分析の結果によってサービス供給データベース120を検索して、要求文字列410の記述に適うサービス供給者を捜し出し、このように、使用者が自ら複数の関連する精確なキーワードを入力する手数を省くことができる。
【0061】
サービス要求分析モジュール440は、キーワードクラスタリングモジュール442、動態クラスタリング検証モジュール444、関連指向性確認モジュール446及び概念ルートノード判別モジュール448を更に含む。キーワードクラスタリングモジュール442は、多種のアルゴリズムを使用してクラスタリング分析(Clustering Analysis)を行うことができ、本実施例において、キーワードクラスタリングモジュール442は、グラフに基づくK‐coreアルゴリズムを用いて要求キーワードネットワークチャートをクラスタリングする。注意すべきなのは、使用者の入力した要求文字列410に1つの要求概念のみを含み、複数の要求キーワード群を分けられないことがあるため、動態クラスタリング検証モジュール444は、要求文字列410中の各要求キーワードの関連数分布によって、下限閾値の大小を動態的に調整して、異なった下限閾値でクラスタリングして、要求キーワードが複数の群に分けられるかどうかを確認し、具体的な実施細部については、
図2の説明文字の通りであるが、ここで詳しく説明しない。
【0062】
関連指向性確認モジュール446と概念ルートノード判別モジュール448は、各要求キーワード群における意味段階関係を作成し、関連指向性確認モジュール446は、要求キーワード群における任意の2つの要求キーワードの間の関連指向性を作成し、関連指向性が割に不重要な下位の要求キーワードから割りに重要な上位の要求キーワードを指向し、関連指向性確認モジュール446は、PageRankアルゴリズム、TF‐IDFアルゴリズム又はK近傍法アルゴリズムを採用して関連指向性を決め、実施形態が
図2の説明文字の通りであるが、ここで詳しく説明しない。別の実施例において、関連指向性確認モジュール446は、意味によって語彙を段階的に記憶するWordNetウェブサイトを調べて、関連指向性を決める。概念ルートノード判別モジュール448は、関連指向性確認モジュール446の判断された関連指向性に基づいて、要求キーワード群における最重要の概念ルートキーワード、即ち最上位又は最重要の要求キーワードを捜し出す。
【0063】
情報仲立ちモジュール460は、サービス要求分析モジュール440から発生した要求キーワード群とその意味段階構造を受信して、サービス供給データベース120において段階的に検索し、各要求キーワード群の概念ルートキーワードを利用してサービス供給者の種類を検索し、更に他の要求キーワードを制限条件として検索して、要求文字列410の記述に適うサービス供給者情報を取得する。
【0064】
別の実施例において、使用者情報モジュール450は、使用者のスケジュール情報と使用者の住宅所在地又は勤務先のアドレス等の場所情報を取得し、文字列処理モジュール420の単語分割結果に時間と場所に関連する語彙がない場合、スケジュール情報と場所情報を時間場所の制限条件とし、文字列処理モジュール420の単語分割結果に時間と場所に関連する語彙がある場合、使用者情報モジュール450は、単語分割結果における時間情報と場所情報を制限条件とし、情報仲立ちモジュール460が使用者情報モジュール450から取得した制限条件によって使用者の入力した要求文字列410に適うサービス供給者情報を更に濾過する。
【0065】
情報表示モジュール470は、クライアント装置130にサービス供給者情報を現し、且つ現されたサービス供給者情報が要求文字列410の記述及び使用者情報モジュール450から発生した時間場所の制限条件に適い、このように、使用者は、時間とサービス領域が配合可能なサービス供給者のみを見ればよいが、逐一確認し調和する複雑過程を省く。
【0066】
上記のような実際のサービス要求分析方法のソフトウエア内の各モジュール420〜470については、その具体的な実施形態がソフトウエア、ハードウエア及び/又はファームウェアであってもよい。例としては、実行速度及び精確性を主として考慮すれば、これらのモジュールとして、基本的にハードウエア及び/又はファームウェアを主に選用してよいが、設計の柔軟性を主として考慮すれば、これらのモジュールとして、基本的にソフトウエアを主に選用してよく、又は、これらのモジュールとして、ソフトウエア、ハードウエア及びファームウェアを同時に採用して協同に作業してもよい。理解すべきなのは、上記で挙げたこれらの例は、優劣をつけないが、本発明を制限すもためのものでもなく、当業者であれば、その当時の要求におうじて、これらのモジュールの具体的な実施形態を柔軟的に選択すべきである。例としては、これらのモジュールは、中央プロセッサーに整合されて実行してもよい。
【0067】
本発明の提供したサービス要求分析システムと方法では、使用者が従来のネットワークイエローページ及び仲立ちプラットフォームのウェブサイトによって要求サービスを探す場合の問題を解決し、使用者が普通の言葉でサービス要求を入力できるようにすることができ、精確なキーワードを特に設定する必要はない。普通の言葉で入力すれば、更に言語環境を提供し、サービス要求分析システムと方法が自動的に意味によって要求文字列内のサービス要求種類と制限条件を分析して、精確な検索を行い、仲立ちプラットフォームが人為的に分析する場合に消費する労働力を省く。なお、使用者時間と場所情報に合わせて要求文字列に適うサービス供給者を濾過し、更に使用者が自らサービス供給者とサービスの時間と場所について調和しなければならない複雑過程を省く。また、本発明は、商工業サービスの検索への適用に限定されず、文化や娯楽活動の検索にも適用され、使用者は、「毎週の火曜日の夜が暇なので、霊的成長についての課程を学習しようと思いますが、予算はxx円です」の要求文字列を入力し、サービス要求分析システムによりデータベースにおける使用者の入力した要求文字列に適う課程情報を検索してもよい。どんな適用状況に適用されても、本発明の技術方案は、上記の利点を提供する。
【0068】
本発明を実施形態で前述の通り開示したが、これは本発明を限定するためのものではなく、当業者であれば、本発明の精神と範囲から逸脱しない限り、各種の変更や修正を加えることができる。従って、本発明の保護範囲は、特許請求の範囲で指定した内容を基準とするものである。