(57)【要約】  情報処理装置１００は、第一のユーザが入力した第一の単語を取得し、第二のユーザが入力した第二の単語を取得する。情報処理装置１００は、第一の単語と第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出する。情報処理装置１００は、第二の単語と第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出する。情報処理装置１００は、第一の分散表現と第二の分散表現との類似度を算出し、類似度を基にして、第二の分散表現に対応付けられた単語を抽出する。
2020144730.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する抽出方法であって、
第一のユーザが入力した第一の単語を取得し、
第二のユーザが入力した第二の単語を取得し、
前記第一の単語と前記第一のユーザを識別する文字列とを含む第一の文字列の第一の分散表現を算出し、
前記第二の単語と前記第二のユーザを識別する文字列とを含む第二の文字列の第二の分散表現を算出し、
前記第一の分散表現と前記第二の分散表現との類似度を算出し、
前記類似度を基にして、前記第二の分散表現に対応付けられた単語を抽出する
処理を実行することを特徴とする抽出方法。
【請求項２】
前記第一の分散表現を算出する処理は、前記第一の単語と前記第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出し、前記第二の分散表現を算出する処理は、前記第二の単語と前記第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出することを特徴とする請求項１に記載の抽出方法。
【請求項３】
前記第二の分散表現を算出する処理は、複数の前記第二の文字列に対応する複数の前記第二の分散表現を算出し、前記類似度を算出する処理は、前記第一の分散表現と、前記複数の第二の分散表現との類似度をそれぞれ算出し、
複数の前記類似度を基にして、前記複数の第二の分散表現に対応する前記複数の第二の文字列の順位を特定し、特定した順位を基にして、前記第二の文字列の類似度を補正する処理を更に実行することを特徴とする請求項１に記載の抽出方法。
【請求項４】
前記補正する処理は、前記順位を基にして、所定の順位よりも上位の第二の文字列を特定し、前記上位の第二の文字列に含まれる第二の単語の出現回数を基にして、前記類似度を補正することを特徴とする請求項３に記載の抽出方法。
【請求項５】
前記単語を抽出する処理は、補正された前記類似度を基にして、複数の第二の文字列を類似度の降順にソートし、上位の第二の文字列に含まれる単語を抽出することを特徴とする請求項２、３または４に記載の抽出方法。
【請求項６】
コンピュータに、
第一のユーザが入力した第一の単語を取得し、
第二のユーザが入力した第二の単語を取得し、
前記第一の単語と前記第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出し、
前記第二の単語と前記第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出し、
前記第一の分散表現と前記第二の分散表現との類似度を算出し、
前記類似度を基にして、前記第二の分散表現に対応付けられた単語を抽出する
処理を実行させることを特徴とする抽出プログラム。
【請求項７】
前記第二の分散表現を算出する処理は、複数の前記第二の文字列に対応する複数の前記第二の分散表現を算出し、前記類似度を算出する処理は、前記第一の分散表現と、前記複数の第二の分散表現との類似度をそれぞれ算出し、
複数の前記類似度を基にして、前記複数の第二の分散表現に対応する前記複数の第二の文字列の順位を特定し、特定した順位を基にして、前記第二の文字列の類似度を補正する処理を更に実行することを特徴とする請求項６に記載の抽出プログラム。
【請求項８】
前記補正する処理は、前記順位を基にして、所定の順位よりも上位の第二の文字列を特定し、前記上位の第二の文字列に含まれる第二の単語の出現回数を基にして、前記類似度を補正することを特徴とする請求項７に記載の抽出プログラム。
【請求項９】
前記単語を抽出する処理は、補正された前記類似度を基にして、複数の第二の文字列を類似度の降順にソートし、上位の第二の文字列に含まれる単語を抽出することを特徴とする請求項７または８に記載の抽出プログラム。
【請求項１０】
第一のユーザが入力した第一の単語を取得し、第二のユーザが入力した第二の単語を取得する取得部と、
前記第一の単語と前記第一のユーザを識別する文字列とを含む第一の文字列の第一の分散表現を算出し、前記第二の単語と前記第二のユーザを識別する文字列とを含む第二の文字列の第二の分散表現を算出する分散表現算出部と、
前記第一の分散表現と前記第二の分散表現との類似度を算出する類似度算出部と、
前記類似度を基にして、前記第二の分散表現に対応付けられた単語を抽出する抽出部と
を有することを特徴とする情報処理装置。
【請求項１１】
前記分散表現算出部は、前記第二の分散表現を算出する処理は、複数の前記第二の文字列に対応する複数の前記第二の分散表現を算出し、前記類似度を算出する処理は、前記第一の分散表現と、前記複数の第二の分散表現との類似度をそれぞれ算出し、前記類似度算出部は、複数の前記類似度を基にして、前記複数の第二の分散表現に対応する前記複数の第二の文字列の順位を特定し、特定した順位を基にして、前記第二の文字列の類似度を補正する処理を更に実行することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記類似度算出部は、前記順位を基にして、所定の順位よりも上位の第二の文字列を特定し、前記上位の第二の文字列に含まれる第二の単語の出現回数を基にして、前記類似度を補正することを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記抽出部は、補正された前記類似度を基にして、複数の第二の文字列を類似度の降順にソートし、上位の第二の文字列に含まれる単語を抽出することを特徴とする請求項１１または１２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抽出方法等に関する。
【背景技術】
【０００２】
ユーザの指定する条件に応じた会議室を調整する会議調整システムがある。従来の会議調整システムでは、ユーザによって予約条件が指定されると、予約条件を満たす会議室を検索し、検索結果を出力する。たとえば、ユーザは、予約条件として、会議の参加人数、希望する会議室の優先度、会議の機密性等を指定する。【０００３】
ここで、会議システムを利用する度に、ユーザが各種の予約条件を指定する作業は、ユーザに負担をかけるため、ユーザによって入力される情報を最小限にして、ユーザの希望にあう会議室を検索することが好ましい。【０００４】
たとえば、ユーザが指定（音声入力）した「ある単語」に類似する会議名を抽出することができれば、類似する会議名に関する履歴から、ユーザが過去に参加した会議室や参加人数を推定でき、ユーザの希望にあう会議室を予約することができる。【０００５】
単語の類似度を算出する従来技術として、word2vecに代表される単語分散表現の学習を用いる技術がある。この従来技術では、テキストデータを解析して、単語を分散表現化（単語ベクトル化）し、各単語のベクトルを比較して、単語間の類似度を算出する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１２７０７９号公報
【特許文献２】特開２０１２−１４１７５２号公報
【特許文献３】特開２００６−２５２０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、単語の類似概念を抽出することができないという問題がある。【０００８】
たとえば、ユーザが「打ち合わせ」なる単語を指定した場合に、会議名の観点から、この「打ち合わせ」に対して類似概念となる単語（会議名）を抽出することが望ましい。しかし、従来技術のように、各単語の分散表現の単純な比較によって得られる類似度を基にして、類似度の高い単語を抽出すると多くのノイズが含まれてしまう。【０００９】
図１８は、従来技術による類似度の算出結果の一例を示す図である。図１８に示す例では、単語「打ち合わせ」と、他の各単語との類似度の一例を示す。図１８において「’’」で示される単語が類似度を算出する際に比較された単語である。単語の横に示す数値が類似度である。たとえば、単語「打ち合わせ」と単語「検討」との類似度は「０．０８０１１」となる。ここでは、単語「打ち合わせ」との類似度が大きいものから降順に各単語を示している。【００１０】
ここで、単語「打ち合わせ」の類似概念となる単語は、ユーザが判断すると、「ご相談、相談、抽出会、まとめの会、ｂｕ会」であるが、かかる単語と「打ち合わせ」との類似度は非常に小さくなってしまう。これに対して、単語「打ち合わせ」の類似概念とならない単語「検討、ＦＵＫ、nmpj、小、最大」と、単語「打ち合わせ」との類似度は大きくなってしまう。すなわち、各単語の分散表現の単純な比較によって得られる類似度を算出し、類似度の高い単語を抽出すると多くのノイズが含まれてしまい、ユーザに指定された単語の類似概念を抽出することができない。【００１１】
１つの側面では、本発明は、単語の類似概念を抽出することができる抽出方法、抽出プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の案では、コンピュータが次の処理を実行する。コンピュータは、第一のユーザが入力した第一の単語を取得し、第二のユーザが入力した第二の単語を取得する。コンピュータは、第一の単語と第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出する。コンピュータは、第二の単語と第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出する。コンピュータは、第一の分散表現と第二の分散表現との類似度を算出し、類似度を基にして、第二の分散表現に対応付けられた単語を抽出する。
【発明の効果】
【００１３】
単語の類似概念を精度よく抽出することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施例にかかる情報処理装置の処理の一例を説明するための図である。
【図２】図２は、類似度の算出結果の一例を示す図である。
【図３】図３は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図４】図４は、ユーザテーブルのデータ構造の一例を示す図である。
【図５】図５は、会議情報テーブルのデータ構造の一例を示す図である。
【図６】図６は、テキストデータのデータ構造の一例を示す図である。
【図７】図７は、分散表現リストのデータ構造の一例を示す図である。
【図８】図８は、第１類似度テーブルのデータ構造の一例を示す図である。
【図９】図９は、第１類似度テーブルに含まれるリストの一例を示す図である。
【図１０】図１０は、第２類似度テーブルのデータ構造の一例を示す図である。
【図１１】図１１は、第２類似度テーブルに含まれるリストの一例を示す図である。
【図１２】図１２は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
【図１３】図１３は、テキスト生成処理の処理手順を示すフローチャートである。
【図１４】図１４は、類似度算出処理の処理手順を示すフローチャートである。
【図１５】図１５は、正規化処理の処理手順を示すフローチャートである。
【図１６】図１６は、検索処理部の処理手順を示すフローチャートである。
【図１７】図１７は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図１８】図１８は、従来技術による類似度の算出結果の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する抽出方法、抽出プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１６】
図１は、本実施例にかかる情報処理装置の処理の一例を説明するための図である。情報処理装置は、ユーザ（あるいは、会議の参加者）が入力した単語を取得し、単語とユーザとを連結した文字列を生成する。たとえば、ユーザ「ＯＳＡ」が、単語「特許」を入力した場合に、情報処理装置は、文字列「特許＾ＯＳＡ」を生成する。ユーザ「ＭＡＳ」が、単語「特許」を入力した場合に、情報処理装置は、文字列「特許＾ＭＡＳ」を生成する。情報処理装置は、他の各ユーザ、他の各単語に関して、上記処理を繰り返し実行することで、複数の文字列を生成する。なお、情報処理装置は、単語のみ取得した場合には、単語とユーザとの連結を行わないで、単語のみの文字列とする。【００１７】
情報処理装置は、word2vecに代表される単語分散表現の学習を基にして、各文字列の分散表現（ベクトル）をそれぞれ算出する。また、情報処理装置は、各文字列の分散表現を比較して、単語間の類似度を算出する。図１に示す例では、文字列「特許＾ＯＳＡ」と、他の各文字列との類似度を示す。図１において「’’」で示される文字列が類似度を算出する際に比較された分散表現に対応する文字列である。文字列の横に示す数値が類似度である。たとえば、文字列「特許＾ＯＳＡ」と文字列「特許＾ＭＡＳ」との類似度は「０．９８９３」となる。ここでは、文字列「特許＾ＯＳＡ」との類似度が大きいものから降順に各文字列を示している。順位は、値が小さいほど、基準となる文字列（たとえば「特許＾ＯＳＡ」）との類似度が高いことを示す。【００１８】
続いて、情報処理装置は、各文字列の類似度を基にして、各単語の類似度を算出する。単語の類似度は、文字列に含まれる単語の出現回数と、単語を含む文字列の順位に応じて算出される。たとえば、情報処理装置は、式（１）を基にして、基準となる文字列の単語「ｗＸ」と、比較対象の単語「ｗｉ」との類似度を算出する。【００１９】
単語ｗＸと単語ｗｉとの類似度（正規化前）＝Ｖｉ×ｓｑｒｔ（ｓｑｒｔ（Ｕｉ））・・・（１）【００２０】
式（１）において、「Ｖｉ」は、上位ｋまでの文字列に含まれる単語ｗｉについて、ｗｉの順位を考慮した類似度の総計を示すものである。たとえば、順位ｉ（ｉ＜ｋ）の文字列に含まれる単語ｗｉの類似度は、「順位ｉ（ｉ＜ｋ）の文字列の類似度×ｌｏｇ（ｉ＋１）」とする。上位ｋまでに、複数の同一の単語ｗｉが存在する場合には、各単語ｗｉの類似度を総計したものが、Ｖｉの値となる。単語ｗｉを含む文字列の順位が下位であるほど、単語ｗｉの類似度は小さくなる。【００２１】
式（１）において、「Ｕｉ」は、上位ｋまでの文字列に関する、単語ｗｉの出現回数を示すものである。【００２２】
なお、単語ｗＸに連結されたユーザと、単語ｗｉに連結されたユーザとが同一のユーザである場合、単語ｗＸと単語ｗｉとの類似度（正規化前）は、単語ｗｉを含む文字列の類似度のままとする（第１条件）。【００２３】
式（１）によって算出される類似度は、式（２）に基づいて正規化される。ｎｏｒｍは、式（１）によって算出される単語Ｗｘと同一の単語との類似度（正規化前）とする。なお、単語Ｗｘと同一の単語との類似度が算出されていない場合には、ｎｏｒｍ＝１となる。【００２４】
単語ｗＸと単語ｗｉとの類似度（正規化後）＝式（１）の類似度／ｎｏｒｍ・・・（２）【００２５】
ここで、情報処理装置が、単語ｗＸ＝特許（文字列「特許＾ＯＳＡ」の単語）と、単語ｗｉ＝特許との類似度を算出する処理について説明する。ｋ＝２０として説明を行う。Ｕｉは次のようになる。図１に示す例では、上位ｋ＝２０までの文字列に関する、単語「特許」の出現回数が「３」となるため、「Ｕｉ＝３」となる。【００２６】
Ｖｉは、次のようになる。上位ｋ＝２０の各文字列について、単語「特許」を含む文字列は、順位１、８、９の文字列となる。ここで、順位１の文字列「特許＾ＭＡＳ」に含まれる単語「特許」の類似度は「０．９８９３×１／ｌｏｇ（１＋１）＝３．２８６７」となる。順位８の文字列「特許＾ＦＵＵ」に含まれる単語「特許」の類似度は「０．９６９１×１／ｌｏｇ（８＋１）＝１．０１５６」となる。順位９の文字列「特許＾ＭＯＯ」に含まれる単語「特許」の類似度は「０．９６８９×１／ｌｏｇ（９＋１）＝０．９６９０」となる。このため、Ｖｉ＝３．２８６７＋１．０１５６＋０．９６９０＝５．２７１３となる。式（１）に代入すると、単語「特許」の類似度（正規化前）は「６．９３７５」となる。【００２７】
また、単語ｗＸ＝特許に対応するｎｏｒｍは、単語「特許」の類似度となる（ｗＸ＝ｗｉ）ため、ｎｏｒｍ＝６．９３７５となる。したがって、単語「特許」の類似度を正規化すると、類似度は「１」となる。【００２８】
続いて、情報処理装置が、単語ｗＸ＝特許（文字列「特許＾ＯＳＡ」の単語）と、単語ｗｉ＝まとめ会との類似度を算出する処理について説明する。また、ｋ＝２０として説明を行う。Ｕｉは次のようになる。図１に示す例では、上位ｋまでの文字列に関する、単語「まとめ会」の出現回数が「４」となるため、「Ｕｉ＝４」となる。【００２９】
Ｖｉは次のようになる。上位ｋ＝２０の各文字列について、単語「まとめ会」を含む文字列は、順位３、１３、１５、２０の文字列となる。ここで、順位３の文字列「まとめ会＾ＯＳＡ」に含まれる単語「まとめ会」の類似度は「０．９８２６×１／ｌｏｇ（３＋１）＝１．６３２０」となる。順位１３の文字列「まとめ会」に含まれる単語「まとめ会」の類似度は「０．９６７５×１／ｌｏｇ（１３＋１）＝０．８４４２」となる。順位１５の文字列「まとめ会」に含まれる単語「まとめ会」の類似度は「０．９６７４×１／ｌｏｇ（１５＋１）＝０．８０３４」となる。順位２０の文字列「まとめ会」に含まれる単語「まとめ会」の類似度は「０．９６３０×１／ｌｏｇ（２０＋１）＝０．７２９８３」となる。そうすると、Ｖｉ＝１．６３２０＋０．８４４２＋０．８０３４＋０．７２９８３＝４．００８となる。式（１）に代入すると、単語「まとめ会」の類似度（正規化前）は「５．６６８」となる。【００３０】
また、上記より、ｎｏｒｍ＝６．９３７５となる。このため、式（２）により、単語「まとめ会」の類似度（正規化後）は「０．８１７０」となる。なお、「まとめの会＾ＯＳＡ」については、基準となる文字列「特許＾ＯＳＡ」とユーザ名が同一となるため、第１条件により、類似度は「０．９８２５」となる。他の「まとめ会、まとめの会＾ＩＩ、まとめの会＾ＳＡＩ」については、ユーザ名が異なるので、各「まとめ会、まとめの会＾ＩＩ、まとめの会＾ＳＡＩ」の類似度は、「まとめ会」の類似度「０．８１７０」となる。【００３１】
各文字列について、上記の処理を繰り返し実行すると、各単語の類似度（正規化後）は、図２に示すものとなる。図２は、類似度の算出結果の一例を示す図である。図２に示すリスト１０Ａは、単語と、類似度との関係を示す。リスト１０Ｂは、類似度の降順に単語と類似度とをソートした結果を示すテーブルである。図２のリスト１０Ｂに示すように、基準となる単語「特許」と類似の概念となる「まとめの会＾ＯＳＡ」、「抽出会」の類似度が大きくなっている。また、多くのノイズを削減できる。すなわち、本実施例に示す情報処理装置によれば、図１８で説明した従来技術の結果と比較して、指定された単語と類似の概念となる単語を検出する処理が改善される。【００３２】
次に、本実施例に係る情報処理装置の構成の一例について説明する。図３は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図３に示すように、この情報処理装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１４０と、制御部１５０とを有する。【００３３】
通信部１１０は、ネットワークを介して他の外部装置と通信を行う処理部である。たとえば、通信部１１０は、外部装置から後述する会議情報テーブル１４０ｂの情報を受信する。後述する制御部１５０は、通信部１１０を介して、外部装置と情報をやり取りする。通信部１１０は、通信装置の一例である。【００３４】
入力部１２０は、情報処理装置１００に各種の情報を入力するための入力装置である。入力部１２０は、キーボードやマウス、タッチパネル等に対応する。たとえば、ユーザは、入力部１２０を操作して、ユーザＩＤ（identification）、会議名（単語）等を入力する。【００３５】
表示部１３０は、制御部１５０から出力される情報を表示する装置である。表示部１３０は、液晶ディスプレイやタッチパネル等に対応する。たとえば、表示部１３０は、ユーザに入力された単語（会議名）の類似概念となる複数の単語（会議名）を表示する。たとえば、表示部１３０は、図２に示した類似度リスト等を表示する。【００３６】
記憶部１４０は、ユーザテーブル１４０ａ、会議情報テーブル１４０ｂ、テキストデータ１４０ｃ、分散表現リスト１４０ｄ、第１類似度テーブル１４０ｅ、第２類似度テーブル１４０ｆを有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。【００３７】
ユーザテーブル１４０ａは、ユーザＩＤに対するユーザ名を定義するテーブルである。図４は、ユーザテーブルのデータ構造の一例を示す図である。図４に示すように、ユーザテーブル１４０ａは、ユーザＩＤと、ユーザ名とを対応付ける。たとえば、ユーザＩＤ「ｕｓｅｒ１０１」に対応するユーザ名は「ＯＳＡ」となる。【００３８】
会議情報テーブル１４０ｂは、ユーザが過去に利用した会議に関する各種の情報を保持するテーブルである。図５は、会議情報テーブルのデータ構造の一例を示す図である。図５に示すように、会議情報テーブル１４０ｂは、会議室名と、打ち合わせ名と、参加者リストとを対応付ける。会議室名は、ユーザが利用した会議室の名称を示す。打ち合わせ名は、ユーザに入力される情報であり、ユーザが会議を行う場合に用いた打ち合わせに関連する情報（単語、文字列）である。参加者リストは、打ち合わせに参加した各ユーザのユーザ名である。【００３９】
たとえば、図５の１行目のレコードを参照すると、打ち合わせ名「ＸＸ／研究委託／テーマ／打合せ」の会議は、会議室名「Ｃ１０２」の会議室で行われ、参加者は「ＭＵＲＡ、ＹＡＭＡ」である。ユーザが入力部１２０を操作して、会議情報テーブル１４０ｂに、会議室名、打ち合わせ名、参加者リストを入力してもよいし、情報処理装置１００が、会議の使用履歴を管理する外部装置から、会議情報テーブル１４０ｂの情報を収集して、会議情報テーブル１４０ｂに登録してもよい。【００４０】
テキストデータ１４０ｃは、テキストの情報である。図６は、テキストデータのデータ構造の一例を示す図である。図６に示すテキストデータ１４０ｃの各文字列は、会議情報テーブル１４０ｂを基にして生成される。【００４１】
分散表現リスト１４０ｄは、各文字列の分散表現を保持するテーブルである。図７は、分散表現リストのデータ構造の一例を示す図である。図７に示すように、この分散表現リスト１４０ｄは、文字列と、分散表現とを対応付ける。文字列は、ユーザ（ユーザ名）と、図５の打ち合わせ名を形態素解析した結果得られる単語とを連結したものである。分散表現は、word2vecに代表される単語分散表現の学習を基にして、算出される分散表現である。【００４２】
第１類似度テーブル１４０ｅは、分散表現リスト１４０ｄに含まれる各文字列の類似度を保持するテーブルである。図８は、第１類似度テーブルのデータ構造の一例を示す図である。図８に示すように、この第１類似度テーブルは、基準文字列と、リストとを対応付ける。各リストはそれぞれ、基準となる文字列と、比較対象の各文字列との各類似度を示すリストである。基準となる文字列を、「基準文字列」と表記する。たとえば、基準文字列が、第一の文字列に対応し、比較対象の文字列が、第二の文字列に対応する。【００４３】
図９は、第１類似度テーブルに含まれるリストの一例を示す図である。図９に示すリストは、基準文字列、順位、文字列、類似度を有する。基準文字列は、類似度を算出する場合の基準となる文字列である。文字列は、基準文字列の比較対象となる文字列である。類似度は、基準文字列の分散表現と、文字列の分散表現との類似度を示す。順位は、基準文字列と文字列との組について、類似度の大きさに基づき順位付けしたものである。順位の数が小さいものほど、基準文字列と文字列との類似度が大きい。【００４４】
第２類似度テーブル１４０ｆは、第１類似度テーブル１４０ｅの各リストについて、図１で説明した処理を行うことで得られるテーブルである。図１０は、第２類似度テーブルのデータ構造の一例を示す図である。図１０に示すように、この第２類似度テーブル１４０ｆは、基準文字列と、リストとを対応付ける。各リストはそれぞれ、基準文字列と、比較対象の各文字列との各類似度を示すリストである。【００４５】
図１１は、第２類似度テーブルに含まれるリストの一例を示す図である。図１１に示すリストは、基準文字列、順位、文字列（単語）、類似度を有する。基準文字列は、類似度を算出する場合の基準となる文字列である。文字列は、基準文字列の比較対象となる文字列である。類似度は、図９に示した各文字列の類似度について、図１で説明した処理を行うことで得られる類似度である。順位は、基準文字列と文字列との組について、類似度の大きさに基づき順位付けしたものである。【００４６】
図３の説明に戻る。制御部１５０は、取得部１５０ａ、テキスト生成部１５０ｂ、分散表現算出部１５０ｃ、類似度算出部１５０ｄ、抽出部１５０ｅ、検索処理部１５０ｆを有する。制御部１５０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。【００４７】
取得部１５０ａは、会議情報テーブル１４０ｂに関する情報を取得する処理部である。たとえば、取得部１５０ａは、通信部１１０を介して外部装置から、会議室名、打ち合わせ名、参加者リストの情報を取得し、会議情報テーブル１４０ｂに格納する。外部装置は、会議の使用履歴を管理する装置である。また、ユーザが入力部１２０を操作して、会議室名、打ち合わせ名、参加者リストの情報を入力し、取得部１５０ａは、入力された情報を取得して、会議情報テーブル１４０ｂに格納してもよい。【００４８】
テキスト生成部１５０ｂは、会議情報テーブル１４０ｂの打ち合わせ名および参加者リストを基にして、テキストデータ１４０ｃを生成する処理部である。たとえば、テキスト生成部１５０ｂは、会議情報テーブル１４０ｂのレコードを抽出し、レコードに含まれる会議室を配置する。また、テキスト生成部１５０ｂは、打ち合わせ名を形態素解析し、各形態素と参加者リストの各ユーザとを連結することで、テキストデータを生成する。【００４９】
たとえば、レコードの会議室名を「会議室Ａ」とし、打ち合わせ名を形態素解析して得られる形態素（形態素リスト）を「ｗ１，ｗ２，ｗ３，・・・，ｗｎ」とする。また、参加者リストに含まれるユーザを「ｐ１，ｐ２，・・・，ｐｍ」とする。この場合には、テキスト生成部１５０ｂは、次のようなテキストデータを生成する。
会議室Ａ  ｗ１  ｗ２・・・ｗｎ  ｗ１＾ｐ１  ｗ２＾ｐ１・・・ｗｎ＾ｐ１
会議室Ａ  ｗ１  ｗ２・・・ｗｎ  ｗ１＾ｐ２  ｗ２＾ｐ２・・・ｗｎ＾ｐ２
・・・
会議室Ａ  ｗ１  ｗ２・・・ｗｎ  ｗ１＾ｐｍ  ｗ２＾ｐｍ・・・ｗｎ＾ｐｍ【００５０】
テキスト生成部１５０ｂは、会議情報テーブル１４０ｂの各レコードの各ユーザについて、上記処理を繰り返し実行することで、複数のテキストデータを生成し、生成した複数のテキストデータをまとめることで、テキストデータ１４０ｃを生成する。テキスト生成部１５０ｂは、テキストデータ１４０ｃを、記憶部１４０に格納する。【００５１】
分散表現算出部１５０ｃは、word2vecに代表される単語分散表現の学習に基づいて、テキストデータ１４０ｃに含まれる各文字列の分散表現（ベクトル）を算出（学習）する処理部である。分散表現算出部１５０ｃは、文字列と分散表現とを対応付けて、分散表現リスト１４０ｄに格納する。たとえば、分散表現算出部１５０ｃは、テキストデータ１４０ｃに含まれる単語とユーザとが連結された文字列（たとえば、ｗ＾ｐ）について、分散表現を算出する。【００５２】
類似度算出部１５０ｄは、各文字列の類似度を算出する処理部である。類似度算出部１５０ｄは、分散表現リスト１４０ｄを基にして、第１類似度テーブル１４０ｅを生成する。また、類似度算出部１５０ｄは、第１類似度テーブル１４０ｅを基にして、第２類似度テーブル１４０ｆを生成する。【００５３】
類似度算出部１５０ｄが、第１類似度テーブル１４０ｅを生成する処理について説明する。類似度算出部１５０ｄは、分散表現リスト１４０ｄの各文字列から、基準文字列を選択し、選択した基準文字列の分散表現と、他の各文字列との分散表現とをそれぞれ比較して、文字列毎の類似度を算出する。たとえば、類似度算出部１５０ｄは、基準文字列の分散表現（ベクトル）と、他の文字列の分散表現（ベクトル）との距離を、類似度として算出する。類似度算出部１５０ｄは、上記の基準文字列と、他の各文字列との各類似度を、リストとして、第１類似度テーブル１４０ｅに格納する。たとえば、基準文字列を「特許＾ＯＳＡ」とした場合のリストは、図９に示すリストとなる。類似度算出部１５０ｄは、類似度の降順に、文字列と類似度とをソートして、順位を設定する。【００５４】
類似度算出部１５０ｄは、分散表現リスト１４０ｄの文字列から基準文字列を選択し、上記処理を繰り返し実行することで、選択した基準文字列に対応するリストを生成することで、第１類似度テーブル１４０ｅの情報を生成する。類似度算出部１５０ｄは、第１類似度テーブル１４０ｅを、記憶部１４０に格納する。【００５５】
続いて、類似度算出部１５０ｄが、第１類似度テーブル１４０ｅを基にして、第２類似度テーブル１４０ｆを生成する処理について説明する。係る類似度算出部１５０ｄの処理は、図１で説明した処理に対応するものとなる。【００５６】
すなわち、類似度算出部１５０ｄは、第１類似度テーブル１４０ｅのレコードを選択し、選択したレコードに含まれるリストについて、次の処理を行う。類似度算出部１５０ｄは、式（１）を基にして、基準文字列の単語ｗＸと、比較対象の文字列の単語ｗｉとの類似度（正規化前）を算出し、式（２）を基にして、類似度（正規化後）を算出する。【００５７】
類似度算出部１５０ｄは、リストに含まれる各文字列について上記処理を繰り返し実行することで、リストの類似度を算出し、第２類似度テーブル１４０ｆに登録する。類似度算出部１５０ｄは、第１類似度テーブル１４０ｅの各レコードについて上記処理を繰り返し実行することで、第２類似度テーブル１４０ｆの情報を算出し、記憶部１４０に格納する。【００５８】
まず、類似度算出部１５０ｄが、図９（図１）に示した単語ｗＸ＝特許（基準文字列「特許＾ＯＳＡ」の単語）と、単語ｗｉ＝特許との類似度を算出する処理について説明する。ｋ＝２０として説明を行う。【００５９】
類似度算出部１５０ｄは、Ｕｉを次のように算出する。類似度算出部１５０ｄは、リストの文字列を走査し、文字列に単語「特許」が出現する回数をカウントする。図９に示す例では「Ｕｉ＝３」となる。【００６０】
類似度算出部１５０ｄは、Ｖｉを次のように算出する。類似度算出部１５０ｄは、リストの文字列を走査し、上位ｋ＝２０の各文字列について、単語「特許」を含む文字列の順位を特定する。図９に示す例では、単語「特許」を含む文字列は、順位１、８、９の文字列となる。【００６１】
類似度算出部１５０ｄは、順位１の文字列「特許＾ＭＡＳ」に含まれる単語「特許」の類似度を、「０．９８９３×１／ｌｏｇ（１＋１）＝３．２８６７」により算出する。類似度算出部１５０ｄは、順位８の文字列「特許＾ＦＵＵ」に含まれる単語「特許」の類似度を、「０．９６９１×１／ｌｏｇ（８＋１）＝１．０１５６」により算出する。類似度算出部１５０ｄは、順位９の文字列「特許＾ＭＯＯ」に含まれる単語「特許」の類似度を、「０．９６８９×１／ｌｏｇ（９＋１）＝０．９６９０」により算出する。【００６２】
類似度算出部１５０ｄは、単語「特許」の各類似度の総計を算出することで、Ｖｉを算出する。具体的には、Ｖｉ＝３．２８６７＋１．０１５６＋０．９６９０＝５．２７１３となる。類似度算出部１５０ｄは、「Ｕｉ＝３」と「Ｖｉ＝５．２７１３」と、式（１）により、単語「特許」の類似度（正規化前）を「６．９３７５」として算出する。【００６３】
また、単語ｗＸ＝特許に対応するｎｏｒｍは、単語「特許」の類似度となる（ｗＸ＝ｗｉ）ため、ｎｏｒｍ＝６．９３７５となる。したがって、類似度算出部１５０ｄは、式（２）に基づいて、単語「特許」の類似度を正規化すると、類似度は「１」となる。【００６４】
続いて、類似度算出部１５０ｄが、図９（図１）に示した単語ｗＸ＝特許（基準文字列「特許＾ＯＳＡ」の単語）と、単語ｗｉ＝まとめ会との類似度を算出する処理について説明する。ｋ＝２０として説明を行う。【００６５】
類似度算出部１５０ｄは、Ｕｉを次のように算出する。類似度算出部１５０ｄは、リストの文字列を走査し、文字列に単語「まとめ会」が出現する回数をカウントする。図９に示す例では「Ｕｉ＝４」となる。【００６６】
類似度算出部１５０ｄは、Ｖｉを次のように算出する。類似度算出部１５０ｄは、リストの文字列を走査し、上位ｋ＝２０の各文字列について、単語「まとめ会」を含む文字列の順位を特定する。図９に示す例では、単語「まとめ会」を含む文字列は、順位３、１３、１５、２０の文字列となる。【００６７】
類似度算出部１５０ｄは、順位３の文字列「まとめ会＾ＯＳＡ」に含まれる単語「まとめ会」の類似度を「０．９８２６×１／ｌｏｇ（３＋１）＝１．６３２０」により算出する。類似度算出部１５０ｄは、順位１３の文字列「まとめ会」に含まれる単語「まとめ会」の類似度を「０．９６７５×１／ｌｏｇ（１３＋１）＝０．８４４２」により算出する。類似度算出部１５０ｄは、順位１５の文字列「まとめ会」に含まれる単語「まとめ会」の類似度を「０．９６７４×１／ｌｏｇ（１５＋１）＝０．８０３４」により算出する。類似度算出部１５０ｄは、順位２０の文字列「まとめ会」に含まれる単語「まとめ会」の類似度を「０．９６３０×１／ｌｏｇ（２０＋１）＝０．７２９８３」により算出する。【００６８】
類似度算出部１５０ｄは、単語「まとめ会」の各類似度の総計を算出することで、Ｖｉを算出する。具体的には、Ｖｉ＝１．６３２０＋０．８４４２＋０．８０３４＋０．７２９８３＝４．００８となる。類似度算出部１５０ｄは、「Ｕｉ＝４」と「Ｖｉ＝４．００８」と、式（１）により、単語「特許」の類似度（正規化前）を「５．６６８」として算出する。【００６９】
なお、特許の類似度を算出する場合において、類似度算出部１５０ｄは、ｎｏｒｍ＝５．６６８である旨を算出済みである。類似度算出部１５０ｄは、式（２）により、単語「まとめ会」の類似度（正規化後）「０．８１７０」を算出する。【００７０】
なお、「まとめの会＾ＯＳＡ」については、基準となる文字列「特許＾ＯＳＡ」とユーザ名が同一となるため、第１条件に基づき、類似度は「０．９８２５」となる。他の「まとめ会、まとめの会＾ＩＩ、まとめの会＾ＳＡＩ」については、ユーザ名が異なるので、各「まとめ会、まとめの会＾ＩＩ、まとめの会＾ＳＡＩ」の類似度は、「まとめ会」の類似度「０．８１７０」となる。【００７１】
類似度算出部１５０ｄは、他の文字列の単語についても、上記処理を行うことで、図９に示した第１類似度テーブル１４０ｅのリストから、図１１に示した第２類似度テーブル１４０ｆのリストを生成する。類似度算出部１５０ｄは、類似度の降順に、文字列と類似度とをソートして、順位を設定する。【００７２】
類似度算出部１５０ｄは、図８の第１類似度テーブル１４０ｅの各リストについて、上記処理を繰り返し実行することで、図１０の第２類似度テーブル１４０ｆの各リストの情報を生成する。類似度算出部１５０ｄは、第２類似度テーブル１４０ｆの各リストの情報を、第２類似度テーブル１４０ｆに格納する。【００７３】
図３の説明に戻る。抽出部１５０ｅは、第２類似度テーブル１４０ｆを基にして、各基準文字列に類似する文字列（単語）を抽出する処理部である。たとえば、抽出部１５０ｅは、第２類似度テーブル１４０ｆを基にして、基準文字列毎に、順位Ｌ位までの文字列および類似度の情報を抽出し、抽出した抽出結果を表示部１３０に出力する。または、抽出部１５０ｅは、順位Ｌ位までの文字列および類似度の情報を外部装置に送信する。「Ｌ」は、適宜設定される１以上の自然数である。【００７４】
検索処理部１５０ｆは、入力部１２０からユーザＩＤおよび打ち合わせ名（Ｘ）の入力を受け付けた場合に、打ち合わせ名と、類似概念となる単語を検索する処理部である。検索処理部１５０ｆは、検索結果を表示部１３０に出力して表示させる。以下において、検索処理部１５０ｆの処理の一例について説明する。【００７５】
検索処理部１５０ｆは、ユーザＩＤと、ユーザテーブル１４０ａとを比較して、ユーザＩＤに対応するユーザ名を取得する。検索処理部１５０ｆは、打ち合わせ名を形態素解析し、形態素リストを生成する。検索処理部１５０ｆは、形態素リストに含まれる各形態素について、形態素とユーザ名とを連結することで、検索文字列を作成する。たとえば、形態素「まとめ会」、ユーザ名を「ＯＳＡ」とすると、検索処理部１５０ｆは、検索文字列「まとめ会＾ＯＳＡ」を生成する。形態素が複数存在する場合には、複数の検索文字列が生成される。【００７６】
検索処理部１５０ｆは、検索文字列と、第２類似度テーブル１４０ｆの基準文字列とを比較して、検索文字列と同一の基準文字列を含むレコードを特定し、特定したレコードに含まれるリストを取得する。検索処理部１５０ｆは、取得したリストに含まれる各文字列と、類似度とを取得する。以下の説明では、取得したリストに含まれる各文字列に含まれる単語を「類義語」と表記する。また、類義語を含む文字列の類似度を、類義語の「スコア」と表記する。【００７７】
検索処理部１５０ｆは、類義語と、会議情報テーブル１４０ｂの打ち合わせ名とを比較し、類義語を含む打ち合わせ名（Ｙ）を特定し、特定した打ち合わせ名に対応するスコアに、類義語のスコアを加算する。各打ち合わせ名に対応するスコアの初期値を「０」とする。【００７８】
検索処理部１５０ｆは、打ち合わせ名に対するスコアを正規化してもよい。たとえば、式（３）に基づいて、打ち合わせ名に対応するスコアを正規化する。式（３）に含まれるＮは、打ち合わせ名（Ｘ）の形態素の数を、打ち合わせ名（Ｙ）の形態素の数で除算した値である。なお、Ｎが１よりも大きい場合には、Ｎの値を、打ち合わせ名（Ｙ）の形態素の数を、打ち合わせ名（Ｘ）の形態素の数で除算した値に更新する。【００７９】
スコア（正規化後）＝スコア（正規化前）／Ｎ・・・（３）【００８０】
検索処理部１５０ｆは、上記の処理を繰り返し実行することで、各打ち合わせ名（Ｙ）に対するスコアを算出する。検索処理部１５０ｆは、各打ち合わせ名（Ｙ）をスコアの降順にソートし、上位Ｍの打ち合わせ名を検索し、表示部１３０に出力する。【００８１】
次に、本実施例に係る情報処理装置１００の処理手順の一例について説明する。図１２は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。図１２に示すように、情報処理装置１００の取得部１５０ａは、会議情報テーブル１４０ｂの情報を、外部装置または入力部１２０から取得する（ステップＳ１０）。情報処理装置１００のテキスト生成部１５０ｂは、テキスト生成処理を実行する（ステップＳ１１）。【００８２】
情報処理装置１００の分散表現算出部１５０ｃは、各文字列の分散表現（ベクトル）を算出し、分散表現リスト１４０ｄに格納する（ステップＳ１２）。情報処理装置１００の類似度算出部１５０ｄは、各文字列の類似度を算出し、第１類似度テーブル１４０ｅに格納する（ステップＳ１３）。【００８３】
類似度算出部１５０ｄは、類似度算出処理を実行する（ステップＳ１４）。類似度算出部１５０ｄは、正規化処理を実行する（ステップＳ１５）。類似度算出部１５０ｄは、第２類似度テーブルの情報を生成する（ステップＳ１６）。情報処理装置１００の抽出部１５０ｅは、第２類似度テーブル１４０ｆの各リストの上位の文字列を抽出して出力する（ステップＳ１７）。【００８４】
続いて、図１２のステップＳ１１に示したテキスト生成処理の一例について説明する。図１３は、テキスト生成処理の処理手順を示すフローチャートである。図１３に示すように、情報処理装置１００のテキスト生成部１５０ｂは、会議情報テーブル１４０ｂから、レコードを取得する（ステップＳ１０１）。【００８５】
テキスト生成部１５０ｂは、記憶部１４０に出力バッファを設定する（ステップＳ１０２）。テキスト生成部１５０ｂは、レコードの打ち合わせ名を選択する（ステップＳ１０３）。テキスト生成部１５０ｂは、打ち合わせ名を形態素解析し、形態素リストを生成する（ステップＳ１０４）。テキスト生成部１５０ｂは、レコードの参加者リストを取得する（ステップＳ１０５）。【００８６】
テキスト生成部１５０ｂは、記憶部１４０に行バッファを設定する（ステップＳ１０６）。テキスト生成部１５０ｂは、形態素リストの各形態素（Ｗ）、参加者リストの各ユーザ（Ａ）について、行バッファに「Ｗ＾Ａ  Ｗ」を追加する処理を繰り返し実行する（ステップＳ１０７）。【００８７】
テキスト生成部１５０ｂは、出力バッファに行バッファの情報を追加し、改行する（ステップＳ１０８）。テキスト生成部１５０ｂは、全てのレコードを、会議情報テーブル１４０ｂから取得したか否かを判定する（ステップＳ１０９）。テキスト生成部１５０ｂは、全てのレコードを、会議情報テーブル１４０ｂから取得していない場合には（ステップＳ１０９，Ｎｏ）、ステップＳ１０１に移行する。【００８８】
一方、テキスト生成部１５０ｂは、全てのレコードを、会議情報テーブル１４０ｂから取得した場合には（ステップＳ１０９，Ｙｅｓ）、ステップＳ１１０に移行する。テキスト生成部１５０ｂは、出力バッファの情報をテキストデータ１４０ｃとして記憶部１４０に格納する（ステップＳ１１０）。【００８９】
続いて、図１２のステップＳ１４に示した類似度算出処理の一例について説明する。図１４は、類似度算出処理の処理手順を示すフローチャートである。図１４に示すように、類似度算出部１５０ｄは、第１類似度テーブルの各基準文字列の一覧を取得する（ステップＳ２０１）。【００９０】
類似度算出部１５０ｄは、基準文字列ＷＡを選択し、基準文字列ＷＡに対応するリストについて上位ｋの各文字列の単語（ｗ１，ｗ２，・・・，ｗｋ）を取得する（ステップＳ２０２）。類似度算出部１５０ｄは、各文字列の単語（ｗ１，ｗ２，・・・，ｗｋ）のカウントＵ、類似度Ｖを初期化する（ステップＳ２０３）。【００９１】
類似度算出部１５０ｄは、単語ｗｉにユーザ（ユーザ名）が連結していない場合には（ステップＳ２０４，Ｎｏ）、ステップＳ２０５に移行する。一方、類似度算出部１５０ｄは、単語ｗｉにユーザ（ユーザ名）が連結している場合には（ステップＳ２０４，Ｙｅｓ）、ステップＳ２０７に移行する。【００９２】
ステップＳ２０５の処理について説明する。類似度算出部１５０ｄは、カウントＵ［ｗｉ］に１を加算する処理を行う（ステップＳ２０５）。類似度算出部１５０ｄは、類似度Ｖ［ｗｉ］に、ｗｉの類似度×１／ｌｏｇ（ｉ＋１）を加算する処理を行い（ステップＳ２０６）、ステップＳ２０９に移行する。【００９３】
ステップＳ２０７の処理について説明する。類似度算出部１５０ｄは、基準文字列ＷＡに含まれるユーザ（ｐ）と、文字列ｗｉに含まれるユーザ（ｐｉ）とが同一であるか否かを判定する（ステップＳ２０７）。類似度算出部１５０ｄは、基準文字列ＷＡに含まれるユーザ（ｐ）と、文字列ｗｉに含まれるユーザ（ｐｉ）とが同一でない場合には（ステップＳ２０７，Ｎｏ）、ステップＳ２０５に移行する。【００９４】
一方、類似度算出部１５０ｄは、基準文字列ＷＡに含まれるユーザ（ｐ）と、文字列ｗｉに含まれるユーザ（ｐｉ）とが同一である場合には（ステップＳ２０７，Ｙｅｓ）、ｗｉ＾ｐｉの類似度（ｓｃｏｒｅ（ＷＡ，ｗｉ））をそのまま登録し（ステップＳ２０８）、ステップＳ２０５に移行する。【００９５】
類似度算出部１５０ｄは、ｉに１を加算する（ステップＳ２０９）。類似度算出部１５０ｄは、ｉがｋ以下である場合には（ステップＳ２１０，Ｙｅｓ）、ステップＳ２０４に移行する。一方、類似度算出部１５０ｄは、ｉがｋより大きい場合には（ステップＳ２１０，Ｎｏ）、ステップＳ２１１に移行する。【００９６】
類似度算出部１５０ｄは、基準文字列ＷＡに対するｗｉの類似度を登録する（ステップＳ２１１）。類似度算出部１５０ｄは、全ての基準文字列を選択していない場合には（ステップＳ２１２，Ｎｏ）、ステップＳ２０２に移行する。一方、類似度算出部１５０ｄは、全ての基準文字列を選択した場合には（ステップＳ２１２，Ｙｅｓ）、処理を終了する。【００９７】
続いて、図１２のステップＳ１５に示した正規化処理の一例について説明する。図１５は、正規化処理の処理手順を示すフローチャートである。図１５に示すように、類似度算出部１５０ｄは、基準文字列ＷＡの単語Ｗを選択する（ステップＳ３０１）。類似度算出部１５０ｄは、単語Ｗ（ｗＸ）と同一の単語の類似度をｎｏｒｍとして設定する（ステップＳ３０２）。【００９８】
類似度算出部１５０ｄは、単語Ｗの類似単語Ｔ（ｗｉ）を選択する（ステップＳ３０３）。類似度算出部１５０ｄは、類似単語Ｔの形式がｗ＾ｐである場合には（ステップＳ３０４，Ｙｅｓ）、ステップＳ３０６に移行する。一方、類似度算出部１５０ｄは、類似単語Ｔの形式が、ｗ＾ｐでない場合には（ステップＳ３０４，Ｎｏ）、単語Ｗと類似単語ＴＴとの類似度を正規化する（ステップＳ３０５）。【００９９】
類似度算出部１５０ｄは、全ての類似単語Ｔを選択していない場合には（ステップＳ３０６）、ステップＳ３０３に移行する。一方、類似度算出部１５０ｄは、全ての類似単語Ｔを選択した場合には（ステップＳ３０６，Ｙｅｓ）、ステップＳ３０７に移行する。【０１００】
類似度算出部１５０ｄは、全ての単語Ｗを選択していない場合には（ステップＳ３０７，Ｎｏ）、ステップＳ３０１に移行する。一方、類似度算出部１５０ｄは、全ての単語Ｗを選択した場合には（ステップＳ３０７，Ｙｅｓ）、処理を終了する。【０１０１】
次に、本実施例に係る情報処理装置１００の検索処理部１５０ｆが実行する処理手順の一例について説明する。図１６は、検索処理部の処理手順を示すフローチャートである。図１６に示すように、情報処理装置１００の検索処理部１５０ｆは、入力部１２０からユーザＩＤを受け付け、ユーザテーブル１４０ａから、ユーザ名を取得する（ステップＳ４０１）。検索処理部１５０ｆは、入力部１２０から打ち合わせ名の入力を受け付ける（ステップＳ４０２）。【０１０２】
検索処理部１５０ｆは、打ち合わせ名を形態素解析し、形態素リストを生成する（ステップＳ４０３）。検索処理部１５０ｆは、検索文字列を生成する（ステップＳ４０４）。検索処理部１５０ｆは、全ての打ち合わせ名のスコアを０に初期化する（ステップＳ４０５）。【０１０３】
検索処理部１５０ｆは、検索文字列に対応する類似度のリストを第２類似度テーブル１４０ｆから取得する（ステップＳ４０６）。検索処理部１５０ｆは、リストに含まれる類義を選択する（ステップＳ４０７）。検索処理部１５０ｆは、類義語とスコアを取得する（ステップＳ４０８）。【０１０４】
検索処理部１５０ｆは、類義語を含む打ち合わせ名のリストを取得し、それぞれの打ち合わせ名について、類義語のスコアを加算する（ステップＳ４０９）。検索処理部１５０ｆは、各打ち合わせ名のスコアを正規化する（ステップＳ４１０）。【０１０５】
検索処理部１５０ｆは、全ての類義語を選択していない場合には（ステップＳ４１１，Ｎｏ）、ステップＳ４０７に移行する。一方、検索処理部１５０ｆは、各打ち合わせ名をスコアの降順にソートし、上位の打ち合わせ名を表示部１３０に出力する（ステップＳ４１２）。【０１０６】
次に、本実施例に係る情報処理装置１００の効果について説明する。情報処理装置１００は、会議の参加者リストの各ユーザ、各打ち合わせ名を基にして、打ち合わせ名の単語（形態素）とユーザ名とを連結した文字列の分散表現をそれぞれ比較して、類似度を算出する。これによって、ある打ち合わせの単語と類似の概念となる単語を検出することができる。【０１０７】
たとえば、分散表現を割り当てる文字列には、ユーザ名、打ち合わせ名の形態素が含まれるため、同一の打ち合わせに参加したユーザが含まれる文字列同士は、同一の打ち合わせに参加していないユーザが含まれない文字列同士と比較して、分散表現が類似する傾向を利用して、ある打ち合わせの単語と類似の概念となる単語を検出している。【０１０８】
たとえば、情報処理装置１００により算出される類義語のリストは、上記の図２の１０Ｂに示すものとなる。図２のリスト１０Ｂに示すように、基準となる単語「特許」と類似の概念となる「まとめの会＾ＯＳＡ」、「抽出会」の類似度が大きくなっている。また、多くのノイズを削減できる。すなわち、本実施例に示す情報処理装置によれば、図１８で説明した従来技術の結果と比較して、指定された単語と類似の概念となる単語を検出する処理が改善される。【０１０９】
情報処理装置１００は、基準文字列の分散表現と、比較対象の文字列の分散表現とを比較して、類似度を算出し、第１類似度テーブル１４０ｅを生成する。また、情報処理装置１００は、基準文字列に対応するリストを第１類似度テーブル１４０ｅから取得し、リストに含まれる比較対象の文字列の順位を基にして、比較対象の文字列の類似度を算出（補正）する。これにより、順位が上であるほど、類似度を大きく設定でき、検出精度を向上できる。【０１１０】
情報処理装置１００は、リストに含まれる比較対象の文字列の上位ｋのうち、比較対象の文字列の単語の出現回数を基にして、比較対象の文字列の類似度を算出（補正）する。これにより、上位ｋの文字列に含まれる単語のうち、出現回数の多い単語の類似度を大きく設定でき、検出精度を向上できる。ｋは、予め設定される値である。【０１１１】
図１７は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０１１２】
図１７に示すように、コンピュータ４００は、各種演算処理を実行するＣＰＵ４０１と、ユーザからのデータの入力を受け付ける入力装置４０２と、ディスプレイ４０３とを有する。また、コンピュータ４００は、記憶媒体からプログラム等を読み取る読み取り装置４０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置４０５とを有する。コンピュータ４００は、各種情報を一時記憶するＲＡＭ４０６と、ハードディスク装置４０７とを有する。そして、各装置４０１〜４０７は、バス４０８に接続される。【０１１３】
ハードディスク装置４０７は、取得プログラム４０７ａ、テキスト生成プログラム４０７ｂ、分散表現算出プログラム４０７ｃ、類似度算出プログラム４０７ｄ、抽出プログラム４０７ｅ、検索プログラム４０７ｆを有する。ＣＰＵ４０１は、取得プログラム４０７ａ、テキスト生成プログラム４０７ｂ、分散表現算出プログラム４０７ｃ、類似度算出プログラム４０７ｄ、抽出プログラム４０７ｅ、検索プログラム４０７ｆを読み出して、ＲＡＭ４０６に展開する。【０１１４】
取得プログラム４０７ａは、取得プロセス４０６ａとして機能する。テキスト生成プログラム４０７ｂは、テキスト生成プロセス４０６ｂとして機能する。分散表現算出プログラム４０７ｃは、分散表現算出プロセス４０６ｃとして機能する。類似度算出プログラム４０７ｄは、類似度算出プロセス４０６ｄとして機能する。抽出プログラム４０７ｅは、抽出プロセス４０６ｅとして機能する。検索プログラム４０７ｆは、検索プロセス４０６ｆとして機能する。【０１１５】
取得プロセス４０６ａの処理は、取得部１５０ａの処理に対応する。テキスト生成プロセス４０６ｂの処理は、テキスト生成部１５０ｂの処理に対応する。分散表現算出プロセス４０６ｃの処理は、分散表現算出部１５０ｃの処理に対応する。類似度算出プロセス４０６ｄの処理は、類似度算出部１５０ｄの処理に対応する。抽出プロセス４０６ｅの処理は、抽出部１５０ｅの処理に対応する。検索プログラム４０７ｆの処理は、検索処理部１５０ｆの処理に対応する。【０１１６】
なお、各プログラム４０７ａ〜４０７ｆについては、必ずしも最初からハードディスク装置４０７に記憶させておかなくてもよい。例えば、コンピュータ４００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ４００が各プログラム４０７ａ〜４０７ｆを読み出して実行するようにしてもよい。
【符号の説明】
【０１１７】
１００    情報処理装置
１１０    通信部
１２０    入力部
１３０    表示部
１４０    記憶部
１４０ａ  ユーザテーブル
１４０ｂ  会議情報テーブル
１４０ｃ  テキストデータ
１４０ｄ  分散表現リスト
１４０ｅ  第１類似度テーブル
１４０ｆ  第２類似度テーブル
１５０    制御部
１５０ａ  取得部
１５０ｂ  テキスト生成部
１５０ｃ  分散表現算出部
１５０ｄ  類似度算出部
１５０ｅ  抽出部
１５０ｆ  検索処理部
【図１】
2020144730.tif 000003
【図２】
2020144730.tif 000004
【図３】
2020144730.tif 000005
【図４】
2020144730.tif 000006
【図５】
2020144730.tif 000007
【図６】
2020144730.tif 000008
【図７】
2020144730.tif 000009
【図８】
2020144730.tif 000010
【図９】
2020144730.tif 000011
【図１０】
2020144730.tif 000012
【図１１】
2020144730.tif 000013
【図１２】
2020144730.tif 000014
【図１３】
2020144730.tif 000015
【図１４】
2020144730.tif 000016
【図１５】
2020144730.tif 000017
【図１６】
2020144730.tif 000018
【図１７】
2020144730.tif 000019
【図１８】
2020144730.tif 000020
【手続補正書】
【提出日】令和3年5月6日(2021.5.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが実行する抽出方法であって、
第一のユーザが入力した第一の単語を取得し、
第二のユーザが入力した第二の単語を取得し、
前記第一の単語と前記第一のユーザを識別する文字列とを含む第一の文字列の第一の分散表現を算出し、
前記第二の単語と前記第二のユーザを識別する文字列とを含む第二の文字列の第二の分散表現を算出し、
前記第一の分散表現と前記第二の分散表現との類似度を算出し、
前記類似度を基にして、前記第二の分散表現に対応付けられた単語を抽出する
処理を実行することを特徴とする抽出方法。
【請求項２】
前記第一の分散表現を算出する処理は、前記第一の単語と前記第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出し、前記第二の分散表現を算出する処理は、前記第二の単語と前記第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出することを特徴とする請求項１に記載の抽出方法。
【請求項３】
前記第二の分散表現を算出する処理は、複数の前記第二の文字列に対応する複数の前記第二の分散表現を算出し、前記類似度を算出する処理は、前記第一の分散表現と、前記複数の第二の分散表現との類似度をそれぞれ算出し、
複数の前記類似度を基にして、前記複数の第二の分散表現に対応する前記複数の第二の文字列の順位を特定し、特定した順位を基にして、前記第二の文字列の類似度を補正する処理を更に実行することを特徴とする請求項１に記載の抽出方法。
【請求項４】
前記補正する処理は、前記順位を基にして、所定の順位よりも上位の第二の文字列を特定し、前記上位の第二の文字列に含まれる第二の単語の出現回数を基にして、前記類似度を補正することを特徴とする請求項３に記載の抽出方法。
【請求項５】
前記単語を抽出する処理は、補正された前記類似度を基にして、複数の第二の文字列を類似度の降順にソートし、上位の第二の文字列に含まれる単語を抽出することを特徴とする請求項２、３または４に記載の抽出方法。
【請求項６】
コンピュータに、
第一のユーザが入力した第一の単語を取得し、
第二のユーザが入力した第二の単語を取得し、
前記第一の単語と前記第一のユーザを識別する文字列とを連結した第一の文字列の第一の分散表現を算出し、
前記第二の単語と前記第二のユーザを識別する文字列とを連結した第二の文字列の第二の分散表現を算出し、
前記第一の分散表現と前記第二の分散表現との類似度を算出し、
前記類似度を基にして、前記第二の分散表現に対応付けられた単語を抽出する
処理を実行させることを特徴とする抽出プログラム。
【請求項７】
第一のユーザが入力した第一の単語を取得し、第二のユーザが入力した第二の単語を取得する取得部と、
前記第一の単語と前記第一のユーザを識別する文字列とを含む第一の文字列の第一の分散表現を算出し、前記第二の単語と前記第二のユーザを識別する文字列とを含む第二の文字列の第二の分散表現を算出する分散表現算出部と、
前記第一の分散表現と前記第二の分散表現との類似度を算出する類似度算出部と、
前記類似度を基にして、前記第二の分散表現に対応付けられた単語を抽出する抽出部と
を有することを特徴とする情報処理装置。
【国際調査報告】
2020144730.tif 000021
2020144730.tif 000022
2020144730.tif 000023
2020144730.tif 000024