JP2008071001A - 自然言語処理装置、およびプログラム - Google Patents

自然言語処理装置、およびプログラム Download PDF

Info

Publication number
JP2008071001A
JP2008071001A JP2006247525A JP2006247525A JP2008071001A JP 2008071001 A JP2008071001 A JP 2008071001A JP 2006247525 A JP2006247525 A JP 2006247525A JP 2006247525 A JP2006247525 A JP 2006247525A JP 2008071001 A JP2008071001 A JP 2008071001A
Authority
JP
Japan
Prior art keywords
character string
information
sentence
character
connection symbol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006247525A
Other languages
English (en)
Other versions
JP4971732B2 (ja
Inventor
Mitsuharu Nishimoto
光治 西本
Yoshihisa Uchida
善久 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
C2cube
C2CUBE Inc
Original Assignee
C2cube
C2CUBE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by C2cube, C2CUBE Inc filed Critical C2cube
Priority to JP2006247525A priority Critical patent/JP4971732B2/ja
Publication of JP2008071001A publication Critical patent/JP2008071001A/ja
Application granted granted Critical
Publication of JP4971732B2 publication Critical patent/JP4971732B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】従来、口語体の文章の解析の確度が低い、という課題があった。
【解決手段】第一文字列と、文中における第一文字列の機能を特定する機能語情報と、前に接続され得る文字列の種類を特定する前接続記号と、後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する後接続記号とを有する辞書情報を1以上格納しており、解析対象の文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を2以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列の機能語情報または後接続記号から、第二文字列の種類を特定し、2以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして出力する自然言語処理装置により、口語体の文章の解析が高い確度でできる。
【選択図】図1

Description

本発明は、自然言語を処理する自然言語処理装置等に関するものである。
従来の日本語などを処理する言語処理装置において、日本語の文に対する形態素解析ツールがある(非特許文献1参照)。
また、ソース自然言語のテキスト文(好適には日本語)を受信し、目的自然言語(好適には英語)に翻訳する自動自然言語翻訳システムがある(例えば、特許文献1参照。)本システムは、ソーステキストに含まれる「かな」を目的言語のアルファベット文字に変換し、語句やフレーズの区切りの存在を「かな」のあいだに認識させる。さらに、本システムは、ソーステキストに形態素解析と統語解析を同時に実行する。
特開2006−164293公報(第1頁、第1図等) インターネット<URL:http://chasen.naist.jp/hiki/ChaSen/>
しかしながら、上記の従来の日本語などの自然言語を処理する装置である自然言語処理装置においては、口語体の文章を高い確度で解析できない、という課題があった。
さらに具体的には、文法がいいかげんな文や、倒置が発生している文や、主語が省略されている文などは、形態素解析を用いる言語解析方法において、品詞の並び順を文法に照らし合わせることで、文を解析する仕組み上、正しく解析できないことも多かった。
本第一の発明の自然言語処理装置は、文を格納し得る文格納部と、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を1以上格納している辞書情報格納部と、前記文格納部の文をメモリ上に読み出し、当該文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を2以上の文字列である2以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御部と、前記文分割制御部が取得した2以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして出力する出力部を具備する自然言語処理装置である。
かかる構成により、文を、1以上の用語から構成されるまとまりのある複数の文字列に正しく分割できる。その結果、出力部の出力結果を従来の機械翻訳装置に渡した場合、文法的な正確さが不十分な話し言葉でも、正しく機械翻訳が可能である。
また、本第二の発明の自然言語処理装置は、第一の発明に対して、前記第二文字列の種類は、少なくとも文の主題、文の副題、動作状態を含み、前記出力部は、主題に対応する第二文字列、副題に対応する第二文字列、動作状態に対応する第二文字列の順に、少なくとも3つの文字列を出力する自然言語処理装置である。
かかる構成により、例えば、倒置が発生している文でも、正しく文の構造が解析できる。そのため、出力部の出力結果を従来の機械翻訳装置に渡した場合、倒置が発生している口語体の文でも、正しく機械翻訳が可能である。
また、本第三の発明の自然言語処理装置は、第一、第二いずれかの発明に対して、前記文分割制御部は、前記文格納部の文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ(n文字[nは2以上の整数])の第三文字列を切り出し、メモリ上に配置し、前記切り出した第三文字列を構成する文字列であって、先頭からn文字の文字列から順に、前記辞書情報格納部に当該文字列が存在するか否かを判断し、n文字の文字列が存在しない場合には、先頭から(n−1)文字の文字列が前記辞書情報格納部に存在するか否かを判断し、かかる判断を、1文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から1文字になるまでかかる判断を行い、文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納部から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、1文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割手段と、前記要素分割手段が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する2つの、前記要素分割手段が分割した要素またはまとまり情報を読み出し、当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数の取得する要素連結手段と、前記要素連結手段が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得手段を具備する自然言語処理装置である。
かかる構成により、口語文でも、正しく解析できる。
本発明による自然言語処理装置によれば、自然言語の文章のうち、例えば、口語体の文章でも、高い確度で解析できる。
以下、自然言語処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における自然言語処理装置のブロック図である。

自然言語処理装置は、受付部10、文格納部11、辞書情報格納部12、文分割制御部13、出力部14を具備する。
文分割制御部13は、要素分割手段131、要素連結手段132、文字列取得手段133を具備する。
受付部10は、ユーザや外部の装置等からの指示や入力を受け付ける。指示とは、例えば、自然言語処理の開始指示である。入力は、例えば、解析対象の文の入力である。なお、この文は、後述する文格納部11に、少なくとも一時的に格納される。指示や入力の入力手段は、キーボードやマウスやメニュー画面やマイクによるもの等、何でも良い。受付部10は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
文格納部11は、文を格納し得る。文とは、文の情報であり、テキストデータである。文格納部11は、複数の文を格納していても良い。文格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。なお、文格納部11の文は、いわゆるWeb上のホームページの文でも良いし、図示しないマイクが受け付けたユーザの音声を、音声認識し、文字列の文に変換した文などでも良い。
辞書情報格納部12は、辞書情報を1以上格納している。辞書情報は、第一文字列と、機能語情報と、前接続記号と、後接続記号を対に有する情報である。第一文字列は、1文字以上の文字からなる。機能語情報とは、文中における第一文字列の機能を特定する情報である。また、機能語情報とは、第一文字列の種類を特定する情報であるともいえる。また、前接続記号とは、第一文字列の前に接続され得る文字列の種類を特定する情報である。後接続記号とは、第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である。なお、第二文字列は、第一文字列または2以上の第一文字列が結合した文字列である。第二文字列の種類は、例えば、「文の主題」、「文の副題」、「動作状態」、「準主題」などである。「文の主題」は、解析対象の文の主題を示す文字列であることを示す。「文の副題」は、解析対象の文の副題を示す文字列であることを示す。「動作状態」は、何らかの動作や状態を示す文字列であることを示す。「動作状態」は、「動作」と「状態」という具合に、2つに区別されていても良い。「準主題」は、サブの主題であることを示す。辞書情報格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
文分割制御部13は、文格納部11の文をメモリ上に読み出し、当該文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を2以上の文字列である2以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得し、メモリ上に配置する。第一文字列は、辞書情報格納部12に存在し、文分割制御部13は、その第一文字列を読み出す。文分割制御部13は、通常、MPUやメモリ等から実現され得る。文分割制御部13の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
文分割制御部13を構成する要素分割手段131は、文格納部11の文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ(n文字[nは2以上の整数])の第三文字列を切り出し、メモリ上に配置し、当該切り出した第三文字列を構成する文字列であって、先頭からn文字の文字列から順に、辞書情報格納部12に当該文字列(この文字列は、第一文字列である。)が存在するか否かを判断し、n文字の文字列が存在しない場合には、先頭から(n−1)文字の文字列が辞書情報格納部12に当該文字列が存在するか否かを判断し、かかる判断を、1文字ずつ文字数を減らして、文字列が辞書情報格納部12に存在するまで行い、または、文字列が辞書情報格納部12に存在しない場合には、先頭から1文字になるまでかかる判断を行い、文字列が辞書情報格納部12に存在すると判断した場合には、当該文字列(この文字列は、第一文字列である。)に対応する機能語情報と前接続記号と後接続記号とを、辞書情報格納部12から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、1文字の文字列に対して未知語であることを示す情報である未知語情報を付与する。
要素連結手段132は、要素分割手段131が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、当該連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する要素分割手段131が分割した要素またはまとまり情報が有する、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号を読み出し、当該前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、複数の第二文字列を取得する。
文字列取得手段133は、要素連結手段132が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する。
要素分割手段131、要素連結手段132、および文字列取得手段133は、通常、MPUやメモリ等から実現され得る。要素分割手段131等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部14は、文分割制御部13が取得した2以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして出力する。また、出力部14は、予め出力する第二文字列の種類の順序に関する情報である出力順序情報を保持しており、かかる出力順序情報を読み出し、当該出力順序情報に従って、複数の第二文字列を、正しい順序になるように文として出力しても良い。具体的には、出力部14は、主題に対応する第二文字列、副題に対応する第二文字列、動作状態に対応する第二文字列の順に、少なくとも3つの文字列を出力する。その結果、出力部14は、文法的に正しい順序(例えば、正しく機械翻訳するために適した順序)で文を出力することとなる。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。また、出力とは、他の関数や処理装置に、第二文字列と、第二文字列の種類を特定する情報を対にして渡すことも含む。出力部14は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部14は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。なお、出力順序情報は、文の構造を示す情報である場合が多く、文構造情報ともいうこととする。
次に、自然言語処理装置の動作について図2から図5のフローチャートを用いて説明する。
(ステップS201)受付部10は、ユーザまたは外部の装置から自然言語処理の開始指示を受け付けたか否かを判断する。自然言語処理の開始指示を受け付ければステップS202に行き、自然言語処理の開始指示を受け付けなければステップS201に戻る。
(ステップS202)文分割制御部13の要素分割手段131は、文格納部11の文をメモリ上に読み出す。読み出す文は、自然言語処理の開始指示により示される文である。
(ステップS203)要素分割手段131は、カウンタiに1を代入する。
(ステップS204)要素分割手段131は、ステップS202でメモリ上に配置した文の中に、i番目の文字が存在するか否かを判断する。i番目の文字が存在すればステップS205に行き、i番目の文字が存在しなければステップS215に行く。
(ステップS205)要素分割手段131は、ステップS202でメモリ上に配置した文の中の、i番目の文字から(i+n)番目の文字までの文字列を取得し、バッファ上に置く。nは、固定の数であり、例えば、「5」である。なお、処理対象の文に、i番目の文字から(i+n)番目の文字まで存在しない場合、要素分割手段131は、i番目の文字から文の最終文字までを取得し、バッファ上に置く。つまり、要素分割手段131は、i番目の文字から(i+n)番目以下の文字までの文字列を取得し、バッファ上に置く。
(ステップS206)要素分割手段131は、ステップS205でバッファ上に配置した文字列を、辞書情報格納部12に検索しにいく。
(ステップS207)要素分割手段131は、要素分割手段131は、ステップS206における検索結果において、ステップS205でバッファ上に配置した文字列が、辞書情報格納部12に存在したか否かを判断する。文字列が存在すればステップS212に行き、文字列が存在しなければステップS208に行く。なお、文字列が存在する場合とは、バッファ上に配置した文字列と一致する文字列が、辞書情報が有する第一文字列に存在する場合である。
(ステップS208)要素分割手段131は、ステップS205でバッファ上に配置した文字列の長さが、1文字であるか否かを判断する。1文字であればステップS210に行き、1文字でなければステップS209に行く。
(ステップS209)要素分割手段131は、ステップS205でバッファ上に配置した文字列から最後の文字を削除し、一文字少なくして、i番目から文字列を取得し、バッファ上に配置する。なお、要素分割手段131は、単に、バッファ上の最終文字を消去するだけでも良い。ステップS206に戻る。
(ステップS210)要素分割手段131は、i番目の文字に未知語であることを示す情報である「未知語」フラグを付与する。「「未知語」フラグを付与する」とは、i番目の文字が他の文字または文字列と区別できれば良く、例えば、他の文字または文字列に何らかのフラグを付与し、未知語であるi番目の文字には、何も付与しなくても良い。さらに、未知語を格納するバッファがあり、そのバッファに未知語であるi番目の文字を書き込む処理も、「未知語」フラグを付与する処理とする。
(ステップS211)要素分割手段131は、カウンタiを1、インクリメントする。ステップS204に戻る。
(ステップS212)要素分割手段131は、バッファ上に配置した文字列と一致する第一文字列と対になる機能語情報、前接続記号、および後接続記号を、辞書情報格納部12から読み出し、メモリ上に配置する。
(ステップS213)要素分割手段131は、バッファ上に配置した文字列に対して、ステップS212で読み出した機能語情報、前接続記号、および後接続記号を付与する。
(ステップS214)要素分割手段131は、カウンタiに、「i+文字列の文字数」を代入する。ステップS204に戻る。なお、「文字列の文字数」の「文字列」は、バッファ上に配置した文字列である。
(ステップS215)要素連結手段132は、要素分割手段131が分割した文字列のうち、連結可能な文字列を連結する。かかる連結処理について、図3のフローチャートを用いて、詳細に説明する。
(ステップS216)文字列取得手段133は、要素連結手段132が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する。かかる処理(文分割処理、という)について、図4のフローチャートを用いて、詳細に説明する。
(ステップS217)出力部14は、ステップS216で取得した2以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして出力する。かかる出力処理について、図5のフローチャートを用いて、詳細に説明する。処理を終了する。
次に、ステップS215の連結処理について、図3のフローチャートを用いて、詳細に説明する。
(ステップS301)要素連結手段132は、要素分割手段131が未知語フラグ(未知語情報の一種)を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成する。また、要素連結手段132は、かつ要素分割手段131が未知語フラグを付与した連続する未知語であり、ひらがなではない文字を連結し文字列を構成する。
(ステップS302)要素連結手段132は、ステップS301で連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与する。まとまり情報は、機能語情報の一種である。まとまり情報は、文字列に付与される未知語フラグでも良い。
(ステップS303)要素連結手段132は、カウンタiに1を代入する。
(ステップS304)要素連結手段132は、処理対象の文中に、(i+1)番目の、まとめられた文字列(1文字の場合もある)が存在するか否かを判断する。(i+1)番目の文字列が存在すればステップS305に行き、(i+1)番目の文字列が存在しなければ上位関数にリターンする。
(ステップS305)要素連結手段132は、i番目の文字列の後接続記号と、(i+1)番目の文字列の前接続記号を読み出し、メモリ上に配置する。なお、i番目の文字列の後接続記号は、i番目の文字列の最後の第一文字列と対になる後接続記号である。また、(i+1)番目の文字列の前接続記号は、(i+1)番目の文字列の先頭の第一文字列と対になる前接続記号である。
(ステップS306)要素連結手段132は、ステップS305で読み出したi番目の文字列の後接続記号と、(i+1)番目の文字列の前接続記号から、i番目の文字列と(i+1)番目の文字列が連結可能であるか否かを判断する。なお、2つの連続する文字列が連結可能であるか否かは、前出の後接続記号と、後出の前接続記号から判断可能であり、要素連結手段132は、例えば、連結可能な2つの文字列の後接続記号と前接続記号の組の情報(ルール)を保持している。
(ステップS307)要素連結手段132は、ステップS306における判断結果が、連結可能である、との判断であればステップS308に行き、連結可能でない、との判断であればステップS309に行く。
(ステップS308)要素連結手段132は、i番目の文字列と、(i+1)番目の文字列を連結する。文字列の連結とは、連結した文字列をバッファに書き込む処理でも良いし、2つの文字列をリンク付けする処理等でも良い。
(ステップS309)要素連結手段132は、カウンタiを1、インクリメントする。ステップS304に行く。
次に、ステップS216の文分割処理について、図4のフローチャートを用いて、詳細に説明する。
(ステップS401)文字列取得手段133は、カウンタiに1を代入する。
(ステップS402)文字列取得手段133は、処理対処の文中に、i番目の第二文字列が存在するか否かを判断する。i番目の第二文字列が存在すればステップS403に行き、i番目の第二文字列が存在しなければ上位関数にリターンする。
(ステップS403)文字列取得手段133は、i番目の第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、各第二文字列の種類を特定する情報を決定する。具体的には、例えば、第二文字列の種類は、例えば、「主題」、「副題」、「動作」、または「状態」であり、第二文字列の最後尾の第一文字列に対応する機能語情報が「動作」または「状態」であれば、第二文字列の種類は「動作」または「状態」であると、文字列取得手段133は決定する。また、第二文字列の最後尾の第一文字列に対応する後接続記号が「主題」または「副題」を示す記号である場合は、第二文字列の種類は「主題」または「副題」であると、文字列取得手段133は決定する。そして、文字列取得手段133は、i番目の第二文字列と、第二文字列の種類を特定する情報を取り出し、メモリ上に配置する。
(ステップS404)文字列取得手段133は、カウンタiを1、インクリメントする。ステップS402に戻る。
次に、ステップS217の出力処理について、図5のフローチャートを用いて、詳細に説明する。
(ステップS501)出力部14は、出力する文構造の情報を取得する。出力する文構造の情報は、例えば、出力部14があらかじめ格納しており、この情報を出力部14が読み出す。また、出力する文構造の情報とは、例えば、「主題,副題,動作|状態」である。これは、「主題を示す文字列」、「副題を示す文字列」,「動作を示す文字列」または「状態を示す文字列」の順で出力することを示す。「主題」、「副題」、「動作」、「状態」などは、文中の文字列の機能や、意義などを示すことを示す。また、「主題」、「副題」、「動作」、「状態」などを、以下、適宜、文要素という。
(ステップS502)出力部14は、カウンタiに1を代入する。
(ステップS503)出力部14は、ステップS501で読み出した文構造の情報に、i番目の文要素が存在するか否かを判断する。i番目の文要素が存在すればステップS504に行き、i番目の文要素が存在しなければステップS508に行く。
(ステップS504)出力部14は、i番目の文要素(例えば、「主題」)の情報を読み出し、当該文要素に対応する種類(例えば、「主題」)を示す第二文字列を検索する。
(ステップS505)出力部14は、文要素に対応する種類(例えば、「主題」)を示す第二文字列が存在すればステップS506に行き、存在しなければステップS507に行く。
(ステップS506)出力部14は、文要素に対応する種類(例えば、「主題」)を示す第二文字列を取得し、当該第二文字列をバッファに追記する。
(ステップS507)出力部14は、カウンタiを1、インクリメントする。ステップS503に戻る。
(ステップS508)出力部14は、ステップS506で第二文字列を追記していったバッファ内の文を出力する。この文は、1以上の第二文字列の並びで構成されている。上位関数にリターンする。
なお、図5のフローチャートにおいて、第二文字列の並びで構成される文を出力した。しかし、文分割制御部13が取得した2以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして出力しても良い。かかる出力結果から、上述した文(完成した文)は構成される。
以下、本実施の形態における自然言語処理装置の具体的な動作について説明する。自然言語処理装置の概念図は図1である。
まず、辞書情報格納部12は、図6に示す辞書情報管理表を格納している。辞書情報管理表は、「第一文字列」「前接続記号」「後接続記号」「機能語情報」の属性を有するレコードを1以上格納している。
図6の「前接続記号」の「−&」は、前に、未知語情報で識別される未知語や、「object」で識別される対象物などが連結されることを示す。「前接続記号」は、他に「&&」などがある。「&&」は、前に、「名前」や、未知語や、「object」で識別される対象物などが連結されることを示す。「名前」とは、登録している人や物などの名前である。
また、「後接続記号」の「s%」は、区切りになり得て、「副題」となり得ることを示す。また、「後接続記号」の「&&」は、後に、「名前」や、未知語情報で識別される未知語や、「object」で識別される対象物などが連結されることを示す。また、「後接続記号」の「n%」は、区切りになり得て、「主題」となり得ることを示す。また、「後接続記号」の「−−」は、「action」で識別される文字列が連結されることを示す。また、「後接続記号」の「%=」は、区切りになり得て、かつ、「object」で識別される対象物や「名前」などが連結されることを示す。また、「後接続記号」の「o%」は、区切りになり得て、「準主題」となり得ることを示す。また、「機能語情報」の「object」は、対象物を示す。また、「機能語情報」の「action」は、動作を示す。さらに、「機能語情報」の「state」は、状態を示す。
(具体例1)
かかる状況で、ユーザは、解析対象の文「私と行った佐藤さんが」という口語体の文と、自然言語処理の開始指示を入力した、とする。この文は、「私と行った」と「佐藤さんが」が倒置を起こしている。
まず、受付部10は、「私と行った佐藤さんが」という口語体の文の情報と、自然言語処理の開始指示を受け付ける。そして、受付部10は、「私と行った佐藤さんが」という口語体の文を、文格納部11に一時的に格納する。
次に、文分割制御部13の要素分割手段131は、文「私と行った佐藤さんが」を取得し、メモリ上に配置する(図7の(1))。そして、要素分割手段131は、メモリ上に配置した文の中の、1番目の文字から6番目(上記の「n」は「5」である)の文字までの文字列「私と行った佐」を取得し、バッファ上に置く(図7の(2))。そして、要素分割手段131は、文字列「私と行った佐」を、辞書情報格納部12に検索しにいく。しかし、文字列「私と行った佐」に合致する第一文字列が、図6の辞書情報管理表に存在しないので、要素分割手段131は、先の文字列より1文字少ない文字列「私と行った」を構成する。そして、要素分割手段131は、文字列「私と行った」をバッファ上に置く(図7の(3))。そして、同様に、要素分割手段131は、文字列「私と行った」を、辞書情報格納部12に検索しにいく。しかし、文字列「私と行った」に合致する第一文字列が、図6の辞書情報管理表に存在しないので、要素分割手段131は、先の文字列より1文字少ない文字列「私と行っ」を構成し、バッファ上に置く(図7の(4))。そして、要素分割手段131は、文字列「私と行っ」を、辞書情報格納部12に検索しにいく。同様に、文字列「私と行っ」に合致する第一文字列が、図6の辞書情報管理表に存在しない。そして、要素分割手段131は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部12に検索しにいく(図7の(5)から(7))。そして、要素分割手段131は、最後の文字「私」も図6の辞書情報管理表に存在しない、と判断する。そして、要素分割手段131は、文字「私」に、未知語であることを示す情報である「未知語」フラグを付与する(図7の(8))。なお、ここでの「未知語」フラグは、情報「未知語」である。
次に、要素分割手段131は、処理対象の文字列の先頭のポインタを1ずらす。そして、要素分割手段131は、2番目の文字から6文字分の文字列「と行った佐藤」を読み出し、バッファに配置する(図7の(9))。そして、同様に、要素分割手段131は、文字列「と行った佐藤」を、辞書情報格納部12に検索しにいく。同様に、文字列「と行った佐藤」に合致する第一文字列が、図6の辞書情報管理表に存在しない。そして、要素分割手段131は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部12に検索しにいく(図7の(10)から(14))。そして、要素分割手段131は、最後の文字「と」は図6の辞書情報管理表に存在する、と判断する(図6の第1レコードを参照)。次に、要素分割手段131は、バッファ上に配置した文字列と一致する第一文字列「と」と対になる前接続記号「−&」、後接続記号「s%」、および機能語情報「object」を、辞書情報格納部12から読み出し、メモリ上に配置する。そして、要素分割手段131は、バッファ上に配置した文字列「と」に対して、読み出した前接続記号「−&」、後接続記号「s%」、および機能語情報「object」を付与する(図7の(15))。
以上の処理を繰り返し、処理対象の文「私と行った佐藤さんが」について、図7の(x)のようなデータを得る。つまり、「私」「行」「佐」「藤」に対して、「未知語」が付与される。また、「と」に対して、「−&:s%:object」が付与される。また、「っ」に対して、「−&:−−:action」が付与される。また、「た」に対して、「−&:%=:action」が付与される。また、「さん」に対して、「−&:&&:object」が付与される。さらに、「が」に対して、「−&:n%:object」が付与される(図7の(x))。
次に、要素連結手段132は、要素分割手段131が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなではない文字「佐」と「藤」を連結し文字列「佐藤」を構成する。そして、要素連結手段132は、連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報(ここでは、「未知語」)を付与し、バッファに書き込む。バッファ内の情報は、図8の(1)である。
次に、要素連結手段132は、図8(1)の各前後するまとまりの文字列(例えば、「私」と「と」)が連結するか否かを判断し、連結するものは連結させる。
例えば、「私」と「と」は、「私」が未知語で、「と」の前接続記号「−&」により、要素連結手段132は、連結すると判断する。なぜなら、前接続記号「−&」は、前の未知語と連結するからである。そして、要素連結手段132は、「私と」に対して、「:s%:object」を付与する(図8(2)参照)。「:s%:object」は、前接続記号はなし、後接続記号は「%s」、機能語情報は「object」であることを示す。
また、要素連結手段132は、「私と」と「行」は連結しない、と判断する。「私と」の後接続記号「%s」は区切りを示すからである。
そして、要素連結手段132は、「行」と「っ」、「行っ」と「た」は、それぞれ連結する、と判断し、連結させる。つまり、要素連結手段132は、文字列「行った」を構成し、かつ、「:%=:action」を付与する(図8(2)参照)。
そして、要素連結手段132は、「行った」と「佐藤」は連結しない、と判断する。「行った」の後接続記号「%=」は区切りを示すからである。
次に、同様に、要素連結手段132は、「佐藤」「さん」「が」が連結する、と判断し、文字列「佐藤さんが」を構成し、かつ、「:n%:object」を付与する(図8(2)参照)。
以上の処理により、要素連結手段132は、3つの第二文字列を得る(図8(2)参照)。
次に、文字列取得手段133は、1つ目の第二文字列「私と」と、第二文字列の最後尾の第一文字列に対応する機能語情報「s%」および後接続記号「object」を取得する。そして、文字列取得手段133は、機能語情報「s%」から、1つ目の第二文字列「私と」は、「副題」である、と第二文字列の種類を決定する。そして、文字列取得手段133は、1番目の第二文字列「私と」と、第二文字列の種類を特定する情報「副題」を取り出し、メモリ上に配置する(図8(3)参照)。
次に、文字列取得手段133は、2つ目の第二文字列「行った」と、第二文字列の最後尾の第一文字列に対応する機能語情報「%=」および後接続記号「action」を取得する。そして、文字列取得手段133は、後接続記号「action」から、2つ目の第二文字列「行った」は、「動作」である、と第二文字列の種類を決定する。そして、文字列取得手段133は、2番目の第二文字列「行った」と、第二文字列の種類を特定する情報「動作」を取り出し、メモリ上に配置する(図8(3)参照)。
さらに、文字列取得手段133は、3つ目の第二文字列「佐藤さんが」と、第二文字列の最後尾の第一文字列に対応する機能語情報「n%」および後接続記号「object」を取得する。そして、文字列取得手段133は、機能語情報「n%」から、3つ目の第二文字列「佐藤さんが」は、「主題」である、と第二文字列の種類を決定する。そして、文字列取得手段133は、3番目の第二文字列「佐藤さんが」と、第二文字列の種類を特定する情報「主題」を取り出し、メモリ上に配置する(図8(3)参照)。
次に、出力部14は、保持している情報であり、出力する文構造の情報を読み出す。この文構造の情報の例を図9に示す。そして、図8(3)のメモリ上に配置した情報が有する第二文字列の種類と、図9の文構造の情報の文要素の並びが一致するように、図8(3)のメモリ上に配置した第二文字列を並べる(図9の矢印参照)。その結果、出力部14は、「佐藤さんが私と行った」を得る。そして、出力部14は、得た文「佐藤さんが私と行った」を、出力手段により出力する。出力とは、ディスプレイへの表示や、記録媒体への蓄積や、外部装置への送信などである。
(具体例2)
辞書情報格納部12において、図6に示す辞書情報管理表が格納されている状況において、ユーザは、解析対象の文「私と佐藤さんが行った 映画館に」という口語体の文と、自然言語処理の開始指示を入力した、とする。
上記の具体例1と同様に、要素分割手段131は、文「私と佐藤さんが行った 映画館に」を処理する。つまり、要素分割手段131は、辞書情報格納部12を検索し、文「私と佐藤さんが行った 映画館に」を第一文字列、または未知語に分割する。そして、辞書情報の第一文字列に合致した文字列には、当該第一文字列と対になる前接続記号、後接続記号、および機能語情報を付与し、メモリ上に配置する。その結果得られた情報を、図10に示す。図10において「文字列」は分割された文字列(1文字も含む)、「前」は前接続記号、「後」は後接続記号、「機」は機能語情報である。前接続記号、後接続記号の「−」は、定義なし、を意味する。「−」は、未知語に対して付される。図10の機能語情報における「未」は「未知語」、「o」は「object」、「a」は「action」である。
次に、要素連結手段132は、上述した説明と同様の処理により、図10の文字または文字列を連結し、4つの第二文字列と、各第二文字列に対応する前接続記号、後接続記号、および機能語情報を取得し、メモリ上に配置する。かかる情報を図11に示す。図11の前接続記号は、第二文字列の先頭の文字または文字列の前接続記号が採用される。また、図11の後接続記号は、第二文字列の最後の文字または文字列の後接続記号が採用される。さらに、図11の機能語情報は、第二文字列の最後の文字または文字列の機能語情報が採用される。
次に、文字列取得手段133は、4つの第二文字列の後接続記号または機能語情報から第二文字列の種類を決定する。後接続記号が「s%」の場合、第二文字列は「副題」であると決定される。後接続記号が「n%」の場合、第二文字列は「主題」であると決定される。機能語情報が「a」の場合、第二文字列は「動作」であると決定される。機能語情報が「s」(status)の場合、第二文字列は「状態」であると決定される。後接続記号が「o%」の場合、第二文字列は「準主題」であると決定される。そして、上記のルールに従って、文字列取得手段133は、第二文字列の種類を決定し、図12に示す第二文字列と種類の情報の対を得る。
次に、出力部14は、図13に示す文構造の情報を取得する。図13に示す文構造の情報は、出力する第二文字列の順序を特定する情報である。図13の文構造の情報は、「主題」を最初に出力し、続いて、「副題」「準主題」を出力し、最後に「動作」または「状態」を出力することを示す。また、並列の「副題」「準主題」は、入力された文字列の出現順で、順位が決定されることを示す。
次に、出力部14は、図12の情報を、図13の文構造の情報に当て嵌め、「佐藤さんが」「私と」「映画館に」「行った」の順に、第二文字列を並べる。なお、並列の「副題」「準主題」に関して、入力文「私と佐藤さんが行った 映画館に」では、副題「私と」が準主題「映画館に」より前に出現しているので、「私と」「映画館に」の順に第二文字列が並べられる。
そして、出力部14は、「佐藤さんが私と映画館に行った」という文を出力する。
以上、本実施の形態によれば、例えば、口語文でも、正しく解析できる。さらに具体的には、文の中で倒置が発生していても、機械翻訳などがし易い順序に変更して、文を構築できる。
また、本実施の形態によれば、自然言語処理装置の出力結果を機械翻訳装置に渡すことにより、口語体の文章でも正確に翻訳できる。
また、本実施の形態によれば、助詞などの一定の機能を果たす語(機能語ということとする)に着目して、文字列のつながり具合、分割具合を判断し、まとまりのある文字列を取得できる。したがって、多彩な助詞によって、それが主語なのか、述語なのかを特定できる膠着語の処理に適している。なお、膠着語とは、言語の形態論上の分類のひとつである。膠着語に分類される言語は、ある単語に接頭辞や接尾辞のような形態素を付着させることで、その単語の文の中での文法関係を示す特徴を持つ。膠着語に分類される言語は、日本語、朝鮮語、満州語、モンゴル語、トルコ語、フィンランド語、ハンガリー語、タミル語などである。なお、スワヒリ語やドイツ語、エスペラント、ビルマ語なども部分的に膠着語的性質を持つ。また、機能語は、文法的な意味を表す接辞(助詞、活用語尾など)であり、実質的な意味を表す語(名詞や活用語の語幹など)に付属する。
なお、本実施の形態によれば、「動作」および「状態」をまとめて「動作状態」といっても良い。また、「動作状態」とは、「動作」または「状態」の意味である。
また、本実施の形態によれば、文分割制御部13の具体的な動作例として、要素分割手段131、要素連結手段132、文字列取得手段133により動作について説明した。しかし、文分割制御部13は、他の動作を行い、第二文字列と第二文字列の種類を特定する情報を取得しても良い。つまり、例えば、文分割制御部13は、後接続記号を用いて、当該後接続記号が区切りを示す第一文字列を、解析対象の文から検索し、当該第一文字列の後ろを区切りだとして、区切りより後ろ、次の区切りまでの文字列を第二文字列として取得しても良い。第二文字列の種類を特定する情報を取得する方法は、既に説明したように、第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から決定する。
また、本実施の形態の具体例によれば、第一文字列を取得する際の「n」が「5」であったが、「n」は「3」でも「4」でも「10」等でも良い。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における自然言語処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、文を格納しており、また、記憶媒体に、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を1以上格納しており、コンピュータに、前記記憶媒体から文をメモリ上に読み出し、当該文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を2以上の文字列である2以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得し、メモリ上に配置する文分割制御ステップと、前記文分割制御ステップで取得した2以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして、出力手段により出力する出力ステップとを実行させるためのプログラム、である。
また、上記プログラムにおける前記文分割制御ステップは、前記記憶媒体から文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ(n文字[nは2以上の整数])の第三文字列を切り出し、メモリ上に配置し、前記切り出した第三文字列を構成する文字列であって、先頭からn文字の文字列から順に、前記記憶媒体に当該文字列が存在するか否かを判断し、n文字の文字列が存在しない場合には、先頭から(n−1)文字の文字列が前記記憶媒体に存在するか否かを判断し、かかる判断を、1文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から1文字になるまでかかる判断を行い、文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記記憶媒体から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、1文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割ステップと、前記要素分割ステップで未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する2つの、前記要素分割ステップで分割した要素またはまとまり情報を読み出し、当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数の取得し、メモリ上に配置する要素連結ステップと、前記要素連結ステップで取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得ステップを具備するプログラム、でも良い。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、図14は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の自然言語処理装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図14は、このコンピュータシステム340の概観図であり、図15は、コンピュータシステム340のブロック図である。
図14において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図15において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、CPU(Central Processing Unit)3413と、CPU3413、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM(Read−Only Memory)3415と、CPU3413に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM(Random Access Memory)3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の自然言語処理装置の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の自然言語処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかる自然言語処理装置は、口語体の文章でも、高い確度で解析できる、という効果を有し、言語処理装置等として有用である。
実施の形態における自然言語処理装置のブロック図 同自然言語処理装置の動作について説明するフローチャート 同連結処理について説明するフローチャート 同文分割処理について説明するフローチャート 同出力処理について説明するフローチャート 同辞書情報管理表を示す図 同文の処理の流れの例を示す図 同文の処理の流れの例を示す図 同文の処理の流れの例を示す図 同処理途中の文についてのメモリ上のデータ例を示す図 同処理途中の文についてのメモリ上のデータ例を示す図 同処理途中の文についてのメモリ上のデータ例を示す図 同文構造情報の例を示す図 同自然言語処理装置を実現するコンピュータの外観図 同自然言語処理装置を実現するコンピュータシステムのブロック図
符号の説明
10 受付部
11 文格納部
12 辞書情報格納部
13 文分割制御部
14 出力部
131 要素分割手段
132 要素連結手段
133 文字列取得手段

Claims (5)

  1. 文を格納し得る文格納部と、
    第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を1以上格納している辞書情報格納部と、
    前記文格納部の文をメモリ上に読み出し、当該文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を2以上の文字列である2以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御部と、
    前記文分割制御部が取得した2以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして出力する出力部を具備する自然言語処理装置。
  2. 前記第二文字列の種類は、
    少なくとも文の主題、文の副題、動作状態を含み、
    前記出力部は、
    主題に対応する第二文字列、副題に対応する第二文字列、動作状態に対応する第二文字列の順に、少なくとも3つの文字列を出力する請求項1記載の自然言語処理装置。
  3. 前記文分割制御部は、
    前記文格納部の文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ(n文字[nは2以上の整数])の第三文字列を切り出し、メモリ上に配置し、
    前記切り出した第三文字列を構成する文字列であって、先頭からn文字の文字列から順に、前記辞書情報格納部に当該文字列が存在するか否かを判断し、n文字の文字列が存在しない場合には、先頭から(n−1)文字の文字列が前記辞書情報格納部に存在するか否かを判断し、かかる判断を、1文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から1文字になるまでかかる判断を行い、
    文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納部から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、
    文字列が存在しない場合には、1文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割手段と、
    前記要素分割手段が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、
    前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、
    隣接する2つの、前記要素分割手段が分割した要素またはまとまり情報を読み出し、
    当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、
    連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数の取得する要素連結手段と、
    前記要素連結手段が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、
    当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得手段を具備する請求項1または請求項2記載の自然言語処理装置。
  4. 記憶媒体に、文を格納しており、
    また、記憶媒体に、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を1以上格納しており、
    コンピュータに、
    前記記憶媒体から文をメモリ上に読み出し、当該文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を2以上の文字列である2以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得し、メモリ上に配置する文分割制御ステップと、
    前記文分割制御ステップで取得した2以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして、出力手段により出力する出力ステップとを実行させるためのプログラム。
  5. 前記文分割制御ステップは、
    前記記憶媒体から文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ(n文字[nは2以上の整数])の第三文字列を切り出し、メモリ上に配置し、
    前記切り出した第三文字列を構成する文字列であって、先頭からn文字の文字列から順に、前記記憶媒体に当該文字列が存在するか否かを判断し、n文字の文字列が存在しない場合には、先頭から(n−1)文字の文字列が前記記憶媒体に存在するか否かを判断し、かかる判断を、1文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から1文字になるまでかかる判断を行い、
    文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記記憶媒体から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、
    文字列が存在しない場合には、1文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割ステップと、
    前記要素分割ステップで未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、
    前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、
    隣接する2つの、前記要素分割ステップで分割した要素またはまとまり情報を読み出し、
    当該読み出した要素またはまとまり情報のうち、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、
    連結可能な要素またはまとまり情報を一つの文字列にまとめて、当該まとめた文字列である第二文字列を複数の取得し、メモリ上に配置する要素連結ステップと、
    前記要素連結ステップで取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、
    当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得ステップを具備する請求項4記載のプログラム。
JP2006247525A 2006-09-13 2006-09-13 自然言語処理装置、およびプログラム Expired - Fee Related JP4971732B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006247525A JP4971732B2 (ja) 2006-09-13 2006-09-13 自然言語処理装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006247525A JP4971732B2 (ja) 2006-09-13 2006-09-13 自然言語処理装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008071001A true JP2008071001A (ja) 2008-03-27
JP4971732B2 JP4971732B2 (ja) 2012-07-11

Family

ID=39292546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006247525A Expired - Fee Related JP4971732B2 (ja) 2006-09-13 2006-09-13 自然言語処理装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP4971732B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017058804A (ja) * 2015-09-15 2017-03-23 株式会社東芝 検出装置、方法およびプログラム
CN110414763A (zh) * 2018-04-26 2019-11-05 松下电器(美国)知识产权公司 人才选择装置、人才选择系统、人才选择方法及程序

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05298353A (ja) * 1992-04-20 1993-11-12 Ricoh Co Ltd 日本語形態素解析方法及びその装置
JPH09251460A (ja) * 1996-03-18 1997-09-22 Toshiba Corp 自然言語処理方法および自然言語処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05298353A (ja) * 1992-04-20 1993-11-12 Ricoh Co Ltd 日本語形態素解析方法及びその装置
JPH09251460A (ja) * 1996-03-18 1997-09-22 Toshiba Corp 自然言語処理方法および自然言語処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017058804A (ja) * 2015-09-15 2017-03-23 株式会社東芝 検出装置、方法およびプログラム
CN110414763A (zh) * 2018-04-26 2019-11-05 松下电器(美国)知识产权公司 人才选择装置、人才选择系统、人才选择方法及程序

Also Published As

Publication number Publication date
JP4971732B2 (ja) 2012-07-11

Similar Documents

Publication Publication Date Title
JP4635659B2 (ja) 質問応答システム、およびデータ検索方法、並びにコンピュータ・プログラム
US9075793B2 (en) System and method of providing autocomplete recommended word which interoperate with plurality of languages
JP2008287406A (ja) 情報処理装置および情報処理方法、プログラム、並びに、記録媒体
JP2017199363A (ja) 機械翻訳装置及び機械翻訳のためのコンピュータプログラム
JP3372532B2 (ja) 感情情報抽出方法および感情情報抽出プログラムの計算機読み取り可能な記録媒体
US7684975B2 (en) Morphological analyzer, natural language processor, morphological analysis method and program
JP5697648B2 (ja) 単語分割装置、単語分割用辞書のデータ構造、単語分割方法、およびプログラム
JP2009205357A (ja) 中国語の品詞を判定する装置、方法およびプログラム
JP4971732B2 (ja) 自然言語処理装置、およびプログラム
JP5272764B2 (ja) 音声合成装置、音声合成方法及びコンピュータプログラム
JP6805927B2 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP4476609B2 (ja) 中国語解析装置、中国語解析方法および中国語解析プログラム
Kumolalo et al. Development of a syllabicator for Yorùbá language
JP2019053262A (ja) 学習システム
JP6607482B2 (ja) 構文解析装置、学習装置、機械翻訳装置、およびプログラム
JP2019121164A (ja) 文書作成装置、文書作成方法、データベース構築装置、データベース構築方法、およびプログラム
JP2007206796A (ja) 文字処理装置、方法、プログラムおよび記録媒体
JP6838471B2 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP2007018462A (ja) 機械翻訳装置、およびプログラム
JP6114090B2 (ja) 機械翻訳装置、機械翻訳方法およびプログラム
JP5621145B2 (ja) 文書チェック装置、文書チェックプログラムおよび文書チェック方法
JP2009169113A (ja) 言語モデル作成装置、言語モデル作成方法および言語モデル作成プログラム
JP2005157823A (ja) 知識ベースシステム、および同システムにおける単語間の意味関係判別方法、ならびにそのコンピュータプログラム
JP2019109424A (ja) 計算機、言語解析方法、及びプログラム
JP2010117832A (ja) 関係情報抽出装置、その方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111014

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120328

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120406

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees