(57)【要約】【課題】未学習の同形異音語の出現する文脈を判断し、適切な読み分けが行える判別プログラム等の提供。【解決手段】判別プログラムは、文章を取得し、取得した文章から読み分け対象の単語を抽出し、抽出した対象の単語に対応する概念階層を取得し、取得した概念階層に基づいて対象の単語の読み情報毎に、対象の単語の上位語を取得し、取得した読み情報毎の上位語と、文章に含まれる対象の単語以外の周辺単語との共起スコアを算出し、算出した共起スコアに基づいて選択した上位語と対応する読み情報を出力する処理をコンピュータに行わせる。【選択図】図１２
2019008477.tif 000002
【特許請求の範囲】
【請求項１】
文章を取得し、
取得した文章から読み分け対象の単語を抽出し、
抽出した対象の単語に対応する概念階層を取得し、
取得した概念階層に基づいて前記対象の単語の読み情報毎に、前記対象の単語の上位語を取得し、
取得した読み情報毎の上位語と、前記文章に含まれる前記対象の単語以外の周辺単語との共起スコアを算出し、
算出した共起スコアに基づいて選択した上位語と対応する読み情報を出力する
処理をコンピュータに行わせる判別プログラム。
【請求項２】
最も高い共起スコアを持つ上位語を選択する
請求項１に記載の判別プログラム。
【請求項３】
共起スコアは、読み情報毎の上位語に対する前記周辺単語の出現頻度に基づいて算出する
請求項１又は請求項２に記載の判別プログラム。
【請求項４】
文章を取得する取得部と、
取得した文章から読み分け対象の単語を抽出する抽出部と、
抽出した対象の単語に対応する概念階層を取得する概念取得部と、
取得した概念階層に基づいて前記対象の単語の読み情報毎に、前記対象の単語の上位語を取得する上位語取得部と、
取得した読み情報毎の上位語と、前記文章に含まれる前記対象の単語以外の周辺単語との共起スコアを算出する算出部と、
算出した共起スコアに基づいて選択した上位語と対応する読み情報を出力する出力部と
を備える判別装置。
【請求項５】
同形異義語の読み情報を出力するコンピュータが、
文章を取得し、
取得した文章から読み分け対象の単語を抽出し、
抽出した対象の単語に対応する概念階層を取得し、
取得した概念階層に基づいて前記対象の単語の読み情報毎に、前記対象の単語の上位語を取得し、
取得した読み情報毎の上位語と、前記文章に含まれる前記対象の単語以外の周辺単語との共起スコアを算出し、
算出した共起スコアに基づいて選択した上位語と対応する読み情報を出力する
判別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同形異音語の読み分けを行う判別プログラム等に関する。
【背景技術】
【０００２】
従来、同形異音語の読み分けは、読み分け対象語の出現する文脈を学習し、学習して得たモデルにより適切な読みを判別している（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３２３４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、地名や氏名のような固有名詞は同形異音語が多く文脈の学習が十分行えず、読み分けができない場合がある。１つの側面では、未学習の同形異音語の出現する文脈を判断し、適切な読み分けが行える判別プログラム等の提供を目的とする。
【課題を解決するための手段】
【０００５】
本願に開示する判別プログラムは、文章を取得し、取得した文章から読み分け対象の単語を抽出し、抽出した対象の単語に対応する概念階層を取得し、取得した概念階層に基づいて前記対象の単語の読み情報毎に、前記対象の単語の上位語を取得し、取得した読み情報毎の上位語と、前記文章に含まれる前記対象の単語以外の周辺単語との共起スコアを算出し、算出した共起スコアに基づいて選択した上位語と対応する読み情報を出力する処理をコンピュータに行わせる。
【発明の効果】
【０００６】
一観点によれば、未学習の同形異音語の適切な読み分けが行える。
【図面の簡単な説明】
【０００７】
【図１】判別システムの構成例を示す説明図である。
【図２】判別装置のハードウェア構成例を示すブロック図である。
【図３】端末のハードウェア構成例を示すブロック図である。
【図４】概念階層ＤＢの例を示す説明図である。
【図５】概念階層の例を示す説明図である。
【図６】概念階層の例を示す説明図である。
【図７】出現頻度ＤＢの例を示す説明図である。
【図８】尤度比ＤＢの例を示す説明図である。
【図９】読み分け辞書の例を示す説明図である。
【図１０】学習処理の手順例を示すフローチャートである。
【図１１】読み判別処理の手順例を示すフローチャートである。
【図１２】読み判定処理の手順例を示すフローチャートである。
【図１３】場所クラスについての処理例を示す説明図である。
【図１４】人物クラスについての処理例を示す説明図である。
【図１５】周辺単語が複数の場合の処理例を示す説明図である。
【図１６】人物クラスについての処理例を示す説明図である。
【図１７】判別装置が備える機能の一例を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下実施の形態を、図面を参照して説明する。
【０００９】
まず、以下の説明において用いる用語について説明する。「読み情報」とはテキストを読み上げるための情報である。読み情報は読みを表すひらがな、カタカナ又はローマ字及びアクセントを表すアクセント記号を含む。読み情報に抑揚を表す抑揚符を含めてもよい。なお、以下の説明においては、「読み情報」を単に「読み」と記載する場合もある。
【００１０】
「共起」とは、ある単語が文章中に出現した場合に、当該文章中に他の特定の単語が同時に出現することをいう。このとき、特定の単語をある単語の「共起語」という。複数の文章を分析した結果、共起語が出現する度数を「出現頻度」という。また、「尤度比」は共起語の出現頻度より算出する指標をいう。
【００１１】
「概念階層」とは、単語が示す概念の階層構造をいう。ある２つの単語の概念を比較した場合において、一方の単語が示す概念が他方の単語の概念を含むとき、一方の単語が示す概念を「上位概念」という。他方の単語の概念を「下位概念」という。また、一方の単語を「上位の単語」、「上位の語」又は「上位語」という。他方の単語を「下位の単語」、「下位の語」又は「下位語」という。このように、概念の広狭を上下関係に置き換えたものが概念階層である。
【００１２】
「クラス」とはある一塊の概念階層をいう。以下の説明においては、固有表現抽出に得られる場所、人物それぞれをクラスと呼ぶ。
【００１３】
図１は判別システムの構成例を示す説明図である。判別システムは判別装置１、端末２を含む。端末２は複数台であってもよい。端末２の台数は図１に示すように２台に限らない。端末２は１台でも良いし、３台以上でもよい。判別装置１及び端末２はネットワークＮにより、互いに通信可能に接続されている。
【００１４】
図２は判別装置１のハードウェア構成例を示すブロック図である。判別装置１はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、大容量記憶部１４、通信部１５及び読み取り部１６を含む。各構成はバスＢで接続されている。
【００１５】
ＣＰＵ１１はＲＯＭ１２に記憶された制御プログラム（判別プログラム）１Ｐに従い、ハードウェア各部を制御する。ＲＡＭ１３は例えばＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）又はフラッシュメモリである。ＲＡＭ１３はＣＰＵ１１によるプログラムの実行時に発生するデータを一時的に記憶する。
【００１６】
大容量記憶部１４は、例えばハードディスク又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などである。大容量記憶部１４は各種データを記憶する。制御プログラム１Ｐを大容量記憶部１４に記憶してもよい。通信部１５はネットワークＮを介して、端末２や他のコンピュータと通信を行う。読み取り部１６はＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）−ＲＯＭを含む可搬型記憶媒体１ａを読み取る。ＣＰＵ１１が読み取り部１６を介して、制御プログラム１Ｐを可搬型記憶媒体１ａより読み取り、大容量記憶部１４に記憶してもよい。また、ネットワークＮ等を介して他のコンピュータからＣＰＵ１１が制御プログラム１Ｐをダウンロードし、大容量記憶部１４に記憶してもよい。さらにまた、半導体メモリ１ｂから、ＣＰＵ１１が制御プログラム１Ｐを読み込んでもよい。
【００１７】
図３は端末２のハードウェア構成例を示すブロック図である。端末２はＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、大容量記憶部２４、表示部２５、入力部２６、通信部２７及び読み取り部２８を含む。各構成はバスＢで接続されている。
【００１８】
ＣＰＵ２１はＲＯＭ２２に記憶された制御プログラム２Ｐに従い、ハードウェア各部を制御する。ＲＡＭ３３は例えばＳＲＡＭ、ＤＲＡＭ又はフラッシュメモリである。ＲＡＭ２３はＣＰＵ２１によるプログラムの実行時に発生するデータを一時的に記憶する。
【００１９】
大容量記憶部２４は、例えばハードディスク又はＳＳＤなどである。大容量記憶部２４は各種データを記憶する。制御プログラム２Ｐを大容量記憶部２４に記憶してもよい。
【００２０】
表示部２５は例えば液晶表示パネルなどの画像表示デバイスを含む。表示部２５は判別装置１が送信した読み情報を表示する。また、表示部２５がスピーカなどの音声出力デバイスを備え、判別装置１が送信した読み情報を音声出力してもよい。さらにまた、表示部２５は画像表示デバイスや音声出力デバイスを備えず、画像データや音声データを出力し、端末２外部の画像表示デバイスに画像を表示させたり、音声出力デバイスに音声出力させたりしてもよい。
【００２１】
入力部２６はキーボードやマウスを介して、ユーザが入力した読み分け対象テキストを受け付ける。入力部２６はマイクなどを介して音声データを受け付けてもよい。また、タッチパネルディスプレイのように、表示部２５及び入力部２６を一体してもよい。
【００２２】
通信部２７はネットワークＮを介して、判別装置１や他のコンピュータと通信を行う。読み取り部２８はＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭを含む可搬型記憶媒体２ａを読み取る。ＣＰＵ２１が読み取り部２８を介して、制御プログラム２Ｐを可搬型記憶媒体２ａより読み取り、大容量記憶部２４に記憶してもよい。また、ネットワークＮ等を介して他のコンピュータからＣＰＵ２１が制御プログラム２Ｐをダウンロードし、大容量記憶部２４に記憶してもよい。さらにまた、半導体メモリ２ｂから、ＣＰＵ２１が制御プログラム２Ｐを読み込んでもよい。
【００２３】
次に判別装置１の大容量記憶部１４が記憶しているデータベース（ＤＢ：ＤａｔａＢａｓｅ）について説明する。図４は概念階層ＤＢ１４１の例を示す説明図である。概念階層ＤＢ１４１は単語間の概念階層を記憶するデータベースである。概念階層ＤＢ１４１はＩＤ列、単語列、上位列及び下位列を含む。ＩＤ列は単語を一意に特定可能なＩＤを記憶する。単語列は概念階層を構成する単語を記憶する。上位列は上位語のＩＤを記憶する。下位列は下位語のＩＤを記憶する。
【００２４】
図５及び図６は概念階層の例を示す説明図である。図５は場所クラスの例である。図５は図４に示した概念階層ＤＢ１４１のレコードの中で、ＩＤが１から６までのレコードの上下関係をツリー表示したものである。場所がルートノードである。場所の下位ノードとして日本が定義されている。日本の下位ノードとして、東京都及び福島県が定義されている。東京都の下位ノードとして、渋谷区が定義されている。福島県の下位ノードとして、猪苗代町が定義されている。
【００２５】
図６は人物クラスの例である。図６は図４に示した概念階層ＤＢ１４１のレコードの中で、ＩＤが１００から１０４までのレコードの上下関係をツリー表示したものである。人物がルートノードである。人物の下位ノードとして芸能人が定義されている。芸能人の下位ノードとして、俳優及び歌手が定義されている。俳優の下位ノードは定義されていない。歌手の下位ノードとして、演歌歌手が定義されている。
【００２６】
図７は出現頻度ＤＢ１４２の例を示す説明図である。出現頻度ＤＢ１４２は概念階層（クラス）毎に設けるデータベースである。出現頻度ＤＢ１４２は各概念階層のそれぞれの単語について、共起語とその出現頻度とを対応付けて記憶する。出現頻度ＤＢ１４２は共起語列及び概念階層に含まれる各単語の列を含む。概念階層に含まれる各単語の列を総称して階層単語列という。図７Ａは場所クラスの例を示す。場所クラスの出現頻度ＤＢ１４２は共起語列に加え、階層単語列として、日本列、東京都列、渋谷区列、福島県列及び猪苗代町列を含む。図７Ａでは、例えば「渋谷区」と「ハチ公像」とが共起する頻度が１００００であることを示している。図７Ｂは人物クラスの例を示す。人物クラスの出現頻度ＤＢ１４２は共起語列に加え、階層単語列として、芸能人列、俳優列、歌手列及び演歌歌手列を含む。図７Ｂでは、例えば「演歌歌手」と「こぶし」とが共起する頻度が２０００であることを示している。出現頻度ＤＢ１４２は複数の文の集合（コーパス）に基づいて構築される。すなわち、出現頻度ＤＢ１４２はコーパスを学習データとする学習によって構築される。
【００２７】
図８は尤度比ＤＢ１４３の例を示す説明図である。尤度比ＤＢ１４３は出現頻度ＤＢ１４２に基づいて構築される。そのため、尤度比ＤＢ１４３は出現頻度ＤＢ１４２と同様に層（クラス）毎に設ける。尤度比ＤＢ１４３は各概念階層のそれぞれの単語について、共起語とその尤度比とを対応付けて記憶する。尤度比は出現頻度ＤＢ１４２が記憶する出現頻度から算出する指標である。尤度比の算出方法は後述する。尤度比ＤＢ１４３は出現頻度ＤＢ１４２と同様に、共起語列及び階層単語列を含む。図８Ａは場所クラスの例を示す。場所クラスの尤度比ＤＢ１４３は共起語列に加え、階層単語列として、日本列、東京都列、渋谷区列、福島県列及び猪苗代町列を含む。図８Ａでは、例えば「渋谷区」と「ハチ公像」との尤度比が４．２８であることを示している。図８Ｂは人物クラスの例を示す。人物クラスの尤度比ＤＢ１４３は共起語列に加え、階層単語列として、芸能人列、俳優列、歌手列及び演歌歌手列を含む。図８Ｂでは、例えば「演歌歌手」と「こぶし」との尤度比が１．９６であることを示している。
【００２８】
図９は読み分け辞書１４４の例を示す説明図である。読み分け辞書１４４は同音異義語の読み情報を特定するのに用いられる。読み分け辞書１４４は単語列、読み列、語義列、クラス列及び上位概念列を含む。単語列は読み分け対象の単語を記憶する。読み列は単語の読み情報を記憶する。語義列は単語の語義を記憶する。クラス列は単語のクラスを記憶する。上位概念列は単語の上位概念を記憶する。
【００２９】
次に、判別装置１が行う情報処理について説明する。図１０は学習処理の手順例を示すフローチャートである。学習処理は読み情報の判別に先立ち実行する処理である。判別装置１のＣＰＵ１１は概念階層を構築する（ステップＳ１）。ＣＰＵ１１は概念階層についてのデータをＤＢｐｅｄｉａなどの知識ベースやシソーラス、又は人手で作成されたデータベースから取得する。ＣＰＵ１１は取得した概念階層のデータから、概念階層ＤＢ１４１のレコードを生成し、大容量記憶部１４に記憶する。又は概念階層ＤＢ１４１が記憶すべき各レコードの内容を記載したテキストファイルを読み込むことにより、概念階層ＤＢ１４１を作成する。テキストファイルは例えば、ＣＳＶファイルである。ＣＰＵ１１は学習を行う（ステップＳ２）。ここでの学習とは、例えば上述したように、コーパスを学習データとする学習によって出現頻度ＤＢ１４２を構築することである。ＣＰＵ１１は学習により得た判定モデルを記憶する（ステップＳ３）。判定モデルは例えば、上述した尤度比ＤＢ１４３である。
【００３０】
学習処理について、上述したデータを用いて説明する。ＣＰＵ１１は図４で示す概念階層ＤＢ１４１を作成する。例えば、ユーザは、ドローツールを用いて、又はテキスト入力により、概念階層を図５及び図６に示すツリー形式で入力する。知識ベースやシソーラスから階層情報を取得する場合は、変換プログラムを利用して概念階層ＤＢ１４１を作成する。ＣＰＵ１１は入力されたツリーの構造を解析し、図４に示す概念階層ＤＢ１４１を作成する（ステップＳ１）。ＣＰＵ１１は概念階層ＤＢ１４１の単語を列として含む出現頻度ＤＢ１４２を定義しておく。ＣＰＵ１１は学習を行う（ステップＳ２）。「渋谷区の著名な観光スポットの１つに、ハチ公像がある。」という一文から、「渋谷区」と「ハチ公像」とは共起語の関係にあると、ＣＰＵ１１は判定する。ＣＰＵ１１は、出現頻度ＤＢ１４２において共起語列の値が「ハチ公像」であるレコードを特定する。ＣＰＵ１１は特定したレコードの「渋谷区」列の値を一加算する。共起語列の値が「ハチ公像」であるレコードがない場合、ＣＰＵ１１は出現頻度ＤＢ１４２に新規レコードを追加する。そして、追加したレコードにおいて、共起語列に「ハチ公像」を設定する。階層単語列については、渋谷区列は１とし、それ以外の階層単語列については、０とする。同様に「東京都は都バスを経営している」との一文から、「都バス」が「東京都」の共起語であると、ＣＰＵ１１は判定する。ＣＰＵ１１は、共起語列の値が「ハチ公像」であるレコードの東京都列の値を１加算する。同様に、「福島県に会津城を見に行った」との一文から、ＣＰＵ１１は「会津城」の福島県列の値を１加算する。「磐梯山は猪苗代町、磐梯町などにまたがる山である」との一文から、ＣＰＵ１１は「磐梯山」の猪苗代町列の値を１加算する。
【００３１】
人物クラスの出現頻度ＤＢ１４２も同様である。「数多くの俳優がこの舞台を経験してきた」との一文から、共起語「舞台」の俳優列の値を、ＣＰＵ１１は１加算する。「ドラマに出演した俳優に話を聞いた」との一文から、共起語「ドラマ」の俳優列の値を、ＣＰＵ１１は１加算する。「演歌歌手はこぶしをまわす」との一文から、共起語「こぶし」の演歌歌手列の値を、ＣＰＵ１１は１加算する。「番組に多数の歌手が登場した」との一文から、共起語「番組」の歌手列の値を、ＣＰＵ１１は１加算する。
【００３２】
以上の処理をコーパスに含まれる文に対して行い、出現頻度ＤＢ１４２の構築（学習）が完了する。ＣＰＵ１１は構築が完了した出現頻度ＤＢ１４２を用いて、尤度比ＤＢ１４３を構築する。尤度比Ｌrは出現頻度を用いて、以下の式（１）で求める。
【００３３】
【数１】
2019008477.tif 000003
【００３４】
上記の語ｗは、概念階層に含まれるいずれかの単語である。共起語ｃは、出現頻度ＤＢ１４２の共起語列に記憶している単語のいずれかである。尤度比Ｌrの計算例を示す。共起語「都バス」を例とする。図７に示すように、「日本」に対する「都バス」の出現頻度は２０である。「東京都」に対する「都バス」の出現頻度は９０００である。「渋谷区」に対する「都バス」の出現頻度は２０００である。「福島県」に対する「都バス」の出現頻度は１０である。「猪苗代町」に対する「都バス」の出現頻度は０である。この場合、「日本」に対する「都バス」の尤度比は次のように求める。
【００３５】
Ｎは「日本」（語ｗ）と「都バス」（共起語ｃ）が同時に出現する頻度であるから、２０である。Ｍは「日本」（語ｗ）以外の語と共起語ｃが同時に出現する頻度であるから、「東京都」に対する「都バス」の出現頻度は９０００、「渋谷区」に対する「都バス」の出現頻度は２０００、「福島県」に対する「都バス」の出現頻度は１０、及び「猪苗代町」に対する「都バス」の出現頻度は０を足し合わせた値である。式（１）に当てはめると以下の式（２）となる。
【００３６】
【数２】
2019008477.tif 000004
【００３７】
計算の結果、「日本」に対する「都バス」の尤度比Ｌrは、−９．０７である。ＣＰＵ１１は同様にして、出現頻度ＤＢ１４２に記憶しているすべての語の組み合わせについて、尤度比を計算する。そして、計算結果を尤度比ＤＢ１４３（判定モデル）として、大容量記憶部１４に記憶する（ステップＳ３）。なお、尤度比は、各概念階層のそれぞれの単語について、出現文脈の学習結果として得る指標の一例であり、他の適切な指標を用いてもよい。
【００３８】
図１１は読み判別処理の手順例を示すフローチャートである。ＣＰＵ１１は読み分け辞書１４４を構築する（ステップＳ１１）。読み分け辞書１４４は読み分け対象単語と、読みと、語義とを含む辞書に対して、クラスと上位概念とを付加することにより構築できる。当該付加は知識ベースやシソーラスなどを利用して行う。人による手作業でもよい。又、上位概念は複数となることを除外しないが、ここでは、説明簡略化のため、１つとする。ＣＰＵ１１は読み分け対象のテキストを取得する（ステップＳ１２）。ＣＰＵ１１は読み分け辞書１４４を用いて、読み分け対象のテキストの中から、複数の読みのある語、同形異音語を抽出する（ステップＳ１３）。ＣＰＵ１１は未処理の同形異音語を選択する（ステップＳ１４）。ＣＰＵ１１は選択した同形異音語に対し固有表現抽出を適用し、クラスを判定する（ステップＳ１５）。ＣＰＵ１１は判別したクラスによって、読みが確定するか否かを判定する（ステップＳ１６）。ＣＰＵ１１は判別したクラスによって読みが確定すると判定した場合（ステップＳ１６でＹＥＳ）、処理をステップＳ１８に移す。ＣＰＵ１１は判別したクラスによって読みが確定しないと判定した場合（ステップＳ１６でＮＯ）、読み判定を行う（ステップＳ１７）。ＣＰＵ１１は未処理の同形異音語があるか否か判定する（ステップＳ１８）。ＣＰＵ１１は未処理の同形異音語があると判定した場合（ステップＳ１８でＹＥＳ）、処理をステップＳ１４に戻す。ＣＰＵ１１は未処理の同形異音語がないと判定した場合（ステップＳ１８でＮＯ）、ＣＰＵ１１は読みを出力し（Ｓ１９）、処理を終了する。
【００３９】
図１２は読み判定処理の手順例を示すフローチャートである。ＣＰＵ１１はステップＳ１４で判定したクラスに基づいて、処理に用いる概念階層及び判定モデル（尤度比ＤＢ１４３のテーブル）を選択する（ステップＳ２１）。ＣＰＵ１１は周辺単語を選択する（ステップＳ２２）。周辺単語の選択は、尤度比ＤＢ１４３が記憶する共起語を検索することにより、行う。ＣＰＵ１１は読み分け辞書１４４から読みの候補を取得する（ステップＳ２３）。ＣＰＵ１１は読みの候補を選択する（ステップＳ２４）。ＣＰＵ１１は選択した読みの候補である単語の上位単語を、概念階層ＤＢ１４１から取得する（ステップＳ２５）。上位単語は読みの候補である単語の上位概念の単語である。ＣＰＵ１１は上位単語と周辺単語との尤度比を尤度比ＤＢ１４３から取得する（ステップＳ２６）。ＣＰＵ１１はステップＳ２５で取得した上位単語のさらに上位単語を取得する（ステップＳ２７）。ＣＰＵ１１はさらに取得した上位単語が、読みの候補である他の単語と共通するか否かを判定する（ステップＳ２８）。ＣＰＵ１１は取得した上位単語が他の単語と共通しないと判定した場合（ステップＳ２８でＮＯ）、処理をステップＳ２６に戻す。なお、戻ったステップＳ２６では、ステップＳ２７で取得した上位単語と周辺単語との尤度比を、ＣＰＵ１１は尤度比ＤＢ１４３から取得する。ＣＰＵ１１は取得した上位単語が他の単語と共通すると判定した場合（ステップＳ２８でＹＥＳ）、これまで取得した尤度比の中での最大値をステップＳ２４で選択した読みの候補の尤度比として、読みの候補と対応付けて一時記憶領域に記憶する（ステップＳ２９）。一時記憶領域はＲＡＭ１３、大容量記憶部１４などに設ける。ＣＰＵ１１は未処理の読みの候補があるか否かを判定する（ステップＳ３０）。ＣＰＵ１１は未処理の読みの候補があると判定した場合（ステップＳ３０でＹＥＳ）、処理をステップＳ２４に戻す。ＣＰＵ１１は未処理の読みの候補がないと判定した場合（ステップＳ３０でＮＯ）、読みを決定する（ステップＳ３１）。ＣＰＵ１１は一時記憶領域を参照し、最も大きい尤度比と対応付けられた読みの候補を取得する。ＣＰＵ１１は取得した読みの候補の読みを、処理対象の同形異音語の読みとして決定する。ＣＰＵ１１は処理を呼び出しもとに戻す。
【００４０】
読み判別処理及び読み判定処理を、例を用いて説明する。図１３は場所クラスについての処理例を示す説明図である。場所クラスでは、「渋谷区」の「シブヤ（東京都渋谷区渋谷）」と「猪苗代町」の「シブ´タニ（福島県耶麻郡猪苗代町渋谷）」とを読み分ける。読み分けるテキストの例は、「都バスで渋谷へ」とする。なお、読み分け辞書１４４は構築済みとする。
【００４１】
ＣＰＵ１１は読み分け対象テキストとして、「都バスで渋谷へ」を取得する（ステップＳ１２）。ＣＰＵ１１は読み分ける対象の同形異音語を抽出する（ステップＳ１３）。ＣＰＵ１１は「渋谷」を抽出する。ＣＰＵ１１は「渋谷」を選択する（ステップＳ１４）。ＣＰＵ１１は選択した語「渋谷」に対して固有表現抽出を適用し、クラスを判定する（ステップＳ１５）。ここでは、固有表現抽出の結果として、「都バスで<場所>渋谷</場所>へ」とのテキストが出力され、「渋谷」は場所クラスであると、ＣＰＵ１１は判定する。ＣＰＵ１１は読み分け辞書１４４を参照し、読みが確定するか否か判定する（ステップＳ１６）。図９に示すように、単語が「渋谷」かつクラスが「場所」のレコードは２件あるため、読みは確定しないとＣＰＵ１１は判定する（ステップＳ１６でＮＯ）。ＣＰＵ１１は読み判定処理を行う（ステップＳ１７）。
【００４２】
ＣＰＵ１１は場所クラスに対応する概念階層（概念階層ＤＢ１４１のレコード）、判定モデル（尤度比ＤＢ１４３のテーブル）を選択する。ＣＰＵ１１は、読み分け対象テキストに対して、尤度比ＤＢ１４３に記憶する共起語の検索を行う。ここで、ＣＰＵ１１は「都バス」を周辺単語として選択する。ＣＰＵ１１は読みの候補を取得する（ステップＳ２３）。ＣＰＵ１１は、単語が「渋谷」かつクラスが「場所」であるレコードを読み分け辞書１４４から取得する。ＣＰＵ１１は読みの候補として「シブヤ」と「シブ´タニ」とを得る。前者の上位概念は「渋谷区」である、後者の上位概念は「猪苗代町」である。
【００４３】
ＣＰＵ１１は読みの候補のうち、「シブヤ」（上位単語「渋谷区」）を選択する（ステップＳ２４）。ＣＰＵ１１は上位単語の「渋谷区」を取得する（ステップＳ２５）。ＣＰＵ１１は「都バス」と「渋谷区」との尤度比を、尤度比ＤＢ１４３から取得する（ステップＳ２６）。当該尤度比は−２．１７である。ＣＰＵ１１は「渋谷区」の上位単語である「東京都」を選択する（ステップＳ２７）。ＣＰＵ１１は「東京都」が他の読み候補の語「シブ´タニ」と共通の上位単語であるか否か判定する（ステップＳ２８）。「東京都」は共通の上位単語ではないので（ステップＳ２８でＮＯ）、ＣＰＵ１１は処理をステップＳ２６に戻し、「都バス」と「東京都」との尤度比を、尤度比ＤＢ１４３から取得する。当該尤度比は２．１５である。ＣＰＵ１１は「東京都」の上位単語である「日本」を選択する（ステップＳ２７）。ＣＰＵ１１は「日本」が他の読み候補の語「シブ´タニ」と共通の上位単語であるか否か判定する（ステップＳ２８）。「日本」は共通の上位単語であるので（ステップＳ２８でＹＥＳ）、これまで取得した尤度比の中で、最大値である２．１５を「シブヤ」の尤度比として、「シブヤ」と対応付けて一時記憶領域に記憶する（ステップＳ２９）。読みの候補のうち、「シブ´タニ」（上位単語「猪苗代町」）は未処理であるから、ＣＰＵ１１は未処理の読みの候補があると判定し（ステップＳ３０でＹＥＳ）、処理をステップＳ２４に戻す。
【００４４】
ＣＰＵ１１は読みの候補「シブ´タニ」（上位単語「猪苗代町」）を選択する（ステップＳ２４）。ＣＰＵ１１は上位単語の「猪苗代町」を取得する（ステップＳ２５）。ＣＰＵ１１は「都バス」と「猪苗代町」との尤度比を、尤度比ＤＢ１４３から取得する（ステップＳ２６）。当該尤度比は−１４．４３である。ＣＰＵ１１は「猪苗代町」の上位単語である「福島県」を選択する（ステップＳ２７）。ＣＰＵ１１は「福島県」が他の読み候補の語「シブヤ」と共通の上位単語であるか否か判定する（ステップＳ２８）。「福島県」は共通の上位単語ではないので（ステップＳ２８でＮＯ）、ＣＰＵ１１は処理をステップＳ２６に戻し、「都バス」と「福島県」との尤度比を、尤度比ＤＢ１４３から取得する。当該尤度比は−１０．０４である。ＣＰＵ１１は「福島県」の上位単語である「日本」を選択する（ステップＳ２７）。ＣＰＵ１１は「日本」が他の読み候補の語「シブヤ」と共通の上位単語であるか否か判定する（ステップＳ２８）。「日本」は共通の上位単語であるので（ステップＳ２８でＹＥＳ）、これまで取得した尤度比の中で、最大値である−１０．０４を「シブ´タニ」の尤度比として、「シブ´タニ」と対応付けて一時記憶領域に記憶する（ステップＳ２９）。ＣＰＵ１１は未処理の読みの候補がないと判定し（ステップＳ３０でＮＯ）、読みを決定する（ステップＳ３１）。
【００４５】
ＣＰＵ１１は一時記憶領域を参照し、最も大きい尤度比と対応付けられた読みの候補を取得する。ＣＰＵ１１は取得した読みの候補「シブヤ」（上位単語「渋谷区」）の読み「シブヤ」を今回の同形異音語の読みとして決定する（ステップＳ３１）。
【００４６】
読み判別処理及び読み判定処理を、人物クラスの例を用いて説明する。図１４は人物クラスについての処理例を示す説明図である。人物クラスでは、「俳優」の「シ´ブヤ（渋谷一郎）」と「演歌歌手」の「シブ´タニ（渋谷五郎）」とを読み分ける。読み分けるテキストの例は、「渋谷のこぶしまわしは格別だ」とする。場所クラスの場合と同様に、読み分け辞書１４４は構築済みとする。
【００４７】
ＣＰＵ１１は読み分け対象テキストとして、「渋谷のこぶしまわしは格別だ」を取得する（ステップＳ１２）。ＣＰＵ１１は読み分ける対象の同形異音語を抽出する（ステップＳ１３）。ＣＰＵ１１は「渋谷」を抽出する。ＣＰＵ１１は「渋谷」を選択する（ステップＳ１４）。ＣＰＵ１１は選択した語「渋谷」に対して固有表現抽出を適用し、クラスを判定する（ステップＳ１５）。ここでは、固有表現抽出の結果として、「<人物>渋谷</人物>のこぶしまわしは格別だ」とのテキストが出力され、「渋谷」は人物クラスであると、ＣＰＵ１１は判定する。ＣＰＵ１１は読み分け辞書１４４を参照し、読みが確定するか否か判定する（ステップＳ１６）。図９に示すように、単語が「渋谷」かつクラスが「人物」のレコードは２件あるため、読みは確定しないとＣＰＵ１１は判定する（ステップＳ１６でＮＯ）。ＣＰＵ１１は読み判定処理を行う（ステップＳ１７）。
【００４８】
ＣＰＵ１１は人物クラスに対応する概念階層（概念階層ＤＢ１４１のレコード）、判定モデル（尤度比ＤＢ１４３のテーブル）を選択する。ＣＰＵ１１は、読み分け対象テキストに対して、尤度比ＤＢ１４３に記憶する共起語の検索を行う。ここで、ＣＰＵ１１は「こぶし」を周辺単語として選択する。ＣＰＵ１１は読みの候補を取得する（ステップＳ２３）。ＣＰＵ１１は、単語が「渋谷」かつクラスが「人物」であるレコードを読み分け辞書１４４から取得する。ＣＰＵ１１は読みの候補として「シ´ブヤ」と「シブ´タニ」とを得る。前者の上位概念は「俳優」である、後者の上位概念は「演歌歌手」である。
【００４９】
ＣＰＵ１１は読みの候補のうち、「シ´ブヤ」（上位概念「俳優」）を選択する（ステップＳ２４）。ＣＰＵ１１は上位単語の「俳優」を取得する（ステップＳ２５）。ＣＰＵ１１は「こぶし」と「俳優」との尤度比を、尤度比ＤＢ１４３から取得する（ステップＳ２６）。当該尤度比は−７．９０である。ＣＰＵ１１は「俳優」の上位単語である「芸能人」を選択する（ステップＳ２７）。ＣＰＵ１１は「芸能人」が他の読み候補の語「シブ´タニ」と共通の上位単語であるか否か判定する（ステップＳ２８）。「芸能人」は共通の上位単語であるので（ステップＳ２８でＹＥＳ）、これまで取得した尤度比の中で、最大値である−７．９０を「シ´ブヤ」の尤度比として、「シ´ブヤ」と対応付けて一時記憶領域に記憶する（ステップＳ２９）。読みの候補のうち、「シブ´タニ」（上位単語「演歌歌手」）は未処理であるから、ＣＰＵ１１は未処理の読みの候補があると判定し（ステップＳ３０でＹＥＳ）、処理をステップＳ２４に戻す。
【００５０】
ＣＰＵ１１は読みの候補「シブ´タニ」（上位単語「演歌歌手」）を選択する（ステップＳ２４）。ＣＰＵ１１は上位単語の「演歌歌手」を取得する（ステップＳ２５）。ＣＰＵ１１は「こぶし」と「演歌歌手」との尤度比を、尤度比ＤＢ１４３から取得する（ステップＳ２６）。当該尤度比は１．９６である。ＣＰＵ１１は「演歌歌手」の上位単語である「歌手」を選択する（ステップＳ２７）。ＣＰＵ１１は「歌手」が他の読み候補の語「シ´ブヤ」と共通の上位単語であるか否か判定する（ステップＳ２８）。「歌手」は共通の上位単語ではないので（ステップＳ２８でＮＯ）、ＣＰＵ１１は処理をステップＳ２６に戻し、「こぶし」と「歌手」との尤度比を、尤度比ＤＢ１４３から取得する。当該尤度比は−２．０１である。ＣＰＵ１１は「歌手」の上位単語である「芸能人」を選択する（ステップＳ２７）。ＣＰＵ１１は「芸能人」が他の読み候補の語「シ´ブヤ」と共通の上位単語であるか否か判定する（ステップＳ２８）。「芸能人」は共通の上位単語であるので（ステップＳ２８でＹＥＳ）、これまで取得した尤度比の中で、最大値である１．９６を「シブ´タニ」の尤度比として、「シブ´タニ」と対応付けて一時記憶領域に記憶する（ステップＳ２９）。ＣＰＵ１１は未処理の読みの候補がないと判定し（ステップＳ３０でＮＯ）、読み決定する（ステップＳ３１）。
【００５１】
ＣＰＵ１１は一時記憶領域を参照し、最も大きい尤度比と対応付けられた読みの候補を取得する。ＣＰＵ１１は取得した読みの候補「シブ´タニ」（上位単語「演歌歌手」）の読み「シブ´タニ」を今回の同形異音語の読みとして決定する（ステップＳ３１）。
【００５２】
次に、周辺単語が複数の場合の処理について、説明する。周辺単語が複数の場合、それぞれの周辺単語について同様の処理を行い、各読みの候補（語義）の尤度比はそのうちの最大のものを採用する。図１５は周辺単語が複数の場合の処理例を示す説明図である。読み分け対象テキストとして、「渋谷で磐梯山を見ながらお茶した」を例とする。読み分け対象となる語は、場所クラスの単語「渋谷」である。周辺単語は「磐梯山」及び「お茶」である。読みの候補は、「シブヤ」（上位概念「渋谷区」）及び「シブ´タニ」（上位概念は「猪苗代町」）である。
【００５３】
まず、読みの候補「シブヤ」について、上位単語「渋谷区」の尤度比を取得する。「渋谷区」と「磐梯山」との尤度比は、−８．７４である。「渋谷区」と「お茶」との尤度比は、−３．８４である。さらに上位の「東京都」と「磐梯山」との尤度比は、−１０．８２である。「東京都」と「お茶」との尤度比は、−１．８５である。以上より、読みの候補「シブヤ」に対する尤度比は、−１．８５である。
【００５４】
同様に、読みの候補「シブ´タニ」については、次のようになる。「猪苗代町」と「磐梯山」との尤度比は、−１．０１である。「猪苗代町」と「お茶」との尤度比は、−５．４８である。さらに上位の「福島県」と「磐梯山」との尤度比は、−０．３３である。「福島県」と「お茶」との尤度比は、−４．４６である。以上より、読みの候補「シブ´タニ」に対する尤度比は、−０．３３である。「シブ´タニ」の尤度比の方が「シブヤ」の尤度比よりも大きいので、読みは「シブ´タニ」であると判定する。
【００５５】
続いて、１つ上位の概念だけを見るのではなく、さらに遡って上位概念を参照する必要性について説明する。図１６は人物クラスについての処理例を示す説明図である。読み分け対象テキストとして、「その番組で渋谷は歌って踊った」を例とする。読み分け対象となる語は、人物クラスの単語「渋谷」である。周辺単語は「番組」である。読みの候補は、「シ´ブヤ」（上位概念「俳優」）及び「シブ´タニ」（上位概念は「演歌歌手」）である。
【００５６】
この場合において、「俳優」と「番組」との尤度比は−０．８５である。また、「演歌歌手」と「番組」との尤度比は−３．３５である。さらに、「歌手」と「番組」との尤度比は０．２１である。以上を総合すると、読みの候補「シ´ブヤ」に対する尤度比は−０．８５で、読みの候補「シブ´タニ」に対する尤度比は０．２１となる。よって、ここでの読みは、「シブ´タニ」であると判定される。
【００５７】
以上において、１つ上位の概念のみ参照場合、読みの候補「シ´ブヤ」に対する尤度比は−０．８５で、読みの候補「シブ´タニ」に対する尤度比は−３．３５となる。したがって、ここでの読みは、上述とは逆転し、「シ´ブヤ」であるという誤った判定をしてしまう。よって、１つ上位の概念だけを見るのではなく、さらに遡って上位概念を参照する必要がある。
【００５８】
本実施の形態は、以下の効果を奏する。同形異音語の読み分けにおいて、学習に現れない単語でも、概念階層に紐付けて、上位概念と周辺単語との共起スコア（例えば尤度比）を利用した判定を行う。それによって、正しい読みの判定をすることが可能となる。
【００５９】
なお、尤度比に換えて、共起語の出現度合いを示す他の指標値を用いてもよい。この場合、読みを決定する際に、どの指標値ものを選択するかは、指標値の性質により決定する。尤度比の場合、値が大きい程、共起する度合いが大きいので、最も大きい尤度比（を持つ上位語）に対応する読みが選択される。
【００６０】
図１７は判別装置１が備える機能の一例を示すブロック図である。判別装置１は取得部１１ａ、抽出部１１ｂ、概念取得部１１ｃ、上位語取得部１１ｄ、算出部１１ｅ及び出力部１１fを含む。これらの各機能部は、ＣＰＵ１１が制御プログラム１Ｐに基づいて動作することにより、実現される。
【００６１】
取得部１１ａは文章を取得する。抽出部１１ｂは取得した文章から読み分け対象の単語を抽出する。概念取得部１１ｃは抽出した対象の単語に対応する概念階層を取得する。上位語取得部１１ｄは取得した概念階層に基づいて対象の単語の読み情報毎に、対象の単語の上位語を取得する。算出部１１ｅは取得した読み情報毎の上位語と、文章に含まれる対象の単語以外の周辺単語との共起スコアを算出する。出力部１１fは算出した共起スコアに基づいて選択した上位語と対応する読み情報を出力する。
【００６２】
各実施の形態で記載されている技術的特徴（構成要件）はお互いに組み合わせ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００６３】
以上の実施の形態に関し、さらに以下の付記を開示する。
【００６４】
（付記１）
文章を取得し、
取得した文章から読み分け対象の単語を抽出し、
抽出した対象の単語に対応する概念階層を取得し、
取得した概念階層に基づいて前記対象の単語の読み情報毎に、前記対象の単語の上位語を取得し、
取得した読み情報毎の上位語と、前記文章に含まれる前記対象の単語以外の周辺単語との共起スコアを算出し、
算出した共起スコアに基づいて選択した上位語と対応する読み情報を出力する
処理をコンピュータに行わせる判別プログラム。
【００６５】
（付記２）
最も高い共起スコアを持つ上位語を選択する
付記１に記載の判別プログラム。
【００６６】
（付記３）
共起スコアは、読み情報毎の上位語に対する前記周辺単語の出現頻度に基づいて算出する
付記１又は付記２に記載の判別プログラム。
【００６７】
（付記４）
前記概念階層はクラス毎に定義してあり、
前記文章に対して固有表現抽出を行い、
固有表現抽出により得た対象単語のクラスに対応する前記概念階層を取得する
付記１から付記３のいずれか一つに記載の判別プログラム。
【００６８】
（付記５）
前記対象の単語と、当該対象の単語の読みとを対応付けて記憶する読み分け辞書に基づいて、前記文章に含まれる前記読み分け対象の単語を抽出する
付記１から付記４のいずれか一つに記載の判別プログラム。
【００６９】
（付記６）
前記対象の単語と、当該対象の単語の読み、語義、クラス及び上位語とを対応付けて記憶する読み分け辞書に基づいて、前記文章に含まれる前記読み分け対象の単語を抽出し、
前記読み分け辞書より、前記最も高い共起スコアの上位語と対応する読み情報を取得する
付記１から付記４のいずれか一つに記載の判別プログラム。
【００７０】
（付記７）
前記対象の単語と、当該対象の単語の読み、語義、クラス及び上位語とを対応付けて記憶する読み分け辞書に基づいて、前記文章に含まれる前記読み分け対象の単語を抽出し、
前記読み分け辞書より、前記対象の単語及び当該対象の単語のクラスに対応する読み情報を取得し、
取得した読み情報が一つの場合は、前記共起スコアを算出せずに前記読み情報を出力する
付記４に記載の判別プログラム。
【００７１】
（付記８）
文章を取得する取得部と、
取得した文章から読み分け対象の単語を抽出する抽出部と、
抽出した対象の単語に対応する概念階層を取得する概念取得部と、
取得した概念階層に基づいて前記対象の単語の読み情報毎に、前記対象の単語の上位語を取得する上位語取得部と、
取得した読み情報毎の上位語と、前記文章に含まれる前記対象の単語以外の周辺単語との共起スコアを算出する算出部と、
算出した共起スコアに基づいて選択した上位語と対応する読み情報を出力する出力部と
を備える判別装置。
【００７２】
（付記９）
同形異義語の読み情報を出力するコンピュータが、
文章を取得し、
取得した文章から読み分け対象の単語を抽出し、
抽出した対象の単語に対応する概念階層を取得し、
取得した概念階層に基づいて前記対象の単語の読み情報毎に、前記対象の単語の上位語を取得し、
取得した読み情報毎の上位語と、前記文章に含まれる前記対象の単語以外の周辺単語との共起スコアを算出し、
算出した共起スコアに基づいて選択した上位語と対応する読み情報を出力する
判別方法。
【符号の説明】
【００７３】
１      判別装置
１１    ＣＰＵ
１１ａ  取得部
１１ｂ  抽出部
１１ｃ  概念取得部
１１ｄ  上位語取得部
１１ｅ  算出部
１１ｆ  出力部
１２    ＲＯＭ
１３    ＲＡＭ
１４    大容量記憶部
１４１  概念階層ＤＢ
１４２  出現頻度ＤＢ
１４３  尤度比ＤＢ
１４４  読み分け辞書
１５    通信部
１６    読み取り部
１Ｐ    制御プログラム
１ａ    可搬型記憶媒体
１ｂ    半導体メモリ
２      端末
【図１】
2019008477.tif 000005
【図２】
2019008477.tif 000006
【図３】
2019008477.tif 000007
【図４】
2019008477.tif 000008
【図５】
2019008477.tif 000009
【図６】
2019008477.tif 000010
【図７】
2019008477.tif 000011
【図８】
2019008477.tif 000012
【図９】
2019008477.tif 000013
【図１０】
2019008477.tif 000014
【図１１】
2019008477.tif 000015
【図１２】
2019008477.tif 000016
【図１３】
2019008477.tif 000017
【図１４】
2019008477.tif 000018
【図１５】
2019008477.tif 000019
【図１６】
2019008477.tif 000020
【図１７】
2019008477.tif 000021