IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許7626451情報処理装置、情報処理方法、及び情報処理プログラム
<>
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図1
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図2
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図3
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図4
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図5
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図6
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図7
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-27
(45)【発行日】2025-02-07
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
   G06F 40/279 20200101AFI20250131BHJP
   G06F 40/151 20200101ALI20250131BHJP
【FI】
G06F40/279
G06F40/151
【請求項の数】 14
(21)【出願番号】P 2021147126
(22)【出願日】2021-09-09
(65)【公開番号】P2023039822
(43)【公開日】2023-03-22
【審査請求日】2022-12-19
【審判番号】
【審判請求日】2024-04-08
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鍜治 伸裕
【合議体】
【審判長】松田 直也
【審判官】小池 堂夫
【審判官】月野 洋一郎
(56)【参考文献】
【文献】特開2011-008784(JP,A)
【文献】特開2011-186569(JP,A)
【文献】特開平07-121538(JP,A)
【文献】MarkeZine編集部,“Googleの「もしかして」機能がパワーアップ”,2009年01月30日,[検索日2024年06月26日], インターネット:<URL:https://markezine.jp/article/detail/6447>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
所定の文字列である第1文字列を異表記に変換した第1異表記文字列と、前記第1文字列とは異なる文字列であって、ユーザが検索クエリとして入力した第2文字列を異表記に変換した第2異表記文字列とを取得する取得部と、
前記第1異表記文字列と、前記第2異表記文字列とに基づいて、前記第1文字列と前記第2文字列との類似性を判定する判定部と、
前記判定部による判定結果に応じた文字列を用いた検索処理の結果である検索結果を、前記ユーザに提供することであって、前記ユーザが入力した検索クエリを訂正する場合、訂正後の文字列である訂正後クエリを用いた検索処理の結果である第1の検索結果と、前記ユーザが入力した前記検索クエリを用いた検索処理の結果である第2の検索結果とを提供する提供部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記第1異表記文字列と、前記第2異表記文字列との類似度を算出する算出部、
をさらに備え、
前記判定部は、
前記算出部により算出された前記類似度を用いて、前記第1文字列と前記第2文字列との類似性を判定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記算出部は、
前記第1異表記文字列と、前記第2異表記文字列との間の編集距離に基づいて、前記類似度を算出する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記算出部は、
前記第1異表記文字列と、前記第2異表記文字列との間の編集距離を前記類似度として算出する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記算出部は、
オートマトンにより導出した前記編集距離に基づいて、前記類似度を算出する
ことを特徴とする請求項3または請求項4に記載の情報処理装置。
【請求項6】
前記判定部は、
前記類似度が所定値以上である場合、前記第1文字列と前記第2文字列との類似性が高いと判定する
ことを特徴とする請求項2~5のいずれか1項に記載の情報処理装置。
【請求項7】
前記取得部は、
所定の対象を示す前記第1文字列の前記第1異表記文字列と、前記第2文字列の前記第2異表記文字列とを取得し、
前記判定部は、
前記第1文字列と前記第2文字列との類似性が高いと判定した場合、前記第2文字列を前記第1文字列に訂正すると判定する
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記取得部は、
前記第1文字列の発音を示す前記第1異表記文字列と、前記第2文字列の発音を示す前記第2異表記文字列とを取得する
ことを特徴とする請求項1~7のいずれか1項に記載の情報処理装置。
【請求項9】
前記取得部は、
前記第1文字列の発音記号である前記第1異表記文字列と、前記第2文字列の発音記号である前記第2異表記文字列とを取得する
ことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記取得部は、
日本語の表記体系に該当する前記第1文字列の発音を示す前記第1異表記文字列と、日本語の表記体系に該当する前記第2文字列の発音を示す前記第2異表記文字列とを取得する
ことを特徴とする請求項8に記載の情報処理装置。
【請求項11】
前記取得部は、
漢字、ひらがな、及びカタカナの少なくとも1つを含む前記第1文字列の発音を示す前記第1異表記文字列と、漢字、ひらがな、及びカタカナの少なくとも1つを含む前記第2文字列の発音を示す前記第2異表記文字列とを取得する
ことを特徴とする請求項10に記載の情報処理装置。
【請求項12】
前記取得部は、
前記第1文字列がローマ字に変換された前記第1異表記文字列と、前記第2文字列がローマ字に変換された前記第2異表記文字列とを取得する
ことを特徴とする請求項10または請求項11に記載の情報処理装置。
【請求項13】
コンピュータが実行する情報処理方法であって、
所定の文字列である第1文字列を異表記に変換した第1異表記文字列と、前記第1文字列とは異なる文字列であって、ユーザが検索クエリとして入力した第2文字列を異表記に変換した第2異表記文字列とを取得する取得工程と、
前記第1異表記文字列と、前記第2異表記文字列とに基づいて、前記第1文字列と前記第2文字列との類似性を判定する判定工程と、
前記判定工程による判定結果に応じた文字列を用いた検索処理の結果である検索結果を、前記ユーザに提供することであって、前記ユーザが入力した検索クエリを訂正する場合、訂正後の文字列である訂正後クエリを用いた検索処理の結果である第1の検索結果と、前記ユーザが入力した前記検索クエリを用いた検索処理の結果である第2の検索結果とを提供する提供工程と、
を含むことを特徴とする情報処理方法。
【請求項14】
所定の文字列である第1文字列を異表記に変換した第1異表記文字列と、前記第1文字列とは異なる文字列であって、ユーザが検索クエリとして入力した第2文字列を異表記に変換した第2異表記文字列とを取得する取得手順と、
前記第1異表記文字列と、前記第2異表記文字列とに基づいて、前記第1文字列と前記第2文字列との類似性を判定する判定手順と、
前記判定手順による判定結果に応じた文字列を用いた検索処理の結果である検索結果を、前記ユーザに提供することであって、前記ユーザが入力した検索クエリを訂正する場合、訂正後の文字列である訂正後クエリを用いた検索処理の結果である第1の検索結果と、前記ユーザが入力した前記検索クエリを用いた検索処理の結果である第2の検索結果とを提供する提供手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
ユーザが入力した文字列を訂正(変換)する技術が提供されている。例えば、ユーザが入力したクエリに誤記が含まれる場合等において、その誤記を訂正した上で検索結果をユーザに提供する技術が提供されている(例えば特許文献1等)。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第6529456号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、文字列を適切に訂正できない場合がある。例えば、従来技術では第1文字列とその第1文字列の誤記として入力され得る第2文字列とを対応付けた辞書を用いて、文字列を変換しているに過ぎず、辞書に含まれない文字列については対応することが難しい。そのため、文字列を訂正するためにも文字列間の類似性を適切に判定することが望まれている。
【0005】
本願は、上記に鑑みてなされたものであって、文字列間の類似性を適切に判定する情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、所定の文字列である第1文字列を異表記に変換した第1異表記文字列と、前記第1文字列とは異なる文字列である第2文字列を異表記に変換した第2異表記文字列とを取得する取得部と、前記第1異表記文字列と、前記第2異表記文字列とに基づいて、前記第1文字列と前記第2文字列との類似性を判定する判定部と、を備えたことを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、文字列間の類似性を適切に判定することができるという効果を奏する。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る情報処理の一例を示す図である。
図2図2は、文字列と異表記との関係の一例を示す図である。
図3図3は、実施形態に係る情報処理装置の構成例を示す図である。
図4図4は、実施形態に係る判定用情報記憶部の一例を示す図である。
図5図5は、実施形態に係る文字列情報記憶部の一例を示す図である。
図6図6は、実施形態に係る情報処理装置による処理の一例を示すフローチャートである。
図7図7は、オートマトンに関する一例を示す概念図である。
図8図8は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.情報処理〕
図1を用いて、実施形態に係る情報処理の一例について説明する。図1は、実施形態に係る情報処理の一例を示す図である。図1では、情報処理装置100は、ユーザが入力したクエリ(文字列)を対象として類似性の判定を行い、判定結果を基に文字列の訂正(変更)を行う場合を一例として示す。なお、図1で示す処理は一例に過ぎず、類似性の判定及び文字列の訂正(変更)の対象は、クエリに限らず、文字列であれば、どのような文字列が対象であってもよい。
【0011】
まず、情報処理システム1の構成について説明する。図1に示すように、情報処理システム1は、端末装置10と、情報処理装置100とが含まれる。端末装置10と、情報処理装置100とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、図1に示した情報処理システム1には、複数台の端末装置10や、複数台の情報処理装置100が含まれてもよい。
【0012】
情報処理装置100は、文字列を異表記に変換した文字列(「異表記文字列」ともいう)に基づいて、文字列間との類似性を判定するコンピュータである。例えば、情報処理装置100は、所定の文字列である第1文字列を異表記に変換した第1異表記文字列と、第1文字列とは異なる文字列である第2文字列を異表記に変換した第2異表記文字列とに基づいて、第1文字列と第2文字列との類似性を判定する。以下では、所定の対象を示す文字列を第1文字列とし、ユーザが入力したクエリ(文字列)を第2文字列として説明する。
【0013】
図1では、情報処理装置100は、クエリを入力したユーザが利用する端末装置10に、検索結果を提供する検索装置としても機能する。例えば、情報処理装置100は、ウェブページの対象として検索処理を実行する検索エンジンとしての機能を有する。なお、訂正要否を判定し用いるクエリを確定した後の処理、すなわちクエリを用いて検索を行う点は通常の検索エンジンと同様であるため、適宜詳細な説明を省略する。例えば、情報処理装置100は、クエリを用いた検索処理の対象となる対象情報群であるウェブページ群が、インデックスされて格納されたデータベースを有し、そのデータベースの情報を対象として検索処理を実行する。なお、検索される対象は、ウェブページに限らず、クエリを用いて検索可能であれば、どのような情報であってもよく、例えば電子商取引における商品等の取引対象等、様々な検索対象であってもよい。
【0014】
図1では情報処理装置100が検索装置としても機能する、すなわち情報処理装置100と検索装置とが一体である場合を説明するが、情報処理装置100と検索装置とは別体であってもよい。この場合、情報処理システム1には、クエリを対象とした検索処理を実行し、検索結果を提供する検索サービスを提供する検索装置が含まれる。例えば、情報処理装置100は、ユーザが入力したクエリ、または訂正後のクエリを検索装置へ送信し、検索装置から検索結果を受信し、その検索結果をユーザが利用する端末装置10に送信する。なお、検索装置が直接ユーザが利用する端末装置10へ検索結果を送信してもよい。
【0015】
端末装置10は、ユーザによって利用されるデバイス(コンピュータ)である。端末装置10は、ユーザによる操作を受け付ける。端末装置10は、ユーザによるクエリの入力を受け付ける。端末装置10は、情報処理装置100から提供された検索結果を表示する。
【0016】
また、端末装置10は、加速度センサやジャイロセンサ等を有し、ユーザの運動状態を検知する。また、端末装置10は、GPSセンサ等の位置センサを有し、ユーザの位置情報を検知する。また、端末装置10は、温度センサや気圧センサ等の種々の機能を有し、温度や気圧等のユーザの置かれている環境情報を検知し、取得可能であってもよい。また、端末装置10は、心拍センサ等の種々の機能を有し、ユーザの生体情報を検知し、取得可能であってもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なウェアラブルデバイスを身に付けることにより、端末装置10によりユーザ自身のコンテキスト情報を取得可能としてもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なリストバンド型のウェアラブルデバイスを身に付けることにより、端末装置10によりユーザ自身の心拍(脈拍)に関する情報を端末装置10が取得可能としてもよい。また、端末装置10は、画像センサを有してもよい。なお、上記は一例であり、端末装置10は、様々な情報を検知するセンサを有してもよい。
【0017】
また、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。なお、端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1では、端末装置10がノート型PCである場合を示す。
【0018】
以下、図1を用いて、情報処理の一例を説明する。図1では、ユーザがユーザID「U1」により識別されるユーザ(以下、「ユーザU1」とする場合がある)である場合を示す。端末装置10は、ユーザU1による「ホゲ神津尾」というクエリの入力を受け付ける(ステップS11)。なお、「ホゲ神津尾」は具体的な対象がない文字列であるものとする。例えば、「ホゲ神津尾」は、「ホゲ行動」と入力したかったユーザU1が入力を誤った(スペルミスの)文字列であるものとする。図1に示す例において、ユーザU1は、端末装置10の画面に表示された検索サイトのページ中の検索窓にクエリ「ホゲ神津尾」を入力し、検索実行のボタンを押下する。
【0019】
そして、端末装置10は、クエリ「ホゲ神津尾」を情報処理装置100へ送信する(ステップS12)。端末装置10からクエリ「ホゲ神津尾」を受信した情報処理装置100は、受信したクエリ「ホゲ神津尾」である第2文字列CS2と比較するキーワード(第1文字列)を取得する(ステップS13)。情報処理装置100は、「ホゲ神津尾」と比較するキーワード(第1文字列)をキーワード群DBから取得する。キーワード群DBに含まれる各文字列は、各々が対象を示す文字列である。例えば、キーワード群DBは、新語やスペルミスが生じやすい単語が含まれる。例えば、キーワード群DBは、文字列情報記憶部122(図5参照)に記憶される。
【0020】
情報処理装置100は、キーワード群DBを検索し「ホゲ神津尾」と比較する第1文字列をキーワード群DBから取得する。例えば、情報処理装置100は、キーワード群DB中の文字列のうち、クエリ「ホゲ神津尾」と少なくとも一部が一致する文字列を第1文字列として取得する。図1では、情報処理装置100は、クエリ「ホゲ神津尾」と文字列「ホゲ」が一致する文字列「ホゲ行動」を取得する。すなわち、情報処理装置100は、文字列「ホゲ行動」をクエリ「ホゲ神津尾」である第2文字列CS2と比較する第1文字列CS1として取得する。なお、「ホゲ行動」は具体的な対象を示す文字列(例えばエンターテインメント商品のタイトル等)であるものとする。
【0021】
なお、図1では説明を簡単にするために、1つの第1文字列のみを取得する場合を示すが、情報処理装置100は、複数の第1文字列を取得し、各第1文字列とクエリ「ホゲ神津尾」との類似度を算出し、類似度が最も高い第1文字列を対象として、類似性の判定や文字列の訂正(変更)の処理を行ってもよい。
【0022】
情報処理装置100は、文字列「ホゲ行動」である第1文字列CS1を異表記に変換する(ステップS14)。図1では、情報処理装置100は、第1文字列CS1がローマ字に変換することにより、ローマ字の文字列「hogekoudou」である第1異表記文字列DN1を生成する。なお、情報処理装置100は、第1文字列を第1異表記文字列へ変換可能であれば、どのような情報を用いて変換を行ってもよい。例えば、情報処理装置100は、第1文字列と第1異表記文字列とが対応付けられた一覧リストを用いて、変換を行ってもよい。
【0023】
また、情報処理装置100は、文字列「ホゲ神津尾」である第2文字列CS2を異表記に変換する(ステップS15)。図1では、情報処理装置100は、第2文字列CS2がローマ字に変換することにより、ローマ字の文字列「hogekouduo」である第2異表記文字列DN2を生成する。なお、情報処理装置100は、第2文字列を第2異表記文字列へ変換可能であれば、どのような情報を用いて変換を行ってもよい。例えば、情報処理装置100は、端末装置10からユーザU1が文字列「ホゲ神津尾」を入力した際にどのキーをタッチ(選択)したかを示す入力情報を受信し、その入力情報を用いて、変換を行ってもよい。
【0024】
そして、情報処理装置100は、第1異表記文字列と、第2異表記文字列とに基づいて、第1文字列と第2文字列との類似度を算出する(ステップS16)。図1では、情報処理装置100は、第1異表記文字列DN1と、第2異表記文字列DN2とに基づいて、第1文字列CS1と第2文字列CS2との類似度を算出する。すなわち、情報処理装置100は、ローマ字の文字列「hogekoudou」と、ローマ字の文字列「hogekouduo」とに基づいて、文字列「ホゲ行動」と文字列「ホゲ神津尾」との類似度を算出する。
【0025】
例えば、情報処理装置100は、ローマ字の文字列「hogekoudou」と、ローマ字の文字列「hogekouduo」との間の編集距離を、文字列「ホゲ行動」と文字列「ホゲ神津尾」との類似度として算出する。図1では、情報処理装置100は、文字列「ホゲ行動」と文字列「ホゲ神津尾」との類似度VL1を算出する。類似度VL1は具体的な数値であるものとする。なお、上記は一例に過ぎず、情報処理装置100は、様々な値を類似度として用いてもよく、例えば編集距離の逆数を類似度として用いてもよいし、編集距離の逆数を正規化した値を類似度として用いてもよい。
【0026】
そして、情報処理装置100は、算出した類似度を用いて、第1文字列と第2文字列との類似性を判定する(ステップS17)。例えば、情報処理装置100は、算出した類似度を用いて、第1文字列と第2文字列との類似性を判定し、類似性が高いと判定した場合、第2文字列を第1文字列に訂正すると判定する。情報処理装置100は、算出した類似度と閾値とを比較して、第1文字列と第2文字列との類似性を判定する。なお、情報処理装置100は、閾値を外部装置から取得してもよいし、判定用情報記憶部121(図4参照)に記憶した閾値を用いてもよい。
【0027】
図1では、情報処理装置100は、閾値TH1を用いて第1文字列と第2文字列との類似性を判定する。閾値TH1は具体的な数値であるものとする。情報処理装置100は、算出した類似度VL1と閾値TH1とを比較して、第1文字列と第2文字列との類似性を判定する。図1では、情報処理装置100は、算出した類似度VL1が閾値TH1未満であるため、文字列「ホゲ行動」と文字列「ホゲ神津尾」との類似性が高いと判定する。そのため、情報処理装置100は、判定結果RSに示すように、クエリ「ホゲ神津尾」に訂正が必要であると判定する。そして、情報処理装置100は、クエリ「ホゲ神津尾」を、第1文字列CS1である文字列「ホゲ行動」に変更し、文字列「ホゲ行動」を訂正後クエリとして用いると判定する。
【0028】
情報処理装置100は、クエリ「ホゲ神津尾」を訂正後クエリ「ホゲ行動」に訂正する。そして、情報処理装置100は、訂正後クエリ「ホゲ行動」を用いて、検索処理を実行する。
【0029】
そして、情報処理装置100は、訂正後クエリ「ホゲ行動」の検索結果をユーザU1が利用する端末装置10へ提供する(ステップS18)。図1では、情報処理装置100は、クエリ「ホゲ神津尾」ではなく訂正後クエリ「ホゲ行動」での検索結果であることを通知する情報と共に、「ホゲ行動」の検索結果を表示するコンテンツを端末装置10へ提供してもよい。なお、情報処理装置100が行う情報提供が上記限らず、様々な態様であってもよい。例えば、情報処理装置100は、検索結果を提供する前に、クエリ「ホゲ神津尾」を訂正後クエリ「ホゲ行動」に訂正するか否かをユーザU1に確認する情報を提供してもよい。この場合、情報処理装置100は、ユーザU1が選択したクエリに対応する検索結果を端末装置10へ提供してもよい。また、情報処理装置100は、訂正後クエリ「ホゲ行動」の検索結果とともに、クエリ「ホゲ神津尾」の検索結果を提供してもよい。
【0030】
上述したように、情報処理装置100は、文字列を異表記に変換した異表記文字列に基づいて、文字列間との類似性を判定することにより、文字列間の類似性を適切に判定することができる。例えば、情報処理装置100は、文字列「ホゲ行動」と文字列「ホゲ神津尾」とをそのまま比較した場合、最初の「ホゲ」以外は全く異なる文字列となる。一方で、情報処理装置100は、文字列「ホゲ行動」の異表記文字列「hogekoudou」と文字列「ホゲ神津尾」の異表記文字列「hogekouduo」とを比較した場合、「hogekoud」までは一致する。すなわち、文字列「ホゲ行動」の異表記文字列「hogekoudou」と文字列「ホゲ神津尾」の異表記文字列「hogekouduo」との間は、最後の2文字が「ou」と「uo」とであることのみが差異であり、隣接文字の転置であることが分かる。そのため、情報処理装置100は、異表記に変換した異表記文字列に基づいて、文字列間との類似性を判定することにより、文字列間の類似性を適切に判定することができる。
【0031】
例えば、文字列を単純に比較する既存手法の場合、文字一致率が低い場合、文字列間の類似性を判定することが難しい。一方で、情報処理装置100は、文字列を異表記に変換した異表記文字列に基づいて、文字列間との類似性を判定することで、文字一致率が低い文字列間であっても適切に類似性を判定することができる。なお、上述した処理例では、検索エンジンのスペル訂正のケース(用途)を一例として説明したが、情報処理装置100による処理が適用可能であればどのような用途に用いられてもよく、例えばクエリログからスペルミスとその訂正結果を抽出する用途等の様々な用途に用いられてもよい。
【0032】
〔1-1.文字列と異表記の関係の例〕
ここで、文字列と異表記の関係の例について図2を用いて説明する。図2は、文字列と異表記との関係の一例を示す図である。図2に示す第1ケースCS1及び第2ケースCS2は、文字一致率が低く、既存手法では類似性の判定が困難な場合の一例を示す。
【0033】
図2中の第1ケースCS1は、1文字のみの違いの例を示す。この場合、第1文字列「藤井君」は、所定の対象(有名人等)を示す文字列である。また、第2文字列「ふしい君」は、所定の対象を示さない文字列、例えば「藤井君」の入力ミスである。
【0034】
例えば、情報処理装置100は、文字列「藤井君」と文字列「ふしい君」とをそのまま比較した場合、最後の「君」以外は全く異なる文字列となる。一方で、情報処理装置100は、文字列「藤井君」の異表記文字列「hujiikun」と文字列「ふしい君」の異表記文字列「husiikun」とを比較した場合、3文字目が「j」と「s」とであることの差異のみであり、1文字のみの違いであることが分かる。
【0035】
そのため、情報処理装置100は、異表記に変換した異表記文字列に基づいて、文字列間との類似性を判定することにより、文字列間の類似性を適切に判定することができる。なお、図2中の第2ケースCS2は、図1で例示した隣接文字の転置の例であるため詳細な説明は省略する。
【0036】
〔1-2.オートマトン〕
なお、情報処理装置100は、上記に限らず様々な技術を用いて、文字列の類似性を判定してもよい。例えば、全てのローマ字表記の可能性を考慮するのは計算効率面で改善の余地がある。
【0037】
そこで、情報処理装置100は、オートマトンに関する技術を用いて、文字列の類似性を判定してもよい。この点について、図7を用いて一例を説明する。図7は、オートマトンに関する一例を示す概念図である。
【0038】
図7中の遷移図GR1は、図1で説明した文字列「ホゲ神津尾」中の文字列「神津尾」をオートマトンで表現した図を示す。例えば、遷移図GR1のうち太字になっている矢印の経路(第1経路)が選択されることを示す。すなわち、図7は「k」→「o」→「u」→「d」→「u」→「o」の順の第1経路が選択された場合を示す。
【0039】
図7中の遷移図GR2は、図1で説明した文字列「ホゲ行動」中の文字列「行動」をオートマトンで表現した図を示す。例えば、遷移図GR2のうち点線になっている矢印の経路(第2経路)が選択されることを示す。すなわち、図7は「k」→「o」→「u」→「d」→「o」→「u」の順の第2経路が選択された場合を示す。
【0040】
図7の例では、遷移図GR1のうち太字になっている第1経路と、遷移図GR2のうち点線になっている第2経路の編集距離が1であり(uo→ouの転置操作が発生)、これは全組み合わせの中で最小なので、「ホゲ神津尾」と「ホゲ行動」の編集距離は1となる。図7では、例えば、情報処理装置100は、「ホゲ神津尾」と「ホゲ行動」との類似度を「1」と算出する。
【0041】
例えば、情報処理装置100は、異表記候補をオートマトンで表現し、オートマトン間で効率的に計算可能な尺度(オートマトンの編集距離など)を類似度としてもよい。また、情報処理装置100は、オートマトンは重み付き(ローマ字表記の確信度のようなもの)にして、重みを類似度に反映させても良い。
【0042】
例えば、情報処理装置100は、全てのローマ字表記の可能性を、オートマトンを用いて簡潔に表現し、2つのオートマトンの編集距離(始点から終点までの経路ペアのうち編集距離が最小のもの)を類似度としてもよい。この場合、例えば、情報処理装置100は、下記の文献に開示されている技術を用いてもよい。
・Mehryar Mohri, “Edit-Distance of Weighted Automata: General Definitions and Algorithms”, International Journal of Foundations of Computer Science, 2003.
【0043】
なお、上記は一例に過ぎず、情報処理装置100は、オートマトンに関する技術を適宜用いてもよい。情報処理装置100は、カナとローマ字とのぞれぞれが別ルート(経路)で含まれているオートマトン等、複数種別の表記を含むオートマトンを用いてもよい。
【0044】
〔1-3.文字列及び異表記の例〕
なお、上記の例では、日本語を対象として処理を説明したが、情報処理装置100は、日本語に限らず様々な言語が対象として処理を行ってもよい。例えば、情報処理装置100は、英語、中国語等の様々な言語の文字列を対象として処理を行ってもよい。
【0045】
例えば、例えば、情報処理装置100は、英語を対象とする場合、英語表記の文字列の発音を示す発音記号を異表記文字列として処理を行ってもよい。例えば、情報処理装置100は、中国語を対象とする場合、中国語表記の文字列の発音を示すピンインを異表記文字列として処理を行ってもよい。なお、いずれの言語であっても、類似度を算出や類似性の判定については、上述した日本語の場合と同様に行えばよく、詳細な説明は省略する。
【0046】
〔2.情報処理装置の構成〕
次に、図3を用いて、実施形態に係る情報処理装置100の構成について説明する。図3は、実施形態に係る情報処理装置100の構成例を示す図である。図3に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0047】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、所定の通信網(ネットワーク)と有線または無線で接続され、端末装置10との間で情報の送受信を行う。
【0048】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、判定用情報記憶部121と、文字列情報記憶部122とを有する。なお、記憶部120は、上記以外にも様々な情報を記憶してもよい。
【0049】
(判定用情報記憶部121)
実施形態に係る判定用情報記憶部121は、判定に関する様々な情報を記憶する。例えば、判定用情報記憶部121は、閾値等、類似性の判定に用いる情報を記憶する。図4は、実施形態に係る判定用情報記憶部の一例を示す図である。図4では、判定用情報記憶部121は、「条件ID」、「条件情報」、「内容」といった項目を有する。
【0050】
「条件ID」は、条件を識別する情報を示す。「条件情報」は、判定に用いる情報が記憶される。「内容」は、対応する条件情報がどのような処理に用いられるかを示す。
【0051】
図4では、条件ID「CD1」により識別される条件は、閾値TH1であることを示す。なお、閾値TH1は、例えば0.7、5、10等の具体的な数値であるものとする。また、閾値TH1は、類似性判定に用いられることを示す。
【0052】
なお、判定用情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【0053】
(文字列情報記憶部122)
実施形態に係る文字列情報記憶部122は、文字列に関する情報を記憶する。文字列情報記憶部122は、所定の対象を示す文字列を記憶する。例えば、文字列情報記憶部122は、新語など、所定の対象を示すがスペルミスが生じやすい文字列を記憶する。図5は、本開示の第1の実施形態に係る文字列情報記憶部の一例を示す図である。図5では、文字列情報記憶部122は、「文字列ID」、「文字列」といった項目が含まれる。
【0054】
「文字列ID」は、所定の対象を示す文字列として登録された文字列を識別するための識別情報を示す。「文字列」は、文字列を示す。
【0055】
図5に示す例では、文字列ID「KW1」により識別される文字列(文字列KW1)は、文字列「ホゲ行動」であることを示す。例えば、文字列「ホゲ行動」は、ユーザのスペルミスが多い文字列である。
【0056】
なお、文字列情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、文字列情報記憶部122に記憶される文字列(正解文字列)は、新語など、スペルミスが生じやすい文字列を管理する外部装置から情報処理装置100が取得してもよい。
【0057】
(制御部130)
図3の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0058】
図3に示すように、制御部130は、取得部131と、算出部132と、判定部133と、処理部134と、提供部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図3に示した接続関係に限られず、他の接続関係であってもよい。
【0059】
(取得部131)
取得部131は、記憶部120から各種の情報を取得する。取得部131は、判定用情報記憶部121から類似性の判定に用いる情報を取得する。取得部131は、文字列情報記憶部122から、ユーザが入力したクエリとの比較対象となる文字列を取得する。
【0060】
取得部131は、通信部110を介して、外部の情報処理装置から各種情報を受信する。取得部131は、端末装置10から各種情報を受信する。取得部131は、端末装置10からユーザが入力したクエリを取得する。取得部131は、文字列を異表記に変換する外部装置(変換サーバ)から文字列が異表記に変換された異表記文字列を受信してもよい。例えば、取得部131は、提供部135が送信した文字列を受信した変換サーバが受信した文字列を異表記に変換した異表記文字列を変換サーバから受信してもよい。
【0061】
取得部131は、所定の文字列である第1文字列を取得する。取得部131は、所定の対象を示す第1文字列を取得する。取得部131は、第1文字列とは異なる文字列である第2文字列を取得する。取得部131は、対象を示さない第2文字列を取得する。取得部131は、ユーザが入力したクエリである第2文字列を取得する。
【0062】
取得部131は、所定の文字列である第1文字列を異表記に変換した第1異表記文字列を取得する。取得部131は、所定の対象を示す第1文字列の第1異表記文字列を取得する。取得部131は、第1文字列とは異なる文字列である第2文字列を異表記に変換した第2異表記文字列を取得する。取得部131は、対象を示さない第2文字列の第2異表記文字列を取得する。取得部131は、ユーザが入力したクエリである第2文字列の第2異表記文字列を取得する。
【0063】
取得部131は、第1文字列の発音を示す第1異表記文字列と、第2文字列の発音を示す第2異表記文字列とを取得する。取得部131は、第1文字列の発音記号である第1異表記文字列と、第2文字列の発音記号である第2異表記文字列とを取得する。取得部131は、日本語の表記体系に該当する第1文字列の発音を示す第1異表記文字列と、日本語の表記体系に該当する第2文字列の発音を示す第2異表記文字列とを取得する。
【0064】
取得部131は、漢字、ひらがな、及びカタカナの少なくとも1つを含む第1文字列の発音を示す第1異表記文字列と、漢字、ひらがな、及びカタカナの少なくとも1つを含む第2文字列の発音を示す第2異表記文字列とを取得する。取得部131は、第1文字列がローマ字に変換された第1異表記文字列と、第2文字列がローマ字に変換された第2異表記文字列とを取得する。
【0065】
(算出部132)
算出部132は、各種情報を算出する。算出部132は、記憶部120に記憶された各種情報に基づいて、種々の情報を算出する。算出部132は、取得部131により取得された各種情報に基づいて、種々の情報を算出する。
【0066】
算出部132は、第1異表記文字列と、第2異表記文字列との類似度を算出する。算出部132は、第1異表記文字列と、第2異表記文字列との間の編集距離に基づいて、類似度を算出する。算出部132は、第1異表記文字列と、第2異表記文字列との間の編集距離を類似度として算出する。算出部132は、オートマトンにより導出した編集距離に基づいて、類似度を算出する。
【0067】
算出部132は、各種情報を生成してもよい。算出部132は、文字列を変換した変換文字列を生成してもよい。算出部132は、第1文字列を異表記に変換した第1異表記文字列を生成してもよい。算出部132は、第2文字列を異表記に変換した第2異表記文字列を生成してもよい。算出部132は、文字列をローマ字表記に変換することにより、異表記文字列を生成してもよい。算出部132は、文字列を発音記号に変換することにより、異表記文字列を生成してもよい。
【0068】
(判定部133)
判定部133は、各種情報を判定する。例えば、判定部133は、取得部131により外部装置から取得された各種情報に基づいて、各種情報を判定する。例えば、判定部133は、記憶部120に記憶された情報に基づいて、各種情報を判定する。例えば、判定部133は、判定用情報記憶部121や文字列情報記憶部122に記憶された情報を用いて、判定を行う。
【0069】
判定部133は、第1異表記文字列と、第2異表記文字列とに基づいて、第1文字列と第2文字列との類似性を判定する。判定部133は、算出部132により算出された類似度を用いて、第1文字列と第2文字列との類似性を判定する。判定部133は、類似度が所定値以上である場合、第1文字列と第2文字列との類似性が高いと判定する。判定部133は、第1文字列と第2文字列との類似性が高いと判定した場合、第2文字列を第1文字列に訂正すると判定する。
【0070】
(処理部134)
処理部134は、各種の処理を実行する。処理部134は、ユーザが入力したクエリに基づく検索処理を実行する。処理部134は、判定部133によりユーザが入力したクエリに訂正が不要と判定された場合、ユーザが入力したクエリを用いて検索処理を実行する。処理部134は、ユーザに提供する情報を生成する。処理部134は、ユーザに提供するコンテンツを生成する。
【0071】
処理部134は、判定部133によりユーザが入力したクエリに訂正(変更)が必要と判定された場合、ユーザが入力したクエリの表記を訂正する。例えば、処理部134は、ユーザが入力したクエリの表記を、比較した文字列に訂正(変更)する。そして、処理部134は、訂正(変更)後の文字列を用いて検索処理を実行する。
【0072】
(提供部135)
提供部135は、通信部110を介して、端末装置10へ情報を送信する。提供部135は、ユーザが利用する端末装置10へ検索サービスを提供する。例えば、提供部135は、処理部134による検索処理の結果である検索結果を端末装置10へ送信する。提供部135は、処理部134により生成された情報を端末装置10へ送信する。
【0073】
提供部135は、文字列を異表記に変換する外部装置(変換サーバ)に文字列を送信してもよい。例えば、提供部135は、異表記への変換を要求する文字列を変換サーバへ送信してもよい。
【0074】
〔3.処理フロー〕
次に、図6を用いて、実施形態に係る情報処理システム1による情報処理の手順について説明する。図6は、実施形態に係る情報処理装置による処理の一例を示すフローチャートである。
【0075】
図6に示すように、情報処理装置100は、所定の文字列である第1文字列を異表記に変換した第1異表記文字列を取得する(ステップS101)。また、情報処理装置100は、第1文字列とは異なる文字列である第2文字列を異表記に変換した第2異表記文字列を取得する(ステップS102)。
【0076】
情報処理装置100は、第1異表記文字列と、第2異表記文字列とに基づいて、第1文字列と第2文字列との類似性を判定する(ステップS103)。
【0077】
〔4.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、判定部133とを有する。取得部131は、所定の文字列である第1文字列を異表記に変換した第1異表記文字列と、第1文字列とは異なる文字列である第2文字列を異表記に変換した第2異表記文字列とを取得する。判定部133は、第1異表記文字列と、第2異表記文字列とに基づいて、第1文字列と第2文字列との類似性を判定する。
【0078】
このように、実施形態に係る情報処理装置100は、文字列の異表記を用いて文字列間の類似性を判定することにより、文字列間の類似性を適切に判定することができる。
【0079】
また、実施形態に係る情報処理装置100は、算出部132を有する。算出部132は、第1異表記文字列と、第2異表記文字列との類似度を算出する。判定部133は、算出部132により算出された類似度を用いて、第1文字列と第2文字列との類似性を判定する。
【0080】
このように、実施形態に係る情報処理装置100は、第1異表記文字列と、第2異表記文字列との類似度を算出し、算出した類似度を用いて、第1文字列と第2文字列との類似性を判定することにより、文字列間の類似性を適切に判定することができる。
【0081】
また、実施形態に係る情報処理装置100において、算出部132は、第1異表記文字列と、第2異表記文字列との間の編集距離に基づいて、類似度を算出する。
【0082】
このように、実施形態に係る情報処理装置100は、第1異表記文字列と、第2異表記文字列との間の編集距離に基づいて、類似度を算出することにより、文字列間の類似度を適切に算出することができる。
【0083】
また、実施形態に係る情報処理装置100において、算出部132は、第1異表記文字列と、第2異表記文字列との間の編集距離を類似度として算出する。
【0084】
このように、実施形態に係る情報処理装置100は、第1異表記文字列と、第2異表記文字列との間の編集距離を類似度とすることにより、文字列間の類似度を適切に算出することができる。
【0085】
また、実施形態に係る情報処理装置100において、算出部132は、オートマトンにより導出した編集距離に基づいて、類似度を算出する。
【0086】
このように、実施形態に係る情報処理装置100は、オートマトンにより導出した編集距離に基づいて、類似度を算出することにより、文字列間の類似度を適切に算出することができる。
【0087】
また、実施形態に係る情報処理装置100において、判定部133は、類似度が所定値以上である場合、第1文字列と第2文字列との類似性が高いと判定する。
【0088】
このように、実施形態に係る情報処理装置100は、類似度が所定値以上である場合、第1文字列と第2文字列との類似性が高いと判定することにより、文字列間の類似性を適切に判定することができる。
【0089】
また、実施形態に係る情報処理装置100において、取得部131は、所定の対象を示す第1文字列の第1異表記文字列と、第2文字列の第2異表記文字列とを取得する。判定部133は、第1文字列と第2文字列との類似性が高いと判定した場合、第2文字列を第1文字列に訂正すると判定する。
【0090】
このように、実施形態に係る情報処理装置100は、所定の対象を示す第1文字列と、第2文字列との類似性が高いと判定した場合、第2文字列を第1文字列に訂正すると判定することにより、文字列間の類似性に応じて文字列を適切に訂正可能にすることができる。
【0091】
また、実施形態に係る情報処理装置100において、取得部131は、第1文字列の発音を示す第1異表記文字列と、第2文字列の発音を示す第2異表記文字列とを取得する。
【0092】
このように、実施形態に係る情報処理装置100は、文字列の発音を示す異表記を用いて文字列間の類似性を判定することにより、文字列間の類似性を適切に判定することができる。
【0093】
また、実施形態に係る情報処理装置100において、取得部131は、第1文字列の発音記号である第1異表記文字列と、第2文字列の発音記号である第2異表記文字列とを取得する。
【0094】
このように、実施形態に係る情報処理装置100は、文字列の発音記号を用いて文字列間の類似性を判定することにより、文字列間の類似性を適切に判定することができる。
【0095】
また、実施形態に係る情報処理装置100において、取得部131は、日本語の表記体系に該当する第1文字列の発音を示す第1異表記文字列と、日本語の表記体系に該当する第2文字列の発音を示す第2異表記文字列とを取得する。
【0096】
このように、実施形態に係る情報処理装置100は、日本語の文字列を対象として、文字列間の類似性を適切に判定することができる。
【0097】
また、実施形態に係る情報処理装置100において、取得部131は、漢字、ひらがな、及びカタカナの少なくとも1つを含む第1文字列の発音を示す第1異表記文字列と、漢字、ひらがな、及びカタカナの少なくとも1つを含む第2文字列の発音を示す第2異表記文字列とを取得する。
【0098】
このように、実施形態に係る情報処理装置100は、漢字、ひらがな、及びカタカナの少なくとも1つを含む文字列を対象として、文字列間の類似性を適切に判定することができる。
【0099】
また、実施形態に係る情報処理装置100において、取得部131は、第1文字列がローマ字に変換された第1異表記文字列と、第2文字列がローマ字に変換された第2異表記文字列とを取得する。
【0100】
このように、実施形態に係る情報処理装置100は、文字列がローマ字に変換された異表記を用いて文字列間の類似性を判定することにより、文字列間の類似性を適切に判定することができる。
【0101】
〔5.ハードウェア構成〕
また、上述した実施形態に係る情報処理装置100や端末装置10は、例えば図8に示すような構成のコンピュータ1000によって実現される。以下、情報処理装置100を例に挙げて説明する。図8は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0102】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0103】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USBメモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0104】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェイスであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェイスであり、例えば、USB等により実現される。
【0105】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0106】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0107】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0108】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0109】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0110】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0111】
〔6.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0112】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0113】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0114】
例えば、上述した情報処理装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットホーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0115】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0116】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0117】
1 情報処理システム
100 情報処理装置
120 記憶部
121 判定用情報記憶部
122 文字列情報記憶部
130 制御部
131 取得部
132 算出部
133 判定部
134 処理部
135 提供部
10 端末装置
図1
図2
図3
図4
図5
図6
図7
図8