以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、文章に含まれる化合物名を特定するコンピュータである。文章は、一文または複数文である。一文は、例えば、句点で区切られた文である。情報処理装置100は、例えば、サーバ、PC(Personal Computer)、タブレット端末、または、スマートフォンなどである。
ここで、文章に含まれる化合物名を特定することができれば、人間が文章を読解しやすくしたり、コンピュータが文章を解析しやすくしたりすることが可能になる。
例えば、化学分野の特許文献や技術論文などの技術文書を表示する際に、技術文書に含まれる化合物名を色分けして表示することにより、人間が、技術文書に含まれる化合物名を認識しやすくすることが考えられる。また、例えば、技術文書を表示する際に、化合物名を表示する位置に対応付けて、化合物名が示す化合物の化学式、機能、性質、および、用途などの情報へのリンクを表示することにより、人間が、化合物の性質を理解しやすくすることが考えられる。
また、例えば、コンピュータが、技術文書に含まれる化合物名を特定し、技術文書における化合物名の出現頻度を計測することにより、化合物名をキーワードとした情報検索を可能にしたり、技術文書の要約文の自動作成を可能にしたりすることが考えられる。また、例えば、コンピュータが、技術文書から、化合物名が示す化合物の化学式、機能、性質、および、用途などの情報を抽出することにより、化合物に関するデータベースの自動作成を可能にすることが考えられる。
このため、文章に含まれる化合物名を精度よく特定することが望まれる。
これに対し、例えば、化合物名を予め辞書に登録しておき、文章に含まれる文字列と辞書に登録された化合物名とのマッチングにより、文章に含まれる化合物名を特定することが考えられるが、辞書に登録されていない化合物名を特定することができない。また、時間経過に伴い、新たな化合物が生成または発見され、化合物名となる文字列の数は増加していくため、予め辞書に化合物名を登録しておくことが難しい。
また、例えば、日本語の文章では、化合物名が、カタカナ、アルファベット、数字、記号、および、一部の漢字などの特定の文字により記述されるため、特定の文字が連続する文字列を、化合物名として特定することが考えられる。しかしながら、この場合でも、化合物名を特定することは難しい。具体的には、文章に化合物名「ひ酸O,O-ジメチル」が含まれる場合、文字「ひ」はひらがなであるため、化合物名の要素として判断されず、文字列「酸O,O-ジメチル」を化合物名として誤って特定してしまう。また、具体的には、文章に化合物名「りんご酸」が含まれる場合も、同様に、化合物名「りんご酸」を特定することができない。
また、例えば、化合物名に用いられる特定の文字として、カタカナ、アルファベット、数字、記号、および、一部の漢字などのほか、ひらがなも含むようにして、特定の文字が連続する文字列を、化合物名として特定することが考えられる。しかしながら、この場合でも、化合物名を特定することは難しい。具体的には、文章が「●●としてはリン酸である」であり、化合物名「リン酸」の直前に助詞「は」などのひらがながあると、文字列「はリン酸」を化合物名として誤って特定してしまうことがある。
また、例えば、化合物名に用いられるひらがな文字列「りんご」などを辞書に登録しておき、予め文章に含まれるひらがな文字列「りんご」をカタカナ変換してから、ひらがなを含まない特定の文字が連続する文字列を、化合物名として特定することが考えられる。しかしながら、この場合でも、辞書に登録されていないひらがな文字列が文章に含まれると、化合物名を特定することができない。また、文字列「はリン酸」を化合物名として誤って特定しないように、ひらがな1文字を辞書に登録することはできないため、先頭からひらがな1文字で始まる化合物名を特定することができない。
また、文章を形態素解析した結果に基づき、機械学習や統計量を用いて、意味のある単語列、文字列、または、品詞列を特定することにより、化合物名を特定することが考えられる。しかしながら、この場合でも、化合物名には、数字、記号、未知語が混在して含まれるため、意味のある単語列、文字列、または、品詞列として特定することが難しく、化合物名を特定することができない。
また、化合物名に用いられる文字の種類は数百種類以上あり、かつ、化合物名に用いられる文字には文章に出現する頻度が低い文字が含まれるため、機械学習により、化合物名を漏れなく特定するルールを作成することが難しい。
そこで、本実施の形態では、文章に含まれる化合物名に特有な文字や文字列を特定してダミー文字列に置換してから形態素解析することにより、化合物名に対応すると判断される、ダミー文字列を含むひと纏まりの文字列を抽出する情報処理方法について説明する。これによれば、情報処理方法は、文章に含まれる化合物名を精度よく特定することができる。
図1において、情報処理装置100は、文章を取得する。文章は、例えば、「・・・あるいはひ酸ナトリウムを用いた・・・」である。情報処理装置100は、例えば、利用者の操作入力に基づいて、文章を入力される。情報処理装置100は、例えば、他の装置から文章を受信してもよい。情報処理装置100が文章を取得する具体例は、例えば、図8を用いて後述する。
情報処理装置100は、取得した文章に含まれる、化合物名に特有な文字または文字列を特定する。情報処理装置100は、例えば、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、化合物名に特有な文字「酸」および文字列「ナトリウム」を特定する。情報処理装置100が化合物名に特有な文字または文字列を特定する具体例は、例えば、図9を用いて後述する。
情報処理装置100は、文章に含まれる、特定した文字または文字列を、特定した文字または文字列の特徴を表すダミー文字列に置換する。ダミー文字列は、文章に出現する確率が低い文字列であることが好ましい。ダミー文字列は、文章に出現する確率が低ければ特定の1文字であってもよい。情報処理装置100は、例えば、化合物名に特有な文字「酸」および文字列「ナトリウム」を、それぞれ、ダミー文字列「[語尾1]」および「[本体1]」に置換する。情報処理装置100がダミー文字列に置換する具体例は、例えば、図9を用いて後述する。
情報処理装置100は、置換後の文章を形態素解析した結果に基づいて、置換後の文章に含まれる、ダミー文字列と連結する文字または文字列と、ダミー文字列とを含む文字列を抽出する。情報処理装置100は、例えば、置換後の文章「・・・あるいはひ[語尾1][本体1]を用いた・・・」を形態素解析する。そして、情報処理装置100は、形態素解析した結果に基づいて、ダミー文字列「[語尾1]」と連結する文字「ひ」と、ダミー文字列「[語尾1]」および「[本体1]」とを含む文字列「ひ[語尾1][本体1]」を抽出する。情報処理装置100がダミー文字列を含む文字列を抽出する具体例は、例えば、図10を用いて後述する。
情報処理装置100は、抽出した文字列に含まれるダミー文字列を、特定した文字または文字列に置換し直した置換後の文字列を生成する。情報処理装置100は、文字列「ひ[語尾1][本体1]」に含まれるダミー文字列「[語尾1]」および「[本体1]」を、それぞれ、文字「酸」および文字列「ナトリウム」に置換し直した文字列「ひ酸ナトリウム」を生成する。情報処理装置100が置換後の文字列を生成する具体例は、例えば、図11を用いて後述する。
これにより、情報処理装置100は、文章に含まれる化合物名を精度よく特定することができる。情報処理装置100は、例えば、予め化合物名を記憶していなくても、文章に含まれる化合物名を特定することができる。情報処理装置100は、例えば、形態素解析のみにより化合物名を特定する場合よりも、化合物名を精度よく特定することができる。情報処理装置100は、具体的には、化合物名に、数字、記号、未知語が混在して含まれていても、化合物名を特定することができる。
情報処理装置100は、例えば、特定の文字が連続する文字列をそのまま化合物名として特定する場合よりも、化合物名を精度よく特定することができる。情報処理装置100は、具体的には、化合物名に含まれる頻度が低い文字を含む化合物名を特定することができる。化合物名に含まれる頻度が低い文字は、例えば、ひらがな、および、仁や奮や役などの漢字である。情報処理装置100は、具体的には、ひらがなを含む化合物名を特定することができる。
より具体的には、従来では、文章に含まれる化合物名の先頭にひらがながあると、化合物名から先頭のひらがなを除いた文字列が、化合物名として誤って特定してしまうことがある。また、従来では、文章に含まれる化合物名の真ん中に仁や奮や役などの漢字があると、化合物名となる文字列を仁や奮や役などの漢字で分断した2つの文字列を、それぞれ、化合物名として特定してしまうことがある。これに対し、情報処理装置100は、化合物名のうちいずれの位置に、ひらがな、または、仁や奮や役などの漢字があっても、化合物名を特定することができる。
情報処理装置100は、さらに、生成した置換後の文字列が化合物名であるか否かを判定してもよい。情報処理装置100は、例えば、分類器により、生成した置換後の文字列が化合物名であるか否かを判定する。分類器は、例えば、機械学習により作成される。分類器は、具体的には、化合物名の一部の文字列やn-gramを特徴素として用いた機械学習により作成される。これにより、情報処理装置100は、文章に含まれる化合物名をさらに精度よく特定することができる。
ここでは、情報処理装置100が、情報処理方法を実現する一連の処理を実行する場合について説明したが、これに限らない。例えば、文章に含まれる文字または文字列をダミー文字列に置換する装置と、置換後の文章からダミー文字列を含む文字列を抽出した後にダミー文字列を置換前に戻す装置とが協働して、情報処理方法を実現する場合があってもよい。
(情報処理装置100のハードウェア構成例)
次に、図2を用いて、図1に示した情報処理装置100のハードウェア構成例について説明する。
図2は、情報処理装置100のハードウェア構成例を示すブロック図である。図2において、情報処理装置100は、CPU(Central Processing Unit)201と、メモリ202と、ネットワークI/F(Interface)203と、記録媒体I/F204と、記録媒体205とを有する。また、各構成部は、バス200によってそれぞれ接続される。
ここで、CPU201は、情報処理装置100の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。メモリ202は、例えば、図3~図6に後述する各種テーブルを記憶する。
ネットワークI/F203は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F203は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F203には、例えば、モデムやLAN(Local Area Network)アダプタなどを採用することができる。
記録媒体I/F204は、CPU201の制御に従って記録媒体205に対するデータのリード/ライトを制御する。記録媒体I/F204は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体205は、記録媒体I/F204の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体205は、例えば、図3~図6に後述する各種テーブルを記憶してもよい。記録媒体205は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体205は、情報処理装置100から着脱可能であってもよい。
情報処理装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F204や記録媒体205を複数有していてもよい。また、情報処理装置100は、記録媒体I/F204や記録媒体205を有していなくてもよい。
(特定テーブル300の記憶内容)
次に、図3を用いて、特定テーブル300の記憶内容の一例について説明する。特定テーブル300は、例えば、図2に示した情報処理装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図3は、特定テーブル300の記憶内容の一例を示す説明図である。図3に示すように、特定テーブル300は、グループと、特定ルールとのフィールドを有する。特定テーブル300は、各フィールドに情報を設定することにより、文章に含まれる化合物名に特有な文字または文字列を特定するための特定ルールがレコードとして記憶される。
グループのフィールドには、化合物名に含まれる文字が属するグループを識別する識別情報が設定される。グループは、例えば、グループ1やグループ2である。グループ1は、例えば、化合物名または化合物名の部分構造として出現する頻度が一定以上に高いと判断されるカタカナ、アルファベット、数字、および、記号などが属する。グループ2は、例えば、化合物名または化合物名の部分構造の語尾となる文字が属する。特定ルールのフィールドには、文章に含まれる、グループに属する文字、または、グループに属する文字が連続する文字列を特定するための特定ルールが設定される。特定ルールは、例えば、正規表現により表現される。グループ1に対応する特定ルールは、例えば、「[ァ-ヴ a-z A-Z ・・・ 0-9]+」である。グループ2に対応する特定ルールは、例えば、「[酸 素 塩 ・・・ 物]」である。
特定ルールは、文字数を制限するように表現されてもよい。グループ2に対応する特定ルールは、直前および直後に漢字を含まないように表現されてもよく「食塩」の「塩」や「物体」の「物」などが、化合物名に特有な文字または文字列として特定されないようにしてもよい。また、上述した特定ルールに用いられる文字は、一例であり、いずれかの文字が用いられなくてもよいし、他の文字が用いられてもよい。
特定テーブル300は、グループ1およびグループ2とは異なるグループに属する文字、または、グループ1およびグループ2とは異なるグループに属する文字が連続する文字列を特定するための特定ルールを記憶してもよい。特定テーブル300は、グループ1に対応する特定ルールと、グループ2に対応する特定ルールとのうちいずれかを記憶していない場合があってもよい。ここでは、特定ルールが正規表現により表現される場合について説明したが、これに限らない。特定ルールが正規表現以外により表現される場合があってもよい。
(置換テーブル400の記憶内容)
次に、図4を用いて、置換テーブル400の記憶内容の一例について説明する。置換テーブル400は、例えば、図2に示した情報処理装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図4は、置換テーブル400の記憶内容の一例を示す説明図である。図4に示すように、置換テーブル400は、ダミー文字列と、元の文字列とのフィールドを有する。置換テーブル400は、化合物名に特有な文字または文字列ごとに各フィールドに情報を設定することにより、置換情報がレコードとして記憶される。
ダミー文字列のフィールドには、特定ルールにより特定された化合物名に特有な文字または文字列を置換したダミー文字列が設定される。グループ1に対応する特定ルールにより特定された化合物名に特有な文字または文字列を置換したダミー文字列は、「[本体i](i=1,2,・・・,n)」である。iは、置換する文字列ごとに異なる値が割り振られる。グループ2に対応する特定ルールにより特定された化合物名に特有な文字または文字列を置換したダミー文字列は、「[語尾i](i=1,2,・・・,n)」である。iは、置換する文字列ごとに異なる値が割り振られる。元の文字列のフィールドには、ダミー文字列に置換する文字列であり、特定ルールにより特定された化合物名に特有な文字または文字列が設定される。
(品詞テーブル500の記憶内容)
次に、図5を用いて、品詞テーブル500の記憶内容の一例について説明する。品詞テーブル500は、例えば、図2に示した情報処理装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図5は、品詞テーブル500の記憶内容の一例を示す説明図である。図5に示すように、品詞テーブル500は、文字列と、品詞とのフィールドを有する。品詞テーブル500は、文字列ごとに各フィールドに情報を設定することにより、形態素解析結果がレコードとして記憶される。
文字列のフィールドには、形態素となる文字または文字列が設定される。品詞のフィールドには、文字列の品詞が設定される。ダミー文字列「[本体i]」および「[語尾i]」は、形態素として扱われ、それぞれ、本体および語尾を品詞として扱われる。
(テキストテーブル600の記憶内容)
次に、図6を用いて、テキストテーブル600の記憶内容の一例について説明する。テキストテーブル600は、例えば、図2に示した情報処理装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図6は、テキストテーブル600の記憶内容の一例を示す説明図である。図6に示すように、テキストテーブル600は、処理フェーズと、テキストデータとのフィールドを有する。テキストテーブル600は、各フィールドに情報を設定することにより、処理フェーズごとのテキストデータがレコードとして記憶される。
処理フェーズのフィールドには、テキストデータの属する処理フェーズが設定される。処理フェーズは、例えば、元文書、置き換え後、タグ付け後、復元後、および、抽出結果である。テキストデータのフィールドには、処理フェーズにおけるテキストデータが設定される。
(情報処理装置100の機能的構成例)
次に、図7を用いて、情報処理装置100の機能的構成例について説明する。
図7は、情報処理装置100の機能的構成例を示すブロック図である。図7において、情報処理装置100は、記憶部700と、読込部701と、パターン抽出部702と、ダミー置換部703と、形態素解析部704と、候補文字列抽出部705と、ダミー復元部706と、選別部707と、出力部708とを含む。
記憶部700は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域によって実現される。以下では、記憶部700が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部700が、情報処理装置100とは異なる装置に含まれ、記憶部700の記憶内容が情報処理装置100から参照可能である場合があってもよい。
読込部701~出力部708は、制御部710の一例として機能する。読込部701~出力部708は、具体的には、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、ネットワークI/F203により、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶される。
記憶部700は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部700は、文章に含まれる化合物名に特有な文字または文字列を特定するための特定ルールを記憶する。記憶部700は、文章に含まれる文字または文字列を置換したダミー文字列と、元の文字または文字列とを対応付けて記憶する。記憶部700は、形態素解析ルールを記憶する。形態素解析ルールは、ダミー文字列を1つの形態素として解析するためのルールを含む。記憶部700は、形態素解析結果として、置換後の文章に含まれる形態素と、形態素の品詞とを対応付けて記憶する。
記憶部700は、化合物名を含みうる文章を記憶する。記憶部700は、文章に含まれる文字または文字列をダミー文字列に置換した置換後の文章を記憶する。記憶部700は、置換後の文章に含まれる、ダミー文字列を含み化合物名の候補となる候補文字列の位置を特定する情報を記憶する。記憶部700は、候補文字列に含まれるダミー文字列を、元の文字列に置換し直した置換後の文字列を記憶する。記憶部700は、元の文章に含まれる、置換後の文字列の位置を特定する情報を記憶する。記憶部700は、具体的には、図3~図6に示した各種テーブルを記憶する。記憶部700は、化合物名に対応付けて、化合物名が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報を記憶してもよい。
読込部701は、文章を読み込む。読込部701は、例えば、文章「・・・あるいはひ酸ナトリウムを用いた・・・」を読み込む。読込部701は、具体的には、利用者の操作入力に基づいて、文章を読み込む。読込部701は、具体的には、他の装置から文章を受信してもよい。読込部701は、読み込んだ文章を、図6に示したテキストテーブル600を用いて記憶する。読込部701は、より具体的には、図8に後述するように、文章を読み込む。
パターン抽出部702は、文章に含まれる、化合物名に特有な文字または文字列を特定する。パターン抽出部702は、例えば、特定テーブル300に記憶された特定ルールに基づいて、グループ1に属する文字が連続する文字列を、本体に対応する文字列として特定する。グループ1は、例えば、化合物名または化合物名の部分構造として出現する頻度が一定以上に高いと判断されるカタカナ、アルファベット、数字、および、記号などが属する。パターン抽出部702は、具体的には、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ1に属する文字が連続する文字列「ナトリウム」を特定する。
パターン抽出部702は、例えば、特定テーブル300に記憶された特定ルールに基づいて、グループ2に属する文字を、語尾に対応する文字として特定する。グループ2は、例えば、化合物名または化合物名の部分構造の語尾となる文字が属する。グループ2は、具体的には、酸、素、塩、および、物などの文字が属する。パターン抽出部702は、具体的には、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ2に属する文字「酸」を特定する。パターン抽出部702は、より具体的には、図9に後述するように、化合物名に特有な文字または文字列を特定する。
これにより、パターン抽出部702は、形態素解析だけでは特定することが難しい化合物名に特有な文字または文字列を特定することができる。パターン抽出部702は、例えば、カタカナ、アルファベット、数字、および、記号などが混在して含まれ、形態素解析だけではひと纏まりの文字列として扱うことが難しい文字列を特定することができる。パターン抽出部702は、化合物名を特定する指標になる、化合物名に出現しやすい語尾となる文字を特定することができる。
ダミー置換部703は、文章に含まれる、特定した文字または文字列を、特定した文字または文字列の特徴を表すダミー文字列に置換する。ダミー置換部703は、例えば、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、特定した化合物名に特有な文字「酸」および文字列「ナトリウム」を、それぞれ、ダミー文字列「[語尾1]」および「[本体1]」に置換する。置換後の文章は、「・・・あるいはひ[語尾1][本体1]を用いた・・・」である。
ダミー置換部703は、置換したダミー文字列と、元の文字列とを対応付けて、図4に示した置換テーブル400を用いて記憶する。また、ダミー置換部703は、置換後の文章を、図6に示したテキストテーブル600を用いて記憶する。ダミー置換部703は、より具体的には、図9に後述するように、文章に含まれる文字または文字列を、ダミー文字列に置換する。
これにより、ダミー置換部703は、元の文章を形態素解析した場合のように、化合物名になりうるひと纏まりの文字列に、様々な品詞の形態素が混在して含まれてしまう確率を低減し、化合物名になりうるひと纏まりの文字列を特定しやすくすることができる。また、ダミー置換部703は、ダミー文字列にすれば1つの形態素として扱うことができる文字列を、複数の形態素に分けてしまうことを防止し、化合物名になりうるひと纏まりの文字列を特定しやすくすることができる。また、ダミー置換部703は、ダミー文字列を1つの形態素として扱うため、置換前の文字列を形態素解析した場合に比べて、形態素解析にかかる作業量の低減化を図ることができる。
形態素解析部704は、文章に含まれる文字または文字列をダミー文字列に置換した置換後の文章を形態素解析する。形態素解析部704は、例えば、記憶部700に記憶された形態素解析ルールに基づいて、置換後の文章「・・・あるいはひ[語尾1][本体1]を用いた・・・」を形態素解析する。形態素解析部704は、ダミー文字列を1つの形態素として解析する。
形態素解析部704は、例えば、形態素「ひ」の品詞が「未知語」であり、形態素「[語尾1]」の品詞が「語尾」であり、形態素「[本体1]」の品詞が「本体」であると解析する。形態素解析部704は、例えば、形態素「あるいは」の品詞が「接続詞」であり、形態素「を」の品詞が「助詞」であり、形態素「用い」の品詞が「動詞」であると解析する。
形態素解析部704は、形態素解析した結果として、形態素と、形態素の品詞とを対応付けて、図5に示した品詞テーブル500を用いて記憶する。形態素解析部704は、より具体的には、図10に後述するように、置換後の文章を形態素解析する。これにより、形態素解析部704は、特定した文字列を、複数の形態素に分けてしまうことを防止することができる。
候補文字列抽出部705は、置換後の文章を形態素解析した結果に基づいて、置換後の文章に含まれる、ダミー文字列と連結する文字または文字列と、ダミー文字列とを含み、化合物名の候補となる候補文字列を抽出する。候補文字列抽出部705は、形態素解析した結果に基づいて、ダミー文字列「[語尾1]」と連結する文字「ひ」と、ダミー文字列「[語尾1]」および「[本体1]」とを含む候補文字列「ひ[語尾1][本体1]」を抽出する。候補文字列抽出部705は、置換後の文章に含まれる、候補文字列の位置を特定する情報を、図6に示したテキストテーブル600を用いて記憶する。候補文字列抽出部705は、より具体的には、図10に後述するように候補文字列を抽出する。
これにより、候補文字列抽出部705は、ひらがななどの未知語を含む文字列も、候補文字列として抽出することができる。また、候補文字列抽出部705は、様々な品詞の形態素が混在する文字列も、ダミー文字列に置換してあるため、様々な品詞の形態素が混在する文字列をひと纏まりとして扱いやすく、候補文字列を精度よく抽出することができる。
ダミー復元部706は、抽出した文字列に含まれるダミー文字列を、特定した文字または文字列に置換し直した置換後の文字列を生成する。置換後の文字列は、化合物名になりうる文字列である。ダミー復元部706は、文字列「ひ[語尾1][本体1]」に含まれるダミー文字列「[語尾1]」および「[本体1]」を、それぞれ、文字「酸」および文字列「ナトリウム」に置換し直した置換後の文字列「ひ酸ナトリウム」を生成する。
ダミー復元部706は、元の文章に含まれる、置換後の文字列の位置を特定する情報を、図6に示したテキストテーブル600を用いて記憶する。ダミー復元部706は、置換後の文字列を、図6に示したテキストテーブル600を用いて記憶する。ダミー復元部706は、より具体的には、図11に後述するように、置換後の文字列を生成する。これにより、ダミー復元部706は、化合物名を精度よく特定することができる。
選別部707は、生成した置換後の文字列が化合物名であるか否かを判定する。選別部707は、例えば、分類器により、生成した置換後の文字列が化合物名であるか否かを判定する。分類器は、例えば、機械学習により作成される。分類器は、具体的には、化合物名の一部の文字列やn-gramを特徴素として用いた機械学習により作成される。選別部707は、より具体的には、図11に示すように、化合物名であるか否かを判定する。選別部707が、化合物名であるか否かを判定せず、ダミー復元部706が生成した文字列をそのまま化合物名として扱う場合があってもよい。これにより、選別部707は、文章に含まれる化合物名をさらに精度よく特定することができる。
出力部708は、置換後の文字列を化合物名として出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F203による外部装置への送信、または、メモリ202や記録媒体205などの記憶領域への記憶である。出力部708は、例えば、置換後の文字列を化合物名として、メモリ202や記録媒体205などの記憶領域に記憶する。これにより、出力部708は、1以上の文章の中から特定の化合物名が出現する文章を特定可能にすることができ、化合物名をキーワードとした情報検索を可能にすることができる。また、出力部708は、1以上の文章における化合物名の出現頻度を計測可能にすることができ、文章についての要約文の自動作成を可能にすることができる。
出力部708は、元の文章に含まれる置換後の文字列を特定可能にする情報を、文章に付与して出力する。出力部708は、例えば、元の文章に含まれる、置換後の文字列の位置を特定する情報を、ディスプレイに表示する。出力部708は、具体的には、元の文章に含まれる置換後の文字列にタグ付けし、タグ付けした元の文章を、ディスプレイに表示する。また、出力部708は、具体的には、元の文章に含まれる置換後の文字列の表示態様を、他の文字列とは異なる表示態様にして、元の文章をディスプレイに表示してもよい。これにより、出力部708は、利用者が、文章に含まれる化合物名を認識しやすくすることができる。
また、出力部708は、例えば、元の文章に含まれる置換後の文字列を特定可能にする情報を、元の文章に付与して、メモリ202や記録媒体205などの記憶領域に記憶する。出力部708は、具体的には、元の文章に含まれる置換後の文字列にタグ付けし、タグ付けした元の文章を、メモリ202や記録媒体205などの記憶領域に記憶する。これにより、出力部708は、タグを参照しながら、文章から化合物名が示す化合物の化学式、機能、性質、および、用途などの情報を抽出しやすくすることができ、化合物に関するデータベースの自動作成を可能にすることができる。
出力部708は、記憶部700を参照し、置換後の文字列をキーワードとして、置換後の文字列が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報を、ディスプレイに表示する。出力部708は、具体的には、元の文章に含まれる置換後の文字列に、置換後の文字列が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報へのリンクを対応付けて、元の文章をディスプレイに表示する。これにより、出力部708は、利用者が、化合物の性質を理解しやすくし、文章を理解しやすくすることができる。
出力部708は、置換後の文字列が選別部707により化合物名であると判定された場合には、上述したような動作を行い、置換後の文字列が選別部707により化合物名ではないと判定された場合には上述したような動作を行わない場合があってもよい。出力部708は、各機能部の処理結果を出力してもよい。これにより、出力部708は、各機能部の処理結果を利用者に通知可能にし、情報処理装置100の管理や運用、例えば、情報処理装置100の設定値の更新などを支援することができ、情報処理装置100の利便性の向上を図ることができる。
(情報処理装置100の動作例)
次に、図8~図12を用いて、情報処理装置100の動作例について説明する。
図8~図12は、情報処理装置100の動作例を示す説明図である。図8において、情報処理装置100は、文章「・・・あるいはひ酸ナトリウムを用いた・・・」を示すテキストデータを読み込む。情報処理装置100は、読み込んだテキストデータ800が示す文章「・・・あるいはひ酸ナトリウムを用いた・・・」を、テキストテーブル600の「元文書」に対応付けて記憶する。次に、図9の説明に移行する。
図9において、情報処理装置100は、特定テーブル300から、グループ1に対応する特定ルール「[ァ-ヴ a-z A-Z ・・・ 0-9]+」を取得する。情報処理装置100は、特定ルール「[ァ-ヴ a-z A-Z ・・・ 0-9]+」に基づいて、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、カタカナが連続する文字列「ナトリウム」を特定する。
また、情報処理装置100は、特定テーブル300から、グループ2に対応する特定ルール「[酸 素 塩 ・・・ 物]」を取得する。情報処理装置100は、特定ルール「[酸 素 塩 ・・・ 物]」に基づいて、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ2に属する特定の文字「酸」を特定する。
これにより、情報処理装置100は、化合物名に特有な文字または文字列を特定することができる。情報処理装置100は、例えば、カタカナ、アルファベット、数字、および、記号などが混在して含まれ、形態素解析ではひと纏まりの文字列として扱うことが難しい文字列を特定することができる。また、情報処理装置100は、化合物名を特定する指標になる、化合物名に出現しやすい語尾となる文字を特定することができる。
ここでは、情報処理装置100が、グループ1に対応する特定ルールと、グループ2に対応する特定ルールとを取得する場合について説明したが、これに限らない。例えば、情報処理装置100が、グループ1に対応する特定ルールと、グループ2に対応する特定ルールとのうちいずれか一方を取得する場合があってもよい。
情報処理装置100は、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ2に属する特定の文字ごとに、ダミー文字列「[語尾i]」に置換する。iは、特定の文字ごとに異なる値が割り振られる。図9の例では、情報処理装置100は、グループ2に属する特定の文字「酸」を、ダミー文字列「[語尾1]」に置換する。これにより、情報処理装置100は、語尾になる文字を、語尾になるという特徴が現れたダミー文字列「[語尾1]」に置換することができる。このため、情報処理装置100は、形態素解析において、ダミー文字列「[語尾1]」の品詞を「語尾」として扱い、化合物名になりうるひと纏まりの文字列を特定しやすくすることができる。
ここで、情報処理装置100は、ダミー文字列「[語尾1]」と、ダミー文字列に置換した文字「酸」とを対応付けて、置換テーブル400を用いて記憶する。これにより、情報処理装置100は、ダミー文字列「[語尾1]」を、文字「酸」に復元可能にすることができる。
情報処理装置100は、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ1に属する特定の文字が連続する文字列ごとに、ダミー文字列「[本体i]」に置換する。iは、文字列ごとに異なる値が割り振られる。図9の例では、情報処理装置100は、グループ1に属する特定の文字が連続する文字列「ナトリウム」を、ダミー文字列「[本体1]」に置換する。これにより、情報処理装置100は、様々な品詞の形態素が混在して含まれる文字列を、形態素解析において1つの形態素として扱うことを可能にすることができる。このため、情報処理装置100は、化合物名になりうるひと纏まりの文字列を特定しやすくすることができる。
ここで、情報処理装置100は、ダミー文字列「[本体1]」と、ダミー文字列に置換した文字「ナトリウム」とを対応付けて、置換テーブル400を用いて記憶する。これにより、情報処理装置100は、ダミー文字列「[本体1]」を、文字列「ナトリウム」に復元可能にすることができる。
置換後の文章は、「・・・あるいはひ[語尾1][本体1]を用いた・・・」である。情報処理装置100は、置換後の文章「・・・あるいはひ[語尾1][本体1]を用いた・・・」を示すテキストデータを、テキストテーブル600の「置き換え後」に対応付けて記憶する。これにより、情報処理装置100は、元の文章と、置換後の文章と併せて記憶しておくことができる。次に、図10の説明に移行する。
図10において、情報処理装置100は、置換後の文章「・・・あるいはひ[語尾1][本体1]を用いた・・・」を形態素解析する。ここで、情報処理装置100は、ダミー文字列を1つの形態素として解析する。図10の例では、情報処理装置100は、形態素「あるいは」の品詞が「接続詞」であると解析する。また、情報処理装置100は、形態素「ひ」の品詞が「未知語」であり、形態素「[語尾1]」の品詞が「語尾」であり、形態素「[本体1]」の品詞が「本体」であると解析する。また、情報処理装置100は、形態素「を」の品詞が「助詞」であり、形態素「用い」の品詞が「動詞」であり、形態素「た」の品詞が「活用語尾」であると解析する。
情報処理装置100は、形態素と、形態素の品詞とを対応付けて、品詞テーブル500を用いて記憶する。情報処理装置100は、品詞テーブル500に基づいて、置換後の文章「・・・あるいはひ[語尾1][本体1]を用いた・・・」に含まれる、化合物名の候補となる候補文字列を抽出する。候補文字列は、ダミー文字列と連結する文字または文字列と、ダミー文字列とを含む文字列である。候補文字列は、ダミー文字列であってもよい。
図10の例では、情報処理装置100は、置換後の文章「・・・あるいはひ[語尾1][本体1]を用いた・・・」に含まれる形態素を順に取得する。まず、情報処理装置100は、形態素「あるいは」を取得する。次に、情報処理装置100は、形態素「あるいは」の次にある形態素「ひ」の品詞を取得する。そして、情報処理装置100は、形態素「あるいは」の品詞「接続詞」と、形態素「ひ」の品詞「未知語」とを取得する。情報処理装置100は、取得した品詞に基づいて、形態素「あるいは」と、形態素「あるいは」の次にある形態素「ひ」とが連結するか否かを判定する。ここでは、情報処理装置100は、連結しないと判定する。
次に、情報処理装置100は、形態素「ひ」の次にある形態素「[語尾1]」を取得する。そして、情報処理装置100は、形態素「ひ」の品詞「未知語」と、形態素「[語尾1]」の品詞「語尾」とを取得する。情報処理装置100は、取得した品詞に基づいて、形態素「ひ」と、形態素「ひ」の次にある形態素「[語尾1]」とが連結するか否かを判定する。ここでは、情報処理装置100は、形態素「[語尾1]」の品詞が「語尾」であるため、連結すると判定する。情報処理装置100は、連結すると判定した場合、形態素「ひ」と形態素「[語尾1]」とを連結した文字列「ひ[語尾1]」を、新たな形態素として扱う。
次に、情報処理装置100は、形態素「ひ[語尾1]」の次にある形態素「[本体1]」を取得する。そして、情報処理装置100は、形態素「ひ[語尾1]」に含まれる形態素「ひ」の品詞「未知語」および形態素「[語尾1]」の品詞「語尾」と、形態素「[本体1]」の品詞「本体」とを取得する。情報処理装置100は、取得した品詞に基づいて、形態素「ひ[語尾1]」と、形態素「ひ[語尾1]」の次にある形態素「[本体1]」とが連結するか否かを判定する。ここでは、情報処理装置100は、形態素「[本体1]」の品詞が「本体」であるため、連結すると判定する。情報処理装置100は、連結すると判定した場合、形態素「ひ[語尾1]」と形態素「[本体1]」とを連結した文字列「ひ[語尾1][本体1]」を、新たな形態素として扱う。
次に、情報処理装置100は、形態素「ひ[語尾1][本体1]」の次にある形態素「を」を取得する。そして、情報処理装置100は、形態素「ひ[語尾1]」に含まれる形態素「ひ」の品詞「未知語」、形態素「[語尾1]」の品詞「語尾」、および、形態素「[本体1]」の品詞「本体」と、形態素「を」の品詞「助詞」とを取得する。情報処理装置100は、取得した品詞に基づいて、形態素「ひ[語尾1][本体1]」と、形態素「ひ[語尾1][本体1]」の次にある形態素「を」とが連結するか否かを判定する。ここでは、情報処理装置100は、形態素「を」の品詞が「助詞」であるため、連結しないと判定する。
情報処理装置100は、同様に、形態素「用い」や形態素「た」が連結しないと判定する。結果として、情報処理装置100は、形態素「ひ[語尾1][本体1]」を、化合物名の候補となる候補文字列「ひ[語尾1][本体1]」として抽出する。情報処理装置100は、より具体的には、図14に示す抽出処理により、候補文字列を抽出する。
情報処理装置100は、置換後の文章「・・・あるいはひ[語尾1][本体1]を用いた・・・」に含まれる、候補文字列「ひ[語尾1][本体1]」に、タグ「<c>」およびタグ「</c>」を付与し、候補文字列を特定可能にする。タグ付けした文章は、「・・・あるいは<c>ひ[語尾1][本体1]</c>を用いた・・・」である。情報処理装置100は、タグ付けした文章「・・・あるいは<c>ひ[語尾1][本体1]</c>を用いた・・・」を、テキストテーブル600の「タグ付け後」に対応付けて記憶する。
これにより、情報処理装置100は、ひらがななどの未知語を含む文字列も、候補文字列として抽出することができる。また、情報処理装置100は、様々な品詞の形態素が混在する文字列をダミー文字列に置換してあるため、様々な品詞の形態素が混在する文字列をひと纏まりとして扱いやすく、候補文字列を精度よく抽出することができる。次に、図11の説明に移行する。
図11において、情報処理装置100は、置換テーブル400に基づいて、タグ付けした文章において、候補文字列「ひ[語尾1][本体1]」に含まれるダミー文字列「[語尾1]」を、文字「酸」に復元する。また、情報処理装置100は、置換テーブル400に基づいて、タグ付けした文章において、候補文字列「ひ[語尾1][本体1]」に含まれるダミー文字列「[本体1]」を、文字列「ナトリウム」に復元する。
タグ付けし、かつ、ダミー文字列を復元した文章は、「・・・あるいは<c>ひ酸ナトリウム</c>を用いた・・・」である。情報処理装置100は、タグ付けし、かつ、ダミー文字列を復元した文章「・・・あるいは<c>ひ酸ナトリウム</c>を用いた・・・」を示すテキストデータを、テキストテーブル600の「復元後」に対応付けて記憶する。また、情報処理装置100は、候補文字列「ひ[語尾1][本体1]」に含まれるダミー文字列を復元した結果得られた、タグ付けされた文字列「ひ酸ナトリウム」を示すテキストデータ、テキストテーブル600の「抽出結果」に対応付けて記憶する。
その後、情報処理装置100は、分類器により、タグ付けされた文字列「ひ酸ナトリウム」が、化合物名であるか否かを判定する。ここでは、情報処理装置100は、化合物名であると判定する。情報処理装置100は、化合物でなければ、テキストテーブル600の「抽出結果」に対応付けられた「ひ酸ナトリウム」を示すテキストデータを削除してもよい。また、情報処理装置100は、化合物でなければ、テキストテーブル600の「タグ付け後」や「復元後」に対応付けられたテキストテーブル600から、タグを削除してもよい。
これにより、情報処理装置100は、化合物名を精度よく特定することができる。ここで、情報処理装置100は、タグ付けせずに、候補文字列「ひ[語尾1][本体1]」を抽出し、化合物名であるか否かを判定する場合があってもよい。情報処理装置100は、判定結果に基づき、化合物名を特定した後に、元の文章にタグ付けする場合があってもよい。次に、図12の説明に移行する。
図12において、情報処理装置100は、テキストテーブル600の「復元後」に対応付けられたテキストデータが示す文章「・・・あるいは<c>ひ酸ナトリウム</c>を用いた・・・」を取得する。情報処理装置100は、タグ付けされた文字列に下線が引かれるように、タグを非表示にした形式で、文章「・・・あるいは<c>ひ酸ナトリウム</c>を用いた・・・」をディスプレイに表示する。情報処理装置100は、具体的には、表示内容1200を表示する。
また、情報処理装置100は、ディスプレイに表示されたタグ付けされた文字列に対応する領域がクリックされると、タグ付けされた文字列が示す化合物の化学式、機能、性質、および、用途などの情報を表示してもよい。情報処理装置100は、具体的には、表示内容1200を表示する。これにより、情報処理装置100は、利用者が、文章に含まれる化合物名を認識しやすくすることができる。また、情報処理装置100は、利用者が、化合物の性質を理解しやすくし、文章を理解しやすくすることができる。
(全体処理手順)
次に、図13を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図2に示したCPU201と、メモリ202や記録媒体205などの記憶領域と、ネットワークI/F203とによって実現される。
図13は、全体処理手順の一例を示すフローチャートである。図13において、まず、情報処理装置100は、文章を示すテキストデータを読み込む(ステップS1301)。
次に、情報処理装置100は、特定テーブル300に基づくパターン認識により、文章から化合物名に特有な文字列を抽出する(ステップS1302)。そして、情報処理装置100は、抽出した文字列が属するグループに基づいて、文章のうち抽出した文字列をダミー文字列に置換する(ステップS1303)。
次に、情報処理装置100は、置換後の文章に対して形態素解析を実行する(ステップS1304)。そして、情報処理装置100は、図14に後述する抽出処理を実行し、形態素解析の結果を参照し、品詞の組み合わせに基づいて、ダミー文字列を含み化合物名の候補となる候補文字列を抽出する(ステップS1305)。
次に、情報処理装置100は、抽出した候補文字列のうちダミー文字列を置換前の文字列に復元する(ステップS1306)。そして、情報処理装置100は、分類器により、復元後の候補文字列が化合物名であるか否かを判定する(ステップS1307)。
次に、情報処理装置100は、判定結果を出力する(ステップS1308)。そして、情報処理装置100は、全体処理を終了する。これにより、情報処理装置100は、文章に含まれる化合物名を、精度よく特定することができる。
(抽出処理手順)
次に、図14を用いて、情報処理装置100が実行する、抽出処理手順の一例について説明する。抽出処理は、例えば、図2に示したCPU201と、メモリ202や記録媒体205などの記憶領域と、ネットワークI/F203とによって実現される。
図14は、抽出処理手順の一例を示すフローチャートである。図14において、まず、情報処理装置100は、形態素解析の結果を読み込む(ステップS1401)。そして、情報処理装置100は、ステップS1402の処理に移行する。
ステップS1402では、情報処理装置100は、置換後の文章に含まれる、処理済みではない形態素のうち、最初の形態素を取得する(ステップS1402)。そして、情報処理装置100は、ステップS1403の処理に移行する。
ステップS1403では、情報処理装置100は、最初の形態素の次の形態素を取得する(ステップS1403)。次に、情報処理装置100は、最初の形態素が、未知語、本体、名詞、または、接頭語のいずれかの品詞の形態素を含むか否かを判定する(ステップS1404)。ここで、いずれかの品詞の形態素を含む場合(ステップS1404:Yes)、情報処理装置100は、ステップS1405の処理に移行する。一方で、いずれの品詞の形態素も含まない場合(ステップS1404:No)、情報処理装置100は、ステップS1409の処理に移行する。
ステップS1405では、情報処理装置100は、次の形態素が、未知語、本体、名詞、または、接頭語のいずれかの品詞の形態素を含むか否かを判定する(ステップS1405)。ここで、いずれかの品詞の形態素を含む場合(ステップS1405:Yes)、情報処理装置100は、ステップS1406の処理に移行する。一方で、いずれの品詞の形態素も含まない場合(ステップS1405:No)、情報処理装置100は、ステップS1407の処理に移行する。
ステップS1406では、情報処理装置100は、最初の形態素と次の形態素とを結合した形態素を、最初の形態素に設定する(ステップS1406)。そして、情報処理装置100は、ステップS1403の処理に戻る。
ステップS1407では、情報処理装置100は、最初の形態素が、ダミー文字列を含むか否かを判定する(ステップS1407)。ここで、ダミー文字列を含む場合(ステップS1407:Yes)、情報処理装置100は、ステップS1408の処理に移行する。一方で、ダミー文字列を含まない場合(ステップS1407:No)、情報処理装置100は、ステップS1409の処理に移行する。
ステップS1408では、情報処理装置100は、置換後の文章に含まれる最初の形態素に、タグを付与する(ステップS1408)。そして、情報処理装置100は、ステップS1409の処理に移行する。
ステップS1409では、情報処理装置100は、最初の形態素を、処理済みに設定する(ステップS1409)。次に、情報処理装置100は、すべての形態素が処理済みであるか否かを判定する(ステップS1410)。ここで、処理済みではない形態素がある場合(ステップS1410:No)、情報処理装置100は、ステップS1412の処理に戻る。一方で、すべての形態素が処理済みである場合(ステップS1410:Yes)、情報処理装置100は、ステップS1411の処理に移行する。
ステップS1411では、情報処理装置100は、タグが付与された置換後の文章に基づいて、ダミー文字列を含み化合物名の候補となる候補文字列を抽出して出力する(ステップS1411)。そして、情報処理装置100は、抽出処理を終了する。これにより、情報処理装置100は、ひと纏まりの文字列を抽出しやすくすることができ、ダミー文字列を復元すると化合物名になりうる候補文字列を精度よく抽出することができる。
ここでは、情報処理装置100が、本体または語尾に対応するダミー文字列を含む候補文字列を抽出する場合について説明したが、これに限らない。例えば、情報処理装置100が、少なくとも本体に対応するダミー文字列を含む候補文字列を抽出し、語尾に対応するダミー文字列のみを含む候補文字列を抽出しない場合があってもよい。
ここでは、情報処理装置100が、ステップS1402で取得した最初の形態素と、ステップS1406で形態素を結合して設定された最初の形態素とのいずれについても、ステップS1404で同一の条件判定を行う場合について説明したが、これに限らない。例えば、情報処理装置100が、ステップS1402で取得した最初の形態素と、ステップS1406で形態素を結合して設定された最初の形態素とで、ステップS1404で異なる条件判定を行う場合があってもよい。
以上説明したように、情報処理装置100によれば、文章に含まれる、化合物名に特有な文字または文字列を特定することができる。情報処理装置100によれば、文章に含まれる文字または文字列を、文字または文字列の特徴を表すダミー文字列に置換することができる。情報処理装置100によれば、置換後の文章を形態素解析した結果に基づいて、置換後の文章に含まれる、ダミー文字列と連結する文字または文字列と、ダミー文字列とを含む文字列を抽出することができる。情報処理装置100によれば、抽出した文字列に含まれるダミー文字列を、特定した文字または文字列に置換し直した置換後の文字列を生成することができる。これにより、情報処理装置100は、文章に含まれる化合物名を精度よく特定することができる。
情報処理装置100によれば、生成した置換後の文字列が化合物名であるか否かを判定することができる。これにより、情報処理装置100は、文章に含まれる化合物名をさらに精度よく特定することができる。
情報処理装置100によれば、特有な文字または文字列として、化合物名または化合物名の部分構造として出現する頻度が一定以上に高いと判断されるカタカナ、アルファベット、数字、または、記号を含む文字または文字列を用いることができる。これにより、情報処理装置100は、カタカナ、アルファベット、数字、および、記号などが混在して含まれ、形態素解析ではひと纏まりの文字列として扱うことが難しい文字列を特定することができる。このため、情報処理装置100は、文章に含まれる化合物名を特定する精度の向上を図ることができる。
情報処理装置100によれば、特有な文字または文字列として、化合物名または化合物名の部分構造の語尾となる文字または文字列を用いることができる。これにより、情報処理装置100は、化合物名を特定する指標になる、化合物名に出現しやすい語尾となる文字または文字列を特定することができる。このため、情報処理装置100は、文章に含まれる化合物名を特定する精度の向上を図ることができる。
情報処理装置100によれば、元の文章に含まれる置換後の文字列を特定可能にする情報を、元の文章に付与して出力することができる。これにより、情報処理装置100は、利用者が、文章に含まれる化合物名を認識しやすくすることができる。
情報処理装置100によれば、置換後の文字列が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報を出力することができる。これにより、情報処理装置100は、利用者が、化合物の性質を理解しやすくし、文章を理解しやすくすることができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
文章に含まれる、化合物名に特有な文字または文字列を特定し、
前記文章に含まれる前記文字または前記文字列を、前記文字または前記文字列の特徴を表すダミー文字列に置換し、
前記文章に含まれる前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章に含まれる、前記ダミー文字列と連結する文字または文字列と、前記ダミー文字列とを含む文字列を抽出し、
抽出した前記文字列に含まれる前記ダミー文字列を、特定した前記文字または前記文字列に置換し直した置換後の文字列を生成する、
処理を実行させることを特徴とする情報処理プログラム。
(付記2)前記コンピュータに、
生成した前記置換後の文字列が化合物名であるか否かを判定する、処理を実行させることを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記特有な文字または文字列は、化合物名または化合物名の部分構造として出現する頻度が一定以上に高いと判断されるカタカナ、アルファベット、数字、または、記号の少なくともいずれかを含む文字または文字列である、ことを特徴とする付記1または2に記載の情報処理プログラム。
(付記4)前記特有な文字または文字列は、化合物名または化合物名の部分構造の語尾となる文字または文字列である、ことを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
(付記5)前記コンピュータに、
前記文章に含まれる前記置換後の文字列を特定可能にする情報を、前記文章に付与して出力する、処理を実行させることを特徴とする付記1~4のいずれか一つに記載の情報処理プログラム。
(付記6)前記コンピュータに、
前記置換後の文字列が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報を出力する、処理を実行させることを特徴とする付記1~5のいずれか一つに記載の情報処理プログラム。
(付記7)コンピュータに、
文章に含まれる、化合物名に特有な文字または文字列を特定し、
前記文章に含まれる前記文字または前記文字列を、前記文字または前記文字列の特徴を表すダミー文字列に置換し、
前記文章に含まれる前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章に含まれる、前記ダミー文字列と連結する文字または文字列と、前記ダミー文字列とを含む文字列を抽出し、
抽出した前記文字列に含まれる前記ダミー文字列を、特定した前記文字または前記文字列に置換し直した置換後の文字列を生成する、
処理を実行することを特徴とする情報処理方法。
(付記8)文章に含まれる、化合物名に特有な文字または文字列を特定し、
前記文章に含まれる前記文字または前記文字列を、前記文字または前記文字列の特徴を表すダミー文字列に置換し、
前記文章に含まれる前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章に含まれる、前記ダミー文字列と連結する文字または文字列と、前記ダミー文字列とを含む文字列を抽出し、
抽出した前記文字列に含まれる前記ダミー文字列を、特定した前記文字または前記文字列に置換し直した置換後の文字列を生成する、
制御部を有することを特徴とする情報処理装置。