(57)【要約】【課題】従来、過去にユーザが入力した文章などに基づいて、過去の経験や、過去に考えたことを示唆し、ユーザの現在の状態をアシストする、ということができなかった。【解決手段】ユーザが過去に入力した１以上の文に基づく情報であるユーザ情報を格納し得るユーザ情報格納部と、ユーザからキーワードを含む入力情報を受け付ける受付部と、前記入力情報に含まれるキーワードを用いて、前記ユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得部と、前記ユーザ情報取得部が取得したユーザ情報を用いて、出力する情報である出力情報を構成する出力情報構成部と、前記出力情報を出力する出力部を具備する情報処理装置により、過去にユーザが入力した文章などに基づいて、過去の経験や、過去に考えたことを示唆し、ユーザの現在の状態をアシストできる。【選択図】図１
2009053882.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが過去に入力した１以上の文に基づく情報であるユーザ情報を格納し得るユーザ情報格納部と、
キーワードを含む入力情報を受け付ける受付部と、
前記入力情報に含まれるキーワードを用いて、前記ユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得部と、
前記ユーザ情報取得部が取得したユーザ情報を用いて、出力する情報である出力情報を構成する出力情報構成部と、
前記出力情報を出力する出力部を具備する情報処理装置。
【請求項２】
前記入力情報が文を含み、
前記文が否定的な文であるか否かを判断する判断部をさらに具備し、
前記出力部は、
前記判断部における判断が、前記文が否定的な文であるとの判断である場合には、前記出力情報を出力しない請求項１記載の情報処理装置。
【請求項３】
前記出力情報構成部は、
前記ユーザ情報取得部が取得したユーザ情報を用いて、前記ユーザ情報の元になった文である出力情報を取得する請求項１または請求項２記載の情報処理装置。
【請求項４】
前記ユーザ情報取得部は、
第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を１以上格納している辞書情報格納手段と、
前記入力情報から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を２以上の文字列である２以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御手段と、
前記文分割制御手段が取得した第二文字列の種類からキーワードを含む第二文字列を特定し、当該第二文字列からキーワードを取得するキーワード取得手段と、
前記キーワード取得手段が取得したキーワードを用いて、前記ユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得手段を具備する請求項１から請求項３いずれか記載の情報処理装置。
【請求項５】
前記文分割制御手段は、
前記入力情報をメモリ上に読み出し、当該文の先頭から予め決められたサイズ（ｎ文字［ｎは２以上の整数］）の第三文字列を切り出し、メモリ上に配置し、
前記切り出した第三文字列を構成する文字列であって、先頭からｎ文字の文字列から順に、前記辞書情報格納手段に当該文字列が存在するか否かを判断し、ｎ文字の文字列が存在しない場合には、先頭から（ｎ−１）文字の文字列が前記辞書情報格納手段に存在するか否かを判断し、かかる判断を、１文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から１文字になるまでかかる判断を行い、
文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納手段から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、
文字列が存在しない場合には、１文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割手段と、
前記要素分割手段が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、
前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、
隣接する２つの、前記要素分割手段が分割した要素またはまとまり情報を読み出し、
当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、
連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数取得する要素連結手段と、
前記要素連結手段が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、
当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得手段を具備する請求項４記載の情報処理装置。
【請求項６】
評価対象の良し悪しに関する用語である評価語を有する評価情報を１以上格納している評価情報格納部をさらに具備し、
前記判断部は、
前記評価情報格納部に格納されている評価語であり、評価対象の否定的な用語である評価語を、前記文の中に含むか否かを判断し、含むとの判断である場合に、前記文が否定的な文であると判断する請求項２記載の情報処理装置。
【請求項７】
キーワードに対する評価の変更を示す言い回しの用語である変更語を有する変更情報を１以上格納している変更情報格納部と、
評価語から所定以内の文字数の距離内にある変更語を、前記文の中から取得する変更語取得部をさらに具備し、
前記判断部は、
前記評価情報格納部に格納されている評価語であり、前記文の中に含まれる評価語を取得し、当該取得した評価語と、前記変更語取得部が取得した変更語を用いて、前記文が否定的な文であるか否かを判断する請求項６記載の情報処理装置。
【請求項８】
第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を１以上格納している辞書情報格納部と、
ユーザが過去に入力した１以上の文章群であり、１以上の解析対象の文章群を構成する文をメモリ上に取得し、当該文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を２以上の文字列である２以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御部と、
前記文分割制御部が取得した２以上の区切られた各第二文字列を少なくとも用いてユーザ情報を構成し、当該ユーザ情報を、前記ユーザ情報格納部に蓄積する蓄積部をさらに具備する請求項１から請求項７いずれか記載の情報処理装置。
【請求項９】
前記文分割制御部は、
前記文格納部の文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ（ｎ文字［ｎは２以上の整数］）の第三文字列を切り出し、メモリ上に配置し、
前記切り出した第三文字列を構成する文字列であって、先頭からｎ文字の文字列から順に、前記辞書情報格納部に当該文字列が存在するか否かを判断し、ｎ文字の文字列が存在しない場合には、先頭から（ｎ−１）文字の文字列が前記辞書情報格納部に存在するか否かを判断し、かかる判断を、１文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から１文字になるまでかかる判断を行い、
文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納部から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、
文字列が存在しない場合には、１文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割手段と、
前記要素分割手段が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、
前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、
隣接する２つの、前記要素分割手段が分割した要素またはまとまり情報を読み出し、
当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、
連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数取得する要素連結手段と、
前記要素連結手段が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、
当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得手段を具備する請求項８記載の情報処理装置。
【請求項１０】
受付部と、ユーザ情報取得部と、出力情報構成部と、出力部により実現される情報処理方法であって、
前記受付部により、キーワードを含む入力情報を受け付ける受付ステップと、
前記ユーザ情報取得部により、前記入力情報に含まれるキーワードを用いて、ユーザが過去に入力した１以上の文に基づく情報であるユーザ情報を格納しているユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得ステップと、
前記出力情報構成部により、前記ユーザ情報取得ステップで取得したユーザ情報を用いて、出力する情報である出力情報を構成する出力情報構成ステップと、
前記出力部により、前記出力情報を出力する出力ステップを具備する情報処理方法。
【請求項１１】
受付部と、ユーザ情報取得部と、出力情報構成部と、出力部と、判断部により実現される請求項１０記載の情報処理方法であって、
前記入力情報が文を含み、
前記判断部により、前記文が否定的な文であるか否かを判断する判断ステップをさらに具備し、
前記出力ステップにおいて、
前記判断ステップにおける判断が、前記文が否定的な文であるとの判断である場合には、前記出力情報を出力しない請求項１０記載の情報処理方法。
【請求項１２】
コンピュータを、
キーワードを含む入力情報を受け付ける受付部と、
前記入力情報に含まれるキーワードを用いて、ユーザが過去に入力した１以上の文に基づく情報であるユーザ情報を格納しているユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得部と、
前記ユーザ情報取得部が取得したユーザ情報を用いて、出力する情報である出力情報を構成する出力情報構成部と、
前記出力情報を出力する出力部として機能させるためのプログラム。
【請求項１３】
前記入力情報が文を含み、
コンピュータを、
前記文が否定的な文であるか否かを判断する判断部としてさらに機能させ、
前記出力部は、
前記判断部における判断が、前記文が否定的な文であるとの判断である場合には、前記出力情報を出力しないように機能させるための請求項１２記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが入力した情報に対して、アシストを行う情報処理装置等に関するものである。
【背景技術】
【０００２】
従来、インターネット等を通じてＷｅｂページにアクセス可能なブラウザの機能をアシストするブラウジングアシスト装置があった（例えば、特許文献１参照）。本アシスト装置は、ページデータに基づいてブラウザ画面中に表示を行なうブラウザ機能を補助するブラウジングアシスト装置であって、前記ページデータを解析してページ属性を検出する属性検出手段と、前記属性検出手段によって検出されたページ属性に応じた処理を実行する処理手段と、ブラウザ画面にキャラクタ画像を付加し、このキャラクタ画像を通じて前記処理手段による処理結果を出力させるキャラクタ制御手段とを具備したことを特徴とする。これにより、ブラウザ機能によりＷｅｂページにアクセスされた場合に、アクセス対象とするページの属性に応じた処理が実行され、その処理結果がブラウザ画面に付加されたキャラクタ画像を通じて出力されるので、ユーザが嗜好するページに応じた反応をキャラクタ画像が示すことになる。
【特許文献１】特開２００１−３５０７５６号公報（第１頁、第１図等）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の装置においては、過去にユーザが入力した文章などに基づいて、過去の経験や、過去に考えたことを示唆し、ユーザの現在の状態をアシストする、ということができなかった。
【課題を解決するための手段】
【０００４】
本第一の発明の情報処理装置は、ユーザが過去に入力した１以上の文に基づく情報であるユーザ情報を格納し得るユーザ情報格納部と、キーワードを含む入力情報を受け付ける受付部と、前記入力情報に含まれるキーワードを用いて、前記ユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得部と、前記ユーザ情報取得部が取得したユーザ情報を用いて、出力する情報である出力情報を構成する出力情報構成部と、前記出力情報を出力する出力部を具備する情報処理装置である。
【０００５】
かかる構成により、過去にユーザが入力した文章などに基づいて、過去の経験や、過去に考えたことを示唆し、ユーザの現在の状態をアシストできる。
【０００６】
また、本第二の発明の情報処理装置は、第一の発明に対して、前記入力情報が文を含み、前記文が否定的な文であるか否かを判断する判断部をさらに具備し、前記出力部は、前記判断部における判断が、前記文が否定的な文であるとの判断である場合には、前記出力情報を出力しない情報処理装置である。
【０００７】
かかる構成により、否定的でない事項に対して、ユーザの現在の状態をアシストできる。そのため、アシストを要しない場合に、アシストの情報が出力される、という煩わしさを減らすことができる。
【０００８】
また、本第三の発明の情報処理装置は、第一、第二いずれかの発明に対して、前記出力情報構成部は、前記ユーザ情報取得部が取得したユーザ情報を用いて、前記ユーザ情報の元になった文である出力情報を取得する情報処理装置である。
【０００９】
かかる構成により、ユーザが過去に入力した文をそのまま利用して、ユーザの現在の状態を、わかりやすくアシストできる。
【００１０】
また、本第四の発明の情報処理装置は、第一から第三いずれかの発明に対して、前記ユーザ情報取得部は、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を１以上格納している辞書情報格納手段と、前記入力情報から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を２以上の文字列である２以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御手段と、前記文分割制御手段が取得した第二文字列の種類からキーワードを含む第二文字列を特定し、当該第二文字列からキーワードを取得するキーワード取得手段と、前記キーワード取得手段が取得したキーワードを用いて、前記ユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得手段を具備する情報処理装置である。
【００１１】
かかる構成により、ブログやチャットなどの、文法がいいかげんな文や、倒置が発生している文や、主語が省略されている文などに対しても、精度高く、入力情報を解析して、入力された情報に合致したアシストが可能となる。
【００１２】
また、本第五の発明の情報処理装置は、第四の発明に対して、前記文分割制御手段は、前記入力情報をメモリ上に読み出し、当該文の先頭から予め決められたサイズ（ｎ文字［ｎは２以上の整数］）の第三文字列を切り出し、メモリ上に配置し、前記切り出した第三文字列を構成する文字列であって、先頭からｎ文字の文字列から順に、前記辞書情報格納手段に当該文字列が存在するか否かを判断し、ｎ文字の文字列が存在しない場合には、先頭から（ｎ−１）文字の文字列が前記辞書情報格納手段に存在するか否かを判断し、かかる判断を、１文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から１文字になるまでかかる判断を行い、文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納手段から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、１文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割手段と、前記要素分割手段が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する２つの、前記要素分割手段が分割した要素またはまとまり情報を読み出し、当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数取得する要素連結手段と、前記要素連結手段が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得手段を具備する情報処理装置である。
【００１３】
かかる構成により、ブログやチャットなどの、文法がいいかげんな文や、倒置が発生している文や、主語が省略されている文などに対しても、精度高く、入力情報を解析して、入力された情報に合致したアシストが可能となる。
【００１４】
また、本第六の発明の情報処理装置は、第二の発明に対して、評価対象の良し悪しに関する用語である評価語を有する評価情報を１以上格納している評価情報格納部をさらに具備し、前記判断部は、前記評価情報格納部に格納されている評価語であり、評価対象の否定的な用語である評価語を、前記文の中に含むか否かを判断し、含むとの判断である場合に、前記文が否定的な文であると判断する情報処理装置である。
【００１５】
かかる構成により、否定的でない事項に対して、ユーザの現在の状態をアシストできる。
【００１６】
また、本第七の発明の情報処理装置は、第六の発明に対して、キーワードに対する評価の変更を示す言い回しの用語である変更語を有する変更情報を１以上格納している変更情報格納部と、評価語から所定以内の文字数の距離内にある変更語を、前記文の中から取得する変更語取得部をさらに具備し、前記判断部は、前記評価情報格納部に格納されている評価語であり、前記文の中に含まれる評価語を取得し、当該取得した評価語と、前記変更語取得部が取得した変更語を用いて、前記文が否定的な文であるか否かを判断する情報処理装置である。
【００１７】
かかる構成により、否定的でない事項に対して、ユーザの現在の状態を、精度高くアシストできる。そのため、アシストを要しない場合に、アシストの情報が出力される、という煩わしさを減らすことができる。
【００１８】
また、本第八の発明の情報処理装置は、第一から第七いずれかの発明に対して、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を１以上格納している辞書情報格納部と、ユーザが過去に入力した１以上の文章群であり、１以上の解析対象の文章群を構成する文をメモリ上に取得し、当該文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を２以上の文字列である２以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御部と、前記文分割制御部が取得した２以上の区切られた各第二文字列を少なくとも用いてユーザ情報を構成し、当該ユーザ情報を、前記ユーザ情報格納部に蓄積する蓄積部をさらに具備する情報処理装置である。
【００１９】
かかる構成により、適切なユーザ情報を、精度高く取得でき、高速なアシストが可能となる。
【００２０】
また、本第九の発明の情報処理装置は、第八の発明に対して、前記文分割制御部は、前記文格納部の文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ（ｎ文字［ｎは２以上の整数］）の第三文字列を切り出し、メモリ上に配置し、前記切り出した第三文字列を構成する文字列であって、先頭からｎ文字の文字列から順に、前記辞書情報格納部に当該文字列が存在するか否かを判断し、ｎ文字の文字列が存在しない場合には、先頭から（ｎ−１）文字の文字列が前記辞書情報格納部に存在するか否かを判断し、かかる判断を、１文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から１文字になるまでかかる判断を行い、文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納部から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、１文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割手段と、前記要素分割手段が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する２つの、前記要素分割手段が分割した要素またはまとまり情報を読み出し、当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数取得する要素連結手段と、前記要素連結手段が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得手段を具備する情報処理装置である。
【００２１】
かかる構成により、適切なユーザ情報を、精度高く取得でき、高速なアシストが可能となる。
【発明の効果】
【００２２】
本発明による情報処理装置によれば、過去にユーザが入力した文章などに基づいて、過去の経験や、過去に考えたことを示唆し、ユーザの現在の状態をアシストできる。
【発明を実施するための最良の形態】
【００２３】
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
（実施の形態１）
【００２４】
本実施の形態において、キーワードを含む入力情報を受け付け、例えば、いわゆるＣＧＭから取得したＤＢ（後述するユーザ情報格納部）に問い合わせ、過去のユーザの行動、考えていたことなどを出力し、ユーザのアシストを行う情報処理装置等について説明する。入力情報とは、通常、１以上の文である。また、入力情報の解析は、機能素解析という自然言語処理の手法を用いる。
【００２５】
図１は、本実施の形態における情報処理装置１を含む情報処理システムの概念図である。情報処理システムは、情報処理装置１、第一端末装置２、第二端末装置３を具備する。情報処理装置１は、１以上のユーザごとに、各ユーザが過去に入力した１以上の文、または当該１以上の文と、文から得られるユーザ情報のＤＢを格納している。第一端末装置２と第二端末装置３は、チャットを行ったり、ブログや電子メールを作成したりする端末である。第一端末装置２と第二端末装置３は、通常、使用するユーザが異なる。第一端末装置２と第二端末装置３は、例えば、パーソナルコンピュータや携帯端末や携帯電話等である。
【００２６】
図２は、本情報処理システムのブロック図である。
【００２７】
情報処理装置１は、ユーザ情報格納部１１、受付部１２、ユーザ情報取得部１３、出力情報構成部１４、出力部１５を具備する。
【００２８】
ユーザ情報取得部１３は、辞書情報格納手段１３１、文分割制御手段１３２、キーワード取得手段１３３、ユーザ情報取得手段１３４を具備する。
【００２９】
文分割制御手段１３２は、要素分割手段１３２１、要素連結手段１３２２、文字列取得手段１３２３を具備する。
【００３０】
第一端末装置２は、入力受付部２０１、送信部２０２、受信部２０３、情報出力部２０４を具備する。第二端末装置３は、入力受付部３０１、送信部３０２、受信部３０３、情報出力部３０４を具備する。なお、入力受付部２０１、送信部２０２、受信部２０３、情報出力部２０４は、それぞれ、入力受付部３０１、送信部３０２、受信部３０３、情報出力部３０４と同様の動作を行い、同様の実現手段により実現され得る、とする。
【００３１】
ユーザ情報格納部１１は、ユーザ情報を格納し得る。ユーザ情報とは、ユーザが過去に入力した１以上の文に基づく情報である。ユーザ情報は、ユーザが過去に入力した文そのままでも良い。また、ユーザ情報は、ユーザが過去に入力した文の集合であるファイルでも良い。また、ユーザ情報は、ユーザが過去に入力した１以上の文を自然言語処理して、取得した主題、副題、動作・状態などに対応する情報の集合である機能素解析結果でも良い。なお、機能素解析結果の取得方法は、実施の形態３等で述べる。ユーザ情報は、機能素解析結果とその元になった1以上の文でも良い。また、ユーザ情報は、ユーザが過去に入力した１以上の文を、機能素解析ではない自然言語処理（形態素解析など）を行い、取得された情報、例えば、主語と述語を有する情報でも良い。また、ユーザ情報は、ユーザが過去に入力した１以上の文を自然言語処理（形態素解析など）し、取得された自立語の集合と、元になる文でも良い。その他、ユーザ情報の構造は、問わない。
【００３２】
また、ユーザが過去に入力した１以上の文とは、ユーザが過去に入力したブログ、ＳＮＳに入力した文章群、電子メール、ＶｏＩＰ、メタバースに入力した文章群、チャット（音声チャットも含む）に入力した文章群などである。ここで、入力とは、テキスト入力、音声入力などを含む。つまり、ユーザ情報格納部１１は、仮想的な、ある人の人格を表している情報である、と言える。ユーザが過去に入力した１以上の文は、２以上の種類の元情報（例えば、「ブログとチャット」「ブログとチャットとＳＮＳ」「ブログとＶｏＩＰと電子メール」など）から取得された情報であることは好適である。ユーザ情報が、あるユーザの総合的な人格を示す情報となり得るからである。ユーザが過去に入力した１以上の文は、いわゆるＣＧＭ（Ｃｏｎｓｕｍｅｒ  Ｇｅｎｅｒａｔｅｄ  Ｍｅｄｉａ）でも良い。また、ユーザが文（音声も含む）を入力する装置は、情報処理装置１であるとは限らず、他の装置であるパーソナルコンピュータや、他の装置である携帯電話や携帯端末などでも良い。
【００３３】
ユーザ情報格納部１１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００３４】
受付部１２は、キーワードを含む入力情報を受け付ける。受付部１２は、通常、ユーザから、直接的または間接的に入力情報を受け付ける。受付部１２は、外部装置（第一端末装置２、第二端末装置３など）から、入力情報を受信しても良い。ここでの入力情報は、1以上の文であることが好適である。また、「ユーザから」とは、入力情報が、ユーザが入力した情報に基づく情報であれば良く、直接的にユーザから受け付ける必要はない。また、受け付けとは、チャット（音声チャットも含む）への文章の受け付け、ブログやＳＮＳや電子メールシステムへの文章の受け付け、ＶｏＩＰ、メタバースに入力された文章群の受け付けなどである。キーワードとは、例えば、後述する機能素解析の自然言語処理手法により得られた主題や副題に対応する用語などである。また、キーワードとは、例えば、形態素解析を含む自然言語処理手法により得られた主語を構成する用語、名詞などでも良い。キーワードとは、例えば、形態素解析を含む自然言語処理手法により得られた固有名詞（地名、人名など）でも良い。入力情報の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部１２は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。受付部１２は、無線または有線の通信手段で実現されても良い。
【００３５】
ユーザ情報取得部１３は、入力情報に含まれるキーワードを用いて、ユーザ情報格納部１１から、ユーザ情報を取得する。キーワードとは、例えば、主題や主語である。ユーザ情報とは、通常、キーワードを含む。ユーザ情報取得部１３は、通常、ＭＰＵやメモリ等から実現され得る。ユーザ情報取得部１３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３６】
辞書情報格納手段１３１は、辞書情報を１以上格納している。辞書情報は、第一文字列と、機能語情報と、前接続記号と、後接続記号とを対に有する情報である。第一文字列は、文字列である。機能語情報とは、文中における第一文字列の機能または種類を特定する情報である。前接続記号とは、第一文字列の前に接続され得る文字列の種類を特定する情報である。後接続記号とは、第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である。機能語情報、前接続記号、後接続記号の具体例は、後述する。辞書情報格納手段１３１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００３７】
文分割制御手段１３２は、入力情報から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を２以上の文字列である２以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する。
【００３８】
要素分割手段１３２１は、入力情報（通常、完全な文であるが、不完全な文でも良い）をメモリ上に読み出し、当該文の先頭から予め決められたサイズ（ｎ文字[ｎは２以上の整数]）の第三文字列を切り出し、メモリ上に配置し、当該切り出した第三文字列を構成する文字列であって、先頭からｎ文字の文字列から順に、辞書情報格納手段１３１に当該文字列が存在するか否かを判断し、ｎ文字の文字列が存在しない場合には、先頭から（ｎ−１）文字の文字列が辞書情報格納手段１３１に存在するか否かを判断し、かかる判断を、１文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から１文字になるまでかかる判断を行い、文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、辞書情報格納手段１３１から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、１文字の文字列に対して未知語であることを示す情報である未知語情報を付与する。
【００３９】
要素連結手段１３２２は、要素分割手段１３２１が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する２つの、要素分割手段１３２１が分割した要素またはまとまり情報を読み出し、当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数、取得する。
【００４０】
文字列取得手段１３２３は、要素連結手段１３２２が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する。
【００４１】
キーワード取得手段１３３は、文分割制御手段１３２が取得した第二文字列の種類からキーワードを含む第二文字列を特定し、当該第二文字列からキーワードを取得する。ここで、種類とは、例えば、主題、副題などである。第二文字列からキーワードを取得する方法は、例えば、第二文字列から自立語を取得したり、漢字列や、カタカナ列を取得したり、機能語を除いたりする方法がある。
【００４２】
ユーザ情報取得手段１３４は、キーワード取得手段１３３が取得したキーワードを用いて、ユーザ情報格納部１１から、ユーザ情報を取得する。「キーワードを用いて」とは、例えば、キーワードを含むユーザ情報を取得したり、キーワードを含むまたは一致する主題を有するユーザ情報を取得したり、キーワードを含むまたは一致する副題を有するユーザ情報を取得したりする処理である。
【００４３】
出力情報構成部１４は、ユーザ情報取得部１３が取得したユーザ情報を用いて、出力する情報である出力情報を構成する。出力情報構成部１４は、例えば、ユーザ情報取得部１３が取得したユーザ情報を用いて、ユーザ情報の元になった文である出力情報を取得する。つまり、出力情報は、例えば、ユーザ情報の元になった文でも良いし、ユーザ情報の元になった文を含む前後３文などでも良いし、文が含まれるＵＲＬでも良いし、文が含まれるファイルなどでも良い。また、出力情報は、例えば、ユーザ情報そのままでも良いし、ユーザ情報をさらに要約した情報（例えば、主題と動作・状態のみ、など）でも良いし、ユーザ情報の元になった文を要約した情報でも良い。つまり、出力情報は、ユーザ情報を用いて構成された情報であれば何でも良く、そのデータ構造などは問わない。また、ここでの出力情報の取得とは、文をローカルの記憶媒体から読み出しても良いし、ネットワークを介して取得しても良い。出力情報は、通常、入力情報に関連する情報である。また、出力情報は、入力情報に関連する情報であり、当該ユーザの過去の経験、考え、思想などを表す情報であることは好適である。出力情報構成部１４は、通常、ＭＰＵやメモリ等から実現され得る。出力情報構成部１４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４４】
出力部１５は、出力情報を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。出力部１５は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部１５は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００４５】
入力受付部２０１は、入力を受け付ける。受け付ける入力は、各種情報、命令など、何でも良い。各種情報とは、チャットシステムに入力される文章群、ブログ、ＳＮＳに入力される文章群、電子メール、ＶｏＩＰ、メタバースに入力した文章群などである、なお、ＶｏＩＰに入力される情報を音声認識する音声認識手段（図示しない）を、第一端末装置２または第二端末装置３が有しても良い。入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部２０１は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００４６】
送信部２０２は、入力受付部２０１が受け付けた情報などを、外部に送信する。例えば、送信部２０２は、入力受付部２０１が受け付けた情報などを、情報処理装置１や第二端末装置３などに送信する。送信部２０２は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００４７】
受信部２０３は、情報処理装置１等から情報を受信する。情報とは、例えば、上述した出力情報である。受信部２０３は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００４８】
情報出力部２０４は、受信部２０３が受信した情報を出力する。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。情報出力部２０４は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。情報出力部２０４は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００４９】
次に、情報処理装置１の動作について図３のフローチャートを用いて説明する。
【００５０】
（ステップＳ３０１）受付部１２は、キーワードを含む入力情報を受け付けたか否かを判断する。入力情報を受け付ければステップＳ３０２に行き、入力情報を受け付けなければステップＳ３０１に戻る。なお、入力情報の受け付けのタイミングは、問わない。
【００５１】
（ステップＳ３０２）ユーザ情報取得部１３は、ステップＳ３０１で受け付けた入力情報からキーワードを取得する。入力情報からキーワードを取得する処理は、いろいろあるが、その一つの機能素解析を用いた処理（「キーワード取得処理」という。）について、図４等のフローチャートを用いて説明する。
【００５２】
（ステップＳ３０３）ユーザ情報取得手段１３４は、ステップＳ３０２で取得したキーワードを用いて、ユーザ情報格納部１１から、ユーザ情報を取得する。ユーザ情報取得手段１３４は、通常、ステップＳ３０２で取得したキーワードを含む１以上のユーザ情報をユーザ情報格納部１１から取得する。
【００５３】
（ステップＳ３０４）出力情報構成部１４は、ステップＳ３０３で取得された１以上のユーザ情報を用いて、出力情報を構成する。出力情報を構成する処理である出力情報構成処理について、図７のフローチャートを用いて説明する。
【００５４】
（ステップＳ３０５）出力部１５は、ステップＳ３０４で構成された出力情報を出力する。ここでの出力は、例えば、第一端末装置２や第二端末装置３などへの送信である。
【００５５】
なお、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００５６】
次に、ステップＳ３０２のキーワード取得処理について、図４のフローチャートを用いて説明する。
【００５７】
（ステップＳ４０１）要素分割手段１３２１は、カウンタｉに１を代入する。
【００５８】
（ステップＳ４０２）要素分割手段１３２１は、受け付けた入力情報の中に、ｉ番目の文字が存在するか否かを判断する。ｉ番目の文字が存在すればステップＳ４０３に行き、ｉ番目の文字が存在しなければステップＳ４１３に行く。なお、ここでは、受け付けた入力情報は、一つの文からなる、とする。また、入力情報が２以上の文からなる場合、本フローチャートの処理を繰り返せば良い。
【００５９】
（ステップＳ４０３）要素分割手段１３２１は、受け付けた入力情報の中の、ｉ番目の文字から（ｉ＋ｎ）番目の文字までの文字列を取得し、バッファ上に置く。ｎは、固定の数であり、例えば、「５」である。なお、処理対象の文に、ｉ番目の文字から（ｉ＋ｎ）番目の文字まで存在しない場合、要素分割手段１３２１は、ｉ番目の文字から文の最終文字までを取得し、バッファ上に置く。つまり、要素分割手段１３２１は、ｉ番目の文字から（ｉ＋ｎ）番目以下の文字までの文字列を取得し、バッファ上に置く。
【００６０】
（ステップＳ４０４）要素分割手段１３２１は、ステップＳ４０３でバッファ上に配置した文字列を、辞書情報格納手段１３１に検索しにいく。
【００６１】
（ステップＳ４０５）要素分割手段１３２１は、ステップＳ４０４における検索結果において、ステップＳ４０３でバッファ上に配置した文字列が、辞書情報格納手段１３１に存在したか否かを判断する。文字列が存在すればステップＳ４１０に行き、文字列が存在しなければステップＳ４０６に行く。なお、文字列が存在する場合とは、バッファ上に配置した文字列と一致する文字列が、辞書情報が有する第一文字列に存在する場合である。
【００６２】
（ステップＳ４０６）要素分割手段１３２１は、ステップＳ４０３でバッファ上に配置した文字列の長さが、1文字であるか否かを判断する。1文字であればステップＳ４０８に行き、1文字でなければステップＳ４０７に行く。
【００６３】
（ステップＳ４０７）要素分割手段１３２１は、ステップＳ４０３でバッファ上に配置した文字列から最後の文字を削除し、一文字少なくして、ｉ番目から文字列を取得し、バッファ上に配置する。なお、要素分割手段１３２１は、単に、バッファ上の最終文字を消去するだけでも良い。ステップＳ４０４に戻る。
【００６４】
（ステップＳ４０８）要素分割手段１３２１は、ｉ番目の文字に未知語であることを示す情報である「未知語」フラグを付与する。「「未知語」フラグを付与する」とは、ｉ番目の文字が他の文字または文字列と区別できれば良く、例えば、他の文字または文字列に何らかのフラグを付与し、未知語であるｉ番目の文字には、何も付与しなくても良い。さらに、未知語を格納するバッファがあり、そのバッファに未知語であるｉ番目の文字を書き込む処理も、「未知語」フラグを付与する処理とする。
【００６５】
（ステップＳ４０９）要素分割手段１３２１は、カウンタｉを１、インクリメントする。ステップＳ４０２に戻る。
【００６６】
（ステップＳ４１０）要素分割手段１３２１は、バッファ上に配置した文字列と一致する第一文字列と対になる機能語情報、前接続記号、および後接続記号を、辞書情報格納手段１３１から読み出し、メモリ上に配置する。
【００６７】
（ステップＳ４１１）要素分割手段１３２１は、バッファ上に配置した文字列（１文字の場合もある）に対して、ステップＳ４１０で読み出した機能語情報、前接続記号、および後接続記号を付与する。
【００６８】
（ステップＳ４１２）要素分割手段１３２１は、カウンタｉに、「ｉ＋文字列の文字数」を代入する。ステップＳ４０２に戻る。なお、「文字列の文字数」の「文字列」は、バッファ上に配置した文字列である。
【００６９】
（ステップＳ４１３）要素連結手段１３２２は、要素分割手段１３２１が分割した文字列のうち、連結可能な文字列を連結する。かかる連結処理について、図５のフローチャートを用いて、詳細に説明する。
【００７０】
（ステップＳ４１４）文字列取得手段１３２３は、要素連結手段１３２２が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する。かかる処理（文分割処理、という）について、図６のフローチャートを用いて、詳細に説明する。
【００７１】
（ステップＳ４１５）キーワード取得手段１３３は、文分割制御手段１３２が取得した第二文字列の種類からキーワードを含む第二文字列を特定し、当該第二文字列からキーワードを取得する。なお、ここでキーワードとして取得する第二文字列の種類とは、例えば、主題である。上位処理にリターンする。
【００７２】
なお、図４のフローチャートにおいて、機能素解析の手法を用いた自然言語解析処理を行った。しかし、入力情報に対して、形態素解析を行い、例えば、名詞や、主語を構成する名詞を取得して、当該名詞の用語をキーワードとしても良い。その他、キーワードの取得方法は何でも良い。なお、入力情報（文）を形態素解析し、主語や、用語を抜き出す技術は、公知技術であるので、詳細な説明を省略する。
【００７３】
次に、ステップＳ４１３の連結処理について、図５のフローチャートを用いて説明する。
【００７４】
（ステップＳ５０１）要素連結手段１３２２は、要素分割手段１３２１が未知語フラグ（未知語情報の一種）を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成する。また、要素連結手段１３２２は、要素分割手段１３２１が未知語フラグを付与した連続する未知語であり、ひらがなではない文字を連結し文字列を構成する。
【００７５】
（ステップＳ５０２）要素連結手段１３２２は、ステップＳ５０１で連結した文字列、または連結されなかった未知語の文字に対して、まとまり情報を付与する。まとまり情報とは、まとまりであることを示す文字列の種類を特定する情報である。まとまり情報は、機能語情報の一種である。まとまり情報は、文字列に付与される未知語フラグでも良い。
【００７６】
（ステップＳ５０３）要素連結手段１３２２は、カウンタｉに１を代入する。
【００７７】
（ステップＳ５０４）要素連結手段１３２２は、処理対象の文中に、（ｉ＋１）番目の、まとめられた文字列（１文字の場合もある）が存在するか否かを判断する。（ｉ＋１）番目の文字列が存在すればステップＳ５０５に行き、（ｉ＋１）番目の文字列が存在しなければ上位処理にリターンする。
【００７８】
（ステップＳ５０５）要素連結手段１３２２は、ｉ番目の文字列の後接続記号と、（ｉ＋１）番目の文字列の前接続記号を読み出し、メモリ上に配置する。なお、ｉ番目の文字列の後接続記号は、ｉ番目の文字列の最後の第一文字列と対になる後接続記号である。また、（ｉ＋１）番目の文字列の前接続記号は、（ｉ＋１）番目の文字列の先頭の第一文字列と対になる前接続記号である。
【００７９】
（ステップＳ５０６）要素連結手段１３２２は、ステップＳ５０５で読み出したｉ番目の文字列の後接続記号と、（ｉ＋１）番目の文字列の前接続記号から、ｉ番目の文字列と（ｉ＋１）番目の文字列が連結可能であるか否かを判断する。なお、２つの連続する文字列が連結可能であるか否かは、前出の後接続記号と、後出の前接続記号から判断可能であり、要素連結手段１３２２は、例えば、連結可能な２つの文字列の後接続記号と前接続記号の組の情報（ルール）を保持している。
【００８０】
（ステップＳ５０７）要素連結手段１３２２は、ステップＳ５０６における判断結果が、連結可能である、との判断であればステップＳ５０８に行き、連結可能でない、との判断であればステップＳ５０９に行く。
【００８１】
（ステップＳ５０８）要素連結手段１３２２は、ｉ番目の文字列と、（ｉ＋１）番目の文字列を連結する。文字列の連結とは、連結した文字列をバッファに書き込む処理でも良いし、２つの文字列をリンク付けする処理等でも良い。
【００８２】
（ステップＳ５０９）要素連結手段１３２２は、カウンタｉを１、インクリメントする。ステップＳ５０４に行く。
【００８３】
次に、ステップＳ５１４の文分割処理について、図６のフローチャートを用いて説明する。
【００８４】
（ステップＳ６０１）文字列取得手段１３２３は、カウンタｉに１を代入する。
【００８５】
（ステップＳ６０２）文字列取得手段１３２３は、処理対象の文（入力情報）の中に、ｉ番目の第二文字列が存在するか否かを判断する。ｉ番目の第二文字列が存在すればステップＳ６０３に行き、ｉ番目の第二文字列が存在しなければ上位処理にリターンする。
【００８６】
（ステップＳ６０３）文字列取得手段１３２３は、ｉ番目の第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、各第二文字列の種類を特定する情報を決定する。具体的には、例えば、第二文字列の種類は、例えば、「主題」、「副題」、「動作」、または「状態」であり、第二文字列の最後尾の第一文字列に対応する機能語情報が「動作」または「状態」であれば、第二文字列の種類は「動作」または「状態」であると、文字列取得手段１３２３は決定する。また、第二文字列の最後尾の第一文字列に対応する後接続記号が「主題」または「副題」を示す記号である場合は、第二文字列の種類は「主題」または「副題」であると、文字列取得手段１３２３は決定する。そして、文字列取得手段１３２３は、ｉ番目の第二文字列と、第二文字列の種類を特定する情報を取り出し、メモリ上に配置する。
【００８７】
（ステップＳ６０４）文字列取得手段１３２３は、カウンタｉを１、インクリメントする。ステップＳ６０２に戻る。
【００８８】
次に、ステップＳ３０４の出力情報構成処理について、図７のフローチャートを用いて説明する。
【００８９】
（ステップＳ７０１）出力情報構成部１４は、カウンタｉに１を代入する。
【００９０】
（ステップＳ７０２）出力情報構成部１４は、ステップＳ３０３で取得されたユーザ情報の中に、ｉ番目のユーザ情報が存在するか否かを判断する。ｉ番目のユーザ情報が存在すればステップＳ７０３に行き、ｉ番目のユーザ情報が存在しなければ上位処理にリターンする。
【００９１】
（ステップＳ７０３）出力情報構成部１４は、ｉ番目のユーザ情報を用いて、出力情報を構成する。出力情報構成部１４は、例えば、ユーザ情報すべてと、ユーザ情報の元になった情報のアクセス情報（例えば、ＵＲＬ、フォルダ名とファイル名、ＩＰアドレスなど）と、ユーザ情報の元になった情報（ブログのホームページ、電子メールファイル、ＳＮＳに入力した文章が格納されているファイルなど）の実体データ（または、ユーザ情報の元になった文）を取得し、当該取得した情報をすべて用いて、出力情報を構成する。出力情報のデータ構造は問わない。
【００９２】
（ステップＳ７０４）出力情報構成部１４は、ステップＳ７０３で構成された出力情報を、メモリ上に追記する。なお、最初、メモリ上は空である。
【００９３】
（ステップＳ７０５）出力情報構成部１４は、カウンタｉを１、インクリメントする。ステップＳ７０２に戻る。
【００９４】
以下、本実施の形態における情報処理システムの具体的な動作について説明する。情報処理システムの概念図は図１である。
【００９５】
今、辞書情報格納手段１３１は、図８に示す辞書情報管理表を保持している。辞書情報管理表は、「第一文字列」「前接続記号」「後接続記号」「機能語情報」の属性を有するレコードを１以上格納している。
【００９６】
図８の「前接続記号」の「−＆」は、前に、未知語情報で識別される未知語や、「ｏｂｊｅｃｔ」で識別される対象物などが連結されることを示す。「前接続記号」は、他に「＆＆」などがある。「＆＆」は、前に、「名前」や、未知語や、「ｏｂｊｅｃｔ」で識別される対象物などが連結されることを示す。「名前」とは、登録している人や物などの名前である。
また、「後接続記号」の「ｓ％」は、区切りになり得て、「副題」となり得ることを示す。また、「後接続記号」の「＆＆」は、後に、「名前」や、未知語情報で識別される未知語や、「ｏｂｊｅｃｔ」で識別される対象物などが連結されることを示す。また、「後接続記号」の「ｎ％」は、区切りになり得て、「主題」となり得ることを示す。また、「後接続記号」の「−−」は、「ａｃｔｉｏｎ」で識別される文字列が連結されることを示す。また、「後接続記号」の「％=」は、区切りになり得て、かつ、「ｏｂｊｅｃｔ」で識別される対象物や「名前」などが連結されることを示す。また、「後接続記号」の「ｏ％」は、区切りになり得て、「準主題」となり得ることを示す。また、「機能語情報」の「ｏｂｊｅｃｔ」は、対象物を示す。また、「機能語情報」の「ａｃｔｉｏｎ」は、動作を示す。さらに、「機能語情報」の「ｓｔａｔｅ」は、状態を示す。
【００９７】
また、ユーザ情報格納部１１は、図９に示すユーザ情報管理表を保持している。ユーザ情報管理表は、「ＩＤ」「主題」「副題」「動作・状態」「元データ」「箇所情報」を属性値として有するレコードを、多数格納している。「ＩＤ」は、レコードを識別する情報であり、表におけるレコード管理のために存在する。「主題」は、以下で述べる機能素解析を用いた自然言語処理の結果、得られた文字列の種類の「主題」を示す用語が挿入される。「主題」は、文を構成する主題である。「副題」は、機能素解析を用いた自然言語処理の結果、得られた文字列の種類の「副題」を示す用語が挿入される。「副題」は、文を構成する副次的な用語を含む。「動作・状態」は、機能素解析を用いた自然言語処理の結果、得られた文字列の種類の「動作・状態」を示す用語が挿入される。「動作・状態」は、主題の動作または状態を示す用語を含む。「元データ」は、「主題」「副題」「動作・状態」が取得される元になった文が含まれる元データの存在場所を示す情報である。存在場所は、ＵＲＬ、ＵＲＩ、フォルダ名とファイル名、ＵＲＬとユーザＩＤなどである。また、元データは、ブログ、ＳＮＳに入力した文章群、電子メール、ＶｏＩＰ、メタバースに入力した文章群、チャットに入力した文章群などである。文章群は、通常、ファイルやデータベース等の形式で格納されている。
【００９８】
「箇所情報」は、「主題」「副題」「動作・状態」が取得される元になった文の、元データ内での存在箇所を示す情報である。存在箇所を示す情報は、例えば、ファイルの先頭からのＢｙｔｅ数、ファイル内の行数、情報（文）が記載された日などである。なお、存在箇所を示す情報が文の記載された日である場合、そのファイルには、日付が入っている、とする。なお、図９のユーザ情報管理表の構造は一例であることは言うまでもない。
【００９９】
以下、かかる状況において、２つの具体例を用いて、本情報処理システムについて説明する。
（具体例１）
【０１００】
具体例１は、第一端末装置２のユーザ（Ａさん）と、第二端末装置３のユーザ（Ｘ君）がチャットシステムを用いた会話を楽しんでいる、とする。そして、Ａさんが、第一端末装置２で起動されているチャットシステムに入力した文章が、情報処理装置１に送信され、情報処理装置１が、当該文章を受信し、当該文章を自然言語処理して、文章に関連する情報を、Ａさんの端末である第一端末装置２に送信する。そして、第一端末装置２は、入力した文章に関連する情報を、情報処理装置１から受信し、出力する。なお、情報処理装置１は、受信したＡさんが入力した文章を、Ｘ君の端末である第二端末装置３に送信する。また、第二端末装置３は、Ａさんが入力した文章を受信し、出力する。また、情報処理装置１は、Ｘ君が第二端末装置３に入力した文章を受信し、第一端末装置２に送信する。そして、第一端末装置２は、Ｘ君が第二端末装置３に入力した文章を受信し、出力する。つまり、本システムにおいて、チャットを楽しみながら、入力した文に関連する情報であり、過去の自分の経験や考えなどを示す情報を得ることができる。
【０１０１】
以下、かかる処理の詳細について述べる。なお、情報処理装置１と第一端末装置２と第二端末装置３が実現するチャットシステムは、公知技術であるので、詳細な説明を省略する。
【０１０２】
今、第一端末装置２と第二端末装置３には、チャットシステムが起動され、ＡさんとＸ君は、チャットを行う環境である、とする。そして、Ｘ君は、第二端末装置３に「今日のお昼、何を食べたいの？」と入力した、とする。すると、入力受付部３０１が文「今日のお昼、何を食べたいの？」を受け付け、送信部３０２が文「今日のお昼、何を食べたいの？」を情報処理装置１に送信する。次に、情報処理装置１は、文「今日のお昼、何を食べたいの？」を受信し、第一端末装置２に転送する。そして、第一端末装置２は、文「今日のお昼、何を食べたいの？」を受信し、出力する。かかる出力態様の例は、図１０の出力フィールド１０１である。なお、図１０において、第一端末装置２の画面に表示されるチャットシステムのウィンドウには、Ｘ君の入力した文を出力する出力フィールド１０１、Ａさんが入力した文を表示する入力フィールド１０２、後述する出力情報（アシストのための情報）を表示するアシストウィンドウ１０４などがある。
【０１０３】
次に、Ａさんは、Ｘ君の発言「今日のお昼、何を食べたいの？」を見て、「ラーメンがいいなあ。」を入力フィールド１０２に入力した、とする。すると、入力受付部２０１が、文「ラーメンがいいなあ。」を受け付ける。そして、Ａさんは、送信ボタン１０３を押下する。次に、送信部２０２は、文「ラーメンがいいなあ。」を情報処理装置１に送信する。そして、情報処理装置１の受付部１２は、文「ラーメンがいいなあ。」を受信し、図示しない手段が、文「ラーメンがいいなあ。」を第二端末装置３に送信する。そして、第二端末装置３は、文「ラーメンがいいなあ。」を受信し、出力する。
【０１０４】
また、情報処理装置１のユーザ情報取得部１３は、以下のようにして、ユーザ情報を取得する。つまり、まず、ユーザ情報取得部１３の文分割制御手段１３２は、文「ラーメンがいいなあ。」を以下のように分割する。
【０１０５】
文分割制御手段１３２の要素分割手段１３２１は、図１３の中の、１番目の文字から６番目（上記の「ｎ」は「５」である）の文字までの文字列「ラーメンがい」を取得し、バッファ上に置く（図１１の（１））。
【０１０６】
そして、要素分割手段１３２１は、文字列「ラーメンがい」を、辞書情報格納手段１３１（図８参照）に検索しにいく。しかし、文字列「ラーメンがい」に合致する第一文字列が、図８の辞書情報管理表に存在しないので、要素分割手段１３２１は、先の文字列より１文字少ない文字列「ラーメンが」を構成する。そして、要素分割手段１３２１は、文字列「ラーメンが」をバッファ上に置く（図１１の（２））。そして、同様に、要素分割手段１３２１は、文字列「ラーメンが」を、辞書情報格納手段１３１に検索しにいく。しかし、文字列「ラーメンが」に合致する第一文字列が、図８の辞書情報管理表に存在しないので、要素分割手段１３２１は、先の文字列より１文字少ない文字列「ラーメン」を構成し、バッファ上に置く（図１１の（３））。そして、要素分割手段１３２１は、文字列「ラーメン」を、辞書情報格納手段１３１に検索しにいく。同様に、文字列「ラーメン」に合致する第一文字列が、図８の辞書情報管理表に存在しない。そして、要素分割手段１３２１は、同様の処理により、１文字ずつ文字数を少なくして、辞書情報格納手段１３１に検索しにいく（図１１の（４）から（６））。そして、要素分割手段１３２１は、最後の文字「ラ」も図８の辞書情報管理表に存在しない、と判断する。そして、要素分割手段１３２１は、文字「ラ」に、未知語であることを示す情報である「未知語」フラグを付与する（図１１の（７））。なお、ここでの「未知語」フラグは、情報「未知語」である。
【０１０７】
次に、要素分割手段１３２１は、処理対象の文字列の先頭のポインタを１ずらす。そして、要素分割手段１３２１は、２番目の文字から６文字分の文字列「ーメンがいい」を読み出し、バッファに配置する（図１１の（８））。そして、同様に、要素分割手段１３２１は、文字列「ーメンがいい」を、辞書情報格納手段１３１に検索しにいく。同様に、文字列「ーメンがいい」に合致する第一文字列が、図８の辞書情報管理表に存在しない。そして、要素分割手段１３２１は、同様の処理により、１文字ずつ文字数を少なくして、辞書情報格納手段１３１に検索しにいく（図１１の（９）から（１３））。そして、要素分割手段３２１は、最後の文字「ー」も図８の辞書情報管理表に存在しない、と判断する。そして、要素分割手段１３２１は、文字「ー」に、未知語であることを示す情報である「未知語」フラグを付与する（図１１の（１４））。
【０１０８】
次に、要素分割手段１３２１は、処理対象の文字列の先頭のポインタを１ずらす。そして、要素分割手段１３２１は、３番目の文字から６文字分の文字列「メンがいいな」を読み出し、バッファに配置する（図１１の（１５））。そして、同様に、要素分割手段１３２１は、文字列「メンがいいな」を、辞書情報格納部３１に検索しにいく。同様に、文字列「メンがいいな」に合致する第一文字列が、図８の辞書情報管理表に存在しない。そして、要素分割手段１３２１は、同様の処理により、１文字ずつ文字数を少なくして、辞書情報格納手段１３１に検索しにいく（図１１の（１６）（１７）など）。そして、要素分割手段１３２１は、最後の文字「メ」も図８の辞書情報管理表に存在しない、と判断する。そして、要素分割手段１３２１は、文字「メ」に、未知語であることを示す情報である「未知語」フラグを付与する（図１１の（２１））。
【０１０９】
次に、要素分割手段１３２１は、処理対象の文字列の先頭のポインタを１ずらす。そして、要素分割手段１３２１は、４番目の文字から６文字分の文字列「ンがいいなあ」を読み出し、バッファに配置する（図１１の（２２））。同様に、文字列「ンがいいなあ」に合致する第一文字列が、図８の辞書情報管理表に存在しない。そして、要素分割手段１３２１は、同様の処理により、１文字ずつ文字数を少なくして、辞書情報格納手段１３１に検索しにいく。そして、要素分割手段１３２１は、最後の文字「ン」も図８の辞書情報管理表に存在しない、と判断する。そして、要素分割手段１３２１は、文字「ン」に、未知語であることを示す情報である「未知語」フラグを付与する（図１１の（２８））。
【０１１０】
次に、要素分割手段１３２１は、処理対象の文字列の先頭のポインタを１ずらす。そして、要素分割手段１３２１は、４番目の文字から６文字分の文字列「がいいなあ。」を読み出し、バッファに配置する（図１１の（２９））。同様に、文字列「がいいなあ。」に合致する第一文字列が、図８の辞書情報管理表に存在しない。そして、要素分割手段１３２１は、同様の処理により、１文字ずつ文字数を少なくして、辞書情報格納手段１３１に検索しにいく（図１１の（３０）から（３４））。そして、要素分割手段１３２１は、最後の文字「が」は図８の辞書情報管理表に存在する、と判断する。そして、要素分割手段１３２１は、バッファ上に配置した文字列と一致する第一文字列「が」と対になる前接続記号「−＆」、後接続記号「ｎ％」、および機能語情報「ｏｂｊｅｃｔ」を、辞書情報格納手段１３１から読み出し、メモリ上に配置する。そして、要素分割手段１３２１は、バッファ上に配置した文字列「が」に対して、読み出した前接続記号「−＆」、後接続記号「ｎ％」、および機能語情報「ｏｂｊｅｃｔ」を付与する（図１１の（３５））。
【０１１１】
以上の処理を繰り返し、処理対象の文「ラーメンがいいなあ。」について、図１１の（ｘ）のようなデータを得る。つまり、「ラ」「ー」「メ」「ン」「い」「い」「な」「あ」に対して、「未知語」が付与される。また、「が」に対して、「−＆：ｎ％：ｏｂｊｅｃｔ」が付与される。また、「。」に対して、「：％％：」が付与される。「：％％：」は、後接続記号が「％％」であることを示す。後接続記号「％％」は、無条件に、後ろが区切られることを示す（図１１の（ｘ））。
【０１１２】
次に、要素連結手段１３２２は、要素分割手段１３２１が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなではない文字「ラ」「ー」「メ」「ン」を連結し文字列「ラーメン」を構成する。また、要素連結手段１３２２は、要素分割手段１３２１が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなの連続する文字「い」「い」「な」「あ」を連結した文字列「いいなあ」を構成する。そして、要素連結手段１３２２は、連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報（ここでは、「未知語」）を付与し、バッファに書き込む。バッファ内の情報は、図１１の（ｘ＋１）である。
【０１１３】
次に、要素連結手段１３２２は、図１１（ｘ＋１）の各前後するまとまりの文字列（例えば、「ラーメン」と「が」）が連結するか否かを判断し、連結するものは連結させる。
【０１１４】
例えば、「ラーメン」と「が」は、「ラーメン」が未知語で、「が」の前接続記号「−＆」により、要素連結手段１３２２は、連結すると判断する。なぜなら、前接続記号「−＆」は、前の未知語と連結するからである。そして、要素連結手段１３２２は、「ラーメンが」に対して、「：ｎ％：ｏｂｊｅｃｔ」を付与する（図１１（ｘ＋２）参照）。「：ｎ％：ｏｂｊｅｃｔ」は、前接続記号はなし、後接続記号は「ｎ％」、機能語情報は「ｏｂｊｅｃｔ」であることを示す。
【０１１５】
また、要素連結手段１３２２は、「ラーメンが」と「いいなあ」は連結しない、と判断する。後接続記号「ｎ％」は、後続する未知語を連結しないからである。
【０１１６】
そして、要素連結手段１３２２は、「いいなあ」と「。」は連結しない、と判断する。「。」は、無条件に、後ろが区切られる記号であり、前の文字列とは結合しない、とする。
【０１１７】
以上の処理により、要素連結手段１３２２は、２つの第二文字列を得る（図１１（ｘ＋２）参照）。
【０１１８】
次に、文字列取得手段１３２３は、１番目の第二文字列「ラーメンが」を取得し、当該第二文字列の最後尾の第一文字列「が」に対応する機能語情報「ｏｂｊｅｃｔ」または後接続記号「ｎ％」から、第二文字列の種類を「主題」であると、決定する。なお、ここでは、文字列取得手段１３２３は、後接続記号「ｎ％」から、第二文字列「ラーメンが」の種類を「主題」であると、決定する（図１１の（ｘ＋３））。
【０１１９】
次に、文字列取得手段１３２３は、２番目の第二文字列「いいなあ」を取得し、区切りの前の「未知語」、という情報から、第二文字列の種類を「状態」であると、決定する（図１１の（ｘ＋３））。
【０１２０】
次に、キーワード取得手段１３３は、文分割制御手段１３２が取得した第二文字列の種類（ここでは「主題」、または「副題」とする）からキーワードを含む第二文字列「ラーメンが」を特定し、当該第二文字列からキーワード「ラーメン」を取得し、メモリ上に配置する。ここでは、キーワード取得手段１３３は、第二文字列に含まれる自立語を取得し、キーワードとする、とする。
【０１２１】
次に、ユーザ情報取得手段１３４は、キーワード取得手段１３３が取得したキーワード「ラーメン」をキーとして、図９のユーザ情報管理表を検索する。そして、キーワード取得手段１３３が取得したキーワード「ラーメン」を、「主題」または「副題」に含むレコードを検索する、とする。図９において、ユーザ情報取得手段１３４は、「ＩＤ＝１２」「ＩＤ＝１０１２」等のレコードを検索し、メモリ上に配置する。ここでのユーザ情報は、図９のレコード全体である、とする。
【０１２２】
次に、出力情報構成部１４は、ユーザ情報取得部１３が取得したユーザ情報（図９の「ＩＤ＝１２」「ＩＤ＝１０１２」等のレコード）を用いて、出力する情報である出力情報を構成する。出力情報構成部１４は、例えば、図１２の出力情報管理表を構成する。出力情報管理表は、出力情報の集合であり、「文章」「元データ」「箇所情報」を有する。「文章」は、図９の「主題」「副題」「動作・状態」を用いて構成された文である。「元データ」「箇所情報」は、図９から、そのまま取得されている。
【０１２３】
そして、出力部１５は、図１２の出力情報を、第一端末装置２に送信する。
【０１２４】
次に、第一端末装置２の受信部２０３は、図１２の出力情報を受信し、情報出力部２０４は、図１２の出力情報を、図１３に示すように、チャットシステムのアシストウィンドウに表示する。
【０１２５】
図１３のアシストウィンドウにおいて、Ａさんが、過去に、ラーメンに関して入力した文が出力されている。そして、Ａさんは、先に入力した文「ラーメンがいいなあ。」に関連する文であり、アシストウィンドウに表示されている自分の経験を示す文（自分が過去に入力した文）を見て、次の会話が続き、気づきを与えられる、等の効果を得ることができる。そして、例えば、Ａさんは、過去に言ったラーメン屋Ｘやラーメン屋Ｚが美味しかったことを思い出す。そして、Ａさんは、「私、とんこつ味が好きだから、ラーメン屋Ｘに行かない？  美味しいよ。」などの文章を、チャットに入力する。このように、アシストウィンドウに過去に入力した文を表示してやることにより、会話がはずんだり、豊富な話題の中で、チャットを楽しんだりすることができる。なお、上記した自然言語処理の手法を、機能素解析の手法という（図１１参照）。
（具体例２）
【０１２６】
具体例２は、第一端末装置２のユーザ（Ａさん）が、ブログに日記を記載している、とする。ここでは、Ａさんは、「・・・・・・・ホテルＡに、また、泊まりに行きたいなあ。・・・・・・・・・・・・・・北海道への旅行もいいなあ。・・・・」など、本日の気持ちを日記として、書いている、とする（図１４参照）。そして、Ａさんは、ブログをサーバ装置である情報処理装置１にアップした、とする。
【０１２７】
次に、情報処理装置１の受付部１２は、図１４のブログのファイルを受信する。そして、図示しない手段が、情報処理装置１の記憶媒体に蓄積する、とする。
【０１２８】
そして、ユーザ情報取得部１３は、上記した機能素解析の手法（図１１参照）を用いて、図１５に示すように、ブログの各文の自然言語処理結果を得る。そして、ユーザ情報取得部１３は、文「ホテルＡに、泊まりに行きたいなあ。」に対するキーワードとして、「副題」から「ホテルＡ」を得る。ここでは、例えば、ユーザ情報取得部１３は、「主題」または「副題」が有する自立語であり、名詞を取得する、とする。なお、名詞か否かの判断手法は、問わない。そして、ユーザ情報取得部１３は、キーワード「ホテルＡ」を得る。
【０１２９】
また、ユーザ情報取得部１３は、文「北海道への旅行もいいなあ。」に対するキーワードとして、「北海道」「旅行」を得る。
【０１３０】
次に、ユーザ情報取得部１３は、キーワード「ホテルＡ」「北海道」「旅行」のそれぞれをキーとして、図９のユーザ情報管理表を検索する。そして、キーワード「ホテルＡ」に対して、「ＩＤ＝１」のレコードを取得する。
【０１３１】
そして、出力情報構成部１４は、ユーザ情報取得部１３が取得した「ＩＤ＝１」のレコードから「ホテルＡの料理は南仏風で美味しいと感じるものもあった，http://www.abc.・・・，１５２６ｂｙｔｅ」を得る。また、文「ホテルＡに、泊まりに行きたいなあ。」のブログ中での位置（例えば、ブログのファイル中での先頭からのオフセット（ｂｙｔｅ数）や、行数など）を取得する。文「ホテルＡに、泊まりに行きたいなあ。」のブログ中での位置は、文を解析する際に、取得でき得る。そして、出力情報構成部１４は、「ホテルＡの料理は南仏風で美味しいと感じるものもあった，http://www.abc.・・・，１５２６ｂｙｔｅ」と元の文のブログ中での位置（例えば、「１２６ｂｙｔｅ」）から、出力情報「ホテルＡの料理は南仏風で美味しいと感じるものもあった，http://www.abc.・・・，１５２６ｂｙｔｅ，１２６ｂｙｔｅ」を構成する。
【０１３２】
次に、出力部１５は、出力情報「ホテルＡの料理は南仏風で美味しいと感じるものもあった，http://www.abc.・・・，１５２６ｂｙｔｅ，１２６ｂｙｔｅ」を、第一端末装置２に送信する。
【０１３３】
そして、第一端末装置２は、出力情報「ホテルＡの料理は南仏風で美味しいと感じるものもあった，http://www.abc.・・・，１５２６ｂｙｔｅ，１２６ｂｙｔｅ」を受信し、「１２６ｂｙｔｅ」で示される文の位置に対応するアシストウインドウの位置に、出力情報の一部（こちらも出力情報と言っても良い）「ホテルＡの料理は南仏風で美味しいと感じるものもあった，http://www.abc.・・・」を出力する。なお、「１５２６ｂｙｔｅ」は、アンカー「http://www.abc.・・・」が押下された場合に、利用される。つまり、アンカー「http://www.abc.・・・」が押下された場合、第一端末装置２は、「http://www.abc.・・・」で識別されるファイルを取得し、かつ、「１５２６ｂｙｔｅ」あたりの情報（文）を表示するようにする、とする。なお、指示されたオフセット（位置）の情報を表示する技術は、公知技術であるので、説明を省略する。また、上記の出力情報を、元の文と対応する態様で出力する技術は、例えば、以下の技術である。情報処理装置１から、元の文のブログ中での位置（例えば、オフセット）を、出力情報をともに送信し、第一端末装置２が位置の情報を用いて、出力情報の出力場所を決定する。また、情報処理装置１から、元の文を、出力情報とともに送信し、第一端末装置２が元の文をブログ中から検索し、検索した箇所をともに、出力情報の出力場所を決定する。入力情報（出力情報の元になった情報）と、出力情報を対応付けて出力することは好適であり、その方法は問わない。また、入力情報（出力情報の元になった情報）と、出力情報を対応付ける出力態様は、横に並べて出力するだけでなく、線で結ぶ、文字列の色を合わせるなど、他の方法でも良い。
【０１３４】
同様に、ユーザ情報取得部１３は、キーワード「北海道」に対して、「ＩＤ＝１２８」のレコードを取得する。
【０１３５】
そして、出力情報構成部１４は、ユーザ情報取得部１３が取得した「ＩＤ＝１２８」のレコードから「夏の北海道はすずしくて良かった，C:\XX\・・・\送信メール.mail，１２８５６行目」を得る。また、文「北海道への旅行もいいなあ。」のブログ中での位置を取得する。そして、出力情報構成部１４は、「夏の北海道はすずしくて良かった，C:\XX\・・・\送信メール.mail，１２８５６行目」と元の文のブログ中での位置（例えば、「３６８ｂｙｔｅ」）から、出力情報「夏の北海道はすずしくて良かった，C:\XX\・・・\送信メール.mail，１２８５６行目，３６８ｂｙｔｅ」を構成する。
【０１３６】
次に、出力部１５は、出力情報「夏の北海道はすずしくて良かった，C:\XX\・・・\送信メール.mail，１２８５６行目，３６８ｂｙｔｅ」を、第一端末装置２に送信する。
【０１３７】
そして、第一端末装置２は、出力情報「夏の北海道はすずしくて良かった，C:\XX\・・・\送信メール.mail，１２８５６行目，３６８ｂｙｔｅ」を受信し、「３６８ｂｙｔｅ」で示される文の位置に対応するアシストウインドウの位置に、出力情報の一部（こちらも出力情報と言っても良い）「夏の北海道はすずしくて良かった，C:\XX\・・・\送信メール.mail」を出力する。なお、「１２８５６行目」は、アンカー「C:\XX\・・・\送信メール.mail」が押下された場合に、利用される。つまり、アンカー「C:\XX\・・・\送信メール.mail」が押下された場合、第一端末装置２は、「C:\XX\・・・\送信メール.mail」で識別されるファイルを取得し、かつ、「１２８５６行目」あたりの情報（文）を表示するようにする、とする。
【０１３８】
同様に、ユーザ情報取得部１３は、キーワード「旅行」に対して、図９の表の検索を行うが、レコードを取得できなかった、とする。つまり、キーワード「旅行」に対応する出力情報は、出力されない。
【０１３９】
以上の処理により、第一端末装置２は、図１６の出力を得る。なお、図１６において、ブログで記載した情報に関連する出力情報（アシストの情報）がユーザ（Ａさん）に示され、Ａさんにとって、ブログの内容が豊かになり得る。また、入力したブログの文と対応付けられて（ここでは、その文の横に）、アシスト情報が出力されることにより、ユーザにとって、着目しやすくなる。
【０１４０】
なお、具体例２において、ブログを情報処理装置１にアップしたことをトリガーとして、アシスト情報が第一端末装置２に出力された。しかし、ユーザがブログに文章を記載している場合に、自動的に、記載した情報（できれば、完成した文（記載途中の文は除く））を情報処理装置１に送信し、上記のような処理により、アシスト情報が第一端末装置２に出力されることは望ましい。なお、第一端末装置２から情報処理装置１に記載している情報を送信する場合、例えば、１文が完成した都度、または、定期的に送信することは好ましい。
【０１４１】
以上、具体例１、２において、チャットシステム、ブログなどに入力した文に関連する情報をユーザに提示した。しかし、文を入力するシステムは、チャットシステム、ブログなどに限らず、ＳＮＳや電子メールシステムへ入力された文、ＶｏＩＰ、メタバースに入力された文などでも良い。入力する文は、いわゆるＣＧＭ（Ｃｏｎｓｕｍｅｒ  Ｇｅｎｅｒａｔｅｄ  Ｍｅｄｉａ）を構成する文でも良い。つまり、ユーザが入力する文であれば、その入力手段、入力される対象のシステム（ソフトを含む）は、問わない。
【０１４２】
以上、本実施の形態によれば、過去にユーザが入力した文章などに基づいて、過去の経験や、過去に考えたことを示唆し、ユーザの現在の状態をアシストできる。
【０１４３】
なお、本実施の形態において、ユーザ情報を取得する元になる文や情報は問わない。ユーザ情報の元になる情報は、ある同一のユーザが過去に入力したブログ、ＳＮＳに入力した文章群、電子メール、ＶｏＩＰ、メタバースに入力した文章群、チャットに入力した文章群などである。
【０１４４】
また、本実施の形態によれば、出力情報の表示について、チャットシステムやブログの入力ウィンドウ等の中に、領域を区切って、出力情報を表示したが、チャットシステムやブログの入力ウィンドウ等とは別のウィンドウや、別の表示装置に出力情報を表示するようにしても良い。つまり、出力情報の表示態様については問わない。
【０１４５】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、キーワードを含む入力情報を受け付ける受付部と、前記入力情報に含まれるキーワードを用いて、ユーザが過去に入力した１以上の文に基づく情報であるユーザ情報を格納しているユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得部と、前記ユーザ情報取得部が取得したユーザ情報を用いて、出力する情報である出力情報を構成する出力情報構成部と、前記出力情報を出力する出力部として機能させるためのプログラム、である。
【０１４６】
また、上記プログラムにおいて、前記出力情報構成部は、前記ユーザ情報取得部が取得したユーザ情報を用いて、前記ユーザ情報の元になった文である出力情報を取得するものとして機能させるためのプログラム、である。
【０１４７】
また、上記プログラムにおいて、前記ユーザ情報取得部は、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を１以上格納している辞書情報格納手段と、前記入力情報から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を２以上の文字列である２以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御手段と、前記文分割制御手段が取得した第二文字列の種類からキーワードを含む第二文字列を特定し、当該第二文字列からキーワードを取得するキーワード取得手段と、前記キーワード取得手段が取得したキーワードを用いて、前記ユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得手段を具備するものとして機能させるためのプログラム、である。
【０１４８】
また、上記プログラムにおいて、前記文分割制御手段は、前記入力情報をメモリ上に読み出し、当該文の先頭から予め決められたサイズ（ｎ文字[ｎは２以上の整数]）の第三文字列を切り出し、メモリ上に配置し、前記切り出した第三文字列を構成する文字列であって、先頭からｎ文字の文字列から順に、前記辞書情報格納手段に当該文字列が存在するか否かを判断し、ｎ文字の文字列が存在しない場合には、先頭から（ｎ−１）文字の文字列が前記辞書情報格納手段に存在するか否かを判断し、かかる判断を、１文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から１文字になるまでかかる判断を行い、文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納手段から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、１文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割手段と、前記要素分割手段が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する２つの、前記要素分割手段が分割した要素またはまとまり情報を読み出し、当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数取得する要素連結手段と、前記要素連結手段が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得手段を具備するものとして機能させるためのプログラム、である。
（実施の形態２）
【０１４９】
本実施の形態において、ユーザが否定的でない文である入力情報を入力した場合のみ、当該入力情報に含まれるキーワードに対応する出力情報を出力する情報処理システムについて説明する。つまり、本実施の形態において、「ラーメン食べたいな？」といったラーメンに対して否定的でない文が入力された場合に、ラーメンに関する出力情報を出力する。また、本実施の形態において、「ラーメン、好きだなあ。」といったラーメンに対して肯定的な文が入力された場合に、ラーメンに関する出力情報を出力する。また、本実施の形態において、「ラーメン、食べたくない。」といったラーメンに対して否定的な文が入力された場合に、ラーメンに関する出力情報を出力しない。本実施の形態における情報処理装置を含む情報処理システムの概念図は、図１と同様である。
【０１５０】
図１７は、本実施の形態における情報処理システムのブロック図である。情報処理システムは、情報処理装置４、第一端末装置２、第二端末装置３を具備する。情報処理装置４は、ユーザ情報格納部１１、受付部１２、ユーザ情報取得部１３、出力情報構成部１４、出力部２５、評価情報格納部２１、変更情報格納部２２、変更語取得部２３、判断部２４を具備する。
【０１５１】
評価情報格納部２１は、評価対象の良し悪しに関する用語である評価語を有する評価情報を１以上格納している。評価語とは、ポジティブな用語または／およびネガティブな用語である。評価語は、例えば、「好き」「嫌い」「良い」「悪い」「だめ」「素敵」「すばらしい」などである。評価情報は、評価語だけでも良いし、良し悪しの程度を示すスコアや、他の情報を有しても良い。評価情報は、例えば、「＋５」から「−５」の間の数値のランクや、「Ａ」「Ｂ」「Ｃ」のランクを示す情報や、良い（または悪くはない）「１」、悪い（または良くはない）「０」という二値の情報を含んでも良い。評価情報格納部２１は、否定的な評価語のみを格納していても良いし、肯定的な評価語のみを格納していても良い。評価情報格納部２１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【０１５２】
変更情報格納部２２は、キーワードに対する評価の変更を示す言い回しの用語である変更語を有する変更情報を１以上格納している。変更情報は、例えば、変更語と評価変更情報の対である。変更情報は、変更語だけでも良い。変更語は、評価語に対する評価の変更を示す言い回しの用語である。変更語は、例えば、「でない」「じゃない」「とは言えない」「あまり」などである。つまり、「好き」というポジティブな評価語に「でない」という変更語が後続すると、評価はポジティブではなく、ネガティブとしなければならない。評価変更情報は、評価を変更するための情報である。また、具体的には、評価変更情報は、スコアを変更するための情報である、と言える。評価変更情報は、例えば、「−１」や「０．５」などの数値である。つまり、例えば、評価語「好き」に対して、スコア「＋４」とする場合、変更語「でない」に対する評価変更情報は「−１」、変更語「あまり」に対する評価変更情報は「０．５」とする。そして、後述する判断部２４は、各数値を乗算し、「４×（−１）×（０．５）＝−２」を算出する。ここで、「＋５」は、非常にポジティブ、「−５」は非常にネガティブとして、「好きでない」は、「−２」であり、若干、ネガティブ、ということになる。なお、変更語として、評価を強める語（例えば、「非常に」「かなり」）、評価を弱める語（例えば、「あまり」）、評価を逆転させる語（例えば、「でない」）、評価を無効にする語（例えば、「であるとは言えない。」）などの種類がある。そして、評価を強める語は、例えば、強くする度合いにより、「１」より大きな評価変更情報が与えられ、評価を弱める語は、例えば、弱くする度合いにより、「１」より小さな評価変更情報が与えられ、評価を逆転させる語は、「−１」が与えられる。
【０１５３】
変更情報格納部２２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【０１５４】
変更語取得部２３は、評価語から所定以内の文字数の距離内にある変更語を、文の中から取得する。なお、変更語は存在しない場合もあることは言うまでもない。変更語取得部２３は、通常、ＭＰＵやメモリ等から実現され得る。変更語取得部２３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１５５】
判断部２４は、入力情報（入力情報は、文である）の肯定度合い、否定度合いが、予め決められた条件を満たすか否かを判断する。さらに具体的には、例えば、判断部２４は、入力情報（入力情報は、文である）が否定的な文であるか否かを判断する。また、判断部２４は、評価情報格納部２１に格納されている評価語であり、評価対象の否定的な用語である評価語を、文の中に含むか否かを判断し、含むとの判断である場合に、文が否定的な文であると判断しても良い。また、判断部２４は、評価情報格納部２１に格納されている評価語であり、文の中に含まれる評価語を取得し、当該取得した評価語と、変更語取得部２３が取得した変更語を用いて、文が否定的な文であるか否かを判断しても良い。つまり、判断部２４は、文の中に、肯定的な評価語（例えば、「好き」）が含まれ、かつ変更語（例えば、「でない」）が含まれている場合、入力情報が否定的な文である、と判断する。そして、判断部２４は、文の中に、否定的な評価語（例えば、「嫌い」）が含まれ、かつ変更語（例えば、「でない」）が含まれている場合、入力情報が否定的な文でない、と判断する。判断部２４は、上記した評価語に対するスコアと変更語に対するスコアを用いて、文の肯定度合い、否定度合いのスコアを算出し、スコアに応じて、出力情報を出力するか否かを判断しても良い。また、否定的な文とは、キーワードに対して否定的な文である。または、否定的な文とは、「食べない」など行動が否定の場合や、対象に対して「嫌い」「好きではない」など、感情が否定的な場合などがある。判断部２４は、通常、ＭＰＵやメモリ等から実現され得る。判断部２４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１５６】
出力部２５は、出力情報を出力する。ただし、出力部２５は、判断部２４における判断が、文が否定的な文であるとの判断である場合には、出力情報を出力しない。また、出力部２５は、判断部２４はが、入力情報（入力情報は、文である）の肯定度合い、否定度合いが、予め決められた条件を満たさない（または、満たす）と判断した場合に、出力情報を出力しない。なお、ここで、判断部２４における判断が、文が否定的な文である等との判断である場合に、結果として、出力情報を出力しなければ良い。つまり、判断部２４における判断が、文が否定的な文である等との判断である場合に、出力情報構成部１４が出力情報を構成しなくても良いし、出力情報構成部１４が出力情報を構成するが、出力部２５が出力情報を出力しなくても良い。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信等を含む概念である。出力部２５は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部１５は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１５７】
次に、情報処理装置の動作について、図１８のフローチャートを用いて説明する。図１８のフローチャートにおいて、図３のフローチャートと同様の処理について、説明を省略する。
【０１５８】
（ステップＳ１８０１）判断部２４は、評価対象を含む第二文字列を有する文中の他の特定の第二文字列の種類（例えば、「状態」）に対応する第二文字列を取得する。なお、「状態」は、「動作状態」でも良い。
【０１５９】
（ステップＳ１８０２）判断部２４は、ステップＳ１８０１で取得した第二文字列中に、評価語を含むか否か決定するために、評価情報格納部２１が有する1以上の評価語を各々読み出し、当該各評価語をキーとして、第二文字列を検索する。
【０１６０】
（ステップＳ１８０３）判断部２４は、ステップＳ１８０２における検索の結果、第二文字列が評価語を含むか判断する。評価語を含む場合はステップＳ１８０３に行き、評価語を含まない場合はステップＳ１８０６に行く。
【０１６１】
（ステップＳ１８０４）判断部２４は、スコア取得処理を行う。つまり、判断部２４は、評価情報格納部２１を検索し、評価語に対応するスコアを読み出し、メモリ上に配置する。なお、ここでは、評価情報は、評価語と、そのスコアを有する、とする。
【０１６２】
（ステップＳ１８０５）判断部２４は、スコア変更処理を行う。スコア変更処理の詳細について、図１９のフローチャートを用いて説明する。ステップＳ１８０７に行く。
【０１６３】
（ステップＳ１８０６）判断部２４は、スコア（変数）に、０を代入する。
【０１６４】
（ステップＳ１８０７）判断部２４は、スコアが、予め決められている条件を満たすか否かを判断する。通常、スコアが否定的なスコア（例えば、負）でないか否かを判断する。なお、予め決められている条件は、「負でない」だけではなく、「−３以上」「１以上」「２より大」などでも良い。ただし、予め決められている条件は、否定的でないことを示す条件であることが好適である。予め決められている条件を満たす場合ステップＳ３０３に行き、満たさない場合ステップＳ３０１に戻る。つまり、予め決められている条件を満たさない場合、以後の出力情報を出力するまでの処理を行わない。
【０１６５】
なお、図１８のフローチャートにおいて、判断部２４は、スコアを用いて、条件を満たすか否かを判断した。しかし、判断部２４は、「評価語を含むか否か」「変更語を含むか否か」のみにより、条件を満たすか否かを判断しても良い。
【０１６６】
なお、図１８のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１６７】
次に、ステップＳ１８０５のスコア変更処理の詳細について、図１９のフローチャートを用いて説明する。
【０１６８】
（ステップＳ１９０１）変更語取得部２３は、変更情報格納部２２の変更情報が有する変更語の情報を用いて、評価語の前後の所定以内の文字数の距離内に、変更語が存在するか否かを判断する。
【０１６９】
（ステップＳ１９０２）変更語取得部２３は、ステップＳ１９０１で変更語が存在すると判断した場合はステップＳ１９０３に行き、存在しないと判断した場合は上位処理にリターンする。
【０１７０】
（ステップＳ１９０３）変更語取得部２３は、変更情報格納部２２の変更情報が有する変更語にマッチする評価語の前後の所定以内の文字数の距離内の文字列をすべて取得し、メモリ上に配置する。
【０１７１】
（ステップＳ１９０４）判断部２４は、ステップＳ１９０３で取得された１以上の変更語と対になる各評価変更情報を、変更情報格納部２２から取得する。
【０１７２】
（ステップＳ１９０５）判断部２４は、判断部２４が取得したスコアに対して、ステップＳ１９０４で取得した１以上の評価変更情報を用いて、スコアを変更し、新たなスコアを算出する。判断部２４は、例えば、「スコア×１番目の評価変更情報×２番目の評価変更情報×・・・×ｎ番目の評価変更情報」により、新たなスコアを算出する。上位処理にリターンする。その際、変更語が存在する場合には新たなスコアを、または変更語が存在しない場合には元のスコアをリターンする。
【０１７３】
なお、図１９のフローチャートにおいて、変更語取得部２３は、評価語の前後の所定以内の文字数の距離内に、変更語が存在するか否かを判断した。しかし、変更語の存在を検索する対象の文字列は、例えば、評価語が含まれる第二文字列など、他のアルゴリズムや、他の範囲でも良い。
【０１７４】
次に、本実施の形態における情報処理システムの具体的な動作について説明する。情報処理システムの概念図は図１である。
【０１７５】
今、辞書情報格納手段１３１は、図８に示す辞書情報管理表を保持している。また、ユーザ情報格納部１１は、図９に示すユーザ情報管理表を保持している。
【０１７６】
また、図２０は、評価情報格納部２１に管理されている評価情報管理表である。評価情報管理表は、「評価語」「スコア」の属性値を有するレコードを１以上格納している。本評価情報管理表において、例えば、評価語「良い」のスコアは「＋３」、評価語「おしゃれ」のスコアは「＋４」等である。
【０１７７】
さらに、図２１は、変更情報格納部２２に管理されている変更情報管理表である。変更情報管理表は、「変更語」「評価変更情報」の属性値を有するレコードを１以上格納している。本評価情報管理表において、「評価変更情報」は、スコアに対して乗算される数値である。
【０１７８】
以下、かかる状況において、２つの具体例を用いて、本情報処理システムについて説明する。なお、具体例で使用する入力情報は、実施の形態１で説明した具体例と同様である。
（具体例１）
【０１７９】
実施の形態１の具体例１で説明したように、第一端末装置２と第二端末装置３には、チャットシステムが起動され、ＡさんとＸ君は、チャットを行う環境である、とする。そして、Ｘ君は、第二端末装置３に「今日のお昼、何を食べたいの？」と入力した、とする。すると、入力受付部３０１が文「今日のお昼、何を食べたいの？」を受け付け、送信部３０２が文「今日のお昼、何を食べたいの？」を情報処理装置１に送信する。次に、情報処理装置１は、文「今日のお昼、何を食べたいの？」を受信し、第一端末装置２に転送する。そして、第一端末装置２は、文「今日のお昼、何を食べたいの？」を受信し、出力する（図１０参照）。
【０１８０】
次に、Ａさんは、Ｘ君の発言「今日のお昼、何を食べたいの？」を見て、「冷麺は好きではない。」を入力フィールド１０２に入力した、とする。すると、入力受付部２０１が、文「冷麺は好きではない。」を受け付ける。そして、Ａさんは、送信ボタン１０３を押下する。次に、送信部２０２は、文「冷麺は好きではない。」を情報処理装置４に送信する。そして、情報処理装置４の受付部１２は、文「冷麺は好きではない。」を受信し、図示しない手段が、文「冷麺は好きではない。」を第二端末装置３に送信する。そして、第二端末装置３は、文「冷麺は好きではない。」を受信し、出力する。
【０１８１】
文分割制御手段１３２は、文「冷麺は好きではない。」を、実施の形態１で説明した機能素解析の自然言語処理技術を用いて、「主題：冷麺は」「動作・状態：好きではない」を得る。
【０１８２】
次に、キーワード取得手段１３３は、文分割制御手段１３２が取得した第二文字列の種類（ここでは「主題」、または「副題」とする）からキーワードを含む第二文字列「冷麺は」を特定し、当該第二文字列からキーワード「冷麺」を取得し、メモリ上に配置する。ここでは、キーワード取得手段１３３は、第二文字列に含まれる自立語を取得し、キーワードとする、とする。
【０１８３】
次に、判断部２４は、評価対象「冷麺」を含む第二文字列を有する文中の他の特定の第二文字列の種類（ここでは、「動作・状態」）に対応する第二文字列「好きではない」を取得する。
【０１８４】
次に、判断部２４は、取得した第二文字列「好きではない」の中に、評価語を含むか否か決定するために、評価情報格納部２１が有する１以上の評価語を各々読み出し、当該各評価語をキーとして、第二文字列を検索する。そして、判断部２４は、評価語「好き」を取得する。
【０１８５】
次に、判断部２４は、評価語「好き」に対するスコア「＋４」を、図２０の評価情報管理表から取得し、メモリ上に配置する。
【０１８６】
次に、判断部２４は、スコア変更処理を行う。つまり、まず、変更語取得部２３は、変更情報格納部２２の変更情報が有する変更語の情報（図２１参照）を用いて、評価語の前後の所定以内の文字数の距離内（例えば、前後６文字内）に、変更語が存在するか否かを判断する。変更語取得部２３は、図２１の変更情報管理表を検索し、「好きではない」の中に「ではない」が存在することを検出する。
【０１８７】
次に、判断部２４は、取得された１以上の変更語「ではない」と対になる評価変更情報「−１」を、変更情報管理表から取得する。
【０１８８】
次に、判断部２４は、判断部２４が取得したスコア「＋４」に対して、取得した１以上の評価変更情報「−１」を用いて、スコアを変更し、新たなスコアを算出する。ここでは、「スコア×評価変更情報」により、スコア「−４」を得る。
【０１８９】
次に、判断部２４は、スコア「−４」が、予め決められている条件を満たすか否かを判断する。ここで、予め決められている条件は、「スコアが負ではない（負である）」であるとすると、判断部２４は、スコア「−４」は、条件を満足しない（満足する）、と判断する。そして、出力情報は構成されない。つまり、出力情報は出力されない。
【０１９０】
次に、Ａさんは、チャットシステムに対して、文「ラーメンがいいなあ。」を入力する、とする。すると、文「ラーメンがいいなあ。」は、上記と同様のスコア算出処理により、スコアが正「＋４」であるので、判断部２４は、条件を満たすと判断する。
【０１９１】
そして、実施の形態１の具体例１で説明したように、図１３に示すような出力が、第一端末装置２で得られる。
【０１９２】
以上より、否定的でない入力情報を入力した場合には、それをアシストする出力情報が出力され、否定的な入力情報を入力した場合には、それをアシストする出力情報が出力されない態様について説明した。
（具体例２）
【０１９３】
具体例２も、実施の形態１の具体例２と同様に、第一端末装置２のユーザ（Ａさん）が、ブログに日記を記載している、とする。ここでは、Ａさんは、「・・・・・・・ホテルＡに、また、泊まりに行きたいなあ。・・・・・・・・・・・・・・北海道への旅行もいいなあ。・・・・沖縄は、暑いので、行きたくないなあ。・・・」など、本日の気持ちをいろいろ書いている、とする（図２２参照）。そして、Ａさんは、ブログをサーバ装置である情報処理装置１にアップした、とする。つまり、実施の形態１の具体例２と比較して、「沖縄は、暑いので、行きたくないなあ。」という文が入っている。
【０１９４】
ここで、文「ホテルＡに、また、泊まりに行きたいなあ。」「北海道への旅行もいいなあ。」については、判断部２４は、否定的な文ではない、と判断する。そして、実施の形態１の具体例２と同様に、図１６に示すような出力情報が、出力される。なお、出力情報は、「ホテルＡの料理は南仏風で美味しいと感じるものもあった，http://www.abc.・・・」や、「夏の北海道はすずしくて良かった，c:\XX\・・・\送信メール.mail」である。
【０１９５】
そして、次に、情報処理装置４の受付部１２は、「沖縄は、暑いので、行きたくないなあ。」を受信する、とする。
【０１９６】
そして、ユーザ情報取得部１３は、上記した機能素解析の処理により、「主題：沖縄は」「副題：暑いので」「動作・状態：行きたくないなあ」を得た、とする。
【０１９７】
次に、判断部２４は、動作・状態の文字列「行きたくないなあ」から評価語が存在するか否かを判断する。ここで、判断部２４は、評価語が存在しない、と判断する。次に、判断部２４は、動作・状態の文字列「行きたくないなあ」から変更語が存在するか否かを判断する。ここで、判断部２４は、変更語「ない」が存在する、と判断する。そして、判断部２４は、評価語が存在せず、変更語が存在するために、文「沖縄は、暑いので、行きたくないなあ。」は、否定的な文である、と判断する、とする。
【０１９８】
次に、判断部２４は、否定的な文であるために、予め決められている条件を満足しない、と判断する。そして、出力情報は構成されない。つまり、出力情報は出力されない。
【０１９９】
以上、具体例２では、判断部２４がスコアを算出せず、評価語、変更語の存在、不存在の情報のみに基づいて、予め決められている条件を満足するか否かを判断する態様について説明した。かかる場合、例えば、評価対象の文に、肯定的な評価語が存在し、変更語が存在する場合は、否定的な文であると判断する。また、例えば、評価対象の文に、肯定的な評価語が存在し、変更語が存在しない場合は、肯定的な文であると判断する、また、例えば、評価対象の文に、評価語が存在せず、変更語が存在する場合は、否定的な文であると判断する。また、例えば、評価対象の文に、評価語も変更語も存在しない場合、否定的でも、肯定的でもないと判断する。
【０２００】
なお、判断部２４は、評価語のみを用いて、予め決められている条件を満足するか否かを判断しても良い。かかる場合、評価語群の中に「ない」などの否定的な用語が存在することが好適である。
【０２０１】
以上、本実施の形態によれば、ユーザが入力した入力情報が、一定の条件を満たす場合のみ、出力情報を出力できる。本実施の形態によれば、例えば、ユーザが否定的でない文である入力情報を入力した場合のみ、当該入力情報に含まれるキーワードに対応する出力情報を出力できる。したがって、ユーザにとって必要な情報のみを提示できる。ユーザが入力した情報に対して、不要なアシストをする確率を減らせ、ユーザにとって煩わしくない。そして、ユーザにとって、真に役立つアシストをすることができる。
【０２０２】
さらに、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、キーワードを含む入力情報を受け付ける受付部と、前記入力情報に含まれるキーワードを用いて、ユーザが過去に入力した１以上の文に基づく情報であるユーザ情報を格納しているユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得部と、前記ユーザ情報取得部が取得したユーザ情報を用いて、出力する情報である出力情報を構成する出力情報構成部と、前記出力情報を出力する出力部として機能させるためのプログラム、である。
【０２０３】
また、上記プログラムにおいて、前記入力情報が文を含み、コンピュータを、前記文が否定的な文であるか否かを判断する判断部としてさらに機能させ、前記出力部は、前記判断部における判断が、前記文が否定的な文であるとの判断である場合には、前記出力情報を出力しないように機能させるための請求項１２記載のプログラム、である。
【０２０４】
また、上記プログラムにおいて、前記出力情報構成部は、前記ユーザ情報取得部が取得したユーザ情報を用いて、前記ユーザ情報の元になった文である出力情報を取得するものとして機能させるためのプログラム、である。
【０２０５】
また、上記プログラムにおいて、前記ユーザ情報取得部は、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を１以上格納している辞書情報格納手段と、前記入力情報から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を２以上の文字列である２以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御手段と、前記文分割制御手段が取得した第二文字列の種類からキーワードを含む第二文字列を特定し、当該第二文字列からキーワードを取得するキーワード取得手段と、前記キーワード取得手段が取得したキーワードを用いて、前記ユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得手段を具備するものとして機能させるためのプログラム、である。
【０２０６】
また、上記プログラムにおいて、前記文分割制御手段は、前記入力情報をメモリ上に読み出し、当該文の先頭から予め決められたサイズ（ｎ文字[ｎは２以上の整数]）の第三文字列を切り出し、メモリ上に配置し、前記切り出した第三文字列を構成する文字列であって、先頭からｎ文字の文字列から順に、前記辞書情報格納手段に当該文字列が存在するか否かを判断し、ｎ文字の文字列が存在しない場合には、先頭から（ｎ−１）文字の文字列が前記辞書情報格納手段に存在するか否かを判断し、かかる判断を、１文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から１文字になるまでかかる判断を行い、文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納手段から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、１文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割手段と、前記要素分割手段が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する２つの、前記要素分割手段が分割した要素またはまとまり情報を読み出し、当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数取得する要素連結手段と、前記要素連結手段が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得手段を具備するものとして機能させるためのプログラム、である。
（実施の形態３）
【０２０７】
本実施の形態において、ユーザ情報格納部１１に格納されている入力情報を、自動的に取得する態様について説明する。ユーザ情報格納部１１の入力情報は、機能素解析技術を用いて取得される。入力情報は、例えば、いわゆるＣＧＭ（一のユーザのＣＧＭ）から取得される。したがって、入力情報は、そのユーザの経験や、過去に考えたこと、過去の思想、信条などがデータベース化された情報であり、そのユーザの人格的な情報である、とも言える。
【０２０８】
本実施の形態における情報処理装置５を含む情報処理システムの概念図は、図１のような構成である。図２３は、本実施の形態における情報処理システムのブロック図である。情報処理システムは、情報処理装置５、第一端末装置２、第二端末装置３を具備する。
【０２０９】
情報処理装置５は、ユーザ情報格納部１１、受付部１２、ユーザ情報取得部１３、出力情報構成部１４、出力部１５、文章群取得部３０、辞書情報格納部３１、文分割制御部３２、蓄積部３３を具備する。
【０２１０】
文分割制御部３２は、要素分割手段１３２１、要素連結手段１３２２、文字列取得手段１３２３を具備する。
【０２１１】
辞書情報格納部３１は、辞書情報格納手段１３１と同じものである。また、文分割制御部３２は、文分割制御手段１３２と同じものである。同様の構成は、一の手段として、集約されていることが好適であることは言うまでもない。
【０２１２】
文章群取得部３０は、ある一のユーザが過去に入力した文（音声入力による文も含む）を含む文章群を取得する。文章群取得部３０は、２以上の異なる種類の文章群を取得することが好適である。文章群とは、チャットシステムに入力された文章群、ブログやＳＮＳや電子メールシステムに入力された文章群、ＶｏＩＰ、メタバースに入力された文章群などである。文章群が音声データである場合、文章群取得部３０は、音声データを音声認識し、文章群（文字コード列）に変換する音声認識手段を有する。文章群取得部３０は、通常、どの種類の文章群がどこに存在するかについての情報である文章群所在情報を保持している。文章群所在情報は、文章の種類を特定する識別子または文章を特定する識別子と、当該文章群の所在情報（ＵＲＬや、フォルダ階層の情報とファイル名や、ＩＰアドレス、ＵＲＬとユーザ識別情報など）を有する。文章群取得部３０は、無線または有線の通信手段や、ＭＰＵやメモリ等から実現され得る。
【０２１３】
文分割制御部３２は、文章群取得部３０が取得した文章群を構成する各文を自然言語処理し、文を構成する要素に分割する。要素とは、ここでは、例えば、主題、副題、動作・状態である。
【０２１４】
蓄積部３３は、文分割制御部３２が取得した２以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして、ユーザ情報格納部１１に蓄積する。蓄積部３３は、通常、ＭＰＵやメモリ等から実現され得る。蓄積部３３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０２１５】
次に、情報処理装置５のユーザ情報格納部１１に、ユーザ情報が格納されるまでの動作について図２４のフローチャートを用いて説明する。
【０２１６】
（ステップＳ２４０１）文章群取得部３０は、カウンタｉに１を代入する。
【０２１７】
（ステップＳ２４０２）文章群取得部３０は、ｉ番目の文章群所在情報が存在するか否かを判断する。ｉ番目の文章群所在情報が存在すればステップＳ２４０３に行き、ｉ番目の文章群所在情報が存在しなければ処理を終了する。
【０２１８】
（ステップＳ２４０３）文章群取得部３０は、ｉ番目の文章群所在情報が示す文章群の所在情報に基づいて、文章群を取得する。この文章群取得処理は、フォルダから指定の文章群を読み出す処理であったり、ＵＲＬで示される図示しないサーバ装置からファイル（例えば、ホームページなど）を受信する（取得する）処理であったり、ＵＲＬで示される図示しないサーバ装置から、ユーザ識別情報（ユーザＩＤ）を指定して、特定の文章の集合を取得する処理であったりする。
【０２１９】
（ステップＳ２４０４）文章群取得部３０は、カウンタｊに１を代入する。
【０２２０】
（ステップＳ２４０５）文章群取得部３０は、ステップＳ２４０３で取得した文章群中に、ｊ番目の文が存在するか否かを判断する。ｊ番目の文が存在すればステップＳ２４０６に行き、ｊ番目の文が存在しなければステップＳ２４１０に行く。
【０２２１】
（ステップＳ２４０６）文分割制御部３２は、ステップＳ２４０３で取得した文章群中の、ｊ番目の文を読み出す。
【０２２２】
（ステップＳ２４０７）文分割制御部３２は、ユーザ情報を取得する処理を行う。かかるユーザ情報取得処理について、図２５のフローチャートを用いて説明する。
【０２２３】
（ステップＳ２４０８）蓄積部３３は、ステップＳ２４０７で取得されたユーザ情報をユーザ情報格納部１１に蓄積する。
【０２２４】
（ステップＳ２４０９）文章群取得部３０は、カウンタｊを、１インクリメントする。ステップＳ２４０５に戻る。
【０２２５】
（ステップＳ２４１０）文章群取得部３０は、カウンタｉを、１インクリメントする。ステップＳ２４０２に戻る。
【０２２６】
次に、ステップＳ２４０７のユーザ情報取得処理について、図２５のフローチャートを用いて説明する。図２５のフローチャートにおいて、図４のフローチャートと同様のステップについて説明を省略する。
【０２２７】
（ステップＳ２５０１）蓄積部３３は、文分割制御部３２が取得した情報（第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報）を用いて、ユーザ情報を構成する。蓄積部３３は、例えば、ｉ番目の文章群の文章群所在情報と、ｊ番目の文のオフセットを取得し、かつ、文分割制御部３２が取得した情報（「主題」「副題」「動作・情報」を有する情報）を用いて、図９に示す構造のユーザ情報を取得する。つまり、ユーザ情報は、例えば、「主題」「副題」「動作・情報」「元データ」「箇所情報」を有する。「元データ」は、文が取得された元の文章群の文章群所在情報である。「箇所情報」は、例えば、当該文の文章群中でのオフセットである。
【０２２８】
以下、本実施の形態における情報処理装置の具体的な動作について説明する。
【０２２９】
今、図２６に示す文章群所在情報管理表が、文章群取得部３０に格納されている。文章群所在情報管理表は、ある個人（例えば、Ａさん）が入力した文章群が格納されている所在情報を示す情報である文章群所在情報を1以上格納している。文章群所在情報管理表は、「ＩＤ」「文章群の種類」「文章群所在情報」の属性値を有するレコードを1以上格納している。
【０２３０】
かかる状況において、何らかのトリガー（例えば、ユーザ指示、または、定期的な時刻トリガーなど）により、情報処理装置５のユーザ情報格納部１１に、ユーザ情報が格納される動作が開始される。
【０２３１】
つまり、文章群取得部３０は、１番目の文章群所在情報「http://www.abc.・・・」を、文章群所在情報管理表から取得する。そして、文章群取得部３０は、「http://www.abc.・・・」を用いて、ブログのファイルを取得する。なお、ＵＲＬを用いて、ファイルを取得する技術は公知技術である。そして、文章群取得部３０は、ブログのファイルをオープンし、1文ずつ処理を行う。この処理は、上述した機能素解析を用いた自然言語処理である。この処理により、文が「主題」「副題」「動作・状態」の文字列に分割される。
【０２３２】
そして、蓄積部３３は、１番目の文章群の文章群所在情報「http://www.abc.・・・」と、１番目の文（例えば、「ホテルＡの料理は南仏風で美味しいと感じるものもあった」）のオフセット（例えば、「１５２６ｂｙｔｅ」）を取得し、かつ、文分割制御部３２が取得した情報（例えば、「主題：ホテルＡの料理は」「副題：南仏風で美味しいと感じるものも」「動作・情報：あった」）を用いて、図９の「ＩＤ＝１」のユーザ情報を構成する。
【０２３３】
次に、蓄積部３３は、取得されたユーザ情報をユーザ情報格納部１１に蓄積する（図９の「ＩＤ＝１」のレコード）。
【０２３４】
同様に、文章群取得部３０等は、ブログファイルのすべての文を処理し、蓄積部３３は、ユーザ情報をユーザ情報格納部１１に蓄積する。
【０２３５】
次に、文章群取得部３０は、２番目の文章群所在情報「C:\XX\・・・\送信メール.mail」を所在情報管理表から取得する。そして、文章群取得部３０は、「C:\XX\・・・\送信メール.mail」が示すファイルを読み出す。そして、文章群取得部３０は、送信メールファイルをオープンし、1文ずつ、ブログファイルと同様の処理を行う。蓄積部３３は、送信メールファイルから取得された1以上のユーザ情報をユーザ情報格納部１１に蓄積する。
【０２３６】
次に、文章群取得部３０は、３番目の文章群所在情報「http://www.SNSA.・・・，ユーザＩＤ＝５６５４」を所在情報管理表から取得する。そして、文章群取得部３０は、「http://www.SNSA.・・・」で特定されるファイルの中の「ユーザＩＤ＝５６５４」で特定される文章群を取得する。なお、ＵＲＬとユーザＩＤを用いて文章群を取得する技術は公知技術であるので、詳細な説明を省略する。つまり、「http://www.SNSA.・・・」で特定されるファイルには、例えば、各文章群に対して、入力されたユーザを特定するユーザＩＤが付与されている。そして、文章群取得部３０は、取得した文章群の各文に対して、ブログファイルと同様の処理を行う。そして、蓄積部３３は、ＳＮＳに入力した文章群から取得された１以上のユーザ情報をユーザ情報格納部１１に蓄積する。
【０２３７】
同様に、文章群取得部３０等は、４番目以降の文章群所在情報を用いて、ユーザ情報をユーザ情報格納部１１に蓄積する。そして、例えば、図９に示すユーザ情報管理表が、ユーザ情報格納部１１に蓄積された、とする。
【０２３８】
１以上のユーザ情報が、ユーザ情報格納部１１に蓄積された後の処理は、実施の形態１、２で説明済みである。
【０２３９】
以上、本実施の形態によれば、入力情報を、自動的に取得できる。２種類以上の元情報（ユーザが入力した情報群）を用いて入力情報が取得されることにより、そのユーザの過去の経験を効果的に生かすことができる。また、ユーザの仮想人格を格納できる。
【０２４０】
なお、本実施の形態において、ブログや電子メール等の文章群のデータ形式は、ＨＴＭＬや、ＸＭＬや、電子メールソフト独自のフォーマット等であることも考えられる。しかし、かかるフォーマットの文章群は、通常、テキストに変換されて、ユーザ情報取得の処理がなされる。かかるフォーマット変換の技術は公知技術である。
【０２４１】
さらに、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、キーワードを含む入力情報を受け付ける受付部と、前記入力情報に含まれるキーワードを用いて、ユーザが過去に入力した１以上の文に基づく情報であるユーザ情報を格納しているユーザ情報格納部から、ユーザ情報を取得するユーザ情報取得部と、前記ユーザ情報取得部が取得したユーザ情報を用いて、出力する情報である出力情報を構成する出力情報構成部と、前記出力情報を出力する出力部として機能させるためのプログラム、である。
【０２４２】
また、上記プログラムにおいて、コンピュータを、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を１以上格納している辞書情報格納部と、ユーザが過去に入力した１以上の文章群であり、１以上の解析対象の文章群を構成する文をメモリ上に取得し、当該文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を２以上の文字列である２以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御部と、前記文分割制御部が取得した２以上の区切られた各第二文字列を少なくとも用いてユーザ情報を構成し、当該ユーザ情報を、前記ユーザ情報格納部に蓄積する蓄積部としてさらに機能させるためのプログラム、である。
【０２４３】
また、上記プログラムにおいて、前記文分割制御部は、前記文格納部の文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ（ｎ文字[ｎは２以上の整数]）の第三文字列を切り出し、メモリ上に配置し、前記切り出した第三文字列を構成する文字列であって、先頭からｎ文字の文字列から順に、前記辞書情報格納部に当該文字列が存在するか否かを判断し、ｎ文字の文字列が存在しない場合には、先頭から（ｎ−１）文字の文字列が前記辞書情報格納部に存在するか否かを判断し、かかる判断を、１文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から１文字になるまでかかる判断を行い、文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納部から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、１文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割手段と、前記要素分割手段が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する２つの、前記要素分割手段が分割した要素またはまとまり情報を読み出し、当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数取得する要素連結手段と、前記要素連結手段が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得手段として機能させるためのプログラム、である。
【０２４４】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０２４５】
また、図２７は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図２７は、このコンピュータシステム３４０の概観図であり、図２８は、コンピュータシステム３４０のブロック図である。
【０２４６】
図２７において、コンピュータシステム３４０は、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）ドライブ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブを含むコンピュータ３４１と、キーボード３４２と、マウス３４３と、モニタ３４４と、マイク３４５とを含む。なお、マイク３４５は、ＶｏＩＰや音声チャットの情報を音声認識し、言語解析する態様の場合に、利用される。
【０２４７】
図２８において、コンピュータ３４１は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２に加えて、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３４１３と、ＣＤ−ＲＯＭドライブ３４１２及びＦＤドライブ３４１１に接続されたバス３４１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）３４１５と、ＣＰＵ３４１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３４１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３４１７とを含む。ここでは、図示しないが、コンピュータ３４１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０２４８】
コンピュータシステム３４０に、上述した実施の形態の情報処理装置の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３５０１、またはＦＤ３５０２に記憶されて、ＣＤ−ＲＯＭドライブ３４１２またはＦＤドライブ３４１１に挿入され、さらにハードディスク３４１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３４１に送信され、ハードディスク３４１７に記憶されても良い。プログラムは実行の際にＲＡＭ３４１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３５０１、ＦＤ３５０２またはネットワークから直接、ロードされても良い。
【０２４９】
プログラムは、コンピュータ３４１に、上述した実施の形態の情報処理装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３４０がどのように動作するかは周知であり、詳細な説明は省略する。
【０２５０】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０２５１】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０２５２】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段（端末情報送信部、端末情報受信部など）は、物理的に一の媒体で実現されても良いことは言うまでもない。
【０２５３】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０２５４】
以上のように、本発明にかかる情報処理装置は、過去にユーザが入力した文章などに基づいて、過去の経験や、過去に考えたことを示唆し、ユーザの現在の状態をアシストできる、という効果を有し、情報処理システム等として有用である。
【図面の簡単な説明】
【０２５５】
【図１】実施の形態１における情報処理装置を含む情報処理システムの概念図
【図２】同情報処理システムのブロック図
【図３】同情報処理装置の動作について説明するフローチャート
【図４】同キーワード取得処理について説明するフローチャート
【図５】同連結処理の動作について説明するフローチャート
【図６】同文分割処理の動作について説明するフローチャート
【図７】同出力情報構成処理の動作について説明するフローチャート
【図８】同辞書情報管理表を示す図
【図９】同ユーザ情報管理表を示す図
【図１０】同出力態様の例を示す図
【図１１】同自然言語処理の流れを示す図
【図１２】同出力情報の例を示す図
【図１３】同出力情報の出力態様の例を示す図
【図１４】同ブログのファイル例を示す図
【図１５】同ブログの各文の自然言語処理結果を示す図
【図１６】同第一端末装置の出力例を示す図
【図１７】実施の形態２における情報処理システムのブロック図
【図１８】同情報処理装置の動作について説明するフローチャート
【図１９】同スコア変更処理の動作について説明するフローチャート
【図２０】同評価情報管理表を示す図
【図２１】同変更情報管理表を示す図
【図２２】同ブログのファイル例を示す図
【図２３】同情報処理システムのブロック図
【図２４】同情報処理装置の動作について説明するフローチャート
【図２５】同ユーザ情報取得処理の動作について説明するフローチャート
【図２６】同文章群所在情報管理表を示す図
【図２７】同情報処理装置等を実現するコンピュータの外観図
【図２８】同コンピュータシステムのブロック図
【符号の説明】
【０２５６】
１、４、５  情報処理装置
２  第一端末装置
３  第二端末装置
１１  ユーザ情報格納部
１２  受付部
１３  ユーザ情報取得部
１４  出力情報構成部
１５、２５  出力部
２１  評価情報格納部
２２  変更情報格納部
２３  変更語取得部
２４  判断部
３０  文章群取得部
３１  辞書情報格納部
３２  文分割制御部
３３  蓄積部
１３１  辞書情報格納手段
１３２  文分割制御手段
１３３  キーワード取得手段
１３４  ユーザ情報取得手段
３２１、１３２１  要素分割手段
１３２２  要素連結手段
１３２３  文字列取得手段
【図１】
2009053882.tif 000003
【図２】
2009053882.tif 000004
【図３】
2009053882.tif 000005
【図４】
2009053882.tif 000006
【図５】
2009053882.tif 000007
【図６】
2009053882.tif 000008
【図７】
2009053882.tif 000009
【図８】
2009053882.tif 000010
【図９】
2009053882.tif 000011
【図１１】
2009053882.tif 000012
【図１２】
2009053882.tif 000013
【図１４】
2009053882.tif 000014
【図１５】
2009053882.tif 000015
【図１６】
2009053882.tif 000016
【図１７】
2009053882.tif 000017
【図１８】
2009053882.tif 000018
【図１９】
2009053882.tif 000019
【図２０】
2009053882.tif 000020
【図２１】
2009053882.tif 000021
【図２２】
2009053882.tif 000022
【図２３】
2009053882.tif 000023
【図２４】
2009053882.tif 000024
【図２５】
2009053882.tif 000025
【図２６】
2009053882.tif 000026
【図２７】
2009053882.tif 000027
【図２８】
2009053882.tif 000028
【図１０】
2009053882.tif 000029
【図１３】
2009053882.tif 000030