(57)【要約】【課題】属性情報に応じた予測入力をする技術を提供する。【解決手段】情報処理装置から、未確定文字列と、前記未確定文字列の直前の確定単語と、前記未確定文字列及び前記確定単語に関する属性情報とを受信する受信手段と、前記確定単語と前記確定単語に続く前記未確定文字列とを含む１以上の単語系列を形成し、前記属性情報及び前記単語系列に含まれる連続する２単語についての二単語連続出現確率に基づいて、各単語系列の尤度を算出する予測手段と、前記情報処理装置に、前記１以上の単語系列から、前記尤度が高い所定の件数の単語系列を送信する送信手段と、を備える予測入力装置とする。【選択図】図１
2012208893.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から、未確定文字列と、前記未確定文字列の直前の確定単語と、前記未確定文字列及び前記確定単語に関する属性情報とを受信する受信手段と、
前記確定単語と前記確定単語に続く前記未確定文字列とを含む１以上の単語系列を形成し、前記属性情報及び前記単語系列に含まれる連続する２単語についての二単語連続出現確率に基づいて、各単語系列の尤度を算出する予測手段と、
前記情報処理装置に、前記１以上の単語系列から、前記尤度が高い所定の件数の単語系列を送信する送信手段と、
を備える予測入力装置。
【請求項２】
前記受信手段は、前記情報処理装置から確定文字列を受信し、
前記予測手段は、さらに、前記確定文字列と前記確定文字列を受信した日時に基づいて、各単語系列の尤度を算出する
請求項１に記載の予測入力装置。
【請求項３】
文書と、前記文書に関する前記属性情報とを収集し、前記属性情報毎に、前記文書に含まれる連続する２単語についての前記二単語連続出現確率を算出する収集手段を備える請求項１または２に記載の予測入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測入力装置に関する。
【背景技術】
【０００２】
入力された文字列に基づいて、当該文字列に対する変換候補を予測する予測入力装置がある。予測入力とは、以前に入力した内容等に基づいて、これから入力される語句を予測する機能である。予測入力装置を利用することにより、文書の入力の際、より少ないキー操作で文章を入力できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１１２２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
インターネット上のコニュニティが多様化し、一人の利用者が複数のコミュニティに参加することがある。投稿文書作成を素早く行うことで、更に多様なコミュニティに参加できる可能性がある。コミュニティの情報は、文書に関する属性情報に含まれる。
【０００５】
コミュニティとは、例えば、マイクロブログ、ブログ等の、カテゴリー、ドメイン名、ＵＲＬ（Uniform Resource Locator）、特定の記号に文字列を付加したタグ（例えば、ハッシュタグ等）、電子掲示板のカテゴリー、スレッド、アプリケーション名、路線検索アプリケーションにおける駅名などである。
【０００６】
情報処理装置の利用者が入力する文字列は、入力の対象となる、コミュニティによって、使う用語、単語等が、異なることがある。あるコミュニティで頻繁に使用する語が、他のコミュニティで同様に使用されるとは限らない。よって、あるコミュニティに限定の用語が予測入力装置の履歴に残ることで、このコミュニティとは関係のない他の文書作成時にも推薦されることがある。コミュニティの情報は、入力する文字列の属性情報に含まれる。
【０００７】
また、携帯電話等のモバイル端末を使用したコミュニティへの参加も可能となっている。しかし、モバイル端末では、入力機器の制限から投稿文書の素早い作成が困難である。したがって、モバイル端末においては、より少ないキー操作で入力することが求められる。
【０００８】
本発明は、属性情報に応じた予測入力をする技術を提供することを課題とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するために、本発明の態様では、以下の構成を採用する。
【００１０】
本発明の一態様は、
情報処理装置から、未確定文字列と、前記未確定文字列の直前の確定単語と、前記未確定文字列及び前記確定単語に関する属性情報とを受信する受信手段と、
前記確定単語と前記確定単語に続く前記未確定文字列とを含む１以上の単語系列を形成し、前記属性情報及び前記単語系列に含まれる連続する２単語についての二単語連続出現確率に基づいて、各単語系列の尤度を算出する予測手段と、
前記情報処理装置に、前記１以上の単語系列から、前記尤度が高い所定の件数の単語系列を送信する送信手段と、
を備える予測入力装置である。
【００１１】
なお、本発明の他の態様として、以上のいずれかの構成を実現する方法、プログラム、当該プログラムを記録したコンピュータ読み取り可能記録媒体であってもよい。
【発明の効果】
【００１２】
本発明の態様によれば、属性情報に応じた予測入力をする技術を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、情報処理システムの例を示す図である。
【図２】図２は、単語出現頻度テーブルの例を示す図である。
【図３】図３は、単語出現確率テーブルの例を示す図である。
【図４】図４は、二単語連続出現頻度テーブルの例を示す図である。
【図５】図５は、二単語連続出現確率テーブルの例を示す図である。
【図６】図６は、単語読みテーブルの例を示す図である。
【図７】図７は、確定履歴テーブルの例を示す図である。
【図８】図８は、情報処理装置のハードウェア構成例を示す図である。
【図９】図９は、情報処理システムの動作シーケンスの例（１）を示す図である。
【図１０】図１０は、情報処理システムの動作シーケンスの例（２）を示す図である。
【図１１】図１１は、収集部の動作フローの例を示す図である。
【図１２】図１２は、予測入力部の動作フローの例（１）を示す図である。
【図１３】図１３は、予測入力部の動作フローの例（２）を示す図である。
【図１４】図１４は、単語系列の例を示す図である。
【図１５】図１５は、単語系列の具体例を示す図である。
【図１６】図１６は、非単語を単語に置換した単語系列の例を示す図である。
【図１７】図１７は、ユーザ端末の動作フローの例（１）を示す図である。
【図１８】図１８は、ユーザ端末の動作フローの例（２）を示す図である。
【図１９】図１９は、予測入力部の動作フローの例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して実施形態について説明する。実施形態の構成は例示であり、本発明は開示の実施形態の構成に限定されない。
【００１５】
〔実施形態〕
（構成例）
図１は、本実施形態の情報処理システムの例を示す図である。図１の情報処理システム１０は、サーバ装置１００、記憶装置２００、ユーザ端末３００を含む。サーバ装置１００は、記憶装置２００及びユーザ端末３００と、それぞれ、ネットワーク等を介して、接続される。サーバ装置１００には、複数のユーザ端末３００が接続されうる。サーバ装置１００は、記憶装置２００を含んでもよい。ネットワーク等は、インターネット等の公衆ネットワーク、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等の内部
ネットワークであってもよい。
【００１６】
サーバ装置１００は、サービス部１１０、収集部１２０、予測入力部１３０を含む。サービス部１１０、収集部１２０、予測入力部１３０のうち、いずれかが、別のサーバ装置に含まれてもよい。例えば、サービス部１１０を含むサーバ装置と、収集部１２０を含む
サーバ装置と、予測入力部１３０を含むサーバ装置とが、ネットワーク等を介して接続されて、サーバ装置１００として、動作してもよい。複数のサーバ装置によって、サービス部１１０、収集部１２０、予測入力部１３０が実現されることによって、各処理部による負荷が分散される。また、１つの処理部が複数の処理部として実現されてもよい。
【００１７】
サービス部１１０は、ユーザ端末３００等に対し、ブログ、マイクロブログ、電子掲示板等のサービスを提供する。サービスには、例えば、利用者が情報処理装置等を利用して文字等を入力して投稿するあらゆるサービスが含まれる。サービス部１１０は、マイクロブログ等のサービスにおいて、ユーザ端末３００等から投稿された文書、当該文書が投稿された日時、当該文書が投稿されたコミュニティ等を保存する。サービス部１１０は、収集部１２０からの要求に応じて、当該文書等を提供する。提供する文書には、当該文書が投稿された日時の情報、当該文書が投稿されたコミュニティの情報が含まれる。当該コミュニティの情報は、当該文書に関する属性情報に含まれる。
【００１８】
コミュニティとは、例えば、マイクロブログ、ブログ、ＳＮＳ（Social Network Service）等の、カテゴリー、ドメイン名、ＵＲＬ、特定の記号に文字列を付加したタグ（例えば、ハッシュタグ等）、電子掲示板のカテゴリー、スレッド、アプリケーション名、路線検索アプリケーションにおける駅名などである。
【００１９】
収集部１２０は、サービス部１１０に投稿された文書を要求し、サービス部１１０から文書（文書群）を受信する。収集部１２０は、所定時間毎に、サービス部１１０に投稿された文書を要求する。収集部１２０は、サービス部１１０から文書を受信する。
【００２０】
収集部１２０は、全文書に対して形態素解析を実行する。収集部１２０は、形態素解析の実行結果として、各文書に含まれる単語情報を取得する。即ち、収集部１２０は、全文章を単語ごとに区切り、単語を抽出する。収集部１２０は、単語情報から、各単語の出現回数（単語出現頻度）をカウントする。収集部１２０は、特定の２単語が特定の順番で連続して出現する回数である二単語連続出現頻度をカウントする。二単語連続出現頻度は、任意の単語と任意の単語とが隣り合って（連続して）出現する回数である。ここで、二単語連続出現頻度のカウントにおいて、単語「Ａ」と単語「Ｂ」とが、単語「Ａ」、単語「Ｂ」の順に連続して出現した場合と、単語「Ｂ」、単語「Ａ」の順に連続して出現した場合を別のものとしてカウントする。
【００２１】
収集部１２０は、これらの、単語出現頻度データ、二単語連続出現頻度データを、単語出現頻度テーブル２１１、二単語連続出現頻度テーブル２１３として、単語ＤＢ２１０に格納する。単語出現頻度テーブル２１１、二単語連続出現頻度テーブル２１３には、各単語を含む文書が投稿されたコミュニティが、各単語と共に格納される。
【００２２】
収集部１２０は、抽出された各単語の読み（読み方）を、既存のデータベース等から抽出する。収集部１２０は、各単語と各単語の読みとの組み合わせである単語読みデータを、単語読みテーブル２１５として、単語ＤＢ２１０に格納する。
【００２３】
収集部１２０は、単語出現頻度データから、単語出現確率を算出する。コミュニティｃにおける単語ｗの単語出現確率ｐ１ｃ（ｗ）は、次のように算出される。
【００２４】
【数１】
2012208893.tif 000003
【００２５】
収集部１２０は、二単語連続出現頻度データから、二単語連続出現確率を算出する。コミュニティｃにおいて単語ｗｐ（前単語ｗｐ）に続いて単語ｗｓ（後単語ｗｓ）が出現する確率である二単語連続出現確率ｐ２ｃ（ｗｐ，ｗｓ）は、次のように算出される。
【００２６】
【数２】
2012208893.tif 000004
【００２７】
収集部１２０は、これらの、単語出現確率データ、二単語連続出現確率データを、それぞれ、単語出現確率テーブル２１２、二単語連続出現確率テーブル２１４として、単語ＤＢ２１０に格納する。単語出現頻度テーブル２１２、二単語連続出現頻度テーブル２１４には、各単語を含む文書が投稿されたコミュニティが、各単語と共に格納される。
【００２８】
予測入力部１３０は、ユーザ端末３００から、文書の投稿先のコミュニティの情報の通知を受ける。予測入力部１３０は、ユーザ端末３００から、当該コミュニティに投稿する予定の文書の未確定文字列と、この文字列の直前の１単語（直前単語）とを受信する。
【００２９】
予測入力部１３０は、単語ＤＢ２１０、確定履歴ＤＢ２２０の情報等を使用して、未確定文字列と直前単語とから予測される単語系列を算出する。
【００３０】
予測入力部１３０は、算出した単語系列をユーザ端末３００に送信する。予測入力部１３０は、ユーザ端末３００から確定文字列を受信する。予測入力部１３０は、受信した確定文字列を、確定履歴データとして、確定履歴ＤＢ２２０の確定履歴テーブル２２１に格納する。
【００３１】
記憶装置２００は、単語ＤＢ（Data Base: データベース）２１０、確定履歴ＤＢ２２
０を含む。単語ＤＢ２１０、確定履歴ＤＢ２２０は、それぞれ、別々の記憶装置に含まれてもよい。
【００３２】
単語ＤＢ２１０は、単語出現頻度テーブル２１１、単語出現確率テーブル２１２、二単語連続出現頻度テーブル２１３、二単語連続出現確率テーブル２１４、単語読みテーブル２１５を含む。
【００３３】
図２は、単語出現頻度テーブルの例を示す図である。単語出現頻度テーブル２１１は、コミュニティ毎に、コミュニティに投稿された文書に出現した単語とその単語の出現回数とを対応付けた単語出現頻度データを格納する。テーブルにおける、情報（例えば、コミュニティと単語とこの単語の出現回数等）の１つの組み合わせを１つのレコードともいう。
【００３４】
図３は、単語出現確率テーブルの例を示す図である。単語出現確率テーブル２１２は、コミュニティ毎に、コミュニティに投稿された文書に出現した単語とその単語の出現確率とを対応付けた単語出現確率データを格納する。
【００３５】
図４は、二単語連続出現頻度テーブルの例を示す図である。二単語連続出現頻度テーブル２１３は、コミュニティ毎に、コミュニティに投稿された文書に出現した単語（前単語）とその単語に続いて出現した単語（後単語）とその出現頻度とを対応付けた二単語連続出現頻度データを格納する。
【００３６】
図５は、二単語連続出現確率テーブルの例を示す図である。二単語連続出現確率テーブ
ル２１４は、コミュニティ毎に、コミュニティに投稿された文書に出現した単語（前単語）とその単語に続いて出現した単語（後単語）とその出現確率とを対応付けた二単語連続出現確率データを格納する。
【００３７】
図６は、単語読みテーブルの例を示す図である。単語読みテーブル２１５は、各単語と各単語の読みとの組み合わせである単語読みデータを格納する。単語の読みは、平仮名表記であっても、片仮名表記であっても、ローマ字表記であっても、その他の表記であっても、これらのすべてでも、これらの一部でもよい。また、単語の読みに、アラビア数字（０、１、２など）が含まれてもよい。また、１つの単語に対して、複数のよみが格納されてもよい。未確定文字列として、ローマ字入力途中のものを含むことを許容する場合、単語の読みをローマ字表記にしてもよい。また、ローマ字表記の場合、例えば、「つ」に対して、「tu」、「tsu」等の複数の表記を網羅してもよい。
【００３８】
確定履歴ＤＢ２２０は、確定履歴テーブル２２１を含む。
【００３９】
図７は、確定履歴テーブルの例を示す図である。確定履歴テーブル２２１は、コミュニティ毎に、利用日時と、前要素と、後要素とを対応付けた確定履歴データを格納する。単語（要素）が先頭である場合、当該単語（要素）の前要素は、「Start」であるとして、
当該単語（要素）が先頭の要素であることを示す。また、単語（要素）が末尾である場合、当該単語（要素）の後要素は、「End」であるとして、当該単語（要素）が末尾の要素
であることを示す。
【００４０】
ここで、例えば、単語（要素）が先頭である場合とは、テキスト全体のうちの最初の単語（要素）である場合を指す。このとき、単語（要素）が末尾である場合とは、テキスト全体のうちの最後の単語（要素）である場合を指す。
【００４１】
また、例えば、単語（要素）が先頭である場合とは、句点などの文の区切りからなる形態素に基づいて文単位に区切られたものの最初の単語（要素）である場合を指してもよい。このとき、単語（要素）が末尾である場合とは、句点などの文の区切りからなる形態素に基づいて文単位に区切られたものの末尾の単語（要素）である場合を指してもよい。
【００４２】
ユーザ端末３００は、利用者がサービス部１１０等が提供するサービスのコミュニティに文章等を投稿する際の入力装置である。ユーザ端末３００は、かな漢字変換機能を備える。
【００４３】
ユーザ端末３００は、利用者が投稿する予定のコミュニティの情報と、利用者によって入力された未確定文字列と、この文字列の直前の１単語（直前単語）とを、予測入力部１３０に送信する。ユーザ端末３００は、予測入力部１３０に送信した未確定文字列等に対しての予測結果を、予測入力部１３０から受信する。ユーザ端末３００は、利用者に、予測入力部１３０から受信した予測結果を提示し、未確定文字を確定させるか否かを選択させる。ユーザ端末３００は、利用者によって未確定文字が確定されると、当該確定文字を、予測入力部１３０に送信する。
【００４４】
ユーザ端末３００は、利用者が文書を入力する際の、利用しているサイトのドメイン名、ＵＲＬ等により、投稿先のコミュニティ（投稿しようとしているコミュニティ）を判別してもよい。また、当該ドメイン名や、ＵＲＬ等自体を、そのまま、投稿先のコミュニティの情報としてもよい。
【００４５】
サーバ装置１００は、パーソナルコンピュータ（ＰＣ、Personal Computer）のような
汎用のコンピュータまたはサーバマシンのような専用のコンピュータを使用して実現可能
である。
【００４６】
ユーザ端末３００は、ＰＣ、ＰＤＡ（Personal Digital Assistant）のような専用または汎用のコンピュータ、あるいは、コンピュータを搭載した電子機器を使用して実現可能である。また、ユーザ端末３００は、スマートフォン、携帯電話、カーナビゲーション装置のような専用または汎用のコンピュータ、あるいは、コンピュータを搭載した電子機器を使用して実現可能である。
【００４７】
図８は、情報処理装置のハードウェア構成例を示す図である。サーバ装置１００及びユーザ端末３００は、例えば、図８に示すような情報処理装置１０００によって、実現される。
【００４８】
コンピュータ、即ち、情報処理装置１０００は、ＣＰＵ（Central Processing Unit）
１００２、メモリ１００４、記憶部１００６、入力部１００８、出力部１０１０、通信部１０１２を含む。
【００４９】
情報処理装置１０００は、ＣＰＵ１００２が記録部１００６に記憶されたプログラムをメモリ１００４の作業領域にロードして実行し、プログラムの実行を通じて周辺機器が制御されることによって、所定の目的に合致した機能を実現することができる。
【００５０】
ＣＰＵ１００２は、記憶部１００６に格納されるプログラムに従って処理を行う。
【００５１】
メモリ１００４は、ＣＰＵ１００２がプログラムやデータをキャッシュしたり作業領域を展開したりする。メモリ１００４は、例えば、例えば、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）を含む。
【００５２】
記憶部１００６は、各種のプログラム及び各種のデータを読み書き自在に記録媒体に格納する。記憶部１００６は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、ソリ
ッドステートドライブ（ＳＳＤ、Solid State Drive）装置、ハードディスクドライブ（
ＨＤＤ、Hard Disk Drive）装置である。記憶部１００６としては、例えば、ＣＤ（Compact Disc）ドライブ装置、ＤＶＤ（Digital Versatile Disk）ドライブ装置、＋Ｒ／＋Ｒ
Ｗドライブ装置、ＨＤ  ＤＶＤ（High-Definition Digital Versatile Disk）ドライブ装置、または、ＢＤ（Blu-ray Disk）ドライブ装置がある。また、記録媒体としては、例えば、不揮発性半導体メモリ（フラッシュメモリ）を含むシリコンディスク、ハードディスク、ＣＤ、ＤＶＤ、＋Ｒ／＋ＲＷ、ＨＤ  ＤＶＤ、または、ＢＤがある。ＣＤとしては、ＣＤ−Ｒ（Recordable）、ＣＤ−ＲＷ（Rewritable）、ＣＤ−ＲＯＭがある。ＤＶＤとしては、ＤＶＤ−Ｒ、ＤＶＤ−ＲＡＭ（Random Access Memory）がある。ＢＤとしては、ＢＤ−Ｒ、ＢＤ−ＲＥ（Rewritable）、ＢＤ−ＲＯＭがある。また、記憶部１００６は、リムーバブルメディア、即ち可搬記録媒体を含むことができる。リムーバブルメディアは、例えば、ＵＳＢ（Universal Serial Bus）メモリ、あるいは、ＣＤやＤＶＤのようなディスク記録媒体である。
【００５３】
メモリ１００４及び記憶部１００６は、コンピュータ読み取り可能な記録媒体である。
【００５４】
入力部１００８は、ユーザ等からの操作指示等を受け付ける。入力部１００８は、キーボード、ポインティングデバイス、ワイヤレスリモコン、マイクロフォン、カメラ等の入力デバイスである。入力部１００８から入力された情報は、ＣＰＵ１００２に通知される。
【００５５】
出力部１０１０は、ＣＰＵ１００２で処理されるデータやメモリ１００４に記憶される
データを出力する。出力部１０１０は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、ＥＬ（Electroluminescence）パネル、プリンタ、スピーカ等の出力デバイスである。
【００５６】
通信部１０１２は、外部装置とデータの送受信を行う。通信部１０１２は、例えば、信号線を介して、外部装置と接続される。外部装置は、例えば、他の情報処理装置、記憶装置である。通信部１０１２は、例えば、ＬＡＮ（Local Area Network）インタフェースボードや、無線通信のための無線通信回路である。
【００５７】
情報処理装置１０００は、記憶部１００６に、オペレーティングシステム、各種プログラム、各種テーブル等を記憶している。
【００５８】
オペレーティングシステムは、ソフトウェアとハードウェアとの仲介、メモリ空間の管理、ファイル管理、プロセスやタスクの管理等を行うソフトウェアである。オペレーティングシステムは、通信インタフェースを含む。通信インタフェースは、通信部１０１２を介して接続される他の外部装置等とデータのやり取りを行うプログラムである。
【００５９】
サーバ装置１００を実現できる情報処理装置１０００は、ＣＰＵ１００２が記憶部１００６に記憶されているプログラムをメモリ１００４にロードして実行することによって、サービス部１１０、収集部１２０、予測入力部１３０としての機能を実現する。
【００６０】
記憶装置２００としては、例えば、ソリッドステートドライブ装置、ハードディスクドライブ装置、ＣＤドライブ装置、ＤＶＤドライブ装置、＋Ｒ／＋ＲＷドライブ装置、ＨＤ
ＤＶＤドライブ装置、または、ＢＤドライブ装置がある。また、記憶装置２００は、リムーバブルメディア、即ち可搬記録媒体を含むことができる。
【００６１】
（動作例）
〈全体〉
本実施形態の情報処理システム１０の動作例について説明する。
【００６２】
情報処理システム１０では、収集部１２０が、サービス部１１０から文書を収集し、コミュニティ毎に、文書に出現する単語の出現頻度等を求めて、記憶装置２００に格納する。また、情報処理システム１０では、ユーザ端末３００が予測入力部１３０に通知したコミュニティ及び未確定文字に基づいて、予測入力部１３０がユーザ端末３００の利用者が入力しようとしている文字列を予測し、ユーザ端末３００に送信する。
【００６３】
図９及び図１０は、情報処理システムの動作シーケンスの例を示す図である。図９の「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」は、それぞれ、図１０の「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」と接続する。
【００６４】
収集部１２０は、所定の周期で、サービス部１１０に投稿された文書を要求し、サービス部１１０から、サービス部１１０に蓄積される文書（文書群）を収集する（ＳＱ１００２）。収集部１２０は、他のサーバ装置から、蓄積される文書を収集してもよい。
【００６５】
収集部１２０は、コミュニティ毎に、各文書に含まれる単語を抽出する。収集部１２０は、抽出した単語等から、単語出現頻度データ、二単語連続出現頻度データ、単語出現確率データ、二単語連続出現確率データを生成する（ＳＱ１００４）。
【００６６】
収集部１２０は、生成した、単語出現頻度データ、二単語連続出現頻度データ、単語出現確率データ、二単語連続出現確率データを、単語ＤＢ２１０に、それぞれ、単語出現頻
度テーブル２１１、二単語連続出現頻度テーブル２１３、単語出現確率テーブル２１２、二単語連続出現確率テーブル２１４として格納する（ＳＱ１００６）。
【００６７】
ここまでの動作により、ユーザ端末３００における未確定文字列から入力しようとしている文字列を予測するためのデータが生成される。
【００６８】
ユーザ端末３００は、予測入力部１３０に、利用者が文章を投稿しようとする投稿先のコミュニティ（投稿先のコミュニティの情報）を、通知する（ＳＱ１００８）。投稿先のコミュニティは、例えば、利用者が文章を入力している領域の属性（コミュニティ等）によって、判断される。予測入力部１３０は、ユーザ端末３００から、利用者が文章を投稿しようとする投稿先のコミュニティの情報を受信する。
【００６９】
ユーザ端末３００は、予測入力部１３０に、利用者が入力している未確定文字列、及び、当該文字列の直前の１単語（直前単語）を通知する（ＳＱ１０１０）。未確定文字列が先頭の文字列である場合、直前単語は送信されない。予測入力部１３０は、ユーザ端末３００から、未確定文字列、及び、直前単語を受信する。ユーザ端末３００は、予測入力部１３０が当該直前単語を認識している場合、予測入力部１３０に、当該直前単語を通知しなくてもよい。
【００７０】
予測入力部１３０は、単語ＤＢ２１０から、通知されたコミュニティについての各種データを読み出す（ＳＱ１０１２）。予測入力部１３０は、確定履歴ＤＢ２２０から、通知されたコミュニティについての確定履歴データを読み出す（ＳＱ１０１４）。
【００７１】
予測入力部１３０は、ユーザ端末３００から通知されたコミュニティ、未確定文字列、直前単語、単語ＤＢ２１０から読み出した各種データ、確定履歴ＤＢ２２０から読み出した確定履歴データ等に基づいて、ユーザ端末３００の利用者が入力しようとしている文字列を予測する（ＳＱ１０１６）。予測入力部１３０は、予測した文字列を、尤度が高い順にソートする。
【００７２】
予測入力部１３０が、ユーザ端末３００に、予測した文字列のうち、尤度が高い上位Ｎ件を送信する（ＳＱ１０１８）。
【００７３】
ユーザ端末３００は、予測入力部１３０に対して送信した未確定文字列等に対して予測される文字列を、予測入力部１３０から受信する。ユーザ端末３００は、利用者に、予測入力部１３０から受信したＮ件の文字列を提示する。ユーザ端末３００は、利用者に対し、受信した文字列の中から適切なものを選択させる（ＳＱ１０２０）。また、ユーザ端末３００は、適切なものが選択されない場合、利用者からの指示により、受信した文字列の次に尤度が高い予測した別の文字列を、予測入力部１３０に送信させてもよい。
【００７４】
ユーザ端末３００は、予測入力部１３０に、利用者によって選択された文字列（選択結果）を送信する（ＳＱ１０２２）。予測入力部１３０は、ユーザ端末から送信された文字列（選択結果）に基づいて、確定履歴データを更新する（ＳＱ１０２４）。
【００７５】
このようにして、情報処理システム１０では、収集部１２０が、サービス部１１０からコミュニティ毎に単語を収集し、予測入力部１３０が、ユーザ端末３００から送信された、コミュニティ、未確定文字列等から利用者が入力しようとしている文字列を予測する。
【００７６】
〈収集部〉
図１１は、収集部の動作フローの例を示す図である。図１１の動作フローは、例えば、所定時間毎に動作する。
【００７７】
収集部１２０は、サービス部１１０に投稿された文書を要求し、サービス部１１０から文書（文書群）を受信する（Ｓ１０１）。収集部１２０は、他のサーバ装置に対し、投稿された文書を要求し、文書（文書群）を収集してもよい。収集される文書は、例えば、ブログサービス、マイクロブログサービス、電子掲示板サービス、ＳＮＳ（Social Network
Service）等で投稿された文書である。収集される文書には、当該文書が投稿された日時の情報、当該文書が投稿されたコミュニティの情報を含む。
【００７８】
収集部１２０は、抽出された全文書に対して形態素解析を実行する。収集部１２０は、形態素解析の実行結果として、各文書に含まれる単語情報を取得する（Ｓ１０２）。収集部１２０は、取得された各単語の読み（読み方）を、既存のデータベース等から抽出する。収集部１２０は、各単語と各単語の読みとの組み合わせである単語読みデータを、単語読みテーブル２１５として、単語ＤＢ２１０に格納する。
【００７９】
収集部１２０は、単語情報から、各単語の出現回数（単語出現頻度）をカウントする。出現回数は、文書単位の出現回数としてもよい。文書単位の出現回数とは、１文書に同一単語が複数含まれている場合でも、その単語の出現回数を１回とカウントすることを意味する。さらに、収集部１２０は、特定の２単語が特定の順番で連続して出現する回数である二単語連続出現頻度をカウントする。収集部１２０は、これらの、単語出現頻度データ、二単語連続出現頻度データ、タグ単語共起頻度データを、それぞれ、単語出現頻度テーブル２１１、二単語連続出現頻度テーブル２１３として、単語ＤＢ２１０に格納する（Ｓ１０３）。
【００８０】
収集部１２０は、単語出現頻度データから、単語出現確率を算出する。収集部１２０は、二単語連続出現頻度データから、二単語連続出現確率を算出する。収集部１２０は、これらの、単語出現確率データ、二単語連続出現確率データを、それぞれ、単語出現確率テーブル２１２、二単語連続出現確率テーブル２１４として、単語ＤＢ２１０に格納する。単語出現頻度テーブル２１２、二単語連続出現頻度テーブル２１４には、各単語を含む文書が投稿されたコミュニティが、各単語と共に格納される（Ｓ１０４）。
【００８１】
収集部１２０は、文書の収集の終了を指示された確認する（Ｓ１０５）。終了が指示された場合（Ｓ１０５；ＹＥＳ）、収集部１２０は、処理を終了する。終了が指示されていない場合（Ｓ１０５；ＮＯ）、処理がステップＳ１０１に戻る。
【００８２】
収集部１２０は、各種データを、コミュニティ毎に、カウント、算出し、それぞれのテーブルに格納する。収集部１２０は、コミュニティとこのコミュニティに属する文書から、このコミュニティで多用される用語を得ることができる。
【００８３】
〈予測入力部：予測〉
図１２及び図１３は、予測入力部の動作フローの例を示す図である。図１２の「Ａ」は、図１３の「Ａ」と接続する。図１２及び図１３の動作フローでは、予測入力部１３０は、ユーザ端末３００から未確定文字列等を受信し、ユーザ端末３００の利用者が入力しようとしている文字列を予測し、予測した文字列をユーザ端末３００に送信する。
【００８４】
予測入力部１３０は、ユーザ端末３００から、コミュニティの情報を受信する（Ｓ２０１）。当該コミュニティの情報は、ユーザ端末３００の利用者が、文章等を投稿しようとしているコミュニティの情報である。ユーザ端末３００の利用者は、例えば、ユーザ端末３００に対し、文書等を投稿しようとしているコミュニティを入力することによりユーザ端末３００にコミュニティの情報を認識させることができる。
【００８５】
予測入力部１３０は、ユーザ端末３００から、前単語、未確定文字を受信する（Ｓ２０２）。予測入力部１３０は、未確定文字のみを受信してもよい。また、未確定文字が先頭の文字列である場合、予測入力部１３０は、未確定文字列のみを受信する。
【００８６】
予測入力部１３０は、単語ＤＢ２１０の単語読みテーブル２１５から、未確定文字の一部又は全部を完全に含む単語群を読み出す（Ｓ２０３）。即ち、予測入力部１３０は、例えば、未確定文字が「あいう」である場合、読みが「あいう」である単語、読みが「あい」である単語、読みが「いう」である単語、読みが「あ」である単語、読みが「い」である単語、読みが「う」である単語を読み出す。
【００８７】
予測変換部１３０は、前単語と、読み出した単語群とを用いて、すべての単語系列を構築する（Ｓ２０４）。単語系列とは、前単語とこれに続く未確定文字列とによって、形成される単語の並びである。ここでは、未確定文字列の末尾の要素は、非単語でもよい。
【００８８】
図１４は、単語系列の例を示す図である。図１４の例では、未確定文字列が「あいう」である場合を示す。図１４の例では、読みが「あいう」である単語による単語系列、読みが「あい」である単語と読みが「う」である単語とによる単語系列、読みが「あ」である単語と読みが「い」である単語と読みが「う」である単語とによる単語系列、読みが「あ」である単語と読みが「いう」である単語とによる単語系列とが形成される。読みが同じ単語が複数存在する場合、複数の単語系列が形成される。また、末尾の要素に該当する、読みが「あいう」である単語、読みが「いう」である単語、読みが「う」である単語は、非単語であってもよい。ここでは、前単語も含めて単語系列という。
【００８９】
図１５は、単語系列の具体例を示す図である。図１５の例では、既に確定している前単語が「二羽」であり、未確定文字列が「にわと」である。ここでは、読みが「に」である単語として、「に」、「二」、「荷」が挙げられている。これらは、読み「に」に基づいて、単語読みテーブル２１５から、読み出されたものである。また、同様に、読みが「にわ」である単語、読みが「わ」である単語等が単語読みテーブル２１５から読み出され、挙げられている。一方、末尾の要素に該当する「にわと」、「わと」、「と」は、非単語であってもよい。
【００９０】
図１２に戻って、予測入力部１３０は、構築した単語系列の末尾の非単語をプリフィックスに持つ単語を単語読みデータから読み出す（Ｓ２０５）。例えば、未確定文字が「あいう」である場合、予測入力部１３０は、プリフィックスに読み「あいう」を持つ単語、プリフィックスに読み「いう」を持つ単語、プリフィックスに読み「う」を持つ単語を、読み出す。予測入力部１３０は、読み出した単語をステップＳ２０４で構築した単語系列の非単語と置き換えた新たな単語系列を構築する。
【００９１】
図１６は、非単語を単語に置換した単語系列の例を示す図である。図１６の例は、前単語が「二羽」であり、未確定文字列が「にわと」である例を示している。図１６の例では、例えば、非単語「にわと」が、読み「にわと」をプリフィックスに持つ単語である「にわとり」や「鶏」に置換されている。非単語を単語に置換することにより、「二羽−鶏」や「二羽−二話−鳥居」や「二話−庭−と」等の単語系列が形成される。
【００９２】
図１３に戻って、予測入力部１３０は、単語系列中の隣り合う二要素（前単語及び後単語）間のつながりのスコアとして、二単語連続出現確率を与える（Ｓ２０６）。即ち、予測入力部１３０は、単語系列のすべての二要素間のつながりに対して、二単語連続出現確率テーブル２１４により、当該つながりの前単語と後単語とに対応する二単語連続出現確率を与える。例えば、「二羽−二話−鳥居」において、「二羽」と「二話」との間のつながりに、「二羽」を前単語とし「二話」を後単語とする二単語連続出現確率を与える。さ
らに、「二話」と「鳥」との間に、「二話」を前単語とし「鳥」を後単語とする二単語連続出現確率を与える。対応する二単語連続出現確率が二単語連続出現確率テーブル２１４にない場合、二単語連続出現確率を０とする。
【００９３】
予測入力部１３０は、コミュニティ、確定履歴テーブル２２１の確定履歴データに基づいて、ステップＳ２０６で二要素間のつながり毎に与えた値に、重み付けの値を乗算し、新たな二要素間のつながりの値（スコア）を算出する（Ｓ２０７）。重み付けの値は、例えば、当該二要素の前単語及び後単語が一致する確定履歴テーブル２２１のレコードの利用日時と現在日時の差分（単位は、例えば、月、週、日、時、分、秒等）の逆数と１との和とすることができる。また、当該二要素の前単語及び後単語が一致する確定履歴テーブル２２１のレコードがない場合、重み付けの値を１とすることができる。これにより、最近使用された二要素（前単語及び後単語）間のつながりの値（スコア）を大きくできる。
【００９４】
予測入力部１３０は、各単語系列の各二要素間のスコアに基づいて、系列確率計算アルゴリズム等を用いて、各単語系列の尤度を算出する（Ｓ２０８）。各単語系列の尤度は、例えば、ビタビアルゴリズムを用いることにより算出される。また、各単語系列の尤度は、例えば、１つの単語系列におけるすべてのスコア（二要素間のつながりの値）の積により算出される。尤度の値が高い場合に、もっともらしいと見なす。予測入力部１３０は、すべての単語系列について尤度を算出する。予測入力部１３０は、単語系列（予測した文字列）を、尤度が高い順にソートする。尤度は、利用者が入力しようとしている文字列の確率の度合いを示す。即ち、尤度が高いほど、利用者が入力しようとしている確率が高いと、予測入力部１３０が判断している。
【００９５】
予測入力部１３０は、尤度が高い上位Ｎ件（Ｎは所定の自然数）の単語系列をユーザ端末３００に送信する（Ｓ２０９）。また、予測入力部１３０は、ユーザ端末３００からの要求に応じて、尤度が高い上位Ｎ＋１件以降の単語系列を、ユーザ端末３００に送信してもよい。単語系列が送信される際、単語系列から直前単語が除外されてもよい。直前単語は、未確定文字列ではないため、ユーザ端末３００に送信されなくてもよい。
【００９６】
図１２及び図１３の動作フローにより、予測入力部１３０は、ユーザ端末３００から未確定文字列等を受信し、ユーザ端末３００の利用者が入力しようとしている文字列を予測し、予測した文字列をユーザ端末３００に送信する。
【００９７】
〈ユーザ端末〉
図１７及び図１８は、ユーザ端末の動作フローの例を示す図である。図１７の「Ａ」は、図１８の「Ａ」と接続する。図１７及び図１８の動作フローでは、ユーザ端末３００は、予測入力部１３０に、コミュニティの情報、及び、直前単語（確定文字列）、未確定文字列を送信すると、予測入力部１３０から、ユーザが入力しようとしている尤度が高い上位Ｎ件の単語系列を受信する。さらに、ユーザ端末３００は、利用者による単語系列の選択結果を、予測入力部１３０に送信する。
【００９８】
ユーザ端末３００は、コミュニティの情報、及び、直前単語（確定文字列）、未確定文字列を、予測入力部１３０に送信すると、予測入力部１３０から、尤度が高い上位Ｎ件の単語系列とこの尤度とを受信する（Ｓ３０１）。当該コミュニティの情報は、ユーザ端末３００の利用者が利用しているサービス部１１０等のサービスにおける、利用者が文章等を投稿しようとしているコミュニティの情報である。
【００９９】
ユーザ端末３００は、受信したＮ件の単語系列をモニタ等に表示し、利用者に提示する（Ｓ３０２）。当該単語系列は、予測入力部１３０が、利用者が入力しようとしていると予測する単語系列である。提示する単語系列から、直前単語は除外される。ユーザ端末３
００は、利用者が入力しようとしている単語系列を、利用者に、選択させる。
【０１００】
ユーザ端末３００は、利用者に、提示したＮ件の単語系列から、１つの単語系列が選択されたか否かを判定する（Ｓ３０３）。利用者によって、１つの単語系列が選択された場合（Ｓ３０３；ＹＥＳ）、ユーザ端末３００は、選択された単語系列を確定文字列として、確定する（Ｓ３０４）。処理が、ステップＳ３０７に進む。
【０１０１】
また、利用者によって、１つの単語系列が選択されない場合（Ｓ３０３；ＮＯ）、ユーザ端末３００は、かな漢字変換機能により、未確定文字列に対する変換候補を提示する。ユーザ端末３００は、利用者に、提示した変換候補から、１つの候補が選択されたか否かを判定する（Ｓ３０５）。
【０１０２】
利用者によって、１つの候補が選択された場合（Ｓ３０５；ＹＥＳ）、ユーザ端末３００は、選択された候補を確定文字列として、確定する（Ｓ３０６）。処理が、ステップＳ３０７に進む。
【０１０３】
ステップＳ３０７では、ユーザ端末３００は、確定した確定文字列を、予測入力部１３０に送信する（Ｓ３０７）。
【０１０４】
利用者によって、１つの候補が選択されない場合（Ｓ３０５；ＮＯ）、ユーザ端末３００は、利用者に対し、さらなる予測入力部１３０によって予測された単語系列を要求するか否かを選択させる（Ｓ３０８）。利用者によって、さらなる単語系列を要求された場合（Ｓ３０８；ＹＥＳ）、ユーザ端末３００は、予測入力部１３０に対して、尤度が高いＮ＋１件目以降の単語系列を要求する。この後、ユーザ端末３００は、ステップＳ３０１以降と同様の動作をする。
【０１０５】
利用者によって、さらなる単語系列を要求されない場合（Ｓ３０８；ＮＯ）、ユーザ端末３００は、利用者によるさらなる文字入力を待機する（Ｓ３１０）。ユーザ端末３００に対し利用者によって文字入力がされた場合、ユーザ端末３００は、入力された文字を未確定文字列として、予測入力部１３０に送信する。このとき、ユーザ端末３００は、コミュニティの情報、直前単語、及び、すべての未確定文字列を、予測入力部１３０に送信してもよい。この後、ユーザ端末３００は、ステップＳ３０１以降と同様の動作をする。
【０１０６】
〈予測入力部：格納〉
図１９は、予測入力部の動作フローの例を示す図である。図１９の動作フローでは、予測入力部１３０は、ユーザ端末３００から確定文字列を受信し、単語に分解して、利用履歴データを、利用履歴テーブル２２１に記録する。
【０１０７】
予測入力部１３０は、ユーザ端末３００から確定文字列を受信する（Ｓ４０１）。予測入力部１３０は、確定文字列とともにコミュニティの情報を受信してもよい。予測入力部１３０は、受信した確定文字列に対して、形態素解析を実行する。予測入力部１３０は、形態素解析により、確定文字列を単語に分解し、一連の単語系列に変換する（Ｓ４０２）。予測入力部１３０は、当該単語系列から連続した２単語ずつを取り出して、コミュニティの情報、現在日時（確定文字列を受信した日時でもよい）とともに、利用履歴データとして、図７のように、利用履歴テーブル２２１に記録する（Ｓ４０３）。コミュニティの情報は、未確定文字に対する予測の際に、未確定文字列とともにユーザ端末３００から送信されるコミュニティの情報である。
【０１０８】
（実施形態の作用効果）
サーバ装置１００の収集部１２０は、サービス部１１０等から、マイクロブログ等のサ
ービスに対して投稿された文書、当該文書が投稿された日時等を収集する。収集部１２０は、収集した文書等から、単語情報、コミュニティの情報を抽出する。収集部１２０は、コミュニティ毎に、単語情報に基づいて、各単語の出現頻度、隣接する単語の二単語連続出現頻度を求める。収集部１２０は、各単語の単語出現確率、二単語連続出現頻度から、単語出現確率、二単語連続出現頻度を求める。予測入力部１３０は、ユーザ端末３００から投稿予定のコミュニティ、未確定文字列、直前単語を受信し、未確定文字列に含まれる単語を抽出する。予測入力部１３０は、未確定文字列等に基づいて、複数の単語系列を形成し、各単語系列の隣接する二単語間のつながり毎に、二単語連続出現確率を与える。予測入力部１３０は、過去に確定した確定文字列をコミュニティ毎に収集した確定履歴データを用いて、二単語間のつながりに与えた値に乗算する重み付けの値を算出する。これにより、最近使用された二単語間のつながりの値（スコア）を大きくすることができる。予測入力部１３０は、各単語系列の各二要素間のスコアに基づいて、系列確率計算アルゴリズム等を用いて、各単語系列の尤度を算出する。
【０１０９】
本実施形態の構成によれば、ブログ等のサービスにおいて、文書等を投稿する際に、コミュニティに応じた予測入力が可能となる。また、予測入力部１３０が、コミュニティ毎に収集された確定履歴データを用いることで、投稿する際に、他のコミュニティにおける確定履歴に影響されることなくなる。また、収集部１２０により、投稿された文書等を定期的に収集することで、新しいコミュニティへの対応や予測精度の向上が可能となる。
【０１１０】
〔コンピュータ読み取り可能な記録媒体〕
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１１１】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような媒体内には、ＣＰＵ、メモリ等のコンピュータを構成する要素を設け、そのＣＰＵにプログラムを実行させてもよい。
【０１１２】
また、このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えば、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ＤＡＴ、８ｍｍテープ、メモリカード等がある。
【０１１３】
また、コンピュータ等に固定された記録媒体としてハードディスクドライブやＲＯＭ等がある。
【符号の説明】
【０１１４】
１０        情報処理システム
１００          サーバ装置
１１０            サービス部
１２０            収集部
１３０            予測入力部
２００          記憶装置
２１０            単語ＤＢ
２１１              単語出現頻度テーブル
２１２              単語出現確率テーブル
２１３              二単語連続出現頻度テーブル
２１４              二単語連続出現確率テーブル
２１５              単語読みテーブル
２２０            確定履歴ＤＢ
２２１              確定履歴テーブル
３００          ユーザ端末
１０００        情報処理装置
１００２          ＣＰＵ
１００４          メモリ
１００６          記憶部
１００８          入力部
１０１０          出力部
１０１２          通信部
【図１】
2012208893.tif 000005
【図２】
2012208893.tif 000006
【図３】
2012208893.tif 000007
【図４】
2012208893.tif 000008
【図５】
2012208893.tif 000009
【図６】
2012208893.tif 000010
【図７】
2012208893.tif 000011
【図８】
2012208893.tif 000012
【図９】
2012208893.tif 000013
【図１０】
2012208893.tif 000014
【図１１】
2012208893.tif 000015
【図１２】
2012208893.tif 000016
【図１３】
2012208893.tif 000017
【図１４】
2012208893.tif 000018
【図１５】
2012208893.tif 000019
【図１６】
2012208893.tif 000020
【図１７】
2012208893.tif 000021
【図１８】
2012208893.tif 000022
【図１９】
2012208893.tif 000023