(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-10
(45)【発行日】2023-04-18
(54)【発明の名称】情報処理プログラム、情報処理方法および情報処理装置
(51)【国際特許分類】
G06F 40/253 20200101AFI20230411BHJP
G06F 40/51 20200101ALI20230411BHJP
G06F 40/247 20200101ALI20230411BHJP
【FI】
G06F40/253
G06F40/51
G06F40/247
(21)【出願番号】P 2021565242
(86)(22)【出願日】2019-12-18
(86)【国際出願番号】 JP2019049664
(87)【国際公開番号】W WO2021124490
(87)【国際公開日】2021-06-24
【審査請求日】2022-02-25
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】片岡 正弘
(72)【発明者】
【氏名】堀 真二
(72)【発明者】
【氏名】松村 量
(72)【発明者】
【氏名】武部 信幸
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2006-53866(JP,A)
【文献】特表2010-535377(JP,A)
【文献】特開平11-306181(JP,A)
【文献】庵愛、外3名,文章構造を取り入れた文間類似度グラフに鵡づいた一貫性に関する評価指標,一般社団法人人工知能学会第 32回全国大会論文集DV D [D V D -R OM] 2018年度人工知能学会全国大会(第32回),2018年06月05日,pp. 1-4
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
(57)【特許請求の範囲】
【請求項1】
第1文章に含まれる複数の第1文の第1文ベクトルを抽出し、
抽出した前記第1文ベクトルと、第2文章に含まれる複数の第2文の第2文ベクトルとに基づき、前記複数の第2文のうち、前記複数の第1文とベクトルの傾向が異なる第2文を特定し、
特定した前記第2文に含まれる単語のうち、記憶装置に記憶した同音異義語または接続詞と一致する単語を抽出し、
抽出した単語を、前記記憶装置に記憶した同音異義語または接続詞に対応付けられた単語に変換することで、前記複数の第1文のベクトルの傾向と同一または類似する第2文を生成する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記第2文を生成する処理は、前記第2文に含まれる単語について、同音異義語または接続詞が複数存在する場合、複数の同音異義語または接続詞に基づいて、複数の第3文を生成することを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記第2文を生成する処理は、生成した複数の第3文の文ベクトルと、前記複数の第1文の第1文ベクトルとを基にして、いずれかの第3文を、前記複数の第1文と傾向と同一または類似する第2文として選択することを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
前記記憶装置は、複数の異なる第1文章の文章ベクトルそれぞれについて、複数の第1文の第1文ベクトルの関係が対応付けられ、前記抽出する処理は、前記第2文章の文章ベクトルを基にして、複数の第1文の第1文ベクトルの傾向を更に抽出することを特徴とする請求項1、2または3に記載の情報処理プログラム。
【請求項5】
ある文章に含まれる文ベクトルを抽出し、
記憶装置に記憶した複数の文ベクトルの推移に関する複数のパターンから、前記ある文章に含まれる文ベクトルの推移と一致するパターンを特定し、
特定したパターンに対応付けて記憶されたスコアを前記ある文章のスコアとして出力する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項6】
前記記憶装置は、接続詞と文ベクトルの推移とを対応付けた複数のパターンを記憶し、
前記抽出する処理は、ある文章に含まれる接続詞および文ベクトルを抽出し、
前記特定する処理は、前記記憶装置に記憶した接続詞と文ベクトルの推移とを対応付けた複数のパターンから、前記ある文章に含まれる接続詞と文ベクトルの推移と一致するパターンを特定することを特徴とする請求項5に記載の情報処理プログラム。
【請求項7】
第1文章に含まれる複数の第1文の第1文ベクトルを抽出し、
抽出した前記第1文ベクトルと、第2文章に含まれる複数の第2文の第2文ベクトルとを基づき、前記複数の第2文のうち、前記複数の第1文とベクトルの傾向が異なる第2文を特定し、
特定した前記第2文に含まれる単語のうち、記憶装置に記憶した同音異義語または接続詞と一致する単語を抽出し、
抽出した単語を、前記記憶装置に記憶した同音異義語または接続詞に対応付けられた単語に変換することで、前記複数の第1文のベクトルの傾向と同一または類似する第2文を生成する
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項8】
ある文章に含まれる文ベクトルを抽出し、
記憶装置に記憶した複数の文ベクトルの推移に関する複数のパターンから、前記ある文章に含まれる文ベクトルの推移と一致するパターンを特定し、
特定したパターンに対応付けて記憶されたスコアを前記ある文章のスコアとして出力する
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項9】
第1文章に含まれる複数の第1文の第1文ベクトルを抽出し、抽出した前記第1文ベクトルと、第2文章に含まれる複数の第2文の第2文ベクトルとに基づき、前記複数の第2文のうち、前記複数の第1文とベクトルの傾向が異なる第2文を特定する特定部と、
特定した前記第2文に含まれる単語のうち、記憶部に記憶した同音異義語または接続詞と一致する単語を抽出し、抽出した単語を、前記記憶部に記憶した同音異義語または接続詞に対応付けられた単語に変換することで、前記複数の第1文のベクトルの傾向と同一または類似する第2文を生成する生成部と
を有することを特徴とする情報処理装置。
【請求項10】
ある文章に含まれる文ベクトルを抽出する抽出部と、
記憶部に記憶した複数の文ベクトルの推移に関する複数のパターンから、前記ある文章に含まれる文ベクトルの推移と一致するパターンを特定し、特定したパターンに対応付けて記憶されたスコアを前記ある文章のスコアとして出力する特定部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム等に関する。
【背景技術】
【0002】
文章や文(以下、単に文)を解析し、文に含まれる各単語をベクトルで表現する従来技術として、word2vec(Skip-Gram ModelまたはCBOW)等がある。表記の異なる単語であっても、意味が類似している単語同士は、ベクトルの値も類似するという特徴がある。以下の説明では、単語のベクトルを、「単語ベクトル」と表記する。
【0003】
また、単語をポアンカレ空間に埋め込み、単語ベクトルを特定するPoincare Embeddingsと呼ばれる技術も存在する。たとえば、word2vecでは、単語ベクトルを200次元で表現するが、Poincare Embeddingsでは、同じ概念に属す単語ベクトルの精度を向上することができ、次元圧縮の技術としても関心が持たれている。
【0004】
図24は、word2vecで表現したベクトル空間上の単語の位置の一例を示す図である。
図24に示す例では、各単語「校正」、「公正」、「好き」、「更正」、「好物」、「シソーラス」、「愛玩」、「厚生」のベクトル空間Vにおける位置をそれぞれ示している。word2vecで表現したベクトル空間Vの単語において、「好き」、「好物」、「愛玩」は意味の類似する単語であるが、それぞれの位置が離れている。
【0005】
図25は、Poincare Embeddingsで表現したポアンカレ空間の単語の位置の一例を示す図である。
図25に示す例では、各単語「校正」、「公正」、「好き」、「更正」、「好物」、「シソーラス」、「愛玩」、「厚生」のポアンカレ空間Pにおける位置をそれぞれ示している。
図24に示したベクトル空間Vの例とは異なり、
図25のポアンカレ空間Pでは、意味の類似した「好き」、「好物」、「愛玩」の単語ベクトルが近傍の位置に配置されており、word2vecと比較して、単語ベクトルの精度が向上したといえる。
【0006】
なお、日本語の文を、英語の文に翻訳するモデルを機械学習する場合、日本語の文に含まれる各単語の単語ベクトルと、英語の文に含まれる各単語の単語ベクトルとを対応付けた教師データを用いて、RNN(Recurrent Neural Network)機械学習が行われる。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2017-142746号公報
【文献】特開2019-057095号公報
【文献】特開2019-046048号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
図25で説明したように、意味の類似する単語同士の単語ベクトルは、近似した値となる。しかし、同音異義語については、意味が異なるため、それぞれの単語ベクトルは分散した値となる。たとえば、「校正」、「公正」、「更正」、「厚生」は同音異義語であり、発音は同じであるが、意味が異なる。
【0009】
このため、文に含まれる複数の単語において、単語の変換ミス(漢字変換ミス等)が含まれていると、文のベクトルが本来の文のベクトルと比較して異なったものとなる。以下の説明では、文のベクトルを「文ベクトル」と表記する。文ベクトルは、文に含まれる単語の単語ベクトルを集積することで特定される。たとえば、文ベクトルが本来の文ベクトルと異なっていると、翻訳等を行った際に、正しい翻訳文を得ることができない。
【0010】
1つの側面では、本発明は、文ベクトルの推移に基づいた文章の校正を行うことができる情報処理プログラム、情報処理方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
第1の案では、コンピュータは次の処理を実行する。コンピュータは、第1文章に含まれる複数の第1文の第1文ベクトルを抽出する。コンピュータは、抽出した第1文ベクトルと、第2文章に含まれる複数の第2文の第2文ベクトルとに基づき、複数の第2文のうち、複数の第1文とベクトルの傾向が異なる第2文を特定する。コンピュータは、特定した第2文に含まれる単語のうち、記憶装置に記憶した同音異義語または接続詞と一致する単語を抽出する。コンピュータは、抽出した単語を、記憶装置に記憶した同音異義語または接続詞に対応付けられた単語に変換することで、複数の第1文のベクトルの傾向と同一または類似する第2文を生成する。
【発明の効果】
【0012】
文ベクトルの推移に基づいた文章の校正を行うことができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本実施例1に係る情報処理装置の処理の一例を説明するための図(1)である。
【
図2】
図2は、本実施例1に係る情報処理装置の処理の一例を説明するための図(2)である。
【
図3】
図3は、本実施例1に係る情報処理装置の処理の一例を説明するための図(3)である。
【
図4】
図4は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。
【
図5】
図5は、集計データのデータ構造の一例を示す図である。
【
図6】
図6は、同音異義語ベクトルテーブルのデータ構造の一例を示す図である。
【
図7】
図7は、同音異義語テーブルのデータ構造の一例を示す図である。
【
図8】
図8は、文章ベクトルを算出する処理を説明するための図である。
【
図9】
図9は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。
【
図10】
図10は、情報処理装置のその他の処理の一例を説明するための図である。
【
図11】
図11は、本実施例2に係る情報処理装置の処理の一例を説明するための図である。
【
図12】
図12は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。
【
図13】
図13は、接続詞テーブルのデータ構造の一例を示す図である。
【
図14】
図14は、本実施例2に係る教師データのデータ構造の一例を示す図である。
【
図15】
図15は、遷移テーブルのデータ構造の一例を示す図である。
【
図16】
図16は、本実施例2に係る情報処理装置の処理手順を示すフローチャートである。
【
図17】
図17は、本実施例3に係る情報処理装置の処理の一例を説明するための図である。
【
図18】
図18は、本実施例3に係る情報処理装置の構成を示す機能ブロック図である。
【
図19】
図19は、本実施例3に係る教師データのデータ構造の一例を示す図である。
【
図20】
図20は、本実施例3に係る遷移テーブルのデータ構造の一例を示す図である。
【
図21】
図21は、本実施例3に係る情報処理装置の処理手順を示すフローチャートである。
【
図22】
図22は、実施例1の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図23】
図23は、実施例2、3の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図24】
図24は、word2vecで表現したベクトル空間上の単語の位置の一例を示す図である。
【
図25】
図25は、Poincare Embeddingsで表現したポアンカレ空間の単語の位置の一例を示す図である。
【発明を実施するための形態】
【0014】
以下に、本願の開示する情報処理プログラム、情報処理方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0015】
一般的に、文章は複数で、かつ、それぞれに意味を持つ文で構成される。そして、三段論法や起承転結など、文の単位で意味が「流れ」のように推移する。そこで、単語ベクトルと文の粒度に対し、その上位である、文のベクトルと文章の粒度でRNN機械学習を行うと、適正な文のベクトルの推移を評価することができる。
【0016】
このため、文に含まれる複数の単語において、単語の変換ミス(かな漢字変換ミス等)が含まれていると、文のベクトルが本来の文のベクトルの推移と比較して乖離した(異なった)ものとなる。従って、文ベクトルの推移を用いて、同音異義語や接続詞などの校正を行うことができる。同様に、複数の文章の類似度評価を行うこともできる。
【0017】
本実施例1に係る情報処理装置の処理の一例について説明する。
図1、
図2、
図3は、本実施例1に係る情報処理装置の処理の一例を説明するための図である。
図1について説明する。情報処理装置の集計部151は、単語ベクトルテーブル141と教師データ142とを基にして、集計データ143を生成する。
【0018】
単語ベクトルテーブル141は、単語と、単語のベクトルとを対応付けるテーブルである。以下の説明では、単語のベクトルを「単語ベクトル」と表記する。
【0019】
教師データ142は、複数の文章のデータを有する。一つの文章のデータには、複数の文のデータが含まれる。一つの文のデータには、複数の単語のデータが含まれる。以下の説明では、文章のデータを単に「文章」と表記する。文のデータを単に「文」と表記する。単語のデータを単に「単語」と表記する。教師データ142の文章は、「第1文章」に対応する。第1文章に含まれる文章は、「第1文」に対応する。
【0020】
集計部151は、文章のベクトルを算出する処理、集計データ143を生成する処理を実行する。集計部151が、文章のベクトルを算出する処理の一例について説明する。集計部151は、教師データ142に含まれる複数の文章から、一つの文章を選択し、選択した文章に含まれる複数の文を抽出する。たとえば、集計部151は、文章を走査し、句読点で区切られる部分を、文として抽出する。
【0021】
集計部151は、抽出した複数の文のうち、一つの文を選択し、選択した文に対して形態素解析を実行することで、文に含まれる複数の単語を特定する。集計部151は、特定した単語と、単語ベクトルテーブル141とを比較して、各単語の単語ベクトルを特定し、特定した単語ベクトルを集積することで、文のベクトルを算出する。以下の説明では、文のベクトルを「文ベクトル」と表記する。集計部151は、他の文についても同様にして、文ベクトルを算出する。
【0022】
集計部151は、一つの文章に含まれる複数の文の文ベクトルを集積することで、一つの文章のベクトルを算出する。以下の説明では、文章のベクトルを「文章ベクトル」と表記する。集計部151は、他の文章についても、上記の処理を実行することで、教師データ142に含まれる各文章について、文章の文章ベクトルと、文章に含まれる文の文ベクトルとの関係を特定する。
【0023】
続いて、集計部151が、集計データ143を生成する処理の一例について説明する。集計部151は、上記処理で算出した、文章の文章ベクトルと、文章に含まれる文の文ベクトルとを対応付けて、集計データ143に登録する。一つの文章ベクトルに対応付けられる複数の文ベクトルは、それぞれ共起しやすい文ベクトルと言える。
【0024】
集計部151は、集計データ143の各文章ベクトルを走査し、類似する文章ベクトルが存在する場合には、類似する文章ベクトルを一つの文章ベクトルに統合してもよい。たとえば、集計部151は、各文章ベクトルの距離が所定の距離未満であるベクトルを、類似する文章ベクトルとして特定する。集計部151は、類似する文章ベクトルを一つのベクトルに統合する場合には、統合後の文章ベクトルを、いずれかの文章ベクトルにあわせてもよいし、文章ベクトルの平均値を、統合後の文章ベクトルとしてもよい。
【0025】
集計部151は、2つの文章ベクトルを統合する場合、文章ベクトルに対応付けられていた文ベクトルも合わせて統合する。集計部151は、統合する文ベクトルについても、類似する文ベクトルを一つのベクトルに統合してもよい。
【0026】
図2の説明に移行する。情報処理装置の特定部152は、入力文章データ145を受け付けると、集計データ143を基にして、入力文章データ145に含まれる文章から、不適切な文10を特定する。ここでは説明の便宜上、入力文章データ145に、一つの文章が含まれている場合について説明するが、入力文章データ145には、複数の文章が含まれていてもよい。以下において、特定部152の処理の一例について説明する。入力文章データ145に含まれる文章は、「第2文章」に対応する。第2文章に含まれる文は、「第2文」に対応する。
【0027】
特定部152は、入力文章データ145に含まれる文章について、文章ベクトルおよび各文ベクトルを算出する。文章ベクトルおよび文ベクトルを算出する処理は、集計部151が、文章ベクトルおよび文ベクトルを算出する処理と同様である。
【0028】
以下の説明において、集計データ143に含まれる文章ベクトルを「第1文章ベクトル」と表記する。集計データ143に含まれる文ベクトルを「第1文ベクトル」と表記する。入力文章データ145の文章に対応する文章ベクトルを「第2文章ベクトル」と表記する。入力文章データ145の文に対応する文ベクトルを「第2文ベクトル」と表記する。
【0029】
特定部152は、第2文章ベクトルと、集計データ143の各第1文章ベクトルとを基にして、第2文章ベクトルとの距離が最も近い第1文章ベクトルを特定する。以下の説明において、第2文章ベクトルとの距離が最も近い第1文章ベクトルを「特定文章ベクトル」と表記する。特定部152は、特定文章ベクトルに対応する複数の第1文ベクトルを抽出する。特定部152は、抽出した複数の第1文ベクトルと、複数の第2文ベクトルとの距離をそれぞれ算出する。
【0030】
特定部152は、第2文ベクトルと、複数の第1文ベクトルとの距離のうち、最短の距離を特定する処理を、各第2文ベクトルについて実行する。特定部152は、各第2文ベクトルのうち、最短の距離が閾値以上となる第2文ベクトルを特定する。特定部152は、特定した第2文ベクトルに対応する文を、不適切な文10として特定する。不適切な文10に対応する第2文ベクトルは、特定文章ベクトルに含まれる複数の第1文ベクトルと比較して、傾向の異なる文ベクトルと言える。
【0031】
図3の説明に移行する。情報処理装置の生成部153は、
図3に示す処理を実行することで、不適切な文10Aを基にして、最適な文10Bを生成する。ここでは一例として、不適切な文10Aの内容を「○○○校正○○○。」として説明を行う。「○」は、文10Aに含まれる単語に対応する。
【0032】
生成部153は、不適切な文10Aに対して形態素解析を実行することで、不適切な文10Aを、複数の単語に分割する。生成部153は、分割した複数の単語と、同音異義語ベクトルテーブル144とを比較して、不適切な文10Aに含まれる同音異義語を抽出する。同音異義語ベクトルテーブル144は、同音異義語のグループを定義し、各同音異義語の単語ベクトルを保持するテーブルである。ここでは、不適切な文10Aに含まれる同音異義語を「校正」として説明を行う。
【0033】
生成部153は、不適切な文10Aに含まれる同音異義語を、同一のグループに含まれる他の同音異義語に変換することで、複数の第3文11A,11B,11C,11Dを生成する。たとえば、「校正」は、「構成」、「攻勢」、「厚生」、「公正」のグループに含まれる。第3文11Aは、不適切な文10Aの「校正」を、「構成」に変換した文である。第3文11Bは、不適切な文10Aの「校正」を、「攻勢」に変換した文である。第3文11Cは、不適切な文10Aの「校正」を、「厚生」に変換した文である。第3文11Dは、不適切な文10Aの「校正」を、「公正」に変換した文である。
【0034】
生成部153は、第3文11A~11Dの文ベクトルをそれぞれ算出する。生成部153が、文ベクトルを算出する処理は、集計部151が文ベクトルを算出する処理と同様である。第3文11Aの文ベクトルを、文ベクトルV11Aと表記する。第3文11Bの文ベクトルを、文ベクトルV11Bと表記する。第3文11Cの文ベクトルを、文ベクトルV11Cと表記する。第3文11Dの文ベクトルを、文ベクトルV11Dと表記する。
【0035】
生成部153は、文ベクトルV11A~V11Dと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離をそれぞれ比較し、文ベクトルV11A~V11Dそれぞれについて最短距離を算出する。
【0036】
文ベクトルV11Aの最短距離は、文ベクトルV11Aと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離のうち、最短の距離を示す。文ベクトルV11Bの最短距離は、文ベクトルV11Bと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離のうち、最短の距離を示す。
【0037】
文ベクトルV11Cの最短距離は、文ベクトルV11Cと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離のうち、最短の距離を示す。文ベクトルV11Dの最短距離は、文ベクトルV11Dと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離のうち、最短の距離を示す。最短距離が小さいほど、より最適な文である可能性が高いと言える。
【0038】
生成部153は、最短距離が小さいものが上位となるランキングを生成する。
図3に示す例では、文ベクトルV11A~V11Dについて、最短距離が小さいものから並べると、文ベクトルV11B,V11C,V11A,V11Dとなる。
【0039】
生成部153は、ランキング結果を基にして、最適な文10Bを生成する。たとえば、生成部153は、最短距離が最小となる文ベクトルV11Bの文を、最適な文10Bとして生成する。
【0040】
上記のように、本実施例1に係る情報処理装置は、教師データ142を基に集計された文章の各文ベクトルの関係と、入力文章の各文ベクトルとの関係から不適切な文を検出し、検出した文の同音異義語を他の同音異義語に変換する。そして、情報処理装置は、他の同音異義語に変換した複数の第3文から、最適な文を特定する。これによって、入力文章に含まれる不適切な文を校正することができる。また、文ベクトルが適正に推移する文章に校正することができる。
【0041】
次に、本実施例1に係る情報処理装置の構成について説明する。
図4は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。
図4に示すように、この情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
【0042】
通信部110は、ネットワークを介して外部装置(図示略)との間で情報通信を実行する処理部である。通信部110は、NIC(Network Interface Card)等の通信装置に対応する。たとえば、後述する制御部150は、通信部110を介して、外部装置と情報をやり取りする。
【0043】
入力部120は、各種の情報を、情報処理装置100に入力する入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。
【0044】
表示部130は、制御部150から出力される情報を表示する表示装置である。表示部130は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、タッチパネル等に対応する。
【0045】
記憶部140は、単語ベクトルテーブル141と、教師データ142と、集計データ143と、同音異義語ベクトルテーブル144と、入力文章データ145と、同音異義語テーブル146とを有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0046】
単語ベクトルテーブル141は、単語と、単語ベクトルとを対応付けるテーブルである。
【0047】
教師データ142は、適正な複数の文章を格納するデータである。教師データ142の文章は、適正な文章であればどのような文章であってもよい。教師データ142の文章は、適正な文が含まれているものとする。たとえば、教師データ142は、ウィキペディア、青空文庫等に記載された文章であってもよい。
【0048】
集計データ143は、教師データ142を基に算出される文章ベクトルと、文ベクトルとを格納するデータである。
図5は、集計データのデータ構造の一例を示す図である。
図5に示すように、この集計データ143は、文章ベクトルと、文ベクトルとを対応付ける。各文章ベクトルは、教師データ142に含まれる各文章に対応する文章ベクトルである。文ベクトルは、文章ベクトルに対応する文章を構成する文の文ベクトルである。
【0049】
たとえば、文章ベクトルVV1に対応する文ベクトルは、文ベクトルV1,V2,V3である。文章ベクトルVV1に対応する文章には、文ベクトルV1~V3に対応する文が含まれており、文ベクトルV1~V3は、共起関係にある文ベクトルと言える。
【0050】
同音異義語ベクトルテーブル144は、同音異義語のグループを定義し、各同音異義語の単語ベクトルを有するテーブルである。
図6は、同音異義語ベクトルテーブルのデータ構造の一例を示す図である。
図6に示すように、この同音異義語ベクトルテーブル144は、読みと、漢字と、単語ベクトルの第1成分から第200成分とを対応付ける。同一の読みとなる表記の異なる漢字が、同音異義語となり、同一の読みに対応する複数の漢字が、同一のグループに属する。たとえば、読み「こうせい」に対応する各漢字「構成、校正、厚生、公正、攻勢、後世、更正、恒星、硬性、抗生」は、同一のグループに属する。
【0051】
入力文章データ145は、複数の文から構成される文章のデータである。入力文章データの文に不適切な文が含まれる場合には、後述する処理によって、最適な文が生成される。
【0052】
同音異義語テーブル146は、同一の同音異義語のグループを定義するテーブルである。
図7は、同音異義語テーブルのデータ構造の一例を示す図である。
図7に示すように、同音異義語テーブル146は、グループ識別情報と、読みと、単語とを対応付ける。グループ識別情報は、同音異義語に含まれる単語のグループを一意に識別する情報である。読みは、同音異義語の読みを示す。単語は、同一の読みとなる各単語(同音異義語)を示す。たとえば、読みが「こうせい」となる各単語「構成、校正、厚生、公正、攻勢、後世、更正、恒星、硬性、抗生等」は、同一のグループに属する同音異義語となる。
【0053】
図4の説明に戻る。制御部150は、取得部105、テーブル生成部106、集計部151、特定部152、生成部153を有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
【0054】
取得部105は、各種のデータを取得する処理部である。たとえば、取得部105は、ネットワークを介して、単語ベクトルテーブル141、教師データ142、入力文章データ145、同音異義語テーブル146等を取得する。取得部105は、単語ベクトルテーブル141、教師データ142、入力文章データ145、同音異義語テーブル146等を、記憶部140に格納する。
【0055】
テーブル生成部106は、単語ベクトルテーブル141と、同音異義語テーブル146とを基にして、同音異義語ベクトルテーブル144を生成する処理部である。テーブル生成部106は、生成した同音異義語ベクトルテーブル144を、記憶部140に格納する。たとえば、テーブル生成部106は、同音異義語テーブル146の同一のグループ識別情報に対応する各単語を特定し、特定した単語に対応する単語ベクトルを、単語ベクトルテーブル141からそれぞれ抽出する。テーブル生成部106は、同一のグループ識別情報に対応する単語と、単語ベクトルとを対応付けて、同音異義語ベクトルテーブル144に登録する。テーブル生成部106は、同一のグループ識別情報に対応する各単語を、読みによって、対応付ける。テーブル生成部106は、各グループ識別情報に対応する各単語について、上記処理を繰り返し実行することで、同音異義語ベクトルテーブル144を生成する。
【0056】
集計部151は、単語ベクトルテーブル141と教師データ142とを基にして、集計データ143を生成する処理部である。集計部151の処理は、
図1で説明した処理に対応する。集計部151は、生成した集計データ143を、記憶部140に格納する。
【0057】
集計部151は、文章ベクトルを算出する処理と、集計データを生成する処理を実行する。
図8は、文章ベクトルを算出する処理を説明するための図である。ここでは、文章xの文章ベクトルを算出する場合について説明する。文章xには、文x1、文x2、文x3、・・・、文xnが含まれるものとする。文x1には、単語a1、単語a2、単語a3、・・・、単語anが含まれているものとする。
【0058】
集計部151は、単語a1~anと、単語ベクトルテーブル141とを比較して、各単語a1~anの単語ベクトルVec1、Vec2、Vec3、・・・、Vecnを特定する。集計部151は、各単語ベクトルVec1~Vecnを集積することで、文x1の文ベクトルxVec1を算出する。
【0059】
集計部151は、文x2、文x3、・・・、文xnについても同様にして、文ベクトルxVec2、xVec3、・・・、xVecnを算出する。集計部151は、各文ベクトルxVec1~xVecnを集積することで、文章ベクトルVVを算出される。
【0060】
集計部151は、教師データ142に含まれる他の文章についても、上記処理を実行することで、文章ベクトルと、複数の文ベクトルとを算出する。
【0061】
続いて、集計部151が、集計データ143を生成する処理の一例について説明する。集計部151は、上記処理で文章ベクトルを算出する度に、文章の文章ベクトルと、文章に含まれる文の文ベクトルとを対応付けて、集計データ143に登録する。一つの文章ベクトルに対応付けられる複数の文ベクトルは、それぞれ共起しやすい文ベクトルと言える。
【0062】
集計部151は、集計データ143の各文章ベクトルを走査し、類似する文章ベクトルが存在する場合には、類似する文章ベクトルを一つの文章ベクトルに統合してもよい。集計部151は、各文章ベクトルの距離が所定の距離未満であるベクトルを、類似する文章ベクトルとして特定する。集計部151は、類似する文章ベクトルを一つのベクトルに統合する場合には、統合後の文章ベクトルを、いずれかの文章ベクトルにあわせてもよいし、文章ベクトルの平均値を、統合後の文章ベクトルとしてもよい。
【0063】
たとえば、
図5において、文章ベクトルVV1と、文章ベクトルVV2とが類似している場合、集計部151は、文章ベクトルVV1と、文章ベクトルVV2とを統合した文章ベクトルVV1’を生成する。たとえば、文章ベクトルVV1’は、文章ベクトルVV1と、文章ベクトルVV2との平均値に対応する。
【0064】
また、集計部151は、文章ベクトルVV1’を生成した場合、文ベクトルV1~V3と、文ベクトルV11~13とを統合する。たとえば、集計部151は、文ベクトルV1と、文ベクトル11とを統合した文ベクトルV1’を生成する。集計部151は、文ベクトルV2と、文ベクトル12とを統合した文ベクトルV2’を生成する。集計部151は、文ベクトルV3と、文ベクトル13とを統合した文ベクトルV3’を生成する。ただし、文ベクトルV1、V11が類似し、文ベクトルV2、V12が類似し、文ベクトルV3、V13が類似しているものとする。
【0065】
集計部151は、上記処理を実行することで、集計データ143を生成する。
【0066】
図4の説明に戻る。特定部152は、入力文章データ145が記憶部140に格納されると、集計データ143を基にして、入力文章データ145に含まれる文章から、不適切な文10を特定する処理部である。
【0067】
特定部152は、入力文章データ145に含まれる文章について、文章ベクトル(第1文章ベクトル)および各文ベクトル(第1文ベクトル)を算出する。文章ベクトルおよび文ベクトルを算出する処理は、集計部151が、文章ベクトルおよび文ベクトルを算出する処理と同様である。
【0068】
特定部152は、第2文章ベクトルと、集計データ143の各第1文章ベクトルとを基にして、第2文章ベクトルとの距離が最も近い第1文章ベクトル(特定文章ベクトル)を特定する。特定部152は、特定文章ベクトルに対応する複数の第1文ベクトルを抽出する。特定部152は、抽出した複数の第1文ベクトルと、複数の第2文ベクトルとの距離をそれぞれ算出する。
【0069】
特定部152は、第2文ベクトルと、複数の第1文ベクトルとの距離のうち、最短の距離を特定する処理を、各第2文ベクトルについて実行する。特定部152は、各第2文ベクトルのうち、最短の距離が閾値以上となる第2文ベクトルを特定する。特定部152は、特定した第2文ベクトルに対応する文を、不適切な文10として特定する。特定部152は、特定した不適切な文10Aを、生成部153に出力する。
【0070】
生成部153は、不適切な文10Aを基にして、最適な文10Bを生成する処理部である。生成部153の処理は、
図3で説明した処理に対応する。ここでは一例として、不適切な文10Aの内容を「○○○校正○○○。」として説明を行う。
【0071】
生成部153は、不適切な文10Aに対して形態素解析を実行することで、不適切な文10Aを、複数の単語に分割する。生成部153は、分割した複数の単語と、同音異義語ベクトルテーブル144とを比較して、不適切な文10Aに含まれる同音異義語を抽出する。ここでは、不適切な文10Aに含まれる同音異義語を「校正」として説明を行う。
【0072】
生成部153は、不適切な文10Aに含まれる同音異義語を、同一のグループに含まれる他の同音異義語に変換することで、複数の第3文11A,11B,11C,11Dを生成する。たとえば、「校正」は、「構成」、「攻勢」、「厚生」、「公正」のグループに含まれる。第3文11Aは、不適切な文10Aの「校正」を、「構成」に変換した文である。第3文11Bは、不適切な文10Aの「校正」を、「攻勢」に変換した文である。第3文11Cは、不適切な文10Aの「校正」を、「厚生」に変換した文である。第3文11Dは、不適切な文10Aの「校正」を、「公正」に変換した文である。
【0073】
生成部153は、第3文11A~11Dの文ベクトルをそれぞれ算出する。生成部153が、文ベクトルを算出する処理は、集計部151が文ベクトルを算出する処理と同様である。第3文11Aの文ベクトルを、文ベクトルV11Aと表記する。第3文11Bの文ベクトルを、文ベクトルV11Bと表記する。第3文11Cの文ベクトルを、文ベクトルV11Cと表記する。第3文11Dの文ベクトルを、文ベクトルV11Dと表記する。
【0074】
生成部153は、文ベクトルV11A~V11Dと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離をそれぞれ比較し、文ベクトルV11A~V11Dそれぞれについて最短距離を算出する。
【0075】
文ベクトルV11Aの最短距離は、文ベクトルV11Aと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離のうち、最短の距離を示す。文ベクトルV11Bの最短距離は、文ベクトルV11Bと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離のうち、最短の距離を示す。
【0076】
文ベクトルV11Cの最短距離は、文ベクトルV11Cと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離のうち、最短の距離を示す。文ベクトルV11Dの最短距離は、文ベクトルV11Dと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離のうち、最短の距離を示す。
【0077】
生成部153は、最短距離が小さいものが上位となるランキングを生成する。
図3に示す例では、文ベクトルV11A~V11Dについて、最短距離が小さいものから並べると、文ベクトルV11B,V11C,V11A,V11Dとなる。
【0078】
生成部153は、ランキング結果を基にして、最適な文10Bを生成する。たとえば、生成部153は、最短距離が最小となる文ベクトルV11Bの文を、最適な文10Bとして生成する。
【0079】
なお、生成部153は、不適切な文10Aと、第3文11A~11Dとを対応付けた画面情報を生成して、表示部130に表示し、ユーザに第3文11A~11Dのいずれかを選択させてもよい。ユーザは、入力部120を操作して、第3文11A~11Dのいずれかを選択する。この場合、生成部153は、選択を受け付けた第3文を、最適な文10Bとして生成する。
【0080】
生成部153は、入力文章データ145に含まれる不適切な文10Aを、最適な文10Bに置き換えることで、入力文章データ145を更新してもよい。
【0081】
次に、本実施例1に係る情報処理装置100の処理手順の一例について説明する。
図9は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。
図9に示すように、情報処理装置100の取得部105は、入力文章データ145を取得する(ステップS101)。
【0082】
情報処理装置100の特定部152は、入力文章データ145を基にして、文章ベクトル(第2文章ベクトル)および文ベクトル(第2文ベクトル)を抽出する(ステップS102)。特定部152は、第2文章ベクトルと、集計データ143の各第1文章ベクトルとを基にして、特定文章ベクトルを特定する(ステップS103)。
【0083】
特定部152は、抽出した複数の第2文ベクトルと、特定文章ベクトルの複数の第1文ベクトルとを基にして、不適切な文を特定する(ステップS104)。
【0084】
情報処理装置100の生成部153は、不適切な文に含まれる同音異義語を、他の同音異義語に変換することで、複数の第3文を生成する(ステップS105)。生成部153は、特定文章ベクトルの複数の文ベクトルと、各第3文の文ベクトルとの最短距離を基にして、第3文をランキングする(ステップS106)。生成部153は、ランキングの結果を基にして、最適な文を生成する(ステップS107)。生成部153は、最適な文によって、入力文章データ145を更新する(ステップS108)。
【0085】
次に、本実施例1に係る情報処理装置100の効果について説明する。情報処理装置100は、複数の第2文ベクトルと、複数の第1文ベクトルとを基にして、複数の第1文と傾向の異なる第2文(不適切な文)を特定する。情報処理装置100は、特定した第2文に含まれる単語のうち、同音異義語と一致する単語を抽出し、抽出した単語を、同音異義語に対応付けられた単語に変換することで、複数の第1文の傾向と同一となる第2文を生成する。これによって、正しい文ベクトルの文に校正することができる。
【0086】
情報処理装置100は、第2文(不適切な文)に含まれる単語について、同音異義語が複数存在する場合、複数の同音異義語に基づいて、複数の第3文を生成する。これによって、正しい文ベクトルの文の候補を作成することができる。
【0087】
情報処理装置100は、複数の第3文の文ベクトルと、複数の第1文の第1文ベクトルとを基にして、いずれかの第3文を、複数の第1文と傾向と同一の第2文として選択する。これによって、正しい文ベクトルの文の候補から、正しい文を自動で選択することができる。
【0088】
ところで、本実施例1に係る情報処理装置100は、第2文(不適切な文)に含まれる単語について、同音異義語が存在する場合、複数の同音異義語に基づいて、複数の第3文を生成したが、これに限定されるものではない。たとえば、情報処理装置100は、第2文に含まれる単語について、接続詞が含まれる場合、他の接続詞に基づいて、複数の第3文を生成して、正しい文ベクトルの文の候補を作成してもよい。
【0089】
図10は、情報処理装置のその他の処理の一例を説明するための図である。
図10では一例として、不適切な文20Aの内容を「○○○だから○○○。」として説明を行う。「○」は、文20Aに含まれる単語に対応する。
【0090】
生成部153は、不適切な文20Aに対して形態素解析を実行することで、不適切な文20Aを、複数の単語に分割する。生成部153は、分割した複数の単語と、接続詞ベクトルテーブル147とを比較して、不適切な文20Aに含まれる接続詞を抽出する。接続詞ベクトルテーブル147は、各接続詞の単語ベクトルを保持するテーブルである。ここでは、不適切な文20Aに含まれる接続詞を「だから」として説明を行う。
【0091】
接続詞は、前の語句、文に対する後ろの語句、文の関係を示す単語である。たとえば、接続詞ベクトルテーブル147に含まれる接続語の種類には、順接、逆接、並列、添加、対比、選択、説明、補足、言換、例示、注目、転換等が含まれる。
【0092】
種類「順接」の接続詞には「だから、それで、そのため」等が含まれる。種類「逆接」の接続詞には「しかし、しかしながら」等が含まれる。種類「並列」の接続詞には「また、および」等が含まれる。種類「添加」の接続詞には「そして、それに」等が含まれる。種類「対比」の接続詞には「一方、他方」等が含まれる。種類「選択」の接続詞には「または、それとも」等が含まれる。種類「説明」の接続詞には「なぜなら、というのは」等が含まれる。種類「補足」の接続詞には「なお、ただし」等が含まれる。種類「言換」の接続詞には「つまり、すなわち」等が含まれる。種類「例示」の接続詞には「たとえば、いわば」等が含まれる。種類「注目」の接続詞には「特に、とりわけ」等が含まれる。種類「転換」の接続詞には「それでは、では」等が含まれる。
【0093】
生成部153は、不適切な文20Aに含まれる接続詞を、他の種類の接続詞に変換することで、複数の第3文21A,21B,21C,21Dを生成する。たとえば、第3文21Aは、不適切な文20Aの「だから」を、「しかし」に変換した文である。第3文21Bは、不適切な文20Aの「だから」を、「また」に変換した文である。第3文21Cは、不適切な文20Aの「だから」を、「そして」に変換した文である。第3文21Dは、不適切な文20Aの「だから」を、「しかし」に変換した文である。
【0094】
生成部153は、第3文21A~21Dの文ベクトルをそれぞれ算出する。生成部153が、文ベクトルを算出する処理は、集計部151が文ベクトルを算出する処理と同様である。第3文21Aの文ベクトルを、文ベクトルV21Aと表記する。第3文21Bの文ベクトルを、文ベクトルV21Bと表記する。第3文21Cの文ベクトルを、文ベクトルV21Cと表記する。第3文21Dの文ベクトルを、文ベクトルV21Dと表記する。
【0095】
生成部153は、文ベクトルV21A~V21Dと、特定文章ベクトルに対応する複数の第1文ベクトルとの距離をそれぞれ比較し、文ベクトルV21A~V21Dそれぞれについて最短距離を算出する。
【0096】
生成部153は、最短距離が小さいものが上位となるランキングを生成する。
図10に示す例では、文ベクトルV21A~V21Dについて、最短距離が小さいものから並べると、文ベクトルV21B,V21C,V21A,V21Dとなる。
【0097】
生成部153は、ランキング結果を基にして、最適な文20Bを生成する。たとえば、生成部153は、最短距離が最小となる文ベクトルV21Bの文を、最適な文20Bとして生成する。
【0098】
図10で説明したように、情報処理装置100の生成部153は、不適切な文の接続詞を、他の種類の接続詞に変換するとで、複数の第3文を生成し、最適な文を特定する。これによって、不適切な接続詞の含まれる文を、最適な接続詞に置き換えた文に変換することができる。
【0099】
なお、本実施例1に係る情報処理装置100は、
図3で説明した処理と、
図10で説明した処理とを組み合わせて、入力文章に含まれる不適切な文を校正してもよい。すなわち、情報処理装置100の生成部153は、不適切な文に含まれる同音異義語を、他の同音異義語に変換し、かつ、不適切な文に含まれる接続詞を、他の種類の接続詞に変換した、複数の第3文を生成し、生成した複数の第3文から、最適な文を特定してもよい。
【実施例2】
【0100】
次に、本実施例2に係る情報処理装置の処理の一例について説明する。
図11は、本実施例2に係る情報処理装置の処理の一例を説明するための図である。情報処理装置は、小論文の答案に対応する入力文章データ245を採点する装置である。
【0101】
情報処理装置は、入力文章データ245を基にして、複数の文を抽出し、各文の文ベクトルを算出する。また、各文に含まれる接続詞の種類を特定する。実施例1と同様にして、文章に含まれる文は、句読点によって区切られるものとする。
【0102】
たとえば、
図11に含まれる入力文章データ245には、文x1、文x2、文x3が含まれるものとする。情報処理装置は、文x1、文x2、文x3の文ベクトルをそれぞれ算出する。文x1の文ベクトルを「Vec1」、文x2の文ベクトルを「Vec2」、文x3の文ベクトルを「Vec3」とする。また、文x2には接続詞「そして」が含まれ、接続詞の種類を「添加」とする。文x3には接続詞「しかしながら」が含まれ、接続詞の種類を「逆接」とする。
【0103】
情報処理装置は、入力文章データ245から抽出した文ベクトルおよび接続詞の種類と、遷移テーブル244とを比較して、入力文章データ245の点数を特定する。遷移テーブル244は、点数と、この点数に対応する模範解答に含まれる接続詞および文ベクトルの推移を定義するテーブルである。点数は「スコア」に対応する。
【0104】
たとえば、遷移テーブル244は、パターン識別情報と、点数と、第1文ベクトルと、第2文ベクトル情報と、第3文ベクトル情報とを対応付ける。図示を省略するが、遷移テーブル244は、第n文ベクトル情報を含んでいてもよい。
【0105】
パターン識別情報は、模範解答となる文章に関する接続詞の種類と、文ベクトルの推移とのパターンを一意に識別する情報である。点数は、文章の採点結果となる点数を示す。第1文ベクトルは、文章の1番目(先頭)の文の文ベクトルに対応する。第2文ベクトル情報は、第2種類と、第2文ベクトルとを含む。第2種類は、文章の2番目の文に含まれる接続詞の種類を示す。第2文ベクトルは、文章の2番目の文の文ベクトルに対応する。第3文ベクトル情報は、第3種類と、第3文ベクトルとを含む。第3種類は、文章の3番目の文に含まれる接続詞の種類を示す。第3文ベクトルは、文章の3番目の文の文ベクトルに対応する。
【0106】
たとえば、情報処理装置は、遷移テーブル244の各第1文ベクトルV1-nと、ベクトルVec1とをそれぞれ比較し、最も類似する第1文ベクトルを特定する。ここでは、ベクトルVec1と最も類似する第1文ベクトルを、第1文ベクトルV1-3とする。
【0107】
情報処理装置は、遷移テーブル244の各第2文ベクトルV2-nと、ベクトルVec2とをそれぞれ比較し、最も類似する第2文ベクトルを特定する。ここでは、ベクトルVec2と最も類似する第2文ベクトルを、第2文ベクトルV2-3とする。また、第2種類は、文x2の接続詞の種類「添加」に対応する。
【0108】
情報処理装置は、遷移テーブル244の各第3文ベクトルV3-nと、ベクトルVec3とをそれぞれ比較し、最も類似する第3文ベクトルを特定する。ここでは、ベクトルVec3と最も類似する第3文ベクトルを、第3文ベクトルV3-3とする。また、第3種類は、文x3の接続詞の種類「逆接」に対応する。
【0109】
情報処理装置は、上記の処理を実行することで、入力文章データ245に含まれる接続詞の種類と、文ベクトルの推移が、遷移テーブル244のパターン識別情報「Pa3」に対応すると判定する。パターン識別情報「Pa3」に対応する点数が「90」であるため、情報処理装置は、入力文章データ245の点数を「90点」として出力する。
【0110】
上記のように、本実施例2に係る情報処理装置は、入力文章データ245から抽出した文ベクトルおよび接続詞の種類と、遷移テーブル244とを比較して、入力文章データ245の点数を特定する。これによって、小論文等の答案を文ベクトルの推移をもとに自動的に採点することができる。
【0111】
次に、本実施例2に係る情報処理装置の構成について説明する。
図12は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。
図12に示すように、この情報処理装置200は、通信部210、入力部220、表示部230、記憶部240、制御部250を有する。
【0112】
通信部210は、ネットワークを介して外部装置(図示略)との間で情報通信を実行する処理部である。通信部210は、NIC等の通信装置に対応する。たとえば、後述する制御部250は、通信部210を介して、外部装置と情報をやり取りする。
【0113】
入力部220は、各種の情報を、情報処理装置200に入力する入力装置である。入力部220は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部220を操作して、入力文章データ245を入力してもよい。
【0114】
表示部230は、制御部250から出力される情報を表示する表示装置である。表示部230は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。
【0115】
記憶部240は、単語ベクトルテーブル241、接続詞テーブル242、教師データ243、遷移テーブル244、入力文章データ245を有する。記憶部240は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0116】
単語ベクトルテーブル241は、単語と、単語ベクトルとを対応付けるテーブルである。単語ベクトルテーブル241は、接続詞に対応する単語ベクトルも含まれているものとする。
【0117】
接続詞テーブル242は、接続詞の種類と、接続詞とを対応付けるテーブルである。
図13は、接続詞テーブルのデータ構造の一例を示す図である。
図13に示すように、この接続詞テーブル242は、接続詞の種類と、接続詞とを対応付ける。
【0118】
接続語の種類には、順接、逆接、並列、添加、対比、選択、説明、補足、言換、例示、注目、転換等が含まれる。
【0119】
種類「順接」の接続詞には「だから、それで、そのため」等が含まれる。種類「逆接」の接続詞には「しかし、しかしながら、が」等が含まれる。種類「並列」の接続詞には「また、および、かつ」等が含まれる。種類「添加」の接続詞には「そして、それに、それにしても」等が含まれる。種類「対比」の接続詞には「一方、他方、逆に」等が含まれる。種類「選択」の接続詞には「または、それとも、あるいは」等が含まれる。種類「説明」の接続詞には「なぜなら、というのは、だって」等が含まれる。種類「補足」の接続詞には「なお、ただし、ただ」等が含まれる。種類「言換」の接続詞には「つまり、すなわち、要するに」等が含まれる。種類「例示」の接続詞には「たとえば、いわば」等が含まれる。種類「注目」の接続詞には「特に、とりわけ、なかでも」等が含まれる。種類「転換」の接続詞には「それでは、では、さて」等が含まれる。
【0120】
教師データ243は、各点数に対応する模範解答を保持するテーブルである。
図14は、本実施例2に係る教師データのデータ構造の一例を示す図である。
図14に示すように、教師データ243は、文章識別情報と、文章とを対応付ける。文章識別情報は、模範解答となる文章を一意に識別する情報である。文章は、点数毎の模範解答の文章のデータを示す。たとえば、文章識別情報「An1」の文章は、採点結果が100点となる模範解答の文章のデータに対応する。
【0121】
遷移テーブル244は、点数と、この点数に対応する模範解答に含まれる接続詞および文ベクトルの推移を定義するテーブルである。
図15は、遷移テーブルのデータ構造の一例を示す図である。
図15に示すように、この遷移テーブル244は、パターン識別情報と、点数と、第1文ベクトルと、第2文ベクトル情報と、第3文ベクトル情報とを対応付ける。図示を省略するが、遷移テーブル244は、第n文ベクトル情報を含んでいてもよい。
【0122】
パターン識別情報は、模範解答となる文章に関する接続詞の種類と、文ベクトルの推移とのパターンを一意に識別する情報である。点数は、文章の採点結果となる点数を示す。第1文ベクトルは、文章の1番目(先頭)の文の文ベクトルに対応する。第2文ベクトル情報は、第2種類と、第2文ベクトルとを含む。第2種類は、文章の2番目の文に含まれる接続詞の種類を示す。第2文ベクトルは、文章の2番目の文の文ベクトルに対応する。第3文ベクトル情報は、第3種類と、第3文ベクトルとを含む。第3種類は、文章の3番目の文に含まれる接続詞の種類を示す。第3文ベクトルは、文章の3番目の文の文ベクトルに対応する。
【0123】
たとえば、パターン識別情報「Pa1」に対応する第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報等は、
図14に示した文章識別情報「An1」を基にして生成される。パターン識別情報「Pa2」に対応する第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報等は、
図14に示した文章識別情報「An2」を基にして生成される。パターン識別情報「Pa3」に対応する第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報等は、
図14に示した文章識別情報「An3」を基にして生成される。パターン識別情報「Pa4」に対応する第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報等は、
図14に示した文章識別情報「An4」を基にして生成される。
【0124】
入力文章データ245は、複数の文から構成される文章のデータである。入力文章データ245は、採点対象の文章のデータとなる。
【0125】
図12の説明に戻る。制御部250は、取得部251、テーブル生成部252、抽出部253、特定部254を有する。制御部250は、CPUやMPUなどによって実現できる。また、制御部250は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0126】
取得部251は、各種のデータを取得する処理部である。たとえば、取得部251は、ネットワークを介して、単語ベクトルテーブル241、接続詞テーブル242、教師データ243、入力文章データ245等を取得する。取得部251は、単語ベクトルテーブル241、接続詞テーブル242、教師データ243、入力文章データ245等を記憶部240に格納する。
【0127】
テーブル生成部252は、単語ベクトルテーブル241、接続詞テーブル242、教師データ243を基にして、遷移テーブル244を生成する処理部である。テーブル生成部252は、生成した遷移テーブル244を、記憶部240に格納する。
【0128】
テーブル生成部252が、パターン識別情報「Pa1」の第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報を生成する処理について説明する。テーブル生成部252は、教師データ243から、文章識別情報「An1」の文章を取得し、取得した文章を走査して、複数の文に分割する。先頭からn番目の文を、第n文と表記する。
【0129】
テーブル生成部252は、第1文の文ベクトルを算出し、第1文ベクトルとする。テーブル生成部252は、第2文の文ベクトルを算出し、第2文ベクトルとする。テーブル生成部252が、文ベクトルを算出する処理は、実施例1で説明した文ベクトルを算出する処理と同様である。たとえば、テーブル生成部252は、文に含まれる単語の単語ベクトルを、単語ベクトルテーブル241から取得し、各単語ベクトルを集積することで、文ベクトルを算出する。
【0130】
テーブル生成部252は、第2文に含まれる接続詞と、接続詞テーブル242とを比較して、第2種類を特定する。テーブル生成部252は、第3文の文ベクトルを算出し、第3文ベクトルとする。テーブル生成部252は、第3文に含まれる接続詞と、接続詞テーブル242とを比較して、第3種類を特定する。テーブル生成部252は、第n文の文ベクトル、第n種類も同様にして特定する。
【0131】
テーブル生成部252は、文章識別情報「An1」の文章に対して、上記処理を実行することで、パターン識別情報「Pa1」、点数「100」に対応する、第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報、第n文ベクトル情報を算出する。
【0132】
テーブル生成部252は、文章識別情報「An2」の文章に対して、上記処理を実行することで、パターン識別情報「Pa2」、点数「95」に対応する、第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報、第n文ベクトル情報を算出する。
【0133】
テーブル生成部252は、文章識別情報「An3」の文章に対して、上記処理を実行することで、パターン識別情報「Pa3」、点数「90」に対応する、第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報、第n文ベクトル情報を算出する。
【0134】
テーブル生成部252は、文章識別情報「An4」の文章に対して、上記処理を実行することで、パターン識別情報「Pa4」、点数「85」に対応する、第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報、第n文ベクトル情報を算出する。テーブル生成部252は、他のパターン識別情報、他の得点に対応する第1文ベクトル、第2文ベクトル情報、第3文ベクトル情報、第n文ベクトル情報も同様にして算出する。
【0135】
抽出部253は、入力文章データ245に含まれる接続詞および文ベクトルを抽出する処理部である。
図11を用いて、抽出部253の処理の一例について説明する。抽出部253は、入力文章データ245を走査して、入力文章データ245に含まれる文x1、文x2、文x3を抽出する。抽出部253は、単語ベクトルテーブル241を基にして、文x1、文x2、文x3の文ベクトルを算出する。文x1の文ベクトルを「Vec1」、文x2の文ベクトルを「Vec2」、文x3の文ベクトルを「Vec3」とする。
【0136】
抽出部253は、文x2に含まれる単語と、接続詞テーブル242とを比較して、文x2に含まれる接続詞の種類を特定する。たとえば、文x2に接続詞「そして」が含まれる場合には、接続詞の種類は「添加」となる。
【0137】
抽出部253は、文x3に含まれる単語と、接続詞テーブル242とを比較して、文x3に含まれる接続詞の種類を特定する。たとえば、文x3に接続詞「しかしながら」が含まれる場合には、接続詞の種類は「逆接」となる。
【0138】
抽出部253が上記処理を実行することで、入力文章データ245から、文ベクトルの遷移「Vec1、Vec2、Vec3」が抽出される。また、入力文章データ245の文x2から、接続詞の種類「添加」が抽出され、文x3から、接続詞の種類「逆接」が抽出される。抽出部253は、抽出した結果のデータを、特定部254に出力する。
【0139】
特定部254は、入力文章データ245から抽出された文ベクトルの推移および接続詞の種類と、遷移テーブル244とを基にして、入力文章データ245から抽出された文ベクトルの推移および接続詞の種類に対応するパターン識別情報を特定する処理部である。
【0140】
特定部254は、遷移テーブル244の各第1文ベクトルV1-nと、ベクトルVec1とをそれぞれ比較し、最も類似する第1文ベクトルを特定する。ベクトル同士の距離が小さいほど、より類似することを意味する。ここでは、ベクトルVec1と最も類似する第1文ベクトルを、第1文ベクトルV1-3とする。
【0141】
特定部254は、遷移テーブル244の各第2文ベクトルV2-nと、ベクトルVec2とをそれぞれ比較し、最も類似する第2文ベクトルを特定する。ここでは、ベクトルVec2と最も類似する第2文ベクトルを、第2文ベクトルV2-3とする。また、第2種類は、文x2の接続詞の種類「添加」に対応する。
【0142】
特定部254は、遷移テーブル244の各第3文ベクトルV3-nと、ベクトルVec3とをそれぞれ比較し、最も類似する第3文ベクトルを特定する。ここでは、ベクトルVec3と最も類似する第3文ベクトルを、第3文ベクトルV3-3とする。また、第3種類は、文x3の接続詞の種類「逆接」に対応する。
【0143】
特定部254は、上記の処理を実行することで、入力文章データ245に含まれる接続詞の種類と、文ベクトルの推移が、遷移テーブル244のパターン識別情報「Pa3」に対応すると判定する。パターン識別情報「Pa3」に対応する点数が「90」であるため、特定部254は、入力文章データ245の点数を「90点」として出力する。特定部254は、点数を表示部230に出力して表示してもよいし、外部装置に通知してもよい。
【0144】
次に、本実施例2に係る情報処理装置200の処理手順の一例について説明する。
図16は、本実施例2に係る情報処理装置の処理手順を示すフローチャートである。
図16に示すように、情報処理装置200の取得部251は、入力文章データ245を取得する(ステップS201)。
【0145】
情報処理装置200の抽出部253は、入力文章データ245から、接続詞および文ベクトルを抽出する(ステップS202)。情報処理装置200の特定部254は、入力文章データ245から抽出した接続詞および文ベクトルと、遷移テーブル244とを基にして、パターン識別情報を特定する(ステップS203)。
【0146】
特定部254は、パターン識別情報に対応する点数を特定し、特定した点数を出力する(ステップS204)。
【0147】
次に、本実施例2に係る情報処理装置200の効果について説明する。情報処理装置200は、入力文章データ245から抽出した文ベクトルおよび接続詞の種類と、遷移テーブル244とを比較して、入力文章データ245の点数を特定する。これによって、小論文等の答案を文ベクトルの推移をもとに自動的に採点することができる。
【実施例3】
【0148】
次に、本実施例3に係る情報処理装置の処理の一例について説明する。
図17は、本実施例3に係る情報処理装置の処理の一例を説明するための図である。情報処理装置は、小論文の答案を文ベクトルの推移をもとに対応する入力文章データ345を採点する装置である。
【0149】
情報処理装置は、入力文章データ344を基にして、複数の文を抽出し、各文の文ベクトルを算出する。実施例1と同様にして、文章に含まれる文は、句読点によって区切られる。また、入力文章データ344は、起承転結に対応する文章によって構成されているものとする。
【0150】
たとえば、起承転結の「起」に対応する文章には、文章の前提が記載される。本実施例3では、「起」に対応する文章は、論点を記載する文(以下、起論点文)と、結論を記載する文(以下、起結論文)とを有するもとのとする。入力文章データ344について、起論点文を、文x1とする。起結論文を、文x2とする。
【0151】
「承」に対応する文章には、本題の導入部分が記載される。本実施例3では、「承」に対応する文章は、論点を記載する文(以下、承論点文)と、結論を記載する文(以下、承結論文)とを有するものとする。入力文章データ344について、承論点文を、文x3とする。承結論文を、文x4とする。
【0152】
「転」に対応する文章には、出来事や展開が記載される。本実施例3では、「転」に対応する文章は、論点を記載する文(以下、転論点文)と、結論を記載する文(以下、転結論文)とを有するものとする。入力文章データ344について、転論点文を、文x5とする。転結論文を、文x6とする。
【0153】
「結」に対応する文章には、メインとなった出来事への対処が記載される。本実施例3では、「結」に対応する文章は、論点を記載する文(以下、結論点文)と、結論を記載する文(以下、結結論文)とを有するものとする。入力文章データ344について、結論点文を、文x7とする。結結論文を、文x8とする。
【0154】
情報処理装置は、文x1~x8の文ベクトルをそれぞれ算出する。文x1の文ベクトルを「Vec1」、文x2の文ベクトルを「Vec2」、文x3の文ベクトルを「Vec3」、文x4の文ベクトルを「Vec4」とする。文x5の文ベクトルを「Vec5」、文x6の文ベクトルを「Vec6」、文x7の文ベクトルを「Vec7」、文x8の文ベクトルを「Vec8」とする。
【0155】
情報処理装置は、入力文章データ344から抽出した文ベクトルと、遷移テーブル343とを比較して、入力文章データ344の点数を特定する。遷移テーブル343は、点数と、この点数に対応する模範解答の文ベクトルの遷移を定義するテーブルである。点数は「スコア」に対応する。
【0156】
たとえば、遷移テーブル343は、パターン識別情報と、点数と、起論点ベクトル、起結論ベクトル、承論点ベクトル、承結論ベクトル、転論点ベクトル、転結論ベクトル、結論点ベクトル、結結論ベクトルを有する。
【0157】
パターン識別情報は、模範解答となる文章に関する接続詞の種類と、文ベクトルの推移とのパターンを一意に識別する情報である。点数は、文章の採点結果となる点数を示す。起論点ベクトルは、起論点文の文ベクトルに対応する。起結論ベクトルは、起結論文の文ベクトルに対応する。承論点ベクトルは、承論点文の文ベクトルに対応する。承結論ベクトルは、承結論文の文ベクトルに対応する。転論点ベクトルは、転論点文の文ベクトルに対応する。転結論ベクトルは、転結論文の文ベクトルに対応する。結論点ベクトルは、結論点文の文ベクトルに対応する。結結論ベクトルは、結結論文の文ベクトルに対応する。
【0158】
たとえば、情報処理装置は、遷移テーブル343の各起論点ベクトルV11-nと、ベクトルVec1とをそれぞれ比較し、最も類似する起論点ベクトルを特定する。ここでは、ベクトルVec1と最も類似する起論点ベクトルを、「V11-4」とする。情報処理装置は、遷移テーブル343の各起結論ベクトルV12-nと、ベクトルVec2とをそれぞれ比較し、最も類似する起結論ベクトルを特定する。ここでは、ベクトルVec2と最も類似する起結論ベクトルを、「V12-4」とする。
【0159】
情報処理装置は、遷移テーブル343の各承論点ベクトルV21-nと、ベクトルVec3とをそれぞれ比較し、最も類似する承論点ベクトルを特定する。ここでは、ベクトルVec3と最も類似する承論点ベクトルを、「V21-4」とする。情報処理装置は、遷移テーブル343の各承結論ベクトルV22-nと、ベクトルVec4とをそれぞれ比較し、最も類似する承結論ベクトルを特定する。ここでは、ベクトルVec4と最も類似する承結論ベクトルを、「V22-4」とする。
【0160】
情報処理装置は、遷移テーブル343の各転論点ベクトルV31-nと、ベクトルVec5とをそれぞれ比較し、最も類似する転論点ベクトルを特定する。ここでは、ベクトルVec5と最も類似する転論点ベクトルを、「V31-4」とする。情報処理装置は、遷移テーブル343の各転結論ベクトルV32-nと、ベクトルVec5とをそれぞれ比較し、最も類似する転結論ベクトルを特定する。ここでは、ベクトルVec5と最も類似する転結論ベクトルを、「V32-4」とする。
【0161】
情報処理装置は、遷移テーブル343の各結論点ベクトルV41-nと、ベクトルVec7とをそれぞれ比較し、最も類似する結論点ベクトルを特定する。ここでは、ベクトルVec7と最も類似する結論点ベクトルを、「V41-4」とする。情報処理装置は、遷移テーブル343の各転結論ベクトルV42-nと、ベクトルVec8とをそれぞれ比較し、最も類似する結結論ベクトルを特定する。ここでは、ベクトルVec8と最も類似する結結論ベクトルを、「V42-4」とする。
【0162】
情報処理装置は、上記の処理を実行することで、入力文章データ344に含まれる文ベクトルの推移が、遷移テーブル343のパターン識別情報「Pa4」に対応すると判定する。パターン識別情報「Pa4」に対応する点数が「85」であるため、情報処理装置は、入力文章データ344の点数を「85点」として出力する。
【0163】
上記のように、本実施例3に係る情報処理装置は、入力文章データ344から抽出した文ベクトルと、遷移テーブル343とを比較して、入力文章データ344の点数を特定する。これによって、小論文等の答案を文ベクトルの推移をもとに自動的に採点することができる。
【0164】
次に、本実施例3に係る情報処理装置の構成について説明する。
図18は、本実施例3に係る情報処理装置の構成を示す機能ブロック図である。
図18に示すように、この情報処理装置300は、通信部310、入力部320、表示部330、記憶部340、制御部350を有する。
【0165】
通信部310は、ネットワークを介して外部装置(図示略)との間で情報通信を実行する処理部である。通信部310は、NIC等の通信装置に対応する。たとえば、後述する制御部350は、通信部310を介して、外部装置と情報をやり取りする。
【0166】
入力部320は、各種の情報を、情報処理装置300に入力する入力装置である。入力部320は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部320を操作して、入力文章データ344を入力してもよい。
【0167】
表示部330は、制御部350から出力される情報を表示する表示装置である。表示部330は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。
【0168】
記憶部340は、単語ベクトルテーブル341、教師データ342、遷移テーブル343、入力文章データ344を有する。記憶部340は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0169】
単語ベクトルテーブル341は、単語と、単語ベクトルとを対応付けるテーブルである。
【0170】
教師データ342は、各点数に対応する模範解答を保持するテーブルである。
図19は、本実施例3に係る教師データのデータ構造の一例を示す図である。
図19に示すように、教師データ342は、文章識別情報と、文章とを対応付ける。文章識別情報は、模範解答となる文章を一意に識別する情報である。文章は、点数毎の模範解答の文章のデータを示す。たとえば、文章識別情報「An1」の文章は、採点結果が100点となる模範解答の文章のデータに対応する。
【0171】
なお、各模範解答の文章では、起論点文、起結論文、承論点文、承結論文、転論点文、転結論文、結論点文、結結論文がそれぞれ識別可能にタグ付けされているものとする。たとえば、起論点文は、開始タグ「<起論点>」から終了タグ「</起論点>」までの文である。起結論文は、開始タグ「<起結論>」から終了タグ「</起結論>」までの文である。承論点文は、開始タグ「<承論点>」から終了タグ「</承論点>」までの文である。承結論文は、開始タグ「<承結論>」から終了タグ「</承結論>」までの文である。
【0172】
転論点文は、開始タグ「<転論点>」から終了タグ「</転論点>」までの文である。転結論文は、開始タグ「<転結論>」から終了タグ「</転結論>」までの文である。結論点文は、開始タグ「<結論点>」から終了タグ「</結論点>」までの文である。結結論文は、開始タグ「<結結論>」から終了タグ「</結結論>」までの文である。
【0173】
遷移テーブル343は、点数と、この点数に対応する模範解答の文ベクトルの遷移を定義するテーブルである。
図20は、本実施例3に係る遷移テーブルのデータ構造の一例を示す図である。
図20に示すように、この遷移テーブル343は、パターン識別情報と、点数と、各ベクトルとを対応付ける。各ベクトルには、起論点ベクトル、起結論ベクトル、承論点ベクトル、承結論ベクトル、転論点ベクトル、転結論ベクトル、結論点ベクトル、結結論ベクトルが含まれる。
【0174】
パターン識別情報は、文ベクトルの推移のパターンを一意に識別する情報である。点数は、文章の採点結果となる点数を示す。起論点ベクトルは、起論点文の文ベクトルに対応する。起結論ベクトルは、起結論文の文ベクトルに対応する。承論点ベクトルは、承論点文の文ベクトルに対応する。承結論ベクトルは、承結論文の文ベクトルに対応する。転論点ベクトルは、転論点文の文ベクトルに対応する。転結論ベクトルは、転結論文の文ベクトルに対応する。結論点ベクトルは、結論点文の文ベクトルに対応する。結結論ベクトルは、結結論文の文ベクトルに対応する。
【0175】
たとえば、パターン識別情報「Pa1」に対応する各ベクトルは、
図19に示した文章識別情報「An1」を基にして生成される。パターン識別情報「Pa2」に対応する各ベクトルは、
図19に示した文章識別情報「An2」を基にして生成される。パターン識別情報「Pa3」に対応する各ベクトルは、
図19に示した文章識別情報「An3」を基にして生成される。パターン識別情報「Pa4」に対応する各ベクトルは、
図19に示した文章識別情報「An4」を基にして生成される。
【0176】
入力文章データ344は、複数の文から構成される文章のデータである。入力文章データ245は、採点対象の文章のデータとなる。
【0177】
図18の説明に戻る。制御部350は、取得部351、テーブル生成部352、抽出部353、特定部354を有する。制御部350は、CPUやMPUなどによって実現できる。また、制御部350は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0178】
取得部351は、各種のデータを取得する処理部である。たとえば、取得部351は、ネットワークを介して、単語ベクトルテーブル341、教師データ342、入力文章データ344等を取得する。取得部351は、単語ベクトルテーブル341、教師データ342、入力文章データ344等を記憶部340に格納する。
【0179】
テーブル生成部352は、単語ベクトルテーブル341、教師データ342を基にして、遷移テーブル343を生成する処理部である。テーブル生成部352は、生成した遷移テーブル343を、記憶部340に格納する。
【0180】
テーブル生成部352が、パターン識別情報「Pa1」の起論点ベクトル、起結論ベクトル、承論点ベクトル、承結論ベクトル、転論点ベクトル、転結論ベクトル、結論点ベクトル、結結論ベクトルを生成する処理について説明する。
【0181】
テーブル生成部352は、教師データ342から、文章識別情報「An1」の文章を取得し、取得した文章を走査して、各タグを特定する。
【0182】
テーブル生成部352は、開始タグ「<起論点>」から終了タグ「</起論点>」までの文の文ベクトルを算出し、起論点ベクトルとする。テーブル生成部352は、開始タグ「<起結論>」から終了タグ「</起結論>」までの文の文ベクトルを算出し、起結論ベクトルとする。
【0183】
テーブル生成部352は、開始タグ「<承論点>」から終了タグ「</承論点>」までの文の文ベクトルを算出し、承論点ベクトルとする。テーブル生成部352は、開始タグ「<承結論>」から終了タグ「</承結論>」までの文の文ベクトルを算出し、承結論ベクトルとする。
【0184】
テーブル生成部352は、開始タグ「<転論点>」から終了タグ「</転論点>」までの文の文ベクトルを算出し、転論点ベクトルとする。テーブル生成部352は、開始タグ「<転結論>」から終了タグ「</転結論>」までの文の文ベクトルを算出し、転結論ベクトルとする。
【0185】
テーブル生成部352は、開始タグ「<結論点>」から終了タグ「</結論点>」までの文の文ベクトルを算出し、結論点ベクトルとする。テーブル生成部352は、開始タグ「<結結論>」から終了タグ「</結結論>」までの文の文ベクトルを算出し、結結論ベクトルとする。
【0186】
同様にして、テーブル生成部352は、他のパターン識別情報に対応する起論点ベクトル、起結論ベクトル、承論点ベクトル、承結論ベクトル、転論点ベクトル、転結論ベクトル、結論点ベクトル、結結論ベクトルを算出する。
【0187】
テーブル生成部352が、文ベクトルを算出する処理は、実施例1で説明した文ベクトルを算出する処理と同様である。たとえば、テーブル生成部352は、文に含まれる単語の単語ベクトルを、単語ベクトルテーブル341から取得し、各単語ベクトルを集積することで、文ベクトルを算出する。
【0188】
抽出部353は、入力文章データ344に含まれる文ベクトルを抽出する処理部である。
図27を用いて、抽出部353の処理の一例について説明する。抽出部353は、入力文章データ245を走査して、入力文章データ245に含まれる文x1~文x8を抽出する。ここでは一例として、文x1、文x2、文x3、文x4、文x5、文x6、文x7、文x8を、それぞれ、起論点文、起結論文、承論点文、承結論文、転論点文、転結論文、結論点文、結結論文とする。
【0189】
抽出部353は、入力文章データ344に含まれる各文と、起論点文、起結論文、承論点文、承結論文、転論点文、転結論文、結論点文、結結論文とをどのように対応付けてもよい。たとえば、抽出部353は、入力文章データ344に含まれる先頭からの文の順番を基にして、各文と、起論点文、起結論文、承論点文、承結論文、転論点文、転結論文、結論点文、結結論文とを対応付ける。
【0190】
抽出部353は、入力文章データ344に含まれる文x1~文x8の文ベクトルVec1~Vec8を算出する。抽出部353は、算出した各文x1~文x8に対応する文の種類と、文ベクトルVec1~Vec8とを対応付けた抽出結果を、特定部354に出力する。文の種類は、起論点文、起結論文、承論点文、承結論文、転論点文、転結論文、結論点文、結結論文を示す。
【0191】
特定部354は、入力文章データ344から抽出された各文ベクトルの推移と、遷移テーブル343とを基にして、入力文章データ344から抽出された文ベクトルの推移に対応するパターン識別情報を特定する処理部である。
【0192】
特定部354は、遷移テーブル343の各起論点ベクトルV11-nと、起論点文のベクトルVec1とをそれぞれ比較し、最も類似する起論点ベクトルを特定する。ここでは、ベクトルVec1と最も類似する起論点ベクトルを、「V11-4」とする。特定部354は、遷移テーブル343の各起結論ベクトルV12-nと、起結論文のベクトルVec2とをそれぞれ比較し、最も類似する起結論ベクトルを特定する。ここでは、ベクトルVec2と最も類似する起結論ベクトルを、「V12-4」とする。
【0193】
特定部354は、遷移テーブル343の各承論点ベクトルV21-nと、承論点文のベクトルVec3とをそれぞれ比較し、最も類似する承論点ベクトルを特定する。ここでは、ベクトルVec3と最も類似する承論点ベクトルを、「V21-4」とする。特定部354は、遷移テーブル343の各承結論ベクトルV22-nと、承結論文のベクトルVec4とをそれぞれ比較し、最も類似する承結論ベクトルを特定する。ここでは、ベクトルVec4と最も類似する承結論ベクトルを、「V22-4」とする。
【0194】
特定部354は、遷移テーブル343の各転論点ベクトルV31-nと、転論点文のベクトルVec5とをそれぞれ比較し、最も類似する転論点ベクトルを特定する。ここでは、ベクトルVec5と最も類似する転論点ベクトルを、「V31-4」とする。特定部354は、遷移テーブル343の各転結論ベクトルV32-nと、転結論文のベクトルVec5とをそれぞれ比較し、最も類似する転結論ベクトルを特定する。ここでは、ベクトルVec5と最も類似する転結論ベクトルを、「V32-4」とする。
【0195】
特定部354は、遷移テーブル343の各結論点ベクトルV41-nと、結論点文のベクトルVec7とをそれぞれ比較し、最も類似する結論点ベクトルを特定する。ここでは、ベクトルVec7と最も類似する結論点ベクトルを、「V41-4」とする。特定部354は、遷移テーブル343の各転結論ベクトルV42-nと、結結論文のベクトルVec8とをそれぞれ比較し、最も類似する結結論ベクトルを特定する。ここでは、ベクトルVec8と最も類似する結結論ベクトルを、「V42-4」とする。
【0196】
特定部354は、上記の処理を実行することで、入力文章データ344に含まれる文ベクトルの推移が、遷移テーブル343のパターン識別情報「Pa4」に対応すると判定する。パターン識別情報「Pa4」に対応する点数が「85」であるため、特定部354は、入力文章データ344の点数を「85点」として出力する。特定部354は、点数を表示部330に出力して表示してもよいし、外部装置に通知してもよい。
【0197】
次に、本実施例3に係る情報処理装置300の処理手順の一例について説明する。
図21は、本実施例3に係る情報処理装置の処理手順を示すフローチャートである。
図21に示すように、情報処理装置300の取得部351は、入力文章データ344を取得する(ステップS301)。
【0198】
情報処理装置300の抽出部353は、入力文章データ344から、各文の種類の文ベクトルを抽出する(ステップS302)。ステップS302で抽出される各文の種類の文ベクトルには、起論点ベクトル、起結論ベクトル、承論点ベクトル、承結論ベクトル、転論点ベクトル、転結論ベクトル、結論点ベクトル、結結論ベクトルが含まれる。
【0199】
情報処理装置300の特定部354は、入力文章データ344から抽出した各文の種類の文ベクトルと、遷移テーブル343とを基にして、パターン識別情報を特定する(ステップS303)。特定部354は、パターン識別情報に対応する点数を特定し、特定した点数を出力する(ステップS304)。
【0200】
次に、本実施例3に係る情報処理装置300の効果について説明する。情報処理装置300は、起承転結で記載された入力文章データ344から抽出した各文の種類の文ベクトルと、遷移テーブル343とを比較して、入力文章データ344の点数を特定する。これによって、小論文等の答案を文ベクトルの推移をもとに自動的に採点することができる。
【0201】
ところで、本実施例3に係る情報処理装置300は、起論点ベクトル、起結論ベクトル、承論点ベクトル、承結論ベクトル、転論点ベクトル、転結論ベクトル、結論点ベクトル、結結論ベクトルを基にして、パターン識別情報を判定していたが、これに限定されない。情報処理装置300は、実施例2で説明した情報処理装置200と同様にして、更に、接続詞の種類を用いて、パターン識別情報を判定してもよい。
【0202】
次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図22は、実施例1の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0203】
図22に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、ディスプレイ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る読み取り装置404と、有線または無線ネットワークを介して、外部装置との間でデータの授受を行う通信装置405とを有する。また、コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407とを有する。そして、各装置401~407は、バス408に接続される。
【0204】
ハードディスク装置407は、取得プログラム407a、テーブル生成プログラム407b、集計プログラム407c、特定プログラム407d、生成プログラム407e、を有する。また、CPU401は、各プログラム407a~407eを読み出してRAM406に展開する。
【0205】
取得プログラム407aは、取得プロセス406aとして機能する。テーブル生成プログラム407bは、テーブル生成プロセス406bとして機能する。集計プログラム407cは、集計プロセス406cとして機能する。特定プログラム407dは、特定プロセス406dとして機能する。生成プログラム407eは、生成プロセス406eとして機能する。
【0206】
取得プロセス406aの処理は、取得部105の処理に対応する。テーブル生成プロセス406bの処理は、テーブル生成部106の処理に対応する。集計プロセス405cは、集計部151の処理に対応する。特定プロセス406dは、特定部152の処理に対応する。生成プロセス405eは、生成部153の処理に対応する。
【0207】
なお、各プログラム407a~407eについては、必ずしも最初からハードディスク装置407に記憶させておかなくても良い。例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ400が各プログラム407a~407eを読み出して実行するようにしてもよい。
【0208】
続いて、上記実施例2、3に示した情報処理装置200(300)と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図23は、実施例2、3の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0209】
図23に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータの入力を受け付ける入力装置502と、ディスプレイ503とを有する。また、コンピュータ500は、記憶媒体からプログラム等を読み取る読み取り装置504と、有線または無線ネットワークを介して、外部装置との間でデータの授受を行う通信装置505とを有する。また、コンピュータ500は、各種情報を一時記憶するRAM506と、ハードディスク装置507とを有する。そして、各装置501~507は、バス508に接続される。
【0210】
ハードディスク装置507は、取得プログラム507a、テーブル生成プログラム507b、抽出プログラム507c、特定プログラム507dを有する。また、CPU501は、各プログラム507a~507eを読み出してRAM506に展開する。
【0211】
取得プログラム507aは、取得プロセス506aとして機能する。テーブル生成プログラム507bは、テーブル生成プロセス506bとして機能する。抽出プログラム507cは、抽出プロセス506cとして機能する。特定プログラム507dは、特定プロセス506dとして機能する。
【0212】
取得プロセス506aの処理は、取得部251の処理に対応する。テーブル生成プロセス506bの処理は、テーブル生成部252の処理に対応する。抽出プロセス506cの処理は、抽出部253の処理に対応する。特定プロセス506dの処理は、特定部254の処理に対応する。
【0213】
なお、各プログラム507a~507dについては、必ずしも最初からハードディスク装置707に記憶させておかなくても良い。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ500が各プログラム507a~507dを読み出して実行するようにしてもよい。
【符号の説明】
【0214】
105,251,351 取得部
106,252,352 テーブル生成部
110,210,310 通信部
120,220,320 入力部
130,230,330 表示部
140,240,340 記憶部
141,241,341 単語ベクトルテーブル
142,243,342 教師データ
143 集計データ
144 同音異義語ベクトルテーブル
145,245,344 入力文章データ
146 同音異義語テーブル
147 接続詞ベクトルテーブル
150,250,350 制御部
151 集計部
152 特定部
153 生成部
242 接続詞テーブル
244,343 遷移テーブル
253,353 抽出部
254,354 特定部