以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
本実施形態では、俳句内における取り合わせの有無を判定する。取り合わせとは、良い俳句を作る技法の一つであり、一つの俳句の中に直接関連のない複数の事象が盛り込まれている状態をいう。例えば、一つの句の中で二つの事象が詠まれることをいい、一方の事象には主として季語が用いられ、他方の事象には季語と直接関係の無い事象が用いられることが多い。取り合わせが俳句に含まれることにより、複合的な内容が俳句に盛り込まれ、俳句に新鮮さを持たせることができる。
具体的には、大小関係及び対義語関係のような、意味的に距離のある事象が組み合わせされて、取り合わせとなる。例えば、「雨」と「傘」とのように直接連想されるものではなく、関係のない二つの事象が俳句内で用いられることにより、新鮮な印象を読者へ与える。なお、二つの事象は全く関係がないわけではなく、つかず離れずの関係である。以下の(1)~(2)に、取り合わせが含まれる俳句の例を示す。
(1)「閑さや岩にしみ入る蝉の声[1]」/松尾芭蕉
(2)「木枯らしや目刺しに残る海の色[2]」/芥川龍之介
上記(1)の松尾芭蕉の俳句では、閑さ(静かさ)と蝉(騒がしさ)とが対比され、俳句に新鮮さが含まれている。また、同様に、上記(2)の芥川龍之介の俳句では、木枯らし(乾燥)と海(生き生きとした雰囲気)とが対比されている。
上述したように、取り合わせは、意味の異なる二つの事象が俳句に含まれることをいうため、俳句内に含まれる各事象を表す2つの単語間の意味的な距離を算出することで、取り合わせの有無を判定することが考えられる。例えば、二つの単語間の意味的な距離を算出する際に、単語の分散表現を表すベクトルを用いることが考えられる。例えば、図1に示されるように、上記(1)の俳句に含まれる各単語をベクトル化する。図1に示される例では、単語「閑さ」がベクトル[0.41,0.12,0.61,...,0.01]で表現され、単語「岩」がベクトル[0.12,0.22,0.80,...,0.21]で表現され、単語「しみ入る」がベクトル[0.31,0.35,0.56,...,0.08]で表現される。また、単語「蝉」がベクトル[0.07,0.62,0.17,...,0.32]で表現され、単語「声」がベクトル[0.17,0.32,0.37,...,0.44]で表現される。これにより、単語がベクトルとして表現されるため、単語間の意味的な距離を算出することができる。
なお、単語の意味を解析する際にはトピックモデルを用いることが考えられる。しかし、トピックモデルにおけるトピックは複数の単語から形成されるという点に注目しており、季語を含む単語の意味や、単語の配置を考慮する必要がある俳句の意味解析に用いることは適していない。
そこで、本実施形態では、単語の分散表現を用いて、俳句内の単語の意味的な距離を計算する。そして、本実施形態では、単語間の意味的な距離に応じて、俳句内における取り合わせの有無を判定する。また、俳句内の単語の配置を考慮して俳句内における取り合わせの有無を判定する。これにより、俳句の評価に対する支援を行うことができる。
以下、図面を参照して開示の技術の実施形態である判定装置10を詳細に説明する。判定装置10は、俳句内における取り合わせの有無を判定するための閾値等を設定する設定フェーズと、設定フェーズで設定された各閾値に応じて、俳句内における取り合わせの有無を判定する取り合わせ判定フェーズとが存在する。以下具体的に説明する。
図2に、判定装置10の構成例を表す概略図を示す。図2に示すように、本実施形態の判定装置10は、コーパス記憶部12、分散表現作成部14、分散表現リスト記憶部16、及び類義語関係リスト記憶部18を備えている。また、判定装置10は、閾値上限計算部20、単語リスト記憶部22、閾値下限計算部24、学習用俳句リスト記憶部26、隔たり閾値計算部28、閾値記憶部29、及び評価用俳句リスト記憶部30を備えている。また、判定装置10は、季語リスト記憶部32、候補語抽出部34、単語品詞リスト記憶部36、クラスタリング部38、隔たり数関係リスト記憶部40、判定部42、及び取り合わせ俳句リスト記憶部44を備えている。候補語抽出部34は、開示の技術の特定部の一例である。
[設定フェーズ]
設定フェーズでは、俳句内における取り合わせの有無を判定するための閾値が設定される。
コーパス記憶部12には、自然文の集合であるコーパスが格納されている。図3に、コーパスの一例を示す。図3に示される例では、自然文「永遠(えいえん、とわ)とは、物事の変化を認識するための概念である時間に対し、...」と自然文「また、時間が有限であるのに対し、永遠であるということは無限であるということでもある。」とを含むコーパスが示されている。コーパス記憶部12に格納されたコーパスに基づき、単語の分散表現を表すベクトルが学習される。
単語の分散表現を表すベクトルを得る際には、俳句データから単語のベクトルを学習することが考えられる。しかし、俳句データから単語のベクトルを学習させてしまうと、「つかず離れず」の関係を表現することができない。俳句以外の文章においては「つかず離れず」の関係にあるはずの取り合わせの単語のペアが、俳句データから分散表現を学習させてしまうと、お互いに類似度の高いベクトルとして学習されてしまう。これにより、俳句内での意味の離れ度合いを測れなくなってしまう。
そこで、本実施形態では、分散表現を表す単語のベクトルを学習させる際には、自然文の集合を表すコーパス(例えば、Wikipedia(登録商標)の文書データ等)に基づいて、ベクトルを学習させる。これにより、取り合わせの「つかず離れず」の関係を、単語のベクトルから判定可能となる。
分散表現作成部14は、コーパス記憶部12に格納されたコーパスから、単語の意味を表すベクトルを生成する。
具体的には、分散表現作成部14は、コーパス記憶部12に格納されたコーパスに基づいて、特定の単語が他の単語と一文中で共起しやすいか否かに応じて、単語の分散表現を表すベクトルを学習させる。これにより、一文中において共起しやすい単語のペアのベクトル間の類似度が高くなるように、各単語のベクトルが学習される。学習の結果得られた単語のベクトルを用いることにより、俳句中の各単語が意味的にどれだけ離れているかを算出することができる。例えば、分散表現作成部14は、Skip-gramモデル(Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, Jeff Dean:“Distributed representations of words and phrases and their compositionality”, Advances in Neural Information Processing Systems 26 (NIPS 2013), 2013)を用いて、各単語のベクトルを学習する。
分散表現リスト記憶部16には、分散表現作成部14によって生成された各単語のベクトルが格納される。具体的には、複数の単語の各々について、単語とベクトルとのペアが分散表現リストBとして格納される。図4に、分散表現リストBの一例を示す。例えば、図4に示されるように、単語「永遠」とベクトル[0.3,0.1,0.0,...]とが対応付けられている。また、単語「永久」とベクトル[0.8,0.0,0.3,...]とが対応付けられ、単語「言う」とベクトル[0.1,0.2,0.0,...]とが対応付けられている。
本実施形態では、分散表現リスト記憶部16に格納された分散表現リストBを参照して、俳句内の季語と意味的に離れた単語が含まれる俳句を、取り合わせを含む俳句の候補とする。そのため、本実施形態では、俳句内の単語間の類似度を用いて意味的な距離を測る。しかし、俳句に取り合わせが含まれているか否かを判定する際には、季語と対象となる単語とが「つかず離れず」の関係であるか否かを判定する必要がある。そのため、本実施形態では、この「つかず離れず」の関係が含まれているか否かを判定するための閾値を設定する。
例えば、「木枯らし」と「空っ風」とは類義語関係にある。そのため、例えば、「木枯らし」のベクトルと「空っ風」のベクトルとの間のコサイン類似度は0.43であるとする。この場合には、単語間の類似度が高いため「つかず離れず」の関係に該当せず、取り合わせにはならない。
一方、例えば、「木枯らし」と「パソコン」とは関係性がほぼないと考えられる。そのため、例えば、「木枯らし」のベクトルと「パソコン」のベクトルとの間のコサイン類似度は0.09であるとする。この場合には、単語間の類似度は低すぎるため「つかず離れず」の関係に該当せず、取り合わせにはならない。
一方、俳句「木枯らしや目刺しに残る海の色」内の単語である「木枯らし」と「海」とについては、「木枯らし」のベクトルと「海」のベクトルとの間のコサイン類似度は0.27であるとする。この場合には、単語間の類似度が「つかず離れず」の関係に該当し、俳句内に取り合わせが含まれている。
そこで、本実施形態では、「つかず離れず」を判定するための閾値として、上限閾値と下限閾値とを設定する。そして、本実施形態では、俳句内の季語のベクトルと他の単語のベクトルとの間の類似度が、上限閾値以下であって、かつ下限閾値以上である場合に、取り合わせが含まれると判定する。
具体的には、本実施形態では、類義語関係にある単語のベクトル間のコサイン類似度の平均値から上限閾値を求める。また、本実施形態では、ランダムに選択した単語のベクトル間のコサイン類似度の平均値から下限閾値を求める。ただし、下限閾値を求める際には、類義語関係にある単語のベクトル間のコサイン類似度は除外する。
類義語関係リスト記憶部18には、類義語関係にある単語のペアが格納された類義語関係リストYが格納される。図5に、類義語関係リストYの一例を示す。例えば、図5に示される例では、単語のペアとして、(永遠、永久)、(言う、話す)、(意外、案外)が類義語関係リストYに格納される。
閾値上限計算部20は、分散表現リスト記憶部16に格納された分散表現リストBと、類義語関係リスト記憶部18に格納された類義語関係リストYとを参照し、類義語関係にある単語間の類似度に応じて上限閾値を設定する。
具体的には、閾値上限計算部20は、類義語関係にある単語間の類似度を格納するための類似度リストSU=[]を設定する。次に、閾値上限計算部20は、類義語関係リストYから類義語関係を一つ取り出し、類義語関係yとする。例えば、類義語関係リストY={(言う、話す)、(意外、案外)、...}から類義語関係y=(永遠、永久)を取り出す。閾値上限計算部20は、分散表現リストBを参照して、類義語関係y中の単語のベクトル間のコサイン類似度を計算し、類似度リストSUへ追加する。例えば、類義語関係y=(永遠、永久)中の単語のベクトル間のコサイン類似度が0.47である場合、類似度リストSU=[0.47]となる。
閾値上限計算部20は、類義語関係リストYに格納された全ての類義語関係y中の単語のベクトル間のコサイン類似度を計算し、類似度リストSUへ順次追加する。これにより、例えば、類似度リストSU=[0.47,0.51,0.46,...]が生成される。
そして、閾値上限計算部20は、類似度リストSUに格納された複数の類似度の平均値を計算し、上限閾値ΘUとする。これにより、例えば、ΘU=0.3が設定される。
単語リスト記憶部22には、ランダムに選択された複数の単語が格納された単語リストTが格納される。図6に、単語リストTの一例を示す。例えば、図6に示される例では、永遠、言う、意外等が単語リストTに格納される。
閾値下限計算部24は、分散表現リスト記憶部16に格納された分散表現リストBと、単語リスト記憶部22に格納された単語リストTとを参照し、単語リストTの単語のベクトル間の類似度に応じて下限閾値を設定する。
具体的には、閾値下限計算部24は、ランダムに選択された単語間の類似度を格納するための類似度リストSL=[]を設定する。次に、閾値下限計算部24は、単語リストTからランダムに二つの単語を選択して単語ペア(t1,t2)を設定する。例えば、閾値下限計算部24は、単語ペア(t1,t2)=(永遠、言う)を設定する。そして、閾値下限計算部24は、単語ペア(t1,t2)が類義語関係リストYに含まれているか否かを判定する。
単語ペア(t1,t2)が類義語関係リストYに含まれている場合、閾値下限計算部24は、単語リストTからランダムに二つの単語を選択して、異なる単語ペア(t1,t2)を再度設定する。
単語ペア(t1,t2)が類義語関係リストYに含まれていない場合、閾値下限計算部24は、分散表現リストBを参照して、単語ペア(t1,t2)のベクトル間のコサイン類似度を計算し、類似度リストSLへ追加する。単語t1と単語t2との間の類似度が0.01である場合には、類似度リストSL=[0.01]となる。
そして、閾値下限計算部24は、単語リストTから得られる全ての単語のペアについて、類義語関係リストYに含まれているか否かの判定と、類義語関係リストYに含まれていない単語のペアについての、ベクトル間のコサイン類似度の計算を行う。閾値下限計算部24は、類義語関係リストYに含まれていない単語ペアについては、単語のペアのベクトル間のコサイン類似度を計算し、類似度リストSLへ順次追加する。これにより、例えば、類似度リストSL=[0.01,0.12,0.05,...]が生成される。
そして、閾値下限計算部24は、類似度リストSLに格納された複数の類似度の平均値を計算し、下限閾値ΘLとする。これにより、例えば、ΘL=0.1が設定される。
なお、俳句内に含まれる単語が、季語との間の意味関係が「つかず離れず」であったとしても、当該単語は取り合わせ目的には使われていない場合がある。例えば、季語と、季語と「つかず離れず」の意味を持つ単語とが結びついて、一つの名詞句を形成している場合がある。
例えば、以下に示す俳句(A)及び俳句(B)は、何れも季語「木枯らし」と単語「海」とを含んでいるが、俳句(A)は取り合わせが含まれる例である。一方、俳句(B)は、季語と、季語と「つかず離れず」の意味を持つ単語とが結びついて、一つの名詞句を形成している例である。
(A)木枯らしや目刺しに残る海の色:「木枯らし」の乾燥と「海」の生き生きとした雰囲気の対比
(B)木枯らしの海へ鯛焼き泳がんと[3]:「木枯らしの海」で名詞句を形成
俳句(B)の場合、季語と「つかず離れず」の意味を持つ単語が季語との取り合わせを目的に用いられていないため、取り合わせを含む俳句であると判定されないように考慮する必要がある。
そこで、本実施形態では、取り合わせ目的には使われていない単語と、取り合わせ目的に使われている単語とを区別できるようにする。具体的には、本実施形態では、単語のベクトル間の類似度だけでなく、季語と単語との間の隔たり数を用いて、取り合わせが含まれているか否かを判定する。俳句内の単語の配置を考慮することで、取り合わせが含まれているか否かの判定の精度を高めることができる。
俳句における取り合わせでは、「切れ」(句点を入れられる箇所)の前後で話題を変え、異なる題材を取り合わせる場合が多い。例えば、図7に示されるように、上記(A)の俳句「木枯らしや目刺しに残る海の色」は、「木枯らし」と「海」との間に切れが存在し、「木枯らし」と「海」との間の単語の隔たり数は5である。一方、上記(B)の俳句「木枯らしの海へ鯛焼き泳がんと」は、「木枯らし」と「海」との間には切れが存在せず、「木枯らし」と「海」との間の単語の隔たり数は2である。このように、季語と単語との間の単語数が多いほど、その間に切れが存在する可能性が高くなる。そのため、季語と単語との間の単語数を考慮して、取り合わせが含まれているか否かの判定を行うことにより、取り合わせの判定の精度を上げることができる。
そこで、本実施形態では、学習用の俳句内の「切れ」の前後における単語数に応じて、取り合わせが含まれているか否かを判定するための閾値を、単語の隔たり数に関する隔たり閾値として設定する。隔たり閾値は、例えば、切れの存在する学習用の俳句における切れの前後のうち、単語数の多い方における単語数の平均値により設定することができる。俳句内の季語と単語との間の単語数が、隔たり閾値よりも大きければ、季語と単語との間に切れが存在している確率が高い。そのため、季語と単語とが「つかず離れず」の関係にあり、かつ季語と単語との間の単語数が隔たり閾値よりも大きい場合には、当該俳句内に取り合わせが含まれていると判定することができる。
学習用俳句リスト記憶部26には、学習用俳句リストH1が格納される。学習用俳句リストH1には、学習用の俳句が複数格納される。図8に、学習用俳句リストH1の一例を示す。例えば、図8に示される例では、「花の雲鐘は上野か浅草か[4]」「夏草や兵どもが夢の跡[5]」「北風や国語の教師くしゃみする[6]」が学習用俳句リストH1に格納される。
隔たり閾値計算部28は、学習用俳句リスト記憶部26の学習用俳句リストH1を参照して、学習用俳句リストH1に格納された切れを含む俳句うちの、切れの前の単語数及び切れの後の単語数の何れか多い方の単語数に応じて、隔たり閾値を設定する。
具体的には、隔たり閾値計算部28は、単語数を格納するための単語数リストN=[]を設定する。次に、隔たり閾値計算部28は、学習用俳句リストH1から俳句を一つ取り出し、俳句hとする。例えば、上記図8に示される学習用俳句リストH1から、「花の雲鐘は上野か浅草か」が取り出され俳句hとして設定される場合を例に説明する。なお、上記図8に示される学習用俳句リストH1から、「花の雲鐘は上野か浅草か」が取り出された場合、学習用俳句リストH1={夏草や兵どもが夢の跡、北風や国語の教師くしゃみする、...}となる。
次に、隔たり閾値計算部28は、俳句hに対して形態素解析を行い、俳句hに含まれる単語の読みと単語の品詞とが格納される読み品詞リストPを得る。
例えば、隔たり閾値計算部28は、俳句h「花の雲鐘は上野か浅草か」に対して形態素解析を行い、読み品詞リストP={はな(名詞)、の(助詞)、くも(名詞)、かね(名詞)、は(助詞)、うえの(名詞)、か(助詞)、あさくさ(名詞)、か(助詞)}を得る。
次に、隔たり閾値計算部28は、読み品詞リストPを参照して、俳句h内の切れの存在を確認する。具体的には、隔たり閾値計算部28は、読み品詞リストPを参照し、俳句の読みの和が5(上の句終わり)、又は12(中の句終わり)となる箇所が、名詞又は「や」「かな」「けり」となっている場合に、俳句内の切れとして検出する。
なお、隔たり閾値計算部28は、俳句内に切れの検出箇所が複数ある場合は、切れがないものとして扱う。例えば、隔たり閾値計算部28は、俳句h「花の雲鐘は上野か浅草か」の読み品詞リストPから、「くも」と「かね」との間に切れが検出される。
そして、隔たり閾値計算部28は、俳句内に切れが検出された場合、切れの前後の単語数のうち、多い方の単語数を単語数リストNへ追加する。例えば、隔たり閾値計算部28は、俳句hの読み品詞リストPと切れの検出箇所とから、切れの前の単語数は3語(はな、の、くも)であることを検出し、切れの後の単語数は6語(かね、は、うえの、か、あさくさ、か)であることを検出する。そのため、俳句h「花の雲鐘は上野か浅草か」について処理が終了した後には、単語数リストN=[6]となる。
隔たり閾値計算部28は、学習用俳句リストH1が空になるまで、学習用俳句リストH1から学習用の俳句hを取り出し、俳句hの切れの前後の単語数のうち、多い方の単語数を単語数リストNへ追加する。
例えば、学習用俳句リストH1から「花の雲鐘は上野か浅草か」が処理された後、学習用俳句リストH1は{夏草や兵どもが夢の跡、北風や国語の教師くしゃみする、...}となる。そのため、隔たり閾値計算部28は、学習用俳句リストH1から次の俳句h「夏草や兵どもが夢の跡」を取り出す。このとき、学習用俳句リストH1は{北風や国語の教師くしゃみする、...}となる。
次に、隔たり閾値計算部28は、俳句h「夏草や兵どもが夢の跡」に対して形態素解析を行い、読み品詞リストP={なつくさ(名詞)、や(助詞)、つわもの(名詞)、ども(名詞)、が(助詞)、ゆめ(名詞)、の(助詞)、あと(名詞)}を得る。
次に、隔たり閾値計算部28は、読み品詞リストPを参照して、俳句h内の切れの存在を確認する。具体的には、隔たり閾値計算部28は、俳句hの読みの和が5の箇所が「や」であるため、「や」と「つわもの」との間を俳句内の切れとして検出する。そして、隔たり閾値計算部28は、切れの前の単語数は2語(なつくさ、や)であることを検出し、切れの後の単語数は6語(つわもの、ども、が、ゆめ、の、あと)であることを検出する。そして、隔たり閾値計算部28は、多い方の単語数6を単語数リストNへ追加する。俳句h「夏草や兵どもが夢の跡」について処理が終了した後には、単語数リストN=[6,6]となる。
次に、隔たり閾値計算部28は、学習用俳句リストH1から次の俳句h「北風や国語の教師くしゃみする」を取り出す。このとき、学習用俳句リストH1は{...}となる。
次に、隔たり閾値計算部28は、俳句h「北風や国語の教師くしゃみする」に対して形態素解析を行い、読み品詞リストP={きたかぜ(名詞)、や(助詞)、こくご(名詞)、の(助詞)、きょうし(名詞)、くしゃみ(名詞)、する(動詞)}を得る。
次に、隔たり閾値計算部28は、読み品詞リストPを参照して、俳句h内の切れの存在を確認する。具体的には、隔たり閾値計算部28は、俳句hの読みの和が5の箇所が「や」であるため、「や」と「こくご」との間を俳句内の切れとして検出する。また、俳句hの読みの和が12の箇所が「きょうし」であり名詞であるため、「きょうし」と「くしゃみ」との間を俳句内の切れとして検出する。このため、切れが複数検出されるため、隔たり閾値計算部28は、俳句h「北風や国語の教師くしゃみする」内には切れがないものとして扱う。したがって、俳句h「北風や国語の教師くしゃみする」について処理が終了した後には、単語数リストNは、N=[6,6]のままである。
このように、隔たり閾値計算部28は、学習用俳句リストH1が空になるまで、学習用俳句リストH1から学習用の俳句hを取り出し、俳句hの切れの前後の単語数のうち、多い方の単語数を単語数リストNへ追加する。
そして、隔たり閾値計算部28は、単語数リストNに含まれる単語数の平均値を計算し、隔たり閾値Θdとする。例えば、隔たり閾値Θd=5と設定される。
閾値記憶部29には、閾値上限計算部20によって設定された上限閾値ΘUと、閾値下限計算部24によって設定された下限閾値ΘLと、隔たり閾値計算部28によって設定された隔たり閾値Θdとが格納される。本実施形態では、上限閾値ΘUが0.3であり、下限閾値ΘLが0.1であり、隔たり閾値Θdが5である場合を例に説明する。
[判定フェーズ]
判定フェーズでは、設定フェーズで設定された各閾値に応じて、俳句内における取り合わせの有無を判定する。具体的には、本実施形態では、俳句に含まれる季語に対応するベクトルと、俳句に含まれる、季語とは異なる単語に対応するベクトルとの間の関係と、季語と季語とは異なる単語との間の俳句における位置関係とに基づいて、俳句における取り合わせを判定する。なお、季語は、開示の技術の第1の単語の一例である。また、季語とは異なる単語は、開示の技術の第2の単語の一例である。
評価用俳句リスト記憶部30には、評価用俳句リストH2が格納される。図9に、評価用俳句リストH2の一例を示す。例えば、図9に示される例では、評価用の俳句として、{木枯らしの海へ鯛焼き泳がんと、木枯らしや目刺しに残る海の色、急激に林檎と地球引き合う日[7]、地球には裏表なし林檎剥く[8]}が評価用俳句リストH2に格納される。また、評価用の俳句として、{朝刊とナイフと林檎置かれあり[9]、木枯らしや初冬に吹きし空っ風[10]}が評価用俳句リストH2に格納される。
季語リスト記憶部32には、季語リストKが格納される。季語リストKには、複数の季語が格納されている。図10に、季語リストKの一例を示す。例えば、図10に示される例では、季語として{木枯らし、林檎、...}が季語リストKに格納される。
候補語抽出部34は、評価用俳句リストH2から1つの俳句hを取得する。例えば、候補語抽出部34は、上記図9に示される評価用俳句リストH2から、「木枯らしの海へ鯛焼き泳がんと」を俳句hとして取得する。この場合、評価用俳句リストH2からは「木枯らしの海へ鯛焼き泳がんと」が削除される。そのため、評価用俳句リストH2={急激に林檎と地球引き合う日、地球には裏表なし林檎剥く、朝刊とナイフと林檎置かれあり、木枯らしや初冬に吹きし空っ風}となる。
次に、候補語抽出部34は、俳句hに対して形態素解析を行い、俳句hを複数の単語へ分割する。また、候補語抽出部34は、評価用の俳句hから得られた各単語と各単語の品詞を単語品詞リストWへ格納する。単語品詞リスト記憶部36には、評価用の俳句hから得られた各単語と各単語の品詞が格納される単語品詞リストWが格納される。
例えば、候補語抽出部34は、俳句h「木枯らしの海へ鯛焼き泳がんと」に対して形態素解析を行い、単語品詞リストW={木枯らし(名詞)、の(助詞)、海(名詞)、に(助詞)、鯛焼き(名詞)、泳がん(動詞)、と(助詞)}を得る。
次に、候補語抽出部34は、季語リスト記憶部32に格納された季語リストKを参照し、単語品詞リストWから季語kを抽出する。例えば、候補語抽出部34は、単語品詞リストWから季語k={木枯らし}を抽出する。
次に、候補語抽出部34は、単語品詞リストWに格納されている、季語kとは異なる名詞の単語と、季語kとの間の類似度を算出する。
具体的には、候補語抽出部34は、分散表現リストBを参照し、俳句hから分解された複数の単語の各々に対応するベクトルの各々を取得する。そして、候補語抽出部34は、俳句hに含まれる季語kに対応するベクトルと、季語kとは異なる名詞の単語に対応するベクトルとに基づいて、季語kとは異なる名詞の単語のうち、季語kと関連する取り合わせ候補語を特定する。
より詳細には、候補語抽出部34は、俳句hに含まれる季語kに対応するベクトルと、季語kとは異なる名詞の単語に対応するベクトルとに基づいて、季語kとは異なる各単語のうちの名詞の単語と季語kとの間の類似度を算出する。そして、候補語抽出部34は、算出した類似度の各々を類似度リストSへ格納する。
例えば、候補語抽出部34は、俳句h「木枯らしの海へ鯛焼き泳がんと」の季語k={木枯らし}と、季語kとは異なる各単語のうちの名詞の単語{海、鯛焼き}との間の類似度が格納された類似度リストS={海:0.27,鯛焼き:0.23}を取得する。
次に、候補語抽出部34は、類似度リストSを参照し、類似度リストSに格納された類似度のうちの最も高い類似度sを特定する。そして、候補語抽出部34は、類似度sに対応する単語を取り合わせ候補語wとして特定する。
例えば、候補語抽出部34は、類似度リストS={海:0.27,鯛焼き:0.23}のうちの最も高い類似度s=0.27を特定し、類似度s=0.27に対応する単語「海」を取り合わせ候補語wとして特定する。
次に、候補語抽出部34は、閾値記憶部29に格納された各閾値を参照し、取り合わせ候補語wの類似度sが、上限閾値ΘU以下であってかつ下限閾値ΘL以上であるか否かを判定する。
候補語抽出部34は、取り合わせ候補語wの類似度sが、上限閾値ΘU以下であってかつ下限閾値ΘL以上である場合には、隔たり閾値Θdを用いた判定処理に移行する。
一方、候補語抽出部34は、取り合わせ候補語wの類似度sが、上限閾値ΘUより大きい場合、又は下限閾値ΘL未満である場合には、俳句h内には取り合わせが存在しないと判定する。
例えば、取り合わせ候補語w=「海」の類似度sが0.27である場合、上限閾値ΘU(=0.3)以下であって、かつ下限閾値ΘL(=0.1)以上であるため、候補語抽出部34は、クラスタリング部38における隔たり閾値Θdを用いた判定処理に移行する。
クラスタリング部38は、季語kと取り合わせ候補語wとの間の単語の隔たり数dを算出する。例えば、図11に示されるように、俳句h「木枯らしの海へ鯛焼き泳がんと」については、季語k「木枯らし」と取り合わせ候補語w「海」との間の隔たり数dは2となる。そして、クラスタリング部38は、俳句hと隔たり数dとの組み合わせを、隔たり数関係リストDに追加する。例えば、隔たり数関係リストD={2:[木枯らしの海へ鯛焼き泳がんと]}となる。
隔たり数関係リスト記憶部40には、クラスタリング部38によって更新される、隔たり数関係リストDが格納される。
候補語抽出部34及びクラスタリング部38は、評価用俳句リストH2が空になるまで、候補語wの抽出及び隔たり数関係リストDの更新を繰り返す。
例えば、俳句「木枯らしの海へ鯛焼き泳がんと」に対する処理が終了した後、候補語抽出部34は、評価用俳句リストH2から次の俳句h「木枯らしや目刺しに残る海の色」を取り出す。このとき、評価用俳句リストH2は{急激に林檎と地球引き合う日、地球には裏表なし林檎剥く、朝刊とナイフと林檎置かれあり、木枯らしや初冬に吹きし空っ風}となる。
そして、候補語抽出部34は、俳句h「木枯らしや目刺しに残る海の色」を複数の単語へ分割し、単語品詞リストW={木枯らし(名詞)、や(助詞)、目刺し(名詞)、に(助詞)、残る(動詞)、海(名詞)、の(助詞)、色(名詞)}を得る。
次に、候補語抽出部34は、単語品詞リストWから季語k={木枯らし}を抽出する。そして、候補語抽出部34は、俳句h「木枯らしや目刺しに残る海の色」の季語k={木枯らし}と、名詞の単語{目指し、海、色}との間の類似度が格納された類似度リストS={目指し:0.22、海:0.27、色:0.09}を取得する。
次に、候補語抽出部34は、類似度リストS={目指し:0.22、海:0.27、色:0.09}のうちの最も高い類似度s=0.27を特定し、類似度s=0.27に対応する単語「海」を取り合わせ候補語wとして特定する。次に、取り合わせ候補語w=「海」の類似度sが0.27であり、上限閾値ΘU(=0.3)以下であって、かつ下限閾値ΘL(=0.1)以上であるため、候補語抽出部34は、クラスタリング部38における隔たり閾値Θdを用いた判定処理に移行する。
クラスタリング部38は、俳句h「木枯らしや目刺しに残る海の色」についての、季語k「木枯らし」と取り合わせ候補語w「海」との間の隔たり数dを算出する。そして、クラスタリング部38は、俳句h「木枯らしや目刺しに残る海の色」と隔たり数d=5との組み合わせを、隔たり数関係リストDに追加する。これにより、隔たり数関係リストD={2:[木枯らしの海へ鯛焼き泳がんと]、5:[木枯らしや目刺しに残る海の色]}となる。
俳句「木枯らしや目刺しに残る海の色」に対する処理が終了した後、候補語抽出部34は、評価用俳句リストH2から次の俳句h「急激に林檎と地球引き合う日」を取り出す。このとき、評価用俳句リストH2は{地球には裏表なし林檎剥く、朝刊とナイフと林檎置かれあり、木枯らしや初冬に吹きし空っ風}となる。
そして、候補語抽出部34は、俳句h「急激に林檎と地球引き合う日」を複数の単語へ分割し、単語品詞リストW={急激(名詞)、に(助詞)、林檎(名詞)、と(助詞)、地球(名詞)、引き合う(動詞)、日(名詞)}を得る。
次に、候補語抽出部34は、単語品詞リストWから季語k={林檎}を抽出する。そして、候補語抽出部34は、俳句h「急激に林檎と地球引き合う日」の季語k={林檎}と、名詞の単語{急激、地球、日}との間の類似度が格納された類似度リストS={急激:0.00、地球:0.15、日:0.01}を取得する。
次に、候補語抽出部34は、類似度リストS={急激:0.00、地球:0.15、日:0.01}のうちの最も高い類似度s=0.12を特定し、類似度s=0.15に対応する単語「地球」を取り合わせ候補語wとして特定する。次に、取り合わせ候補語w=「地球」の類似度sが0.15であり、上限閾値ΘU(=0.3)以下であって、かつ下限閾値ΘL(=0.1)以上であるため、候補語抽出部34は、クラスタリング部38における隔たり閾値Θdを用いた判定処理に移行する。
クラスタリング部38は、俳句h「急激に林檎と地球引き合う日」についての、季語k「林檎」と取り合わせ候補語w「地球」との間の隔たり数dを算出する。そして、クラスタリング部38は、俳句h「急激に林檎と地球引き合う日」と隔たり数d=2との組み合わせを、隔たり数関係リストDに追加する。これにより、隔たり数関係リストD={2:[木枯らしの海へ鯛焼き泳がんと、急激に林檎と地球引き合う日]、5:[木枯らしや目刺しに残る海の色]}となる。
俳句「急激に林檎と地球引き合う日」に対する処理が終了した後、候補語抽出部34は、評価用俳句リストH2から次の俳句h「地球には裏表なし林檎剥く」を取り出す。このとき、評価用俳句リストH2は{朝刊とナイフと林檎置かれあり、木枯らしや初冬に吹きし空っ風}となる。
そして、候補語抽出部34は、俳句h「地球には裏表なし林檎剥く」を複数の単語へ分割し、単語品詞リストW={地球(名詞)、に(助詞)、は(助詞)、裏表(名詞)、なし(形容詞)、林檎(名詞)、剥く(動詞)}を得る。
次に、候補語抽出部34は、単語品詞リストWから季語k={林檎}を抽出する。そして、候補語抽出部34は、俳句h「地球には裏表なし林檎剥く」の季語k={林檎}と、名詞の単語{地球、裏表}との間の類似度が格納された類似度リストS={地球:0.15、裏表:0.12}を取得する。
次に、候補語抽出部34は、類似度リストS={地球:0.15、裏表:0.12}のうちの最も高い類似度s=0.15を特定し、類似度s=0.15に対応する単語「地球」を取り合わせ候補語wとして特定する。次に、取り合わせ候補語w=「地球」の類似度sが0.15であり、上限閾値ΘU(=0.3)以下であって、かつ下限閾値ΘL(=0.1)以上であるため、候補語抽出部34は、クラスタリング部38における隔たり閾値Θdを用いた判定処理に移行する。
クラスタリング部38は、俳句h「地球には裏表なし林檎剥く」についての、季語k「林檎」と取り合わせ候補語w「地球」との間の隔たり数dを算出する。そして、クラスタリング部38は、俳句h「地球には裏表なし林檎剥く」と隔たり数d=5との組み合わせを、隔たり数関係リストDに追加する。これにより、隔たり数関係リストD={2:[木枯らしの海へ鯛焼き泳がんと、急激に林檎と地球引き合う日]、5:[木枯らしや目刺しに残る海の色、地球には裏表なし林檎剥く]}となる。
俳句「地球には裏表なし林檎剥く」に対する処理が終了した後、候補語抽出部34は、評価用俳句リストH2から次の俳句h「朝刊とナイフと林檎置かれあり」を取り出す。このとき、評価用俳句リストH2は{木枯らしや初冬に吹きし空っ風}となる。
そして、候補語抽出部34は、俳句h「朝刊とナイフと林檎置かれあり」を複数の単語へ分割し、単語品詞リストW={朝刊(名詞)、と(助詞)、ナイフ(名詞)、と(助詞)、林檎(名詞)、置か(動詞)、れ(動詞)、あり(動詞)}を得る。
次に、候補語抽出部34は、単語品詞リストWから季語k={林檎}を抽出する。そして、候補語抽出部34は、俳句h「朝刊とナイフと林檎置かれあり」の季語k={林檎}と、名詞の単語{朝刊、ナイフ}との間の類似度が格納された類似度リストS={朝刊:0.08、ナイフ:0.34}を取得する。
次に、候補語抽出部34は、類似度リストS={朝刊:0.08、ナイフ:0.34}のうちの最も高い類似度s=0.34を特定し、類似度s=0.34に対応する単語「ナイフ」を取り合わせ候補語wとして特定する。次に、取り合わせ候補語w=「ナイフ」の類似度sが0.34であり、上限閾値ΘU(=0.3)より大きいため、候補語抽出部34は、クラスタリング部38における隔たり閾値Θdを用いた判定処理に移行せずに、次の俳句に対する処理を行う。
俳句「朝刊とナイフと林檎置かれあり」に対する処理が終了した後、候補語抽出部34は、評価用俳句リストH2から次の俳句h「木枯らしや初冬に吹きし空っ風」を取り出す。このとき、評価用俳句リストH2は{Φ}となる。
そして、候補語抽出部34は、俳句h「木枯らしや初冬に吹きし空っ風」を複数の単語へ分割し、単語品詞リストW={木枯らし(名詞)、や(助詞)、初冬(名詞)、に(助詞)、吹き(動詞)、し(助動詞)、空っ風(名詞)}を得る。
次に、候補語抽出部34は、単語品詞リストWから季語k={木枯らし}を抽出する。そして、候補語抽出部34は、俳句h「木枯らしや初冬に吹きし空っ風」の季語k={木枯らし}と、名詞の単語{初冬、空っ風}との間の類似度が格納された類似度リストS={初冬:0.29、空っ風:0.43}を取得する。
次に、候補語抽出部34は、類似度リストS={初冬:0.29、空っ風:0.43}のうちの最も高い類似度s=0.43を特定し、類似度s=0.43に対応する単語「空っ風」を取り合わせ候補語wとして特定する。次に、取り合わせ候補語w=「空っ風」の類似度sが0.43であり、上限閾値ΘU(=0.3)より大きいため、候補語抽出部34は、クラスタリング部38における隔たり閾値Θdを用いた判定処理に移行せずに、俳句に対する処理を終了し、判定部42の処理へ移行する。
判定部42は、俳句における、季語kと取り合わせ候補語wとの間の単語数に基づいて、俳句における取り合わせを判定する。
具体的には、判定部42は、閾値記憶部29に格納されている隔たり閾値Θdを参照して、隔たり数関係リスト記憶部40の隔たり数関係リストDに格納されている隔たり数が、隔たり閾値Θdより大きな俳句を、取り合わせ俳句リストHTとして出力する。例えば、取り合わせ俳句リストHT=[木枯らしや目刺しに残る海の色,地球には裏表なし林檎剥く]が出力され、取り合わせ俳句リスト記憶部44に格納される。
取り合わせ俳句リスト記憶部44には、取り合わせが存在すると判定された評価用俳句のリストである、取り合わせ俳句リストHTが格納される。
判定装置10は、例えば、図12に示すコンピュータ50で実現することができる。コンピュータ50はCPU51、一時記憶領域としてのメモリ52、及び不揮発性の記憶部53を備える。また、コンピュータ50は、表示装置、入出力装置等(図示省略)が接続される入出力interface(I/F)54、並びに記録媒体59に対するデータの読み込み及び書き込みを制御するread/write(R/W)部55を備える。また、コンピュータ50は、インターネット等のネットワークに接続されるネットワークI/F56を備える。CPU51、メモリ52、記憶部53、入出力I/F54、R/W部55、及びネットワークI/F56は、バス57を介して互いに接続される。
記憶部53は、Hard Disk Drive(HDD)、Solid State Drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部53には、コンピュータ50を判定装置10として機能させるための設定プログラム60と判定プログラム61とが記憶されている。設定プログラム60は、分散表現作成プロセス62と、閾値上限計算プロセス63と、閾値下限計算プロセス64と、隔たり閾値計算プロセス65とを有する。判定プログラム61は、候補語抽出プロセス66と、クラスタリングプロセス67と、判定プロセス68とを有する。また、記憶部53は、情報記憶領域69を有する。情報記憶領域69には、コーパス記憶部12を構成する情報と、分散表現リスト記憶部16を構成する情報と、類義語関係リスト記憶部18を構成する情報と、単語リスト記憶部22を構成する情報とが記憶される。また、情報記憶領域69には、学習用俳句リスト記憶部26を構成する情報と、閾値記憶部29を構成する情報と、評価用俳句リスト記憶部30を構成する情報と、季語リスト記憶部32を構成する情報とが記憶される。また、情報記憶領域69には、単語品詞リスト記憶部36を構成する情報と、隔たり数関係リスト記憶部40を構成する情報と、取り合わせ俳句リスト記憶部44を構成する情報とが記憶される。
CPU51は、設定プログラム60を記憶部53から読み出してメモリ52に展開し、設定プログラム60が有するプロセスを順次実行する。また、CPU51は、判定プログラム61を記憶部53から読み出してメモリ52に展開し、判定プログラム61が有するプロセスを順次実行する。CPU51は、分散表現作成プロセス62を実行することで、図2に示す分散表現作成部14として動作する。また、CPU51は、閾値上限計算プロセス63を実行することで、図2に示す閾値上限計算部20として動作する。また、CPU51は、閾値下限計算プロセス64を実行することで、図2に示す閾値下限計算部24として動作する。また、CPU51は、隔たり閾値計算プロセス65を実行することで、図2に示す隔たり閾値計算部28として動作する。また、CPU51は、候補語抽出プロセス66を実行することで、図2に示す候補語抽出部34として動作する。また、CPU51は、クラスタリングプロセス67を実行することで、図2に示すクラスタリング部38として動作する。また、CPU51は、判定プロセス68を実行することで、図2に示す判定部42として動作する。また、CPU51は、情報記憶領域69から情報を読み出して、コーパス記憶部12をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、分散表現リスト記憶部16をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、類義語関係リスト記憶部18をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、単語リスト記憶部22をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、学習用俳句リスト記憶部26をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、閾値記憶部29をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、評価用俳句リスト記憶部30をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、季語リスト記憶部32をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、単語品詞リスト記憶部36をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、隔たり数関係リスト記憶部40をメモリ52に展開する。また、CPU51は、情報記憶領域69から情報を読み出して、取り合わせ俳句リスト記憶部44をメモリ52に展開する。これにより、設定プログラム60と判定プログラム61とを実行したコンピュータ50が、判定装置10として機能することになる。ソフトウェアである設定プログラム60と判定プログラム61とを実行するCPU51はハードウェアである。
なお、設定プログラム60及び判定プログラム61により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ASIC)等で実現することも可能である。
次に、本実施形態に係る判定装置10の作用について説明する。判定装置10は、設定処理と判定処理とを実行する。以下、各処理について詳述する。
<設定処理>
設定処理では、分散表現作成部14によって分散表現リストBが作成される。また、閾値上限計算部20によって上限閾値ΘUが計算され、閾値下限計算部24によって下限閾値ΘLが計算され、隔たり閾値計算部28によって隔たり閾値Θdが計算される。具体的には、図13に示す設定処理が実行される。
ステップS100において、分散表現作成部14は、コーパス記憶部12に格納されたコーパスから、単語を表すベクトルを生成する。そして、分散表現作成部14は、単語と単語を表すベクトルとを分散表現リストBへ格納する。分散表現リストBは、分散表現リスト記憶部16に格納される。
ステップS102において、閾値上限計算部20は、上記ステップS100で得られた分散表現リストBと、類義語関係リスト記憶部18に格納された類義語関係リストYとを参照し、類義語関係にある単語間の類似度に応じて上限閾値を設定する。ステップS102の処理は、図14に示す上限閾値計算処理によって実現される。
ステップS200において、閾値上限計算部20は、類義語関係にある単語間の類似度を格納するための類似度リストSUを設定する。
ステップS201において、閾値上限計算部20は、類義語関係リスト記憶部18に格納された類義語関係リストYを参照し、類義語関係リストYから類義語関係を一つ取り出し、類義語関係yとする。
ステップS202において、閾値上限計算部20は、分散表現リストBを参照して、上記ステップS201で得られた類義語関係y中の単語のベクトル間のコサイン類似度を計算し、類似度リストSUへ追加する。
ステップS204において、閾値上限計算部20は、類義語関係リストYに含まれる全ての類義語関係について、ステップS201~ステップS202の処理を実行したか否かを判定する。類義語関係リストYに含まれる全ての類義語関係について、ステップS201~ステップS202の処理を実行した場合には、ステップS206へ進む。一方、ステップS201~ステップS202の処理を実行していない類義語関係が類義語関係リストYに存在する場合には、ステップS201へ戻る。
ステップS206において、閾値上限計算部20は、上記ステップS202で類似度リストSUに格納された複数の類似度の平均値を計算し、上限閾値ΘUとする。閾値上限計算部20は、上限閾値ΘUを閾値記憶部29に格納する。
次に、図13に示すステップS104において、閾値下限計算部24は、上記ステップS100で得られた分散表現リストBと、単語リスト記憶部22に格納された単語リストTとを参照し、単語リストTの単語のベクトル間の類似度から下限閾値を設定する。ステップS104の処理は、図15に示す閾値下限計算処理によって実現される。
ステップS300において、閾値下限計算部24は、ランダムに選択された単語間の類似度を格納するための類似度リストSL=[]を設定する。
ステップS301において、閾値下限計算部24は、単語リストTからランダムに二つの単語を選択して単語ペア(t1,t2)を設定する。
ステップS302において、閾値下限計算部24は、上記ステップS301で設定された単語ペア(t1,t2)が類義語関係リストYに含まれているか否かを判定する。単語ペア(t1,t2)が類義語関係リストYに含まれていない場合には、ステップS304へ進む。一方、単語ペア(t1,t2)が類義語関係リストYに含まれている場合には、ステップS301へ戻る。
ステップS304において、閾値下限計算部24は、分散表現リストBを参照して、上記ステップS302で設定された単語ペア(t1,t2)のベクトル間のコサイン類似度を計算し、類似度リストSLへ追加する。
ステップS306において、閾値下限計算部24は、単語リストTから得られる全ての単語のペアについて、上記ステップS301~ステップS304の処理を実行したか否かを判定する。単語リストTから得られる全ての単語のペアについて、上記ステップS301~ステップS304の処理を実行した場合には、ステップS308へ進む。一方、上記ステップS301~ステップS304の処理を実行していない単語のペアが単語リストTに存在する場合には、ステップS301へ戻る。
ステップS308において、閾値下限計算部24は、上記ステップS304で類似度リストSLに格納された複数の類似度の平均値を計算し、下限閾値ΘLとする。閾値下限計算部24は、下限閾値ΘLを閾値記憶部29に格納する。
次に図13のステップS106において、隔たり閾値計算部28は、学習用俳句リスト記憶部26の学習用俳句リストH1を参照して、俳句の切れの前の単語数及び切れの後の単語数の何れか多い方の単語数に応じて、隔たり閾値を設定する。ステップS106の処理は、図16に示す隔たり閾値計算処理によって実現される。
ステップS400において、隔たり閾値計算部28は、単語数を格納するための単語数リストN=[]を設定する。
ステップS401において、隔たり閾値計算部28は、学習用俳句リストH1から俳句を一つ取り出し、俳句hとする。
ステップS402において、隔たり閾値計算部28は、上記ステップS401で得られた俳句hに対して形態素解析を行い、俳句hに含まれる単語の読みと単語の品詞とが格納される読み品詞リストPを得る。
ステップS404において、隔たり閾値計算部28は、上記ステップS402で得られた読み品詞リストPを参照し、俳句hの読みの和が5又は12となる箇所が、名詞又は「や」「かな」「けり」となっているか否かを検出する。俳句hの読みの和が5又は12となる箇所が、名詞又は「や」「かな」「けり」となっている場合には、俳句hに切れが存在すると判定し、ステップS406へ進む。俳句hの読みの和が5又は12となる箇所が、名詞又は「や」「かな」「けり」でない場合には、俳句hに切れが存在しないと判定し、ステップS401へ戻る。なお、俳句h内に切れの検出箇所が複数ある場合は、切れがないものと判定し、ステップS401へ戻る。
ステップS406において、隔たり閾値計算部28は、上記ステップS406で検出された切れの箇所に応じて、上記ステップS402で得られた読み品詞リストPを参照し、俳句hの切れの前後の単語数のうち、多い方の単語数を単語数リストNへ追加する。
ステップS408において、隔たり閾値計算部28は、学習用俳句リストH1が空であるか否かを判定する。学習用俳句リストH1が空である場合には、ステップS410へ進む。一方、学習用俳句リストH1が空でない場合には、ステップS401へ進む。
ステップS410において、隔たり閾値計算部28は、上記ステップS406で得られた単語数リストNに含まれる単語数の平均値を計算し、隔たり閾値Θdとする。そして、隔たり閾値計算部28は、隔たり閾値Θdを閾値記憶部29に格納する。
<判定処理>
設定処理では、候補語抽出部34、クラスタリング部38、及び判定部42によって、評価対象の複数の俳句に取り合わせが含まれているか否かが判定される。図17に示す判定処理が実行される。
ステップS500において、候補語抽出部34は、評価用俳句リスト記憶部30の評価用俳句リストH2から1つの俳句hを取得する。
ステップS502において、候補語抽出部34は、上記ステップS500で取得された俳句hに対して形態素解析を行い、俳句hを複数の単語へ分割する。また、候補語抽出部34は、評価用の俳句hから得られた各単語と各単語の品詞を単語品詞リストWへ格納する。
ステップS504において、候補語抽出部34は、季語リスト記憶部32に格納された季語リストKを参照し、上記ステップS502で得られた単語品詞リストWから季語kを抽出する。
ステップS506において、候補語抽出部34は、分散表現リストBを参照し、上記ステップS502で抽出された季語kのベクトルと、単語品詞リストWの季語kとは異なる名詞の単語のベクトルとに基づいて、季語kと名詞の各単語との間の類似度を算出する。そして、候補語抽出部34は、算出した類似度の各々を類似度リストSへ格納する。
ステップS508において、候補語抽出部34は、上記ステップS506で得られた類似度リストSを参照し、類似度リストSに格納された類似度のうちの最も高い類似度sを特定する。そして、候補語抽出部34は、類似度sに対応する単語を取り合わせ候補語wとして特定する。
ステップS510において、候補語抽出部34は、閾値記憶部29に格納された各閾値を参照し、上記ステップS508で特定された取り合わせ候補語wの類似度sが、上限閾値ΘU以下であってかつ下限閾値ΘL以上であるか否かを判定する。取り合わせ候補語wの類似度sが、上限閾値ΘU以下であってかつ下限閾値ΘL以上である場合には、ステップS512へ進む。一方、取り合わせ候補語wの類似度sが、上限閾値ΘU以下であってかつ下限閾値ΘL以上でない場合には、ステップS516へ進む。
ステップS512において、クラスタリング部38は、上記ステップS504で抽出された季語kと、上記ステップS508で特定された取り合わせ候補語wとの間の単語の隔たり数dを算出する。
ステップS514において、クラスタリング部38は、上記ステップS500で取得された俳句hと、上記ステップS512で算出された隔たり数dとの組み合わせを、隔たり数関係リストDに追加する。
ステップS516において、クラスタリング部38は、評価用俳句リストH2が空であるか否かを判定する。評価用俳句リストH2が空である場合には、ステップS518へ進む。一方、評価用俳句リストH2が空でない場合には、ステップS500へ戻る。
ステップS518で、判定部42は、閾値記憶部29に格納されている隔たり閾値Θdを参照し、上記ステップS514で得られた隔たり数関係リストDに格納されている隔たり数が、隔たり閾値Θdより大きな俳句を、取り合わせを含む俳句として判定する。
ステップS520において、判定部42は、上記ステップS518で取り合わせを含む俳句として判定された俳句を俳句リストHTへ格納し、結果として出力する。俳句リストHTは取り合わせ俳句リスト記憶部44へ格納される。
以上説明したように、本実施形態に係る判定装置は、自然文の集合であるコーパスから予め生成された単語を表すベクトルを参照し、俳句から分解された複数の単語の各々に対応するベクトルの各々を取得する。そして、判定装置は、俳句に含まれる季語に対応するベクトルと、俳句に含まれる、季語とは異なる単語に対応するベクトルとに基づいて、俳句に含まれる、季語とは異なる単語のうち、季語と関連する取り合わせ候補語を特定する。そして、判定装置は、俳句における、季語と取り合わせ候補語との間の単語数に基づいて、俳句における取り合わせを判定する。これにより、俳句において取り合わせを判定することができる。
また、自然文の集合であるコーパスに基づき生成された分散表現を利用し、俳句における取り合わせの判定を精度よく行うことができる。
また、季語と取り合わせ候補語との位置関係を考慮することで、俳句における取り合わせの判定を精度よく行うことができる。
上記実施形態の説明の際に用いた各俳句の出所を以下に示す。
[1]「閑さや岩にしみ入る蝉の声」松尾芭蕉(1689年)“奥の細道”(1702年)収録
[2]「木枯らしや目刺しに残る海の色」芥川龍之介(1918年)
[3]「木枯らしの海へ鯛焼き泳がんと」読み手不明(2008年)現代俳句協会のインターネット俳句会(第92回)<http://www.gendaihaiku.gr.jp/haikukai/result.php?d=92_touku>
[4]「花の雲鐘は上野か浅草か」松尾芭蕉(1687年)
[5]「夏草や兵どもが夢の跡」松尾芭蕉(1689年)“奥の細道”(1702年)収録
[6]「北風や国語の教師くしゃみする」(金子兜太,古谷三敏,「知識ゼロからの俳句入門」,幻冬舎(2006)から引用)
[7]「急激に林檎と地球引き合う日」読み手不明(2010年)現代俳句協会のインターネット俳句会(第114回)<http://www.gendaihaiku.gr.jp/haikukai/result.php?d=114_touku>
[8]「地球には裏表なし林檎剥く」あらえびす(2010年)現代俳句協会のインターネット俳句会(第117回)<http://www.gendaihaiku.gr.jp/haikukai/result.php?d=117_koutokuten>
[9]「朝刊とナイフと林檎置かれあり」やち坊主(2005年)現代俳句協会のインターネット俳句会(第55回)<http://www.gendaihaiku.gr.jp/haikukai/result.php?d=55_senku>
[10]「木枯らしや初冬に吹きし空っ風」古川忠延(2017年)
なお、上記では、各プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記録媒体に記録された形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
次に、上記実施形態の変形例を説明する。
上記の実施形態では、俳句を対象とし、俳句に取り合わせが含まれているか否かを反映する場合を例に説明したが、これに限定されるものではない。例えば、文章の一例である川柳を対象としてもよい。川柳を対象とする場合には、川柳に含まれる名詞の単語の組み合わせの全てについて、川柳に含まれる単語に対応するベクトル間の関係と、単語間の川柳における位置関係とに基づいて、川柳における取り合わせを判定すればよい。
上記実施形態では、俳句内の単語のベクトルに基づき取り合わせ候補語を抽出した後に、隔たり数に応じて取り合わせを判定する場合を例に説明したが、これに限定されるものではない。例えば、隔たり数に応じて取り合わせ候補語を俳句から抽出した後に、俳句内の単語のベクトルの関係に基づいて、取り合わせを判定するようにしてもよい。
また、上記実施形態の候補語抽出部34は、類似度リストSに格納された類似度のうちの最も高い類似度sを特定し、最も高い類似度sに対応する単語を取り合わせ候補語wとして、取り合わせの判定を行う場合を例に説明したが、これに限定されるものではない。例えば、最も高い類似度sに対応する取り合わせ候補語wが、季語との間で取り合わせに該当しない場合、類似度リストSに格納された類似度のうち2番目に高い類似度に対応する単語を取り合わせ候補語wとして設定し、取り合わせについて判定を行ってもよい。また、更に、類似度リストSのうちの2番目に高い類似度に対応する単語が取り合わせに該当しない場合には、類似度リストSのうち3番目に高い類似度に対応する単語について取り合わせの判定を行うように、類似度の高い順に取り合わせの判定を行ってもよい。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
俳句又は川柳を表す文章を複数の単語へ分解し、
自然文の集合から予め生成された単語の意味を表すベクトルを参照し、前記文章から分解された複数の前記単語の各々に対応する前記ベクトルの各々を取得し、
前記文章に含まれる第1の単語に対応する前記ベクトルと、前記文章に含まれる第2の単語に対応する前記ベクトルとの間の関係と、前記第1の単語と前記第2の単語との間の前記文章における位置関係とに基づいて、前記文章における取り合わせを判定する、
処理をコンピュータに実行させるための判定プログラム。
(付記2)
前記第1の単語に対応する前記ベクトルと、前記第2の単語に対応する前記ベクトルとの間の関係に基づいて、前記文章に含まれる、前記第2の単語のうち、前記第1の単語と関連する取り合わせ候補語を特定し、
前記文章における、前記第1の単語と前記取り合わせ候補語との間の単語数に基づいて、前記文章における取り合わせを判定する、
付記1に記載の判定プログラム。
(付記3)
前記文章は、前記俳句又は季語を含む前記川柳であり、
前記第1の単語は、前記季語であり、
前記第2の単語は、前記季語とは異なる単語である、
付記1又は付記2に記載の判定プログラム。
(付記4)
前記取り合わせ候補語を特定する際に、
前記第1の単語に対応する前記ベクトルとの間の類似度が、類義語関係にある単語間の類似度に応じて設定された上限閾値以下であり、かつランダムに選択された単語間の類似度に応じて設定された下限閾値以上である前記第2の単語を、前記取り合わせ候補語として特定する、
付記1~付記3の何れか1項に記載の判定プログラム。
(付記5)
前記文章における取り合わせを判定する際に、
前記第1の単語と前記取り合わせ候補語との間の単語数が、切れを含む俳句又は川柳を表す文章のうちの、前記切れの前の単語数及び前記切れの後の単語数の何れか多い方の単語数に応じて予め設定された隔たり閾値より大きい場合に、前記文章において取り合わせが有ると判定する、
付記1~付記4の何れか1項に記載の判定プログラム。
(付記6)
俳句又は川柳を表す文章を複数の単語へ分解し、
自然文の集合から予め生成された単語の意味を表すベクトルを参照し、前記文章から分解された複数の前記単語の各々に対応する前記ベクトルの各々を取得し、
前記文章に含まれる第1の単語に対応する前記ベクトルと、前記文章に含まれる第2の単語に対応する前記ベクトルとの間の関係と、前記第1の単語と前記第2の単語との間の前記文章における位置関係とに基づいて、前記文章における取り合わせを判定する判定部
を備える判定装置。
(付記7)
前記取り合わせ候補語を特定する際に、
前記季語に対応する前記ベクトルとの間の類似度が、類義語関係にある単語間の類似度に応じて設定された上限閾値以下であり、かつランダムに選択された単語間の類似度に応じて設定された下限閾値以上である前記単語を、前記取り合わせ候補語として特定する、
付記6に記載の判定装置。
(付記8)
前記第1の単語に対応する前記ベクトルと、前記第2の単語に対応する前記ベクトルとの間の関係に基づいて、前記文章に含まれる、前記第2の単語のうち、前記第1の単語と関連する取り合わせ候補語を特定し、
前記文章における、前記第1の単語と前記取り合わせ候補語との間の単語数に基づいて、前記文章における取り合わせを判定する、
付記6又は付記7に記載の判定装置。
(付記9)
前記文章は、前記俳句又は季語を含む前記川柳であり、
前記第1の単語は、前記季語であり、
前記第2の単語は、前記季語とは異なる単語である、
付記6~付記8の何れか1項に記載の判定装置。
(付記10)
前記取り合わせ候補語を特定する際に、
前記第1の単語に対応する前記ベクトルとの間の類似度が、類義語関係にある単語間の類似度に応じて設定された上限閾値以下であり、かつランダムに選択された単語間の類似度に応じて設定された下限閾値以上である前記第2の単語を、前記取り合わせ候補語として特定する、
付記6~付記9の何れか1項に記載の判定装置。
(付記11)
前記文章における取り合わせを判定する際に、
前記第1の単語と前記取り合わせ候補語との間の単語数が、切れを含む俳句又は川柳を表す文章のうちの、前記切れの前の単語数及び前記切れの後の単語数の何れか多い方の単語数に応じて予め設定された隔たり閾値より大きい場合に、前記文章において取り合わせが有ると判定する、
付記6~付記10の何れか1項に記載の判定装置。
(付記12)
俳句又は川柳を表す文章を複数の単語へ分解し、
自然文の集合から予め生成された単語の意味を表すベクトルを参照し、前記文章から分解された複数の前記単語の各々に対応する前記ベクトルの各々を取得し、
前記文章に含まれる第1の単語に対応する前記ベクトルと、前記文章に含まれる第2の単語に対応する前記ベクトルとの間の関係と、前記第1の単語と前記第2の単語との間の前記文章における位置関係とに基づいて、前記文章における取り合わせを判定する、
処理をコンピュータに実行させるための判定方法。
(付記13)
前記第1の単語に対応する前記ベクトルと、前記第2の単語に対応する前記ベクトルとの間の関係に基づいて、前記文章に含まれる、前記第2の単語のうち、前記第1の単語と関連する取り合わせ候補語を特定し、
前記文章における、前記第1の単語と前記取り合わせ候補語との間の単語数に基づいて、前記文章における取り合わせを判定する、
付記12に記載の判定プログラム。
(付記14)
前記文章は、前記俳句又は季語を含む前記川柳であり、
前記第1の単語は、前記季語であり、
前記第2の単語は、前記季語とは異なる単語である、
付記12又は付記13に記載の判定プログラム。
(付記15)
前記取り合わせ候補語を特定する際に、
前記第1の単語に対応する前記ベクトルとの間の類似度が、類義語関係にある単語間の類似度に応じて設定された上限閾値以下であり、かつランダムに選択された単語間の類似度に応じて設定された下限閾値以上である前記第2の単語を、前記取り合わせ候補語として特定する、
付記12~付記14の何れか1項に記載の判定プログラム。
(付記16)
前記文章における取り合わせを判定する際に、
前記第1の単語と前記取り合わせ候補語との間の単語数が、切れを含む俳句又は川柳を表す文章のうちの、前記切れの前の単語数及び前記切れの後の単語数の何れか多い方の単語数に応じて予め設定された隔たり閾値より大きい場合に、前記文章において取り合わせが有ると判定する、
付記12~付記15の何れか1項に記載の判定プログラム。
(付記17)
俳句又は川柳を表す文章を複数の単語へ分解し、
自然文の集合から予め生成された単語の意味を表すベクトルを参照し、前記文章から分解された複数の前記単語の各々に対応する前記ベクトルの各々を取得し、
前記文章に含まれる第1の単語に対応する前記ベクトルと、前記文章に含まれる第2の単語に対応する前記ベクトルとの間の関係と、前記第1の単語と前記第2の単語との間の前記文章における位置関係とに基づいて、前記文章における取り合わせを判定する、
処理をコンピュータに実行させるための判定プログラムを記憶した記憶媒体。