(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、以下の実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
〔1.情報処理装置の動作〕
最初に、情報処理装置の一例である情報処理サーバ10を備える情報処理システム1を例に、情報処理装置の動作を説明する。
【0011】
〔実施形態1〕
〔1−1.情報処理システムについて〕
図1は、実施形態1に係る情報処理システム1の動作を示す図である。情報処理システム1は、情報処理サーバ10と、端末装置100
1〜100
2と、を備える。なお、
図1の例では、端末装置が2つしか示されていないが、端末装置は2つより少なくてもよいし、2つより多くてもよい。以下の説明では、端末装置100
1〜100
2等を総称して端末装置100と記載することがある。
【0012】
情報処理サーバ10は、クライアント端末に対して各種サービスを提供するサーバ用ホストコンピュータである。情報処理サーバ10は、端末装置100にコンテンツを配信する。例えば、情報処理サーバ10は、ポータルサイト、ゲーム情報配信サイト、ニュースサイト、オークションサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、掲示板サイト、ウェブブログなどに関連する情報がタイル状に配置されたコンテンツを端末装置100に配信する。本実施形態の情報処理サーバ10は、ユーザ同士で質問及び回答を行うことが可能な情報共有サービスを提供する。
【0013】
端末装置100は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置100は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0014】
〔1−2.情報共有サービスについて〕
上述したように、情報処理サーバ10は、情報共有サービスを提供する。情報共有サービスは、ユーザ(質問者)が投稿した質問文に対して、他のユーザ(回答者)が回答文を投稿することで、ユーザ間で知識や知恵の共有を行う。情報処理サーバ10は、端末装置100からの要求に応じて、質問文を投稿するためのコンテンツ(以下、質問投稿コンテンツという。)や質問への回答文を投稿するためのコンテンツ(以下、回答投稿コンテンツという。)を端末装置100に配信するよう構成されている。端末装置100は、コンテンツの配信を受けて、画面に質問投稿コンテンツや回答投稿コンテンツを表示する。
図1の例では、端末装置100
1及び端末装置100
2に質問投稿コンテンツであるコンテンツC1、C2が表示されている。コンテンツC1、C2は、例えば、ウェブページやアプリの画面である。
図1の例の場合、ユーザU1、U2は、いずれも質問者である。
【0015】
コンテンツC1には、質問文を入力するためのテキストボックスTB1が配置されている。ユーザU1がテキストボックスTB1に質問文を入力して投稿ボタンを押すと、情報処理サーバ10に質問文が送信される。また、コンテンツC2には、質問文を入力するためのテキストボックスTB2が配置されている。ユーザU2がテキストボックスTB2に質問文を入力して投稿ボタンを押すと、情報処理サーバ10に質問文が送信される。なお、質問は、音楽、健康、ビジネスといった複数のカテゴリ分類される。質問文を投稿するためのコンテンツは、ユーザが質問のカテゴリを選択可能に構成されている。質問を投稿するユーザは、複数のカテゴリのいずれかを指定して情報共有サイトに質問を投稿する。
図1の例では、コンテンツC1、C2は、いずれも、カテゴリAの質問を投稿するためのコンテンツとなっている。
【0016】
〔1−3.情報処理システムの動作〕
以下、実施形態1の情報処理システム1の動作について説明する。
【0017】
まず、情報処理サーバ10は、端末装置100(
図1の例では端末装置100
1)から質問投稿コンテンツの配信要求を受け付ける。質問投稿コンテンツの配信要求を受け付けたら、情報処理サーバ10は、質問投稿コンテンツの配信要求を行った端末装置100に対して、質問投稿コンテンツであるコンテンツC1を配信する。ユーザがテキストボックスTB1に質問文を入力して投稿ボタンを押すと、端末装置100は情報処理サーバ10に対して質問文を送信する(ステップS1)。情報処理サーバ10は、端末装置100から質問文を取得したら、質問者の情報(例えば、ユーザID)およびカテゴリの情報とともに質問文をデータベースに登録する。
【0018】
なお、情報処理サーバ10は、質問に対して回答がなされたら、回答の情報(例えば、回答文、回答者の情報)を質問文に関連付けて登録する。なお、回答の情報には、回答者が行った回答への評価の情報が含まれていてもよい。このとき、評価は、ベストアンサーを得たか否か、回答の優良度を示すスコア(例えば、評価を示す星の数や“いいね”の数等)であってもよい。
【0019】
また、情報処理サーバ10は、一定期間毎に、或いはデータベースに登録された質問が一定の基準に達したら(例えば、質問数が一定数に達したら)、質問のテンプレート生成のための処理を実行する。本実施形態において、テンプレートは、ユーザが質の良い質問文を書くことを可能にするための情報である。例えば、テンプレートは、回答を得やすい質問の文書構造を示す情報である。例えば、「カテゴリAの場合、“問”、問に対する“補足”、質問の“締め”の順に文を書くと回答の得やすい質問文となる」といった情報である。以下、テンプレート生成のための処理を具体的に説明する。
【0020】
まず、情報処理サーバ10は、複数の質問文それぞれに対する回答に関する情報に基づいて複数の質問文の中から所定の基準を満たす質問文(以下、選択質問文ともいう。)を選択する。このとき、情報処理サーバ10は、カテゴリごとに所定の基準を満たす質問文を選択する(ステップS2a、S2b)。例えば、
図1に示すように、カテゴリAに属する複数の質問文(質問文TQ21、TQ22等)と、カテゴリBに属する複数の質問文(質問文TQ31、TQ32等)と、があるとする。このとき、情報処理サーバ10は、カテゴリAに属する複数の質問文から所定の基準を満たす1又は複数の質問文を選択するとともに、カテゴリBに属する複数の質問文から所定の基準を満たす1又は複数の質問文を選択する。
【0021】
なお、回答数の多い質問は、質問文の質が良い可能性が高い。そこで、情報処理サーバ10は、複数の質問文それぞれに対する回答数の情報に基づいて、カテゴリ毎に、複数の質問文の中から所定の基準を満たす質問文を選択する。例えば、情報処理サーバ10は、質問文に対する回答数が10以上の質問文を選択する。閾値とする回答数は、10より少なくてもよいし、多くてもよい。
図1の例では、カテゴリAでは、回答数が90の質問文TQ22が選択されており、カテゴリBでは、回答数が100の質問文TQ31が選択されている。回答数が1或いは0の質問文TQ21、TQ32は選択されていない。
【0022】
なお、情報処理サーバ10は、単純に回答数が所定の閾値以上の質問文を選択するのではなく、複数の質問文の中から、回答内容に関する所定の判定基準を満たす回答の数が所定の閾値以上の質問文を選択してもよい。例えば、情報処理サーバ10は、評価が所定の基準を満たす回答(例えば、スコアが所定の閾値以上の回答)の数が所定の閾値以上の質問文を選択する。
【0023】
また、情報処理サーバ10は、複数の質問文の中から、回答内容に関する所定の判定基準を満たす回答を除いた回答の数が所定の閾値以上の質問文を選択してもよい。例えば、情報処理サーバ10は、複数の質問文の中から、ヘイト及びスパムのいずれかと判定された回答を除いた回答の数が所定の閾値以上の質問文を選択してもよい。情報処理サーバ10は、既知の様々な方法を使用して、ヘイト判定やスパム判定を行うことが可能である。ヘイト判定やスパム判定されるような回答が多く存在する質問は、必ずしも質の高い質問であるとは言えない。従って、このような回答をカウントの対象から除外することにより、情報処理サーバ10は、質の高い質問の選択精度を高めることが可能となる。
【0024】
続いて、情報処理サーバ10は、ステップS2a及びステップS2bで選択された質問文の文書構造のパターン(以下、文書パターンという。)を抽出する。このとき、情報処理サーバ10は、カテゴリごとの選択質問文に基づいてカテゴリごとに質問文の文書パターンを抽出する(ステップS3a、S3b)。例えば、情報処理サーバ10は、カテゴリAの選択質問文(質問文TQ22等)から、選択質問文の文書パターンであるパターンP1を抽出する。また、情報処理サーバ10は、カテゴリBの選択質問文(質問文TQ31等)から、選択質問文の文書パターンであるパターンP2を抽出する。
【0025】
例えば、情報処理サーバ10は、カテゴリAにおいて選択された複数の質問文の文書構造に、“問”、“補足”、“締め”の構造が多いのであれば、“問”、“補足”、“締め”の構造を示す情報をパターンP1として抽出する。また、情報処理サーバ10は、カテゴリBにおいて選択された複数の質問文の文書構造に、“起”、“承”、“転”、“結”の構造が多いのであれば、“起”、“承”、“転”、“結”の構造を示す情報をパターンP2として抽出する。パターンの抽出方法については任意の方法を採用可能である。例えば、情報処理サーバ10は、任意のテキストマイニング手法を用いて文書構造を解析する。例えば、情報処理サーバ10は、文書を単語或いは文節で具切り、それらの出現頻度や出現傾向等から、文書中の文或いは段落が“問”なのか、問の“補足”なのか等を判別する。或いは、情報処理サーバ10は、所定のテキストと当該所定のテキストの文書構造を示す情報とを学習データとして学習した学習済みモデルを使って、質問文から当該質問文の文書構造を示す情報を生成してもよい。そして、情報処理サーバ10は、複数の質問文をモデルに入力して得た複数の情報に基づいて、選択された複数の質問文に多い文書構造を特定する。
【0026】
続いて、情報処理サーバ10は、ステップS3a及びステップS3bで抽出したパターンに基づき質問文の文書構造を示すテンプレートを生成する。このとき、情報処理サーバ10は、カテゴリごとにテンプレートを生成する(ステップS4a、S4b)。テンプレートは、ユーザが質の良い質問文を書くことを可能にするための情報である。例えば、テンプレートは、回答を得やすい質問の文書構造を示す情報である。テンプレートには、例文が記載されていてもよい。情報処理サーバ10は、パターンP1に基づいてカテゴリAの質問に関するテンプレートとしてテンプレートTP1を生成する。また、情報処理サーバ10は、カテゴリBの質問に関するテンプレートとしてテンプレートTP2を生成する。なお、情報処理サーバ10は、1つのカテゴリにつき複数のテンプレートを生成してもよい。テンプレートの生成が完了したら、情報処理サーバ10は、テンプレートをデータベースに保存する。
【0027】
次に、情報処理サーバ10は、端末装置100(
図1の例では端末装置100
2)から質問投稿コンテンツの配信要求を受け付ける(ステップS5)。質問投稿コンテンツの配信要求を受け付けたら、情報処理サーバ10は、ステップS4a或いはステップS4bで生成したテンプレートが表示された質問投稿コンテンツを生成する。
図1の例では、情報処理サーバ10は、カテゴリAのテンプレートTP1が表示されたコンテンツC2を生成する。コンテンツC2の生成が完了したら、情報処理サーバ10は、コンテンツC2を端末装置100に送信する(ステップS6)。
【0028】
図2は、質問文を投稿するためのコンテンツが表示された端末装置100を示す図である。
図2の状態D1は、テンプレートTP1が表示された質問投稿コンテンツであるコンテンツC2が表示された端末装置100
2を示す。状態D1のテンプレートTP1には、カテゴリAで回答を得やすい質問文の文書構造が、“問”、“補足”、“締め”の構造であることを示す情報が表示されている。ユーザはテンプレートTP1に基づいて、容易に質の高い質問文を作成可能である。ユーザがテキストボックスTB2に質問文を入力して投稿ボタンBT1を押すと、端末装置100は情報処理サーバ10に対して質問文を送信する(ステップS7)。
【0029】
情報処理サーバ10は、ユーザが投稿した質問文(以下、投稿文という。)を受け取ったら情報処理サーバ10は、投稿文の文書構造を解析する(ステップS8)。このとき、情報処理サーバ10は、任意のテキストマイニング手法を用いて投稿文の文書構造を解析してもよい。例えば、情報処理サーバ10は、文書を単語或いは文節で具切り、それらの出現頻度や出現傾向等から、文書中の文或いは段落が“問”なのか、問の“補足”なのか等を判別する。或いは、情報処理サーバ10は、所定のテキストと当該所定のテキストの文書構造を示す情報とを学習データとして学習した学習済みモデルを使って、質問文から当該質問文の文書構造を示す情報を生成する。情報処理サーバ10は、ステップS3a、S3bで示した解析手法と同じ手法を用いて投稿文の文書構造を解析してもよい。
【0030】
そして、情報処理サーバ10は、投稿文が属するカテゴリのパターンの情報に基づいて投稿文を解析する(ステップS9)。例えば、投稿文のカテゴリがカテゴリAであるとする。このとき、情報処理サーバ10は、ステップS8で取得した投稿文の文書構造と、カテゴリAのパターンP1で示される文書構造との比較結果を投稿文の解析結果として取得する。このとき、情報処理サーバ10は、パターンの情報に基づいて判別される投稿文の不足部分に関する情報を解析結果として取得してもよい。例えば、パターンP1が、“問”、“補足”、“締め”の構造を示す情報であるとする。そして、投稿文の文書構造が“問”、“締め”で構成されていたとする。このとき、情報処理サーバ10は、投稿文に“補足”が不足していることを示す情報を解析結果として取得する。或いは、投稿文の文書構造が“問”、“補足”、“締め”で構成されているものの、“問”の記載量に比べて“補足”の記載量が少なかったとする。このときも、情報処理サーバ10は、“補足”が不足していることを示す情報を解析結果として取得してもよい。勿論、情報処理サーバ10は、投稿文の文書構造の情報そのものを投稿文の解析結果として取得してもよい。
【0031】
そして、情報処理サーバ10は、投稿文の解析結果ET1が含むコンテンツC3を端末装置100に送信する(ステップS10)。端末装置100はコンテンツC3を画面に表示する。
図2の状態D1は、解析結果ET1を含むコンテンツC3が表示された端末装置100
2を示す。なお、コンテンツC3には、質問文を書きなおすためのボタンBT2が表示されている。ユーザがボタンBT2を押すと、情報処理サーバ10は、質問投稿コンテンツであるコンテンツC2を、再度、端末装置100に送信する。ユーザは、解析結果ET1に基づいて質問文を書きなおす。
【0032】
本実施形態によれば、情報処理サーバ10は、複数の質問文それぞれに対する回答に関する情報に基づいて複数の質問文の中から所定の基準を満たす質問文を選択している。そして、情報処理サーバ10は、選択された質問文の文書構造のパターンを抽出している。これにより、情報処理サーバ10は、質の良い質問文の文書構造のパターンをユーザに提示する等、質問文を書くユーザへの適切な支援を実現できる。
【0033】
〔実施形態2〕
実施形態1では、情報処理サーバ10は、ユーザに対する支援として、端末装置100にテンプレートTP1や解析結果ET1を送信した。しかしながら、情報処理サーバ10は、ユーザに対する支援として、ユーザが入力するキーワードから質問文を生成するよう構成されていてもよい。以下、実施形態2の情報処理システム1について説明する。
【0034】
〔1−4.情報処理システムの動作〕
図3は、実施形態2に係る情報処理システム1の動作を示す図である。情報処理システム1は、実施形態1と同様に、情報処理サーバ10と、端末装置100
1〜100
2と、を備える。情報処理サーバ10と、端末装置100
1〜100
2の構成は実施形態1と同様である。以下の説明では、実施形態1と同様に、端末装置100
1〜100
2等を総称して端末装置100と記載することがある。
【0035】
まず、情報処理サーバ10は、端末装置100(
図3の例では端末装置100
1)から質問投稿コンテンツの配信要求を受け付ける。質問投稿コンテンツの配信要求を受け付けたら、情報処理サーバ10は、質問投稿コンテンツの配信要求を行った端末装置100に対して、質問投稿コンテンツであるコンテンツC1を配信する。ユーザがテキストボックスTB1に質問文を入力して投稿ボタンを押すと、端末装置100は情報処理サーバ10に対して質問文を送信する(ステップS11)。情報処理サーバ10は、端末装置100から質問文を取得したら、質問者の情報(例えば、ユーザID)およびカテゴリの情報とともに質問文をデータベースに登録する。
【0036】
また、情報処理サーバ10は、一定期間毎に、或いはデータベースに登録された質問が一定の基準に達したら(例えば、質問数が一定数に達したら)、質問文を生成するための学習モデル(以下、単にモデルという。)の生成のための処理を実行する。本実施形態で生成されるモデルは、入力テキストから質問文を出力するためのモデルである。入力テキストは、例えば、検索クエリのようなワード或いはセンテンスである。
【0037】
まず、情報処理サーバ10は、複数の質問文それぞれに対する回答に関する情報に基づいて複数の質問文の中から所定の基準を満たす質問文(以下、選択質問文ともいう。)を選択する。このとき、情報処理サーバ10は、カテゴリごとに所定の基準を満たす質問文を選択する(ステップS12a、S12b)。質問文の選択方法は、実施形態1と同様であってもよい。
【0038】
続いて、情報処理サーバ10は、ステップS12a及びステップS12bで選択された質問文に基づいて、入力テキストから質問文を出力するモデルを生成する。例えば、情報処理サーバ10は、“夏 野菜”というテキストが入力された場合に、“夏野菜のおすすめは?”といった質問文を出力するモデルを生成する。このとき、情報処理サーバ10は、カテゴリごとの選択質問文に基づいてカテゴリごとにモデルを生成する(ステップS13a、S13b)。例えば、情報処理サーバ10は、カテゴリAの選択質問文(質問文TQ22等)に基づいてモデルM1を生成する。また、情報処理サーバ10は、カテゴリBの選択質問文(質問文TQ31等)に基づいてモデルM2を生成する。
【0039】
なお、モデルの生成方法は任意の方法を使用可能である。例えば、情報処理サーバ10は、質問に対して回答を出力する既知の学習モデルと同様の構造のモデルを用意する。そして情報処理サーバ10は、当該学習モデルが、入力テキスト(例えば、検索クエリのような1又は複数のキーワード)から質問文を出力するよう学習モデルの係数の変更を行う。
【0040】
次に、情報処理サーバ10は、端末装置100(
図1の例では端末装置100
2)から質問投稿コンテンツの配信要求を受け付ける(ステップS14)。質問投稿コンテンツの配信要求を受け付けたら、カテゴリAの質問文を生成するためのコンテンツ(以下、質問文生成コンテンツという。)であるコンテンツC4を端末装置100に送信する(ステップS15)。
【0041】
図4は、質問文を生成するためのコンテンツが表示された端末装置100を示す図である。
図4の状態D3は、質問文生成コンテンツであるコンテンツC4が表示された端末装置100
2を示す。状態D3のテキストボックスTB3には入力テキストとなるキーワードがユーザによって入力されている。ユーザがテキストボックスTB3にキーワードを入力して生成ボタンBT3を押すと、端末装置100は情報処理サーバ10に対してキーワードを送信する(ステップS16)。
【0042】
情報処理サーバ10は、キーワードを受け取ったら、情報処理サーバ10は、キーワードをカテゴリAのモデルM1に入力する(ステップS17)。そして、情報処理サーバ10は、モデルM1から出力された質問文を取得する(ステップS18)。
【0043】
そして、情報処理サーバ10は、ステップS18で取得した質問文が含まれるコンテンツC5を端末装置100に送信する(ステップS19)。端末装置100はコンテンツC5を画面に表示する。
図4の状態D4は、ステップS18で取得した質問文が含まれるコンテンツC5が表示された端末装置100
2を示す。
図4の状態D4の例では、テキストボックスTB4に質問文が入力されており、ユーザが書き直すことが可能である。なお、ユーザが質の良い質問文を書くことができるようにするため、情報処理サーバ10は、コンテンツC5に、実施形態1のステップS4aで生成したテンプレートTP1を表示してもよい。
【0044】
また、コンテンツC5には、質問文を投稿するためのボタンBT4が表示されている。ユーザがボタンBT4を押すと、端末装置100は、テキストボックスTB4に入力されている質問文を情報処理サーバ10に送信する。
【0045】
本実施形態によれば、情報処理サーバ10は、複数の質問文それぞれに対する回答に関する情報に基づいて複数の質問文の中から所定の基準を満たす質問文を選択する。そして、情報処理サーバ10は、選択された質問文に基づいて入力テキストから質問文を出力するモデルを生成する。これにより、情報処理サーバ10は、モデルを使って質の良い質問文を生成できるので、ユーザがキーワード等のテキストを質問文生成コンテンツに入力するだけで質の良い質問文を提示できる。結果として、情報処理サーバ10は、質問文を書くユーザへの適切な支援を実現できる。
【0046】
〔2.情報処理システムの構成例〕
以上、本実施形態の情報処理システム1の動作を述べたが、以下、本実施形態の情報処理装置の一例である情報処理サーバ10を備える情報処理システム1の構成を説明する。上述したように、情報処理システム1は、端末装置100と、情報処理サーバ10と、を備える。
【0047】
〔2−1.情報処理サーバの構成例〕
情報処理サーバ10は、端末装置100等のクライアントコンピュータからの要求を処理するサーバ用ホストコンピュータ(以下、単に「サーバ」という。)である。情報処理サーバ10は、PCサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、情報処理サーバ10は、1つのサーバにより構成されていてもよいし、協働して処理を実行する複数のサーバにより構成されていてもよい。情報処理サーバ10が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協働して処理を実行するのであれば、これらサーバは1つの情報処理装置(情報処理サーバ)とみなすことができる。
【0048】
上述したように、情報処理サーバ10は、端末装置100とネットワークを介して接続されている。ネットワークは、LAN(Local Area Network)、WAN(Wide Area Network)、電話網(携帯電話網、固定電話網等)、地域IP(Internet Protocol)網、インターネット等の通信ネットワークである。ネットワークには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。
【0049】
図5は、実施形態に係る情報処理サーバ10の構成例を示す図である。情報処理サーバ10は、通信部11と、記憶部12と、制御部13と、を備える。なお、
図5に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
【0050】
通信部11は、外部の装置と通信する通信インタフェースである。通信部11は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部11は、NIC(Network Interface Card)等のLANインタフェースであってもよいし、USB(Universal Serial Bus)ホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部11は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部11は、情報処理サーバ10の通信手段として機能する。通信部11は、制御部13の制御に従って端末装置100と通信する。
【0051】
記憶部12は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部12は、情報処理サーバ10の記憶手段として機能する。記憶部12は、質問情報データベース121、モデルデータベース122、パターンデータベース123、及びテンプレートデータベース124を記憶する。
【0052】
質問情報データベース121には、質問情報が登録される。
図6は、質問情報データベース121に登録される情報の一例を示す図である。質問情報データベース121には、「質問ID(Identifier)」、「カテゴリ」、「質問文」、「質問者情報」、および「回答」といった項目を有する情報が登録される。
【0053】
「質問ID」は、質問サイトでなされた質問を識別するための識別子である。また、「カテゴリ」は、質問IDで識別される質問のカテゴリである。例えば、「カテゴリ」は、音楽、健康、ビジネスといった質問の分類である。また、「質問文」は、質問IDで識別される質問の質問文である。「質問者情報」は、質問IDで識別される質問者の情報である。例えば、「質問者情報」は、質問者の識別情報(例えば、ユーザID)やユーザ属性情報(例えば、デモグラフィック情報やサイコグラフィック情報)である。具体例を挙げると、ユーザ属性情報は、ユーザ(例えば質問者や回答者)の年齢、職業、収入、資産、住所、勤務先の住所、使用言語数、家族構成、友人関係、ライフサイクル、価値観、ライフスタイル、性格、好み、及びこれらの変化の情報である。また、ユーザ属性情報には、ユーザの検索履歴やサービス利用履歴が含まれていてもよい。勿論、ユーザ属性情報は上記の情報に限定されない。
【0054】
また、「回答」は、質問IDで識別される質問への回答の情報である。「回答」の項目には、「回答文」、「回答者情報」、および「評価」といった項目を有する情報が登録される。「回答文」は、質問IDで識別される質問への回答文である。「回答者情報」は、回答文を投稿した回答者の情報である。例えば、「回答者情報」は、回答者の識別情報(例えば、ユーザID)や属性情報(例えば、デモグラフィック情報やサイコグラフィック情報)である。また、「評価」は、回答者が行った回答への評価の情報である。例えば、評価は、ベストアンサーを得たか否か、回答の優良度を示すスコア(例えば、評価を示す星の数や“いいね”の数等)である。なお、
図6の例では、1つの質問につき1つの「回答」の項目しか設けられていないが、1つの質問につき複数の「回答」の情報が設けられていてもよい。
【0055】
例えば、
図6に示す例では、質問ID「Q21」、カテゴリ「A」、質問文「TQ21」、質問者情報「UQ21」、回答文「TA21」、回答者情報「UA21」、及び評価「E21」といった情報が対応付けて登録されている。このような情報は、例えば、質問ID「Q21」が示す質問情報に、「A」が示すカテゴリと、「TQ21」が示す質問文と、「UQ21」が示す質問者情報と、「TA21」が示す回答文と、「UA21」が示す回答者情報と、「E21」が示す評価と、が含まれる旨を示す。なお、
図6に示す例では、質問情報データベース121に登録される情報として、「Q21〜Q23」、「A〜B」、「TQ21〜TQ23」、「UQ21〜UQ23」、「TA21〜TA23」、「UA21〜UA23」、「E21〜E23」といった概念的な情報を示したが、実際には、テキストデータやバイナリデータが登録されることとなる。
【0056】
図5に戻り、モデルデータベース122には、情報処理サーバ10が有するモデルのデータが登録される。
図7は、モデルデータベース122に登録される情報の一例を示す図である。
図7に示す例では、モデルデータベース122には、「モデルID」、および「モデルデータ」といった情報が登録されている。
【0057】
ここで、「モデルID」は、各モデルを識別するための情報である。また、「モデルデータ」は、対応付けられた「モデルID」が示すモデルのデータであり、例えば、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報である。
【0058】
例えば、
図7に示す例では、モデルID「4001」およびモデルデータ「M1」といった情報が対応付けて登録されている。このような情報は、例えば、「4001」が示すモデルのデータが「M1」である旨を示す。なお、
図7に示す例では、モデルデータベース122に登録される情報として、「M1〜M3」といった概念的な情報を記載したが、実際には、モデルの構造や接続係数を示す文字列や数値等が登録されることとなる。以下、M1〜M3等を総称してモデルMという。
【0059】
モデルMは、第1のテキスト(質問文)を含む学習データに基づいて、第2のテキスト(例えば、所定のワード)を入力した時に質問文を出力するよう学習したモデルである。このようなモデルMは、テキストを入力する入力層と、質問文を出力する出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重み(すなわち、接続係数)とに基づく演算を行うことにより、入力層に入力されたテキストに応じて、入力テキストに対応する質問文を出力層から出力するよう、コンピュータを機能させるためのモデルである。
【0060】
ここで、モデルMが「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルMが含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
【0061】
また、モデルMがDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルMが含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
【0062】
情報処理サーバ10は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、出力する情報の算出を行う。具体的には、モデルMは、第1のテキストが入力された場合に、第1のテキストに対応する第2のテキスト(質問文)を出力するように係数が設定される。例えば、情報処理サーバ10は、第1のエンベディング処理(例えば、Word Embedding)を使って第1のテキストを分散表現となるベクトルに変換した結果と、第2のエンベディング処理を使って第2のテキストを分散表現となるベクトル化した結果と、の類似度に基づいて係数を設定する。情報処理サーバ10は、このようなモデルMを用いて、入力テキストから質問文を生成する。
【0063】
なお、上記例では、モデルMが、テキストが入力された場合に質問文出力するモデル(以下、モデルVという。)である例を示した。しかし、実施形態に係るモデルMは、モデルVにデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。
【0064】
また、情報処理サーバ10がGAN(Generative Adversarial Networks)を用いた学習処理或いは生成処理を行う場合、モデルMは、GANの一部を構成するモデルであってもよい。
【0065】
図5に戻り、パターンデータベース123は、情報処理サーバ10が有するパターンデータが登録される。
図8は、パターンデータベース123に登録される情報の一例を示す図である。
図8に示す例では、パターンデータベース123には、「パターンID」、および「カテゴリ」、「パターンデータ」といった情報が登録されている。
【0066】
ここで、「パターンID」は、各パターンを識別するための情報である。また、「カテゴリ」は、パターンIDで識別されるパターンが対応するカテゴリである。「パターンデータ」は、対応付けられた「パターンID」が示すパターンのデータである。
【0067】
例えば、
図8に示す例では、パターンID「5001」、カテゴリ「A」、及びパターンデータ「P1」といった情報が対応付けて登録されている。このような情報は、例えば、パターンID「5001」が示すパターン情報に、「A」が示すカテゴリと、「P1」が示すパターンデータと、が含まれる旨を示す。なお、
図8に示す例では、パターンデータベース123に登録される情報として、「5001〜5002」、「A〜B」、「P1〜P2」といった概念的な情報を示したが、実際には、テキストデータやバイナリデータが登録されることとなる。
【0068】
図5に戻り、テンプレートデータベース124は、情報処理サーバ10が有するテンプレートのデータが登録される。
図9は、テンプレートデータベース124に登録される情報の一例を示す図である。
図9に示す例では、テンプレートデータベース124には、「テンプレートID」、および「カテゴリ」、「テンプレートデータ」といった情報が登録されている。
【0069】
ここで、「テンプレートID」は、各テンプレートを識別するための情報である。また、「カテゴリ」は、テンプレートIDで識別されるパターンが対応するカテゴリである。「テンプレートデータ」は、対応付けられた「テンプレートID」が示すテンプレートのデータである。
【0070】
例えば、
図9に示す例では、テンプレートID「6001」、カテゴリ「A」、及びテンプレートデータ「TP1」といった情報が対応付けて登録されている。このような情報は、例えば、テンプレートID「6001」が示すテンプレート情報に、「A」が示すカテゴリと、「TP1」が示すテンプレートデータと、が含まれる旨を示す。なお、
図9に示す例では、テンプレートデータベース124に登録される情報として、「6001〜6002」、「A〜B」、「TP1〜TP2」といった概念的な情報を示したが、実際には、テキストデータやバイナリデータが登録されることとなる。
【0071】
図5に戻り、制御部13は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報処理サーバ10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部13は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0072】
また、制御部13は、記憶部12に記憶されるモデルMに従った情報処理により、モデルMの入力層に入力されたテキストに対し、モデルMが有する係数(すなわち、モデルMが学習した各種の特徴に対応する係数)に基づく演算を行い、モデルMの出力層から質問文を出力する。
【0073】
制御部13は、
図5に示すように、取得部131と、学習部132と、選択部133と、抽出部134と、生成部135と、解析部136と、送信部137と、を備える。制御部13を構成するブロック(取得部131〜送信部137)はそれぞれ制御部13の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部13は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
【0074】
取得部131は、端末装置100或いは記憶部12から質問文を取得する。また、取得部131は、記憶部12から質問文への回答に関する情報を取得する。また、取得部131は、端末装置100から質問文を生成するためのテキストを取得する。また、取得部131は、ユーザが投稿した質問文である投稿文をユーザが操作する端末装置100から取得する。
【0075】
学習部132は、モデルMの学習を行い、学習したモデルMをモデルデータベース122に格納する。より具体的には、学習部132は、テキストをモデルMに入力した際に、モデルMが質問文を出力するように、モデルMの接続係数の設定を行う。すなわち、学習部132は、テキストをモデルMに入力した際に、モデルMが質問文を出力するように、モデルMの学習を行う。
【0076】
例えば、学習部132は、モデルMが有する入力層のノードに第1のテキストを入力し、各中間層を辿ってモデルMの出力層までデータを伝播させることで、第1のテキストに対応する第2のテキスト(質問文)を出力させる。そして、学習部132は、モデルMが実際に出力したテキストに所定の処理(例えば、第2のエンベディング処理)を実行した結果と、学習データに含まれる第1のテキストに所定の処理(例えば、第2のエンベディング処理)を実行した結果との差に基づいて、モデルMの接続係数を修正する。例えば、学習部132は、バックプロパゲーション等の手法を用いて、接続係数の修正を行ってもよい。このとき、学習部132は、第2のテキストの分散表現となるベクトルと、モデルMが実際に出力したテキストの分散表現となるベクトルとのコサイン類似度に基づいて、接続係数の修正を行ってもよい。
【0077】
なお、学習部132は、いかなる学習アルゴリズムを用いてモデルMを学習してもよい。例えば、学習部132は、ニューラルネットワーク、サポートベクターマシン(support vector machine)、クラスタリング、強化学習等の学習アルゴリズムを用いて、モデルMを学習してよい。
【0078】
選択部133は、複数の質問文それぞれに対する回答に関する情報に基づいて複数の質問文の中から所定の基準を満たす質問文を選択する。なお、複数の質問文は複数のカテゴリに分類されていてもよい。この場合、選択部133は、カテゴリごとに所定の基準を満たす質問文を選択してもよい。
【0079】
また、選択部133は、複数の質問文それぞれに対する回答数の情報に基づいて複数の質問文の中から所定の基準を満たす質問文を選択する。また、選択部133は、複数の質問文の中から回答内容に関する所定の判定基準を満たす回答の数が所定の閾値以上の質問文を選択する。
また、選択部133は、複数の質問文の中から回答内容に関する所定の判定基準を満たす回答を除いた回答の数が所定の閾値以上の質問文を選択する。例えば、選択部133は、複数の質問文の中からヘイト及びスパムの少なくとも一方と判定された回答を除いた回答の数が所定の閾値以上の質問文を選択する。
【0080】
抽出部134は、選択部133で選択された質問文の文書構造のパターンを抽出する。このとき、抽出部134は、カテゴリごとの所定の基準を満たす質問文に基づいてカテゴリごとに質問文の文書構造のパターンを抽出してもよい。
【0081】
生成部135は、パターンに基づき質問文の文書構造を示すテンプレートを生成する。このとき、生成部135は、質問文のカテゴリごとにテンプレートを生成してもよい。また、生成部135は、選択部133で選択された質問文に基づいて入力テキストから質問文を出力するモデルを生成する。
【0082】
解析部136は、パターンの情報に基づいて投稿文を解析する。解析部は、投稿文の文書構造とパターンで示される文書構造との比較結果を投稿文の解析結果として取得する。解析部は、パターンの情報に基づいて判別される投稿文の不足部分に関する情報を解析結果として取得する。
【0083】
送信部137は、ユーザが質問文を入力するためのコンテンツであってテンプレートが表示されたコンテンツを送信する。また、送信部137は、投稿文の解析結果を含むコンテンツを端末装置100に送信する。
【0084】
〔2−2.端末装置の構成例〕
次に、端末装置100の構成について説明する。端末装置100は、ユーザがコンテンツの閲覧に使用する情報表示装置である。端末装置100は、例えば、スマートフォン、タブレット、携帯電話等の通信端末である。通信機能を備えるのであれば、端末装置100は、パーソナルコンピュータ(ノートPC、デスクトップPC)、PDA(Personal Digital Assistant)等の情報処理端末であってもよい。この場合、情報処理端末も通信端末の一種である。端末装置100は、ネットワークを介して情報処理サーバ10と接続する。
【0085】
図10は、実施形態に係る端末装置100の構成例を示す図である。端末装置100は、通信部110と、入力部120と、記憶部130と、出力部140と、制御部150と、を備える。なお、
図10に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
【0086】
通信部110は、外部の装置と通信する通信インタフェースである。通信部110は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部110は、NIC等のLANインタフェースであってもよいし、USBホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部110は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部110は、端末装置100の通信手段として機能する。通信部110は、制御部150の制御に従って情報処理サーバ10と通信する。
【0087】
入力部120は、外部から各種入力を受け付ける入力装置である。例えば、入力部120は、キーボードやマウスや操作キー等、ユーザが各種操作を行うための操作装置である。入力部120は、端末装置100の入力手段として機能する。なお、端末装置100にタッチパネルが採用される場合には、タッチパネルも入力部120に含まれる。この場合、ユーザは、指やスタイラスで画面をタッチすることにより各種操作を行う。
【0088】
記憶部130は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部130は、端末装置100の記憶手段として機能する。記憶部130は、アプリケーションのデータが格納されている。アプリケーションのデータは、ウェブブラウザのデータであってもよい。
【0089】
出力部140は、音、光、振動、画像等、外部に各種出力を行う装置である。出力部140は、端末装置100の出力手段として機能する。出力部140は、各種情報を表示する表示装置を備える。表示装置は、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイである。なお、端末装置100にタッチパネルが採用される場合には、表示装置(以下、画面という。)は入力部120と一体であってもよい。出力部140は、制御部150の制御に従って、画面に画像を表示する。
【0090】
制御部150は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部150は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
【0091】
制御部150は、
図10に示すように、表示部151と、表示制御部152と、を備える。制御部150を構成するブロック(表示部151と、表示制御部152)はそれぞれ制御部150の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部150は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
【0092】
表示部151は、情報処理サーバ10から送信されたコンテンツC1或いはコンテンツC2を画面に表示する。
【0093】
表示制御部152は、情報処理サーバ10から送信された制御情報に従って画面に表示されたコンテンツC1或いはC2の態様を変更する。
【0094】
〔3.情報処理サーバの処理フロー〕
次に、情報処理サーバ10が実行する処理の手順について説明する。情報処理サーバ10は、情報生成処理と、質問文解析処理と、質問文生成処理と、を実行する。情報処理サーバ10は、これらの処理を並行して実行可能である。
【0095】
〔3−1.情報生成処理〕
最初に、情報生成処理を説明する。
図11は、情報生成処理の一例を示すフローチャートである。
【0096】
まず、情報処理サーバ10は、質問情報データベース121から質問文を取得する(ステップS101)。そして、情報処理サーバ10は、複数の質問文の中から所定の基準を満たす質問文を選択する(ステップS102)。
【0097】
続いて、情報処理サーバ10は、ステップS102で選択された質問文の文書構造のパターンを抽出する(ステップS103)。情報処理サーバ10は、抽出したパターンをパターンデータベース123に登録する。
【0098】
続いて、情報処理サーバ10は、ステップS103で抽出したパターンに基づき質問文の文書構造を示すテンプレートを生成する(ステップS104)。情報処理サーバ10は、生成したテンプレートをテンプレートデータベース124に登録する。
【0099】
続いて、情報処理サーバ10は、ステップS102で選択された質問文に基づいて入力テキストから質問文を生成するモデルを生成する(ステップS105)。情報処理サーバ10は、生成したモデルをモデルデータベース122に登録する。
【0100】
データの登録が完了したら、情報処理サーバ10は、情報生成処理を終了する。
【0101】
〔3−2.質問文解析処理〕
最初に、質問文解析処理を説明する。
図12は、質問文解析処理の一例を示すフローチャートである。
【0102】
まず、情報処理サーバ10は、ユーザが操作する端末装置100から質問に回答するためのコンテンツの配信要求を受信したか判別する(ステップS201)。配信要求を受信していない場合(ステップS201:No)、情報処理サーバ10は、配信要求を受信するまでステップS201を繰り返す。
【0103】
配信要求を受信した場合(ステップS201:Yes)、情報処理サーバ10は、テンプレートデータベース124からテンプレートを取得する(ステップS202)。そして、情報処理サーバ10は、ステップS202で取得したテンプレートを含むコンテンツC2を端末装置100に配信する(ステップS203)。
【0104】
続いて、情報処理サーバ10は、ユーザが操作する端末装置100から質問文を受信したか判別する(ステップS204)。質問文を受信していない場合(ステップS204:No)、情報処理サーバ10は、質問文を受信するまでステップS204を繰り返す。
【0105】
質問文を受信した場合(ステップS204:Yes)、情報処理サーバ10は、質問文の解析を実行する(ステップS205)。そして、情報処理サーバ10は、解析結果を端末装置100に送信する(ステップS206)。解析結果の送信が完了したら、情報処理サーバ10は、ステップS201に戻り、端末装置100からコンテンツの配信要求を受信するまで待機する。
【0106】
〔3−3.質問文生成処理〕
次に、質問文生成処理を説明する。
図13は、質問文生成処理の一例を示すフローチャートである。
【0107】
まず、情報処理サーバ10は、ユーザが操作する端末装置100から質問に回答するためのコンテンツの配信要求を受信したか判別する(ステップS301)。配信要求を受信していない場合(ステップS301:No)、情報処理サーバ10は、配信要求を受信するまでステップS301を繰り返す。配信要求を受信した場合(ステップS301:Yes)、情報処理サーバ10は、質問文生成のためのコンテンツC4を端末装置100に配信する(ステップS302)。
【0108】
続いて、情報処理サーバ10は、ユーザが操作する端末装置100からキーワードを受信したか判別する(ステップS303)。キーワードを受信していない場合(ステップS303:No)、情報処理サーバ10は、キーワードを受信するまでステップS303を繰り返す。
【0109】
キーワードを受信した場合(ステップS303:Yes)、情報処理サーバ10は、キーワードをモデルに入力して質問文を生成する(ステップS304)。そして、情報処理サーバ10は、質問文を端末装置100に送信する(ステップS305)。質問文の送信が完了したら、情報処理サーバ10は、ステップS301に戻り、端末装置100からコンテンツの配信要求を受信するまで待機する。
【0110】
〔4.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
【0111】
例えば、上述の実施形態2では、情報処理サーバ10は、ステップS18で取得した質問文が含まれるコンテンツC5を端末装置100に送信した。このとき、情報処理サーバ10は、ユーザが質の良い質問文を書くことができるようにするため、コンテンツC5に、実施形態1のステップS4a、S4bで生成したテンプレートを表示してもよい。コンテンツC5の質問文がカテゴリAの質問文なのであれば、情報処理サーバ10は、コンテンツC5に、実施形態1のステップS4aで生成したテンプレートTP1を表示してもよい。
【0112】
また、情報処理サーバ10は、実施形態2で質問文の投稿を受け付けた後、実施形態1と同様に、投稿文の解析位結果を端末装置100に送信してもよい。
【0113】
本実施形態の情報処理サーバ10を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムまたはデータ(例えば、モデルM)を、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムまたはデータをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成してもよい。制御装置は、情報処理サーバ10の外部の装置(例えば、パーソナルコンピュータ)であってもよいし、内部の装置(例えば、制御部13)であってもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【0114】
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0115】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0116】
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0117】
〔5.ハードウェア構成〕
実施形態及び変形例に係る情報処理サーバ10は、例えば
図14に示すような構成のコンピュータ1000によっても実現可能である。
図14は、情報処理サーバ10の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU(Central Processing Unit)1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インタフェース(I/F)1500、入出力インタフェース(I/F)1600、及びメディアインタフェース(I/F)1700を有する。
【0118】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0119】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インタフェース1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0120】
CPU1100は、入出力インタフェース1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インタフェース1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インタフェース1600を介して出力装置へ出力する。
【0121】
メディアインタフェース1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインタフェース1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0122】
例えば、コンピュータ1000が実施形態に係る情報処理サーバ10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、モデルM)に基づいた処理を実行することにより、制御部13を実現する。コンピュータ1000のCPU1100は、これらのプログラムまたはデータ(例えば、モデルM)を記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムまたはデータ(例えば、モデルM)を取得してもよい。
【0123】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0124】
〔6.効果〕
本実施形態によれば、情報処理サーバ10は、複数の質問文それぞれに対する回答に関する情報に基づいて複数の質問文の中から所定の基準を満たす質問文を選択する。そして、情報処理サーバ10は、選択された質問文の文書構造のパターンを抽出する。これにより、情報処理サーバ10は、質の良い質問文の文書構造のパターンをユーザに提示する等、質問文を書くユーザへの適切な支援を実現できる。
【0125】
複数の質問文は複数のカテゴリに分類されている。情報処理サーバ10は、カテゴリごとに所定の基準を満たす質問文を選択する。そして、情報処理サーバ10は、カテゴリごとの所定の基準を満たす質問文に基づいてカテゴリごとに質問文の文書構造のパターンを抽出する。これにより、情報処理サーバ10は、カテゴリごとにユーザへの適切な支援を実現できる。
【0126】
情報処理サーバ10は、パターンに基づき質問文の文書構造を示すテンプレートを生成する。これにより、ユーザは、テンプレートに基づいて容易に質の良い質問文を作成できる。
【0127】
情報処理サーバ10は、質問文のカテゴリごとにテンプレートを生成する。これにより、情報処理サーバ10は、カテゴリごとにユーザへの適切なテンプレートを提供できる。
【0128】
情報処理サーバ10は、ユーザが質問文を入力するためのコンテンツであってテンプレートが表示されたコンテンツを送信する。これにより、情報処理サーバ10は、ユーザへの適切な支援を実現できる。
【0129】
情報処理サーバ10は、ユーザが投稿した質問文である投稿文をユーザが操作する端末装置から取得する。そして、情報処理サーバ10は、パターンの情報に基づいて投稿文を解析する。そして、情報処理サーバ10は、投稿文の解析結果を含むコンテンツを端末装置に送信する。これにより、ユーザは、解析結果に基づいて容易に質の良い質問文を作成できる。
【0130】
情報処理サーバ10は、投稿文の文書構造とパターンで示される文書構造との比較結果を投稿文の解析結果として取得する。これにより、ユーザは、解析結果に基づいて容易に質の良い質問文を作成できる。
【0131】
情報処理サーバ10は、パターンの情報に基づいて判別される投稿文の不足部分に関する情報を解析結果として取得する。これにより、ユーザは、解析結果に基づいて容易に質の良い質問文を作成できる。
【0132】
情報処理サーバ10は、複数の質問文それぞれに対する回答に関する情報に基づいて複数の質問文の中から所定の基準を満たす質問文を選択する。そして、情報処理サーバ10は、選択された質問文に基づいて入力テキストから質問文を出力するモデルを生成する。これにより、情報処理サーバ10は、モデルを使って質の良い質問文を生成できるので、ユーザがキーワード等のテキストを質問文生成コンテンツに入力するだけで質の良い質問文を提示できる。結果として、情報処理サーバ10は、質問文を書くユーザへの適切な支援を実現できる。
【0133】
情報処理サーバ10は、複数の質問文それぞれに対する回答数の情報に基づいて複数の質問文の中から所定の基準を満たす質問文を選択する。回答数の多い質問は、質問文の質が良い可能性が高い。そのため、情報処理サーバ10は、本当に質の良い質問文に基づくユーザへの質の高い支援を実現できる。
【0134】
情報処理サーバ10は、複数の質問文の中から回答内容に関する所定の判定基準を満たす回答の数が所定の閾値以上の質問文を選択する。これにより、情報処理サーバ10は、より質の高い質問文を選択できるので、ユーザへのより質の高い支援を実現できる。
【0135】
情報処理サーバ10は、複数の質問文の中から回答内容に関する所定の判定基準を満たす回答を除いた回答の数が所定の閾値以上の質問文を選択する。これにより、情報処理サーバ10は、より質の高い質問文を選択できるので、ユーザへのより質の高い支援を実現できる。
【0136】
情報処理サーバ10は、複数の質問文の中からヘイト及びスパムの少なくとも一方と判定された回答を除いた回答の数が所定の閾値以上の質問文を選択する。これにより、情報処理サーバ10は、より質の高い質問文を選択できるので、ユーザへのより質の高い支援を実現できる。
【0137】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0138】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、選択部は、選択手段や選択回路に読み替えることができる。