(57)【要約】【課題】文章に含まれる化合物名の特定精度の向上を図ること。【解決手段】情報処理装置１００は、文章に含まれる、化合物名に特有な文字または文字列を特定する。情報処理装置１００は、文章に含まれる、特定した文字または文字列を、特定した文字または文字列の特徴を表すダミー文字列に置換する。情報処理装置１００は、置換後の文章を形態素解析した結果に基づいて、置換後の文章に含まれる、ダミー文字列と連結する文字または文字列と、ダミー文字列とを含む文字列を抽出する。情報処理装置１００は、抽出した文字列に含まれるダミー文字列を、特定した文字または文字列に置換し直した置換後の文字列を生成する。【選択図】図１
2019179470.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
文章に含まれる、化合物名に特有な文字または文字列を特定し、
前記文章に含まれる前記文字または前記文字列を、前記文字または前記文字列の特徴を表すダミー文字列に置換し、
前記文章に含まれる前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章に含まれる、前記ダミー文字列と連結する文字または文字列と、前記ダミー文字列とを含む文字列を抽出し、
抽出した前記文字列に含まれる前記ダミー文字列を、特定した前記文字または前記文字列に置換し直した置換後の文字列を生成する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項２】
前記コンピュータに、
生成した前記置換後の文字列が化合物名であるか否かを判定する、処理を実行させることを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記特有な文字または文字列は、化合物名または化合物名の部分構造として出現する頻度が一定以上に高いと判断されるカタカナ、アルファベット、数字、または、記号の少なくともいずれかを含む文字または文字列である、ことを特徴とする請求項１または２に記載の情報処理プログラム。
【請求項４】
前記特有な文字または文字列は、化合物名または化合物名の部分構造の語尾となる文字または文字列である、ことを特徴とする請求項１〜３のいずれか一つに記載の情報処理プログラム。
【請求項５】
コンピュータに、
文章に含まれる、化合物名に特有な文字または文字列を特定し、
前記文章に含まれる前記文字または前記文字列を、前記文字または前記文字列の特徴を表すダミー文字列に置換し、
前記文章に含まれる前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章に含まれる、前記ダミー文字列と連結する文字または文字列と、前記ダミー文字列とを含む文字列を抽出し、
抽出した前記文字列に含まれる前記ダミー文字列を、特定した前記文字または前記文字列に置換し直した置換後の文字列を生成する、
処理を実行することを特徴とする情報処理方法。
【請求項６】
文章に含まれる、化合物名に特有な文字または文字列を特定し、
前記文章に含まれる前記文字または前記文字列を、前記文字または前記文字列の特徴を表すダミー文字列に置換し、
前記文章に含まれる前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章に含まれる、前記ダミー文字列と連結する文字または文字列と、前記ダミー文字列とを含む文字列を抽出し、
抽出した前記文字列に含まれる前記ダミー文字列を、特定した前記文字または前記文字列に置換し直した置換後の文字列を生成する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
【背景技術】
【０００２】
従来、情報検索、情報解析、または、読解支援などに、文章解析技術が利用されることがある。例えば、文章解析技術を、化学分野の特許文献や技術論文などの技術文書に適用することにより、技術文書に含まれる化合物名を特定することが望まれることがある。
【０００３】
先行技術としては、例えば、基準辞書に未知語を登録するものがある。また、例えば、文の構成語が、入力質問の構成語の語彙意味と同様の語彙意味を有するか否かを判定する技術がある。また、例えば、ある種の情報の表現に特徴的に現れる１または複数の文字パターンと、文書中に現れる文字列とを逐次照合し、一致が認められた文字列部分に対し、タグ情報を付与する技術がある。また、例えば、入力文字に対する第１位候補文字から文字列を作成し、形態素解析を行って解析不能となる文字列部分の候補文字から作成可能な文字列すべてに対し形態素解析を行う技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１４０１０７号公報
【特許文献２】特開２００６−２９３８３０号公報
【特許文献３】特開平１１−２７２６９５号公報
【特許文献４】特開昭６２−２８５１８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、文章に含まれる化合物名を特定することができない場合がある。例えば、化合物名を予め辞書に登録しておき、文章に含まれる文字列と辞書に登録された化合物名とのマッチングにより、文章に含まれる化合物名を特定することが考えられるが、辞書に登録されていない化合物名を特定することができない。
【０００６】
１つの側面では、本発明は、文章に含まれる化合物名の特定精度の向上を図ることを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、文章から化合物名に特有な文字または文字列を特定し、特定した前記文字または前記文字列を、特定した前記文字または文字列の特徴を表すダミー文字列に置換し、前記文章のうち特定した前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章のうち前記ダミー文字列と結合する文字または文字列と前記ダミー文字列とを含む文字列を抽出する情報処理プログラム、情報処理方法、および情報処理装置が提案される。
【発明の効果】
【０００８】
一態様によれば、文章に含まれる化合物名の特定精度の向上を図ることが可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
【図２】図２は、情報処理装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、特定テーブル３００の記憶内容の一例を示す説明図である。
【図４】図４は、置換テーブル４００の記憶内容の一例を示す説明図である。
【図５】図５は、品詞テーブル５００の記憶内容の一例を示す説明図である。
【図６】図６は、テキストテーブル６００の記憶内容の一例を示す説明図である。
【図７】図７は、情報処理装置１００の機能的構成例を示すブロック図である。
【図８】図８は、情報処理装置１００の動作例を示す説明図（その１）である。
【図９】図９は、情報処理装置１００の動作例を示す説明図（その２）である。
【図１０】図１０は、情報処理装置１００の動作例を示す説明図（その３）である。
【図１１】図１１は、情報処理装置１００の動作例を示す説明図（その４）である。
【図１２】図１２は、情報処理装置１００の動作例を示す説明図（その５）である。
【図１３】図１３は、全体処理手順の一例を示すフローチャートである。
【図１４】図１４は、抽出処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる情報処理方法の一実施例）
図１は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置１００は、文章に含まれる化合物名を特定するコンピュータである。文章は、一文または複数文である。一文は、例えば、句点で区切られた文である。情報処理装置１００は、例えば、サーバ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレット端末、または、スマートフォンなどである。
【００１２】
ここで、文章に含まれる化合物名を特定することができれば、人間が文章を読解しやすくしたり、コンピュータが文章を解析しやすくしたりすることが可能になる。
【００１３】
例えば、化学分野の特許文献や技術論文などの技術文書を表示する際に、技術文書に含まれる化合物名を色分けして表示することにより、人間が、技術文書に含まれる化合物名を認識しやすくすることが考えられる。また、例えば、技術文書を表示する際に、化合物名を表示する位置に対応付けて、化合物名が示す化合物の化学式、機能、性質、および、用途などの情報へのリンクを表示することにより、人間が、化合物の性質を理解しやすくすることが考えられる。
【００１４】
また、例えば、コンピュータが、技術文書に含まれる化合物名を特定し、技術文書における化合物名の出現頻度を計測することにより、化合物名をキーワードとした情報検索を可能にしたり、技術文書の要約文の自動作成を可能にしたりすることが考えられる。また、例えば、コンピュータが、技術文書から、化合物名が示す化合物の化学式、機能、性質、および、用途などの情報を抽出することにより、化合物に関するデータベースの自動作成を可能にすることが考えられる。
【００１５】
このため、文章に含まれる化合物名を精度よく特定することが望まれる。
【００１６】
これに対し、例えば、化合物名を予め辞書に登録しておき、文章に含まれる文字列と辞書に登録された化合物名とのマッチングにより、文章に含まれる化合物名を特定することが考えられるが、辞書に登録されていない化合物名を特定することができない。また、時間経過に伴い、新たな化合物が生成または発見され、化合物名となる文字列の数は増加していくため、予め辞書に化合物名を登録しておくことが難しい。
【００１７】
また、例えば、日本語の文章では、化合物名が、カタカナ、アルファベット、数字、記号、および、一部の漢字などの特定の文字により記述されるため、特定の文字が連続する文字列を、化合物名として特定することが考えられる。しかしながら、この場合でも、化合物名を特定することは難しい。具体的には、文章に化合物名「ひ酸Ｏ，Ｏ−ジメチル」が含まれる場合、文字「ひ」はひらがなであるため、化合物名の要素として判断されず、文字列「酸Ｏ，Ｏ−ジメチル」を化合物名として誤って特定してしまう。また、具体的には、文章に化合物名「りんご酸」が含まれる場合も、同様に、化合物名「りんご酸」を特定することができない。
【００１８】
また、例えば、化合物名に用いられる特定の文字として、カタカナ、アルファベット、数字、記号、および、一部の漢字などのほか、ひらがなも含むようにして、特定の文字が連続する文字列を、化合物名として特定することが考えられる。しかしながら、この場合でも、化合物名を特定することは難しい。具体的には、文章が「●●としてはリン酸である」であり、化合物名「リン酸」の直前に助詞「は」などのひらがながあると、文字列「はリン酸」を化合物名として誤って特定してしまうことがある。
【００１９】
また、例えば、化合物名に用いられるひらがな文字列「りんご」などを辞書に登録しておき、予め文章に含まれるひらがな文字列「りんご」をカタカナ変換してから、ひらがなを含まない特定の文字が連続する文字列を、化合物名として特定することが考えられる。しかしながら、この場合でも、辞書に登録されていないひらがな文字列が文章に含まれると、化合物名を特定することができない。また、文字列「はリン酸」を化合物名として誤って特定しないように、ひらがな１文字を辞書に登録することはできないため、先頭からひらがな１文字で始まる化合物名を特定することができない。
【００２０】
また、文章を形態素解析した結果に基づき、機械学習や統計量を用いて、意味のある単語列、文字列、または、品詞列を特定することにより、化合物名を特定することが考えられる。しかしながら、この場合でも、化合物名には、数字、記号、未知語が混在して含まれるため、意味のある単語列、文字列、または、品詞列として特定することが難しく、化合物名を特定することができない。
【００２１】
また、化合物名に用いられる文字の種類は数百種類以上あり、かつ、化合物名に用いられる文字には文章に出現する頻度が低い文字が含まれるため、機械学習により、化合物名を漏れなく特定するルールを作成することが難しい。
【００２２】
そこで、本実施の形態では、文章に含まれる化合物名に特有な文字や文字列を特定してダミー文字列に置換してから形態素解析することにより、化合物名に対応すると判断される、ダミー文字列を含むひと纏まりの文字列を抽出する情報処理方法について説明する。これによれば、情報処理方法は、文章に含まれる化合物名を精度よく特定することができる。
【００２３】
図１において、情報処理装置１００は、文章を取得する。文章は、例えば、「・・・あるいはひ酸ナトリウムを用いた・・・」である。情報処理装置１００は、例えば、利用者の操作入力に基づいて、文章を入力される。情報処理装置１００は、例えば、他の装置から文章を受信してもよい。情報処理装置１００が文章を取得する具体例は、例えば、図８を用いて後述する。
【００２４】
情報処理装置１００は、取得した文章に含まれる、化合物名に特有な文字または文字列を特定する。情報処理装置１００は、例えば、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、化合物名に特有な文字「酸」および文字列「ナトリウム」を特定する。情報処理装置１００が化合物名に特有な文字または文字列を特定する具体例は、例えば、図９を用いて後述する。
【００２５】
情報処理装置１００は、文章に含まれる、特定した文字または文字列を、特定した文字または文字列の特徴を表すダミー文字列に置換する。ダミー文字列は、文章に出現する確率が低い文字列であることが好ましい。ダミー文字列は、文章に出現する確率が低ければ特定の１文字であってもよい。情報処理装置１００は、例えば、化合物名に特有な文字「酸」および文字列「ナトリウム」を、それぞれ、ダミー文字列「［語尾１］」および「［本体１］」に置換する。情報処理装置１００がダミー文字列に置換する具体例は、例えば、図９を用いて後述する。
【００２６】
情報処理装置１００は、置換後の文章を形態素解析した結果に基づいて、置換後の文章に含まれる、ダミー文字列と連結する文字または文字列と、ダミー文字列とを含む文字列を抽出する。情報処理装置１００は、例えば、置換後の文章「・・・あるいはひ［語尾１］［本体１］を用いた・・・」を形態素解析する。そして、情報処理装置１００は、形態素解析した結果に基づいて、ダミー文字列「［語尾１］」と連結する文字「ひ」と、ダミー文字列「［語尾１］」および「［本体１］」とを含む文字列「ひ［語尾１］［本体１］」を抽出する。情報処理装置１００がダミー文字列を含む文字列を抽出する具体例は、例えば、図１０を用いて後述する。
【００２７】
情報処理装置１００は、抽出した文字列に含まれるダミー文字列を、特定した文字または文字列に置換し直した置換後の文字列を生成する。情報処理装置１００は、文字列「ひ［語尾１］［本体１］」に含まれるダミー文字列「［語尾１］」および「［本体１］」を、それぞれ、文字「酸」および文字列「ナトリウム」に置換し直した文字列「ひ酸ナトリウム」を生成する。情報処理装置１００が置換後の文字列を生成する具体例は、例えば、図１１を用いて後述する。
【００２８】
これにより、情報処理装置１００は、文章に含まれる化合物名を精度よく特定することができる。情報処理装置１００は、例えば、予め化合物名を記憶していなくても、文章に含まれる化合物名を特定することができる。情報処理装置１００は、例えば、形態素解析のみにより化合物名を特定する場合よりも、化合物名を精度よく特定することができる。情報処理装置１００は、具体的には、化合物名に、数字、記号、未知語が混在して含まれていても、化合物名を特定することができる。
【００２９】
情報処理装置１００は、例えば、特定の文字が連続する文字列をそのまま化合物名として特定する場合よりも、化合物名を精度よく特定することができる。情報処理装置１００は、具体的には、化合物名に含まれる頻度が低い文字を含む化合物名を特定することができる。化合物名に含まれる頻度が低い文字は、例えば、ひらがな、および、仁や奮や役などの漢字である。情報処理装置１００は、具体的には、ひらがなを含む化合物名を特定することができる。
【００３０】
より具体的には、従来では、文章に含まれる化合物名の先頭にひらがながあると、化合物名から先頭のひらがなを除いた文字列が、化合物名として誤って特定してしまうことがある。また、従来では、文章に含まれる化合物名の真ん中に仁や奮や役などの漢字があると、化合物名となる文字列を仁や奮や役などの漢字で分断した２つの文字列を、それぞれ、化合物名として特定してしまうことがある。これに対し、情報処理装置１００は、化合物名のうちいずれの位置に、ひらがな、または、仁や奮や役などの漢字があっても、化合物名を特定することができる。
【００３１】
情報処理装置１００は、さらに、生成した置換後の文字列が化合物名であるか否かを判定してもよい。情報処理装置１００は、例えば、分類器により、生成した置換後の文字列が化合物名であるか否かを判定する。分類器は、例えば、機械学習により作成される。分類器は、具体的には、化合物名の一部の文字列やｎ−ｇｒａｍを特徴素として用いた機械学習により作成される。これにより、情報処理装置１００は、文章に含まれる化合物名をさらに精度よく特定することができる。
【００３２】
ここでは、情報処理装置１００が、情報処理方法を実現する一連の処理を実行する場合について説明したが、これに限らない。例えば、文章に含まれる文字または文字列をダミー文字列に置換する装置と、置換後の文章からダミー文字列を含む文字列を抽出した後にダミー文字列を置換前に戻す装置とが協働して、情報処理方法を実現する場合があってもよい。
【００３３】
（情報処理装置１００のハードウェア構成例）
次に、図２を用いて、図１に示した情報処理装置１００のハードウェア構成例について説明する。
【００３４】
図２は、情報処理装置１００のハードウェア構成例を示すブロック図である。図２において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０３と、記録媒体Ｉ／Ｆ２０４と、記録媒体２０５とを有する。また、各構成部は、バス２００によってそれぞれ接続される。
【００３５】
ここで、ＣＰＵ２０１は、情報処理装置１００の全体の制御を司る。メモリ２０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されるプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させる。メモリ２０２は、例えば、図３〜図６に後述する各種テーブルを記憶する。
【００３６】
ネットワークＩ／Ｆ２０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ２０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ２０３には、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどを採用することができる。
【００３７】
記録媒体Ｉ／Ｆ２０４は、ＣＰＵ２０１の制御に従って記録媒体２０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ２０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体２０５は、記録媒体Ｉ／Ｆ２０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体２０５は、例えば、図３〜図６に後述する各種テーブルを記憶してもよい。記録媒体２０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体２０５は、情報処理装置１００から着脱可能であってもよい。
【００３８】
情報処理装置１００は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を複数有していてもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を有していなくてもよい。
【００３９】
（特定テーブル３００の記憶内容）
次に、図３を用いて、特定テーブル３００の記憶内容の一例について説明する。特定テーブル３００は、例えば、図２に示した情報処理装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００４０】
図３は、特定テーブル３００の記憶内容の一例を示す説明図である。図３に示すように、特定テーブル３００は、グループと、特定ルールとのフィールドを有する。特定テーブル３００は、各フィールドに情報を設定することにより、文章に含まれる化合物名に特有な文字または文字列を特定するための特定ルールがレコードとして記憶される。
【００４１】
グループのフィールドには、化合物名に含まれる文字が属するグループを識別する識別情報が設定される。グループは、例えば、グループ１やグループ２である。グループ１は、例えば、化合物名または化合物名の部分構造として出現する頻度が一定以上に高いと判断されるカタカナ、アルファベット、数字、および、記号などが属する。グループ２は、例えば、化合物名または化合物名の部分構造の語尾となる文字が属する。特定ルールのフィールドには、文章に含まれる、グループに属する文字、または、グループに属する文字が連続する文字列を特定するための特定ルールが設定される。特定ルールは、例えば、正規表現により表現される。グループ１に対応する特定ルールは、例えば、「［ァ−ヴ  ａ−ｚ  Ａ−Ｚ  ・・・  ０−９］＋」である。グループ２に対応する特定ルールは、例えば、「［酸  素  塩  ・・・  物］」である。
【００４２】
特定ルールは、文字数を制限するように表現されてもよい。グループ２に対応する特定ルールは、直前および直後に漢字を含まないように表現されてもよく「食塩」の「塩」や「物体」の「物」などが、化合物名に特有な文字または文字列として特定されないようにしてもよい。また、上述した特定ルールに用いられる文字は、一例であり、いずれかの文字が用いられなくてもよいし、他の文字が用いられてもよい。
【００４３】
特定テーブル３００は、グループ１およびグループ２とは異なるグループに属する文字、または、グループ１およびグループ２とは異なるグループに属する文字が連続する文字列を特定するための特定ルールを記憶してもよい。特定テーブル３００は、グループ１に対応する特定ルールと、グループ２に対応する特定ルールとのうちいずれかを記憶していない場合があってもよい。ここでは、特定ルールが正規表現により表現される場合について説明したが、これに限らない。特定ルールが正規表現以外により表現される場合があってもよい。
【００４４】
（置換テーブル４００の記憶内容）
次に、図４を用いて、置換テーブル４００の記憶内容の一例について説明する。置換テーブル４００は、例えば、図２に示した情報処理装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００４５】
図４は、置換テーブル４００の記憶内容の一例を示す説明図である。図４に示すように、置換テーブル４００は、ダミー文字列と、元の文字列とのフィールドを有する。置換テーブル４００は、化合物名に特有な文字または文字列ごとに各フィールドに情報を設定することにより、置換情報がレコードとして記憶される。
【００４６】
ダミー文字列のフィールドには、特定ルールにより特定された化合物名に特有な文字または文字列を置換したダミー文字列が設定される。グループ１に対応する特定ルールにより特定された化合物名に特有な文字または文字列を置換したダミー文字列は、「［本体ｉ］（ｉ＝１，２，・・・，ｎ）」である。ｉは、置換する文字列ごとに異なる値が割り振られる。グループ２に対応する特定ルールにより特定された化合物名に特有な文字または文字列を置換したダミー文字列は、「［語尾ｉ］（ｉ＝１，２，・・・，ｎ）」である。ｉは、置換する文字列ごとに異なる値が割り振られる。元の文字列のフィールドには、ダミー文字列に置換する文字列であり、特定ルールにより特定された化合物名に特有な文字または文字列が設定される。
【００４７】
（品詞テーブル５００の記憶内容）
次に、図５を用いて、品詞テーブル５００の記憶内容の一例について説明する。品詞テーブル５００は、例えば、図２に示した情報処理装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００４８】
図５は、品詞テーブル５００の記憶内容の一例を示す説明図である。図５に示すように、品詞テーブル５００は、文字列と、品詞とのフィールドを有する。品詞テーブル５００は、文字列ごとに各フィールドに情報を設定することにより、形態素解析結果がレコードとして記憶される。
【００４９】
文字列のフィールドには、形態素となる文字または文字列が設定される。品詞のフィールドには、文字列の品詞が設定される。ダミー文字列「［本体ｉ］」および「［語尾ｉ］」は、形態素として扱われ、それぞれ、本体および語尾を品詞として扱われる。
【００５０】
（テキストテーブル６００の記憶内容）
次に、図６を用いて、テキストテーブル６００の記憶内容の一例について説明する。テキストテーブル６００は、例えば、図２に示した情報処理装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００５１】
図６は、テキストテーブル６００の記憶内容の一例を示す説明図である。図６に示すように、テキストテーブル６００は、処理フェーズと、テキストデータとのフィールドを有する。テキストテーブル６００は、各フィールドに情報を設定することにより、処理フェーズごとのテキストデータがレコードとして記憶される。
【００５２】
処理フェーズのフィールドには、テキストデータの属する処理フェーズが設定される。処理フェーズは、例えば、元文書、置き換え後、タグ付け後、復元後、および、抽出結果である。テキストデータのフィールドには、処理フェーズにおけるテキストデータが設定される。
【００５３】
（情報処理装置１００の機能的構成例）
次に、図７を用いて、情報処理装置１００の機能的構成例について説明する。
【００５４】
図７は、情報処理装置１００の機能的構成例を示すブロック図である。図７において、情報処理装置１００は、記憶部７００と、読込部７０１と、パターン抽出部７０２と、ダミー置換部７０３と、形態素解析部７０４と、候補文字列抽出部７０５と、ダミー復元部７０６と、選別部７０７と、出力部７０８とを含む。
【００５５】
記憶部７００は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域によって実現される。以下では、記憶部７００が、情報処理装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部７００が、情報処理装置１００とは異なる装置に含まれ、記憶部７００の記憶内容が情報処理装置１００から参照可能である場合があってもよい。
【００５６】
読込部７０１〜出力部７０８は、制御部７１０の一例として機能する。読込部７０１〜出力部７０８は、具体的には、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、ネットワークＩ／Ｆ２０３により、その機能を実現する。各機能部の処理結果は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶される。
【００５７】
記憶部７００は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部７００は、文章に含まれる化合物名に特有な文字または文字列を特定するための特定ルールを記憶する。記憶部７００は、文章に含まれる文字または文字列を置換したダミー文字列と、元の文字または文字列とを対応付けて記憶する。記憶部７００は、形態素解析ルールを記憶する。形態素解析ルールは、ダミー文字列を１つの形態素として解析するためのルールを含む。記憶部７００は、形態素解析結果として、置換後の文章に含まれる形態素と、形態素の品詞とを対応付けて記憶する。
【００５８】
記憶部７００は、化合物名を含みうる文章を記憶する。記憶部７００は、文章に含まれる文字または文字列をダミー文字列に置換した置換後の文章を記憶する。記憶部７００は、置換後の文章に含まれる、ダミー文字列を含み化合物名の候補となる候補文字列の位置を特定する情報を記憶する。記憶部７００は、候補文字列に含まれるダミー文字列を、元の文字列に置換し直した置換後の文字列を記憶する。記憶部７００は、元の文章に含まれる、置換後の文字列の位置を特定する情報を記憶する。記憶部７００は、具体的には、図３〜図６に示した各種テーブルを記憶する。記憶部７００は、化合物名に対応付けて、化合物名が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報を記憶してもよい。
【００５９】
読込部７０１は、文章を読み込む。読込部７０１は、例えば、文章「・・・あるいはひ酸ナトリウムを用いた・・・」を読み込む。読込部７０１は、具体的には、利用者の操作入力に基づいて、文章を読み込む。読込部７０１は、具体的には、他の装置から文章を受信してもよい。読込部７０１は、読み込んだ文章を、図６に示したテキストテーブル６００を用いて記憶する。読込部７０１は、より具体的には、図８に後述するように、文章を読み込む。
【００６０】
パターン抽出部７０２は、文章に含まれる、化合物名に特有な文字または文字列を特定する。パターン抽出部７０２は、例えば、特定テーブル３００に記憶された特定ルールに基づいて、グループ１に属する文字が連続する文字列を、本体に対応する文字列として特定する。グループ１は、例えば、化合物名または化合物名の部分構造として出現する頻度が一定以上に高いと判断されるカタカナ、アルファベット、数字、および、記号などが属する。パターン抽出部７０２は、具体的には、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ１に属する文字が連続する文字列「ナトリウム」を特定する。
【００６１】
パターン抽出部７０２は、例えば、特定テーブル３００に記憶された特定ルールに基づいて、グループ２に属する文字を、語尾に対応する文字として特定する。グループ２は、例えば、化合物名または化合物名の部分構造の語尾となる文字が属する。グループ２は、具体的には、酸、素、塩、および、物などの文字が属する。パターン抽出部７０２は、具体的には、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ２に属する文字「酸」を特定する。パターン抽出部７０２は、より具体的には、図９に後述するように、化合物名に特有な文字または文字列を特定する。
【００６２】
これにより、パターン抽出部７０２は、形態素解析だけでは特定することが難しい化合物名に特有な文字または文字列を特定することができる。パターン抽出部７０２は、例えば、カタカナ、アルファベット、数字、および、記号などが混在して含まれ、形態素解析だけではひと纏まりの文字列として扱うことが難しい文字列を特定することができる。パターン抽出部７０２は、化合物名を特定する指標になる、化合物名に出現しやすい語尾となる文字を特定することができる。
【００６３】
ダミー置換部７０３は、文章に含まれる、特定した文字または文字列を、特定した文字または文字列の特徴を表すダミー文字列に置換する。ダミー置換部７０３は、例えば、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、特定した化合物名に特有な文字「酸」および文字列「ナトリウム」を、それぞれ、ダミー文字列「［語尾１］」および「［本体１］」に置換する。置換後の文章は、「・・・あるいはひ［語尾１］［本体１］を用いた・・・」である。
【００６４】
ダミー置換部７０３は、置換したダミー文字列と、元の文字列とを対応付けて、図４に示した置換テーブル４００を用いて記憶する。また、ダミー置換部７０３は、置換後の文章を、図６に示したテキストテーブル６００を用いて記憶する。ダミー置換部７０３は、より具体的には、図９に後述するように、文章に含まれる文字または文字列を、ダミー文字列に置換する。
【００６５】
これにより、ダミー置換部７０３は、元の文章を形態素解析した場合のように、化合物名になりうるひと纏まりの文字列に、様々な品詞の形態素が混在して含まれてしまう確率を低減し、化合物名になりうるひと纏まりの文字列を特定しやすくすることができる。また、ダミー置換部７０３は、ダミー文字列にすれば１つの形態素として扱うことができる文字列を、複数の形態素に分けてしまうことを防止し、化合物名になりうるひと纏まりの文字列を特定しやすくすることができる。また、ダミー置換部７０３は、ダミー文字列を１つの形態素として扱うため、置換前の文字列を形態素解析した場合に比べて、形態素解析にかかる作業量の低減化を図ることができる。
【００６６】
形態素解析部７０４は、文章に含まれる文字または文字列をダミー文字列に置換した置換後の文章を形態素解析する。形態素解析部７０４は、例えば、記憶部７００に記憶された形態素解析ルールに基づいて、置換後の文章「・・・あるいはひ［語尾１］［本体１］を用いた・・・」を形態素解析する。形態素解析部７０４は、ダミー文字列を１つの形態素として解析する。
【００６７】
形態素解析部７０４は、例えば、形態素「ひ」の品詞が「未知語」であり、形態素「［語尾１］」の品詞が「語尾」であり、形態素「［本体１］」の品詞が「本体」であると解析する。形態素解析部７０４は、例えば、形態素「あるいは」の品詞が「接続詞」であり、形態素「を」の品詞が「助詞」であり、形態素「用い」の品詞が「動詞」であると解析する。
【００６８】
形態素解析部７０４は、形態素解析した結果として、形態素と、形態素の品詞とを対応付けて、図５に示した品詞テーブル５００を用いて記憶する。形態素解析部７０４は、より具体的には、図１０に後述するように、置換後の文章を形態素解析する。これにより、形態素解析部７０４は、特定した文字列を、複数の形態素に分けてしまうことを防止することができる。
【００６９】
候補文字列抽出部７０５は、置換後の文章を形態素解析した結果に基づいて、置換後の文章に含まれる、ダミー文字列と連結する文字または文字列と、ダミー文字列とを含み、化合物名の候補となる候補文字列を抽出する。候補文字列抽出部７０５は、形態素解析した結果に基づいて、ダミー文字列「［語尾１］」と連結する文字「ひ」と、ダミー文字列「［語尾１］」および「［本体１］」とを含む候補文字列「ひ［語尾１］［本体１］」を抽出する。候補文字列抽出部７０５は、置換後の文章に含まれる、候補文字列の位置を特定する情報を、図６に示したテキストテーブル６００を用いて記憶する。候補文字列抽出部７０５は、より具体的には、図１０に後述するように候補文字列を抽出する。
【００７０】
これにより、候補文字列抽出部７０５は、ひらがななどの未知語を含む文字列も、候補文字列として抽出することができる。また、候補文字列抽出部７０５は、様々な品詞の形態素が混在する文字列も、ダミー文字列に置換してあるため、様々な品詞の形態素が混在する文字列をひと纏まりとして扱いやすく、候補文字列を精度よく抽出することができる。
【００７１】
ダミー復元部７０６は、抽出した文字列に含まれるダミー文字列を、特定した文字または文字列に置換し直した置換後の文字列を生成する。置換後の文字列は、化合物名になりうる文字列である。ダミー復元部７０６は、文字列「ひ［語尾１］［本体１］」に含まれるダミー文字列「［語尾１］」および「［本体１］」を、それぞれ、文字「酸」および文字列「ナトリウム」に置換し直した置換後の文字列「ひ酸ナトリウム」を生成する。
【００７２】
ダミー復元部７０６は、元の文章に含まれる、置換後の文字列の位置を特定する情報を、図６に示したテキストテーブル６００を用いて記憶する。ダミー復元部７０６は、置換後の文字列を、図６に示したテキストテーブル６００を用いて記憶する。ダミー復元部７０６は、より具体的には、図１１に後述するように、置換後の文字列を生成する。これにより、ダミー復元部７０６は、化合物名を精度よく特定することができる。
【００７３】
選別部７０７は、生成した置換後の文字列が化合物名であるか否かを判定する。選別部７０７は、例えば、分類器により、生成した置換後の文字列が化合物名であるか否かを判定する。分類器は、例えば、機械学習により作成される。分類器は、具体的には、化合物名の一部の文字列やｎ−ｇｒａｍを特徴素として用いた機械学習により作成される。選別部７０７は、より具体的には、図１１に示すように、化合物名であるか否かを判定する。選別部７０７が、化合物名であるか否かを判定せず、ダミー復元部７０６が生成した文字列をそのまま化合物名として扱う場合があってもよい。これにより、選別部７０７は、文章に含まれる化合物名をさらに精度よく特定することができる。
【００７４】
出力部７０８は、置換後の文字列を化合物名として出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークＩ／Ｆ２０３による外部装置への送信、または、メモリ２０２や記録媒体２０５などの記憶領域への記憶である。出力部７０８は、例えば、置換後の文字列を化合物名として、メモリ２０２や記録媒体２０５などの記憶領域に記憶する。これにより、出力部７０８は、１以上の文章の中から特定の化合物名が出現する文章を特定可能にすることができ、化合物名をキーワードとした情報検索を可能にすることができる。また、出力部７０８は、１以上の文章における化合物名の出現頻度を計測可能にすることができ、文章についての要約文の自動作成を可能にすることができる。
【００７５】
出力部７０８は、元の文章に含まれる置換後の文字列を特定可能にする情報を、文章に付与して出力する。出力部７０８は、例えば、元の文章に含まれる、置換後の文字列の位置を特定する情報を、ディスプレイに表示する。出力部７０８は、具体的には、元の文章に含まれる置換後の文字列にタグ付けし、タグ付けした元の文章を、ディスプレイに表示する。また、出力部７０８は、具体的には、元の文章に含まれる置換後の文字列の表示態様を、他の文字列とは異なる表示態様にして、元の文章をディスプレイに表示してもよい。これにより、出力部７０８は、利用者が、文章に含まれる化合物名を認識しやすくすることができる。
【００７６】
また、出力部７０８は、例えば、元の文章に含まれる置換後の文字列を特定可能にする情報を、元の文章に付与して、メモリ２０２や記録媒体２０５などの記憶領域に記憶する。出力部７０８は、具体的には、元の文章に含まれる置換後の文字列にタグ付けし、タグ付けした元の文章を、メモリ２０２や記録媒体２０５などの記憶領域に記憶する。これにより、出力部７０８は、タグを参照しながら、文章から化合物名が示す化合物の化学式、機能、性質、および、用途などの情報を抽出しやすくすることができ、化合物に関するデータベースの自動作成を可能にすることができる。
【００７７】
出力部７０８は、記憶部７００を参照し、置換後の文字列をキーワードとして、置換後の文字列が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報を、ディスプレイに表示する。出力部７０８は、具体的には、元の文章に含まれる置換後の文字列に、置換後の文字列が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報へのリンクを対応付けて、元の文章をディスプレイに表示する。これにより、出力部７０８は、利用者が、化合物の性質を理解しやすくし、文章を理解しやすくすることができる。
【００７８】
出力部７０８は、置換後の文字列が選別部７０７により化合物名であると判定された場合には、上述したような動作を行い、置換後の文字列が選別部７０７により化合物名ではないと判定された場合には上述したような動作を行わない場合があってもよい。出力部７０８は、各機能部の処理結果を出力してもよい。これにより、出力部７０８は、各機能部の処理結果を利用者に通知可能にし、情報処理装置１００の管理や運用、例えば、情報処理装置１００の設定値の更新などを支援することができ、情報処理装置１００の利便性の向上を図ることができる。
【００７９】
（情報処理装置１００の動作例）
次に、図８〜図１２を用いて、情報処理装置１００の動作例について説明する。
【００８０】
図８〜図１２は、情報処理装置１００の動作例を示す説明図である。図８において、情報処理装置１００は、文章「・・・あるいはひ酸ナトリウムを用いた・・・」を示すテキストデータを読み込む。情報処理装置１００は、読み込んだテキストデータ８００が示す文章「・・・あるいはひ酸ナトリウムを用いた・・・」を、テキストテーブル６００の「元文書」に対応付けて記憶する。次に、図９の説明に移行する。
【００８１】
図９において、情報処理装置１００は、特定テーブル３００から、グループ１に対応する特定ルール「［ァ−ヴ  ａ−ｚ  Ａ−Ｚ  ・・・  ０−９］＋」を取得する。情報処理装置１００は、特定ルール「［ァ−ヴ  ａ−ｚ  Ａ−Ｚ  ・・・  ０−９］＋」に基づいて、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、カタカナが連続する文字列「ナトリウム」を特定する。
【００８２】
また、情報処理装置１００は、特定テーブル３００から、グループ２に対応する特定ルール「［酸  素  塩  ・・・  物］」を取得する。情報処理装置１００は、特定ルール「［酸  素  塩  ・・・  物］」に基づいて、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ２に属する特定の文字「酸」を特定する。
【００８３】
これにより、情報処理装置１００は、化合物名に特有な文字または文字列を特定することができる。情報処理装置１００は、例えば、カタカナ、アルファベット、数字、および、記号などが混在して含まれ、形態素解析ではひと纏まりの文字列として扱うことが難しい文字列を特定することができる。また、情報処理装置１００は、化合物名を特定する指標になる、化合物名に出現しやすい語尾となる文字を特定することができる。
【００８４】
ここでは、情報処理装置１００が、グループ１に対応する特定ルールと、グループ２に対応する特定ルールとを取得する場合について説明したが、これに限らない。例えば、情報処理装置１００が、グループ１に対応する特定ルールと、グループ２に対応する特定ルールとのうちいずれか一方を取得する場合があってもよい。
【００８５】
情報処理装置１００は、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ２に属する特定の文字ごとに、ダミー文字列「［語尾ｉ］」に置換する。ｉは、特定の文字ごとに異なる値が割り振られる。図９の例では、情報処理装置１００は、グループ２に属する特定の文字「酸」を、ダミー文字列「［語尾１］」に置換する。これにより、情報処理装置１００は、語尾になる文字を、語尾になるという特徴が現れたダミー文字列「［語尾１］」に置換することができる。このため、情報処理装置１００は、形態素解析において、ダミー文字列「［語尾１］」の品詞を「語尾」として扱い、化合物名になりうるひと纏まりの文字列を特定しやすくすることができる。
【００８６】
ここで、情報処理装置１００は、ダミー文字列「［語尾１］」と、ダミー文字列に置換した文字「酸」とを対応付けて、置換テーブル４００を用いて記憶する。これにより、情報処理装置１００は、ダミー文字列「［語尾１］」を、文字「酸」に復元可能にすることができる。
【００８７】
情報処理装置１００は、文章「・・・あるいはひ酸ナトリウムを用いた・・・」に含まれる、グループ１に属する特定の文字が連続する文字列ごとに、ダミー文字列「［本体ｉ］」に置換する。ｉは、文字列ごとに異なる値が割り振られる。図９の例では、情報処理装置１００は、グループ１に属する特定の文字が連続する文字列「ナトリウム」を、ダミー文字列「［本体１］」に置換する。これにより、情報処理装置１００は、様々な品詞の形態素が混在して含まれる文字列を、形態素解析において１つの形態素として扱うことを可能にすることができる。このため、情報処理装置１００は、化合物名になりうるひと纏まりの文字列を特定しやすくすることができる。
【００８８】
ここで、情報処理装置１００は、ダミー文字列「［本体１］」と、ダミー文字列に置換した文字「ナトリウム」とを対応付けて、置換テーブル４００を用いて記憶する。これにより、情報処理装置１００は、ダミー文字列「［本体１］」を、文字列「ナトリウム」に復元可能にすることができる。
【００８９】
置換後の文章は、「・・・あるいはひ［語尾１］［本体１］を用いた・・・」である。情報処理装置１００は、置換後の文章「・・・あるいはひ［語尾１］［本体１］を用いた・・・」を示すテキストデータを、テキストテーブル６００の「置き換え後」に対応付けて記憶する。これにより、情報処理装置１００は、元の文章と、置換後の文章と併せて記憶しておくことができる。次に、図１０の説明に移行する。
【００９０】
図１０において、情報処理装置１００は、置換後の文章「・・・あるいはひ［語尾１］［本体１］を用いた・・・」を形態素解析する。ここで、情報処理装置１００は、ダミー文字列を１つの形態素として解析する。図１０の例では、情報処理装置１００は、形態素「あるいは」の品詞が「接続詞」であると解析する。また、情報処理装置１００は、形態素「ひ」の品詞が「未知語」であり、形態素「［語尾１］」の品詞が「語尾」であり、形態素「［本体１］」の品詞が「本体」であると解析する。また、情報処理装置１００は、形態素「を」の品詞が「助詞」であり、形態素「用い」の品詞が「動詞」であり、形態素「た」の品詞が「活用語尾」であると解析する。
【００９１】
情報処理装置１００は、形態素と、形態素の品詞とを対応付けて、品詞テーブル５００を用いて記憶する。情報処理装置１００は、品詞テーブル５００に基づいて、置換後の文章「・・・あるいはひ［語尾１］［本体１］を用いた・・・」に含まれる、化合物名の候補となる候補文字列を抽出する。候補文字列は、ダミー文字列と連結する文字または文字列と、ダミー文字列とを含む文字列である。候補文字列は、ダミー文字列であってもよい。
【００９２】
図１０の例では、情報処理装置１００は、置換後の文章「・・・あるいはひ［語尾１］［本体１］を用いた・・・」に含まれる形態素を順に取得する。まず、情報処理装置１００は、形態素「あるいは」を取得する。次に、情報処理装置１００は、形態素「あるいは」の次にある形態素「ひ」の品詞を取得する。そして、情報処理装置１００は、形態素「あるいは」の品詞「接続詞」と、形態素「ひ」の品詞「未知語」とを取得する。情報処理装置１００は、取得した品詞に基づいて、形態素「あるいは」と、形態素「あるいは」の次にある形態素「ひ」とが連結するか否かを判定する。ここでは、情報処理装置１００は、連結しないと判定する。
【００９３】
次に、情報処理装置１００は、形態素「ひ」の次にある形態素「［語尾１］」を取得する。そして、情報処理装置１００は、形態素「ひ」の品詞「未知語」と、形態素「［語尾１］」の品詞「語尾」とを取得する。情報処理装置１００は、取得した品詞に基づいて、形態素「ひ」と、形態素「ひ」の次にある形態素「［語尾１］」とが連結するか否かを判定する。ここでは、情報処理装置１００は、形態素「［語尾１］」の品詞が「語尾」であるため、連結すると判定する。情報処理装置１００は、連結すると判定した場合、形態素「ひ」と形態素「［語尾１］」とを連結した文字列「ひ［語尾１］」を、新たな形態素として扱う。
【００９４】
次に、情報処理装置１００は、形態素「ひ［語尾１］」の次にある形態素「［本体１］」を取得する。そして、情報処理装置１００は、形態素「ひ［語尾１］」に含まれる形態素「ひ」の品詞「未知語」および形態素「［語尾１］」の品詞「語尾」と、形態素「［本体１］」の品詞「本体」とを取得する。情報処理装置１００は、取得した品詞に基づいて、形態素「ひ［語尾１］」と、形態素「ひ［語尾１］」の次にある形態素「［本体１］」とが連結するか否かを判定する。ここでは、情報処理装置１００は、形態素「［本体１］」の品詞が「本体」であるため、連結すると判定する。情報処理装置１００は、連結すると判定した場合、形態素「ひ［語尾１］」と形態素「［本体１］」とを連結した文字列「ひ［語尾１］［本体１］」を、新たな形態素として扱う。
【００９５】
次に、情報処理装置１００は、形態素「ひ［語尾１］［本体１］」の次にある形態素「を」を取得する。そして、情報処理装置１００は、形態素「ひ［語尾１］」に含まれる形態素「ひ」の品詞「未知語」、形態素「［語尾１］」の品詞「語尾」、および、形態素「［本体１］」の品詞「本体」と、形態素「を」の品詞「助詞」とを取得する。情報処理装置１００は、取得した品詞に基づいて、形態素「ひ［語尾１］［本体１］」と、形態素「ひ［語尾１］［本体１］」の次にある形態素「を」とが連結するか否かを判定する。ここでは、情報処理装置１００は、形態素「を」の品詞が「助詞」であるため、連結しないと判定する。
【００９６】
情報処理装置１００は、同様に、形態素「用い」や形態素「た」が連結しないと判定する。結果として、情報処理装置１００は、形態素「ひ［語尾１］［本体１］」を、化合物名の候補となる候補文字列「ひ［語尾１］［本体１］」として抽出する。情報処理装置１００は、より具体的には、図１４に示す抽出処理により、候補文字列を抽出する。
【００９７】
情報処理装置１００は、置換後の文章「・・・あるいはひ［語尾１］［本体１］を用いた・・・」に含まれる、候補文字列「ひ［語尾１］［本体１］」に、タグ「＜ｃ＞」およびタグ「＜／ｃ＞」を付与し、候補文字列を特定可能にする。タグ付けした文章は、「・・・あるいは＜ｃ＞ひ［語尾１］［本体１］＜／ｃ＞を用いた・・・」である。情報処理装置１００は、タグ付けした文章「・・・あるいは＜ｃ＞ひ［語尾１］［本体１］＜／ｃ＞を用いた・・・」を、テキストテーブル６００の「タグ付け後」に対応付けて記憶する。
【００９８】
これにより、情報処理装置１００は、ひらがななどの未知語を含む文字列も、候補文字列として抽出することができる。また、情報処理装置１００は、様々な品詞の形態素が混在する文字列をダミー文字列に置換してあるため、様々な品詞の形態素が混在する文字列をひと纏まりとして扱いやすく、候補文字列を精度よく抽出することができる。次に、図１１の説明に移行する。
【００９９】
図１１において、情報処理装置１００は、置換テーブル４００に基づいて、タグ付けした文章において、候補文字列「ひ［語尾１］［本体１］」に含まれるダミー文字列「［語尾１］」を、文字「酸」に復元する。また、情報処理装置１００は、置換テーブル４００に基づいて、タグ付けした文章において、候補文字列「ひ［語尾１］［本体１］」に含まれるダミー文字列「［本体１］」を、文字列「ナトリウム」に復元する。
【０１００】
タグ付けし、かつ、ダミー文字列を復元した文章は、「・・・あるいは＜ｃ＞ひ酸ナトリウム＜／ｃ＞を用いた・・・」である。情報処理装置１００は、タグ付けし、かつ、ダミー文字列を復元した文章「・・・あるいは＜ｃ＞ひ酸ナトリウム＜／ｃ＞を用いた・・・」を示すテキストデータを、テキストテーブル６００の「復元後」に対応付けて記憶する。また、情報処理装置１００は、候補文字列「ひ［語尾１］［本体１］」に含まれるダミー文字列を復元した結果得られた、タグ付けされた文字列「ひ酸ナトリウム」を示すテキストデータ、テキストテーブル６００の「抽出結果」に対応付けて記憶する。
【０１０１】
その後、情報処理装置１００は、分類器により、タグ付けされた文字列「ひ酸ナトリウム」が、化合物名であるか否かを判定する。ここでは、情報処理装置１００は、化合物名であると判定する。情報処理装置１００は、化合物でなければ、テキストテーブル６００の「抽出結果」に対応付けられた「ひ酸ナトリウム」を示すテキストデータを削除してもよい。また、情報処理装置１００は、化合物でなければ、テキストテーブル６００の「タグ付け後」や「復元後」に対応付けられたテキストテーブル６００から、タグを削除してもよい。
【０１０２】
これにより、情報処理装置１００は、化合物名を精度よく特定することができる。ここで、情報処理装置１００は、タグ付けせずに、候補文字列「ひ［語尾１］［本体１］」を抽出し、化合物名であるか否かを判定する場合があってもよい。情報処理装置１００は、判定結果に基づき、化合物名を特定した後に、元の文章にタグ付けする場合があってもよい。次に、図１２の説明に移行する。
【０１０３】
図１２において、情報処理装置１００は、テキストテーブル６００の「復元後」に対応付けられたテキストデータが示す文章「・・・あるいは＜ｃ＞ひ酸ナトリウム＜／ｃ＞を用いた・・・」を取得する。情報処理装置１００は、タグ付けされた文字列に下線が引かれるように、タグを非表示にした形式で、文章「・・・あるいは＜ｃ＞ひ酸ナトリウム＜／ｃ＞を用いた・・・」をディスプレイに表示する。情報処理装置１００は、具体的には、表示内容１２００を表示する。
【０１０４】
また、情報処理装置１００は、ディスプレイに表示されたタグ付けされた文字列に対応する領域がクリックされると、タグ付けされた文字列が示す化合物の化学式、機能、性質、および、用途などの情報を表示してもよい。情報処理装置１００は、具体的には、表示内容１２００を表示する。これにより、情報処理装置１００は、利用者が、文章に含まれる化合物名を認識しやすくすることができる。また、情報処理装置１００は、利用者が、化合物の性質を理解しやすくし、文章を理解しやすくすることができる。
【０１０５】
（全体処理手順）
次に、図１３を用いて、情報処理装置１００が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図２に示したＣＰＵ２０１と、メモリ２０２や記録媒体２０５などの記憶領域と、ネットワークＩ／Ｆ２０３とによって実現される。
【０１０６】
図１３は、全体処理手順の一例を示すフローチャートである。図１３において、まず、情報処理装置１００は、文章を示すテキストデータを読み込む（ステップＳ１３０１）。
【０１０７】
次に、情報処理装置１００は、特定テーブル３００に基づくパターン認識により、文章から化合物名に特有な文字列を抽出する（ステップＳ１３０２）。そして、情報処理装置１００は、抽出した文字列が属するグループに基づいて、文章のうち抽出した文字列をダミー文字列に置換する（ステップＳ１３０３）。
【０１０８】
次に、情報処理装置１００は、置換後の文章に対して形態素解析を実行する（ステップＳ１３０４）。そして、情報処理装置１００は、図１４に後述する抽出処理を実行し、形態素解析の結果を参照し、品詞の組み合わせに基づいて、ダミー文字列を含み化合物名の候補となる候補文字列を抽出する（ステップＳ１３０５）。
【０１０９】
次に、情報処理装置１００は、抽出した候補文字列のうちダミー文字列を置換前の文字列に復元する（ステップＳ１３０６）。そして、情報処理装置１００は、分類器により、復元後の候補文字列が化合物名であるか否かを判定する（ステップＳ１３０７）。
【０１１０】
次に、情報処理装置１００は、判定結果を出力する（ステップＳ１３０８）。そして、情報処理装置１００は、全体処理を終了する。これにより、情報処理装置１００は、文章に含まれる化合物名を、精度よく特定することができる。
【０１１１】
（抽出処理手順）
次に、図１４を用いて、情報処理装置１００が実行する、抽出処理手順の一例について説明する。抽出処理は、例えば、図２に示したＣＰＵ２０１と、メモリ２０２や記録媒体２０５などの記憶領域と、ネットワークＩ／Ｆ２０３とによって実現される。
【０１１２】
図１４は、抽出処理手順の一例を示すフローチャートである。図１４において、まず、情報処理装置１００は、形態素解析の結果を読み込む（ステップＳ１４０１）。そして、情報処理装置１００は、ステップＳ１４０２の処理に移行する。
【０１１３】
ステップＳ１４０２では、情報処理装置１００は、置換後の文章に含まれる、処理済みではない形態素のうち、最初の形態素を取得する（ステップＳ１４０２）。そして、情報処理装置１００は、ステップＳ１４０３の処理に移行する。
【０１１４】
ステップＳ１４０３では、情報処理装置１００は、最初の形態素の次の形態素を取得する（ステップＳ１４０３）。次に、情報処理装置１００は、最初の形態素が、未知語、本体、名詞、または、接頭語のいずれかの品詞の形態素を含むか否かを判定する（ステップＳ１４０４）。ここで、いずれかの品詞の形態素を含む場合（ステップＳ１４０４：Ｙｅｓ）、情報処理装置１００は、ステップＳ１４０５の処理に移行する。一方で、いずれの品詞の形態素も含まない場合（ステップＳ１４０４：Ｎｏ）、情報処理装置１００は、ステップＳ１４０９の処理に移行する。
【０１１５】
ステップＳ１４０５では、情報処理装置１００は、次の形態素が、未知語、本体、名詞、または、接頭語のいずれかの品詞の形態素を含むか否かを判定する（ステップＳ１４０５）。ここで、いずれかの品詞の形態素を含む場合（ステップＳ１４０５：Ｙｅｓ）、情報処理装置１００は、ステップＳ１４０６の処理に移行する。一方で、いずれの品詞の形態素も含まない場合（ステップＳ１４０５：Ｎｏ）、情報処理装置１００は、ステップＳ１４０７の処理に移行する。
【０１１６】
ステップＳ１４０６では、情報処理装置１００は、最初の形態素と次の形態素とを結合した形態素を、最初の形態素に設定する（ステップＳ１４０６）。そして、情報処理装置１００は、ステップＳ１４０３の処理に戻る。
【０１１７】
ステップＳ１４０７では、情報処理装置１００は、最初の形態素が、ダミー文字列を含むか否かを判定する（ステップＳ１４０７）。ここで、ダミー文字列を含む場合（ステップＳ１４０７：Ｙｅｓ）、情報処理装置１００は、ステップＳ１４０８の処理に移行する。一方で、ダミー文字列を含まない場合（ステップＳ１４０７：Ｎｏ）、情報処理装置１００は、ステップＳ１４０９の処理に移行する。
【０１１８】
ステップＳ１４０８では、情報処理装置１００は、置換後の文章に含まれる最初の形態素に、タグを付与する（ステップＳ１４０８）。そして、情報処理装置１００は、ステップＳ１４０９の処理に移行する。
【０１１９】
ステップＳ１４０９では、情報処理装置１００は、最初の形態素を、処理済みに設定する（ステップＳ１４０９）。次に、情報処理装置１００は、すべての形態素が処理済みであるか否かを判定する（ステップＳ１４１０）。ここで、処理済みではない形態素がある場合（ステップＳ１４１０：Ｎｏ）、情報処理装置１００は、ステップＳ１４１２の処理に戻る。一方で、すべての形態素が処理済みである場合（ステップＳ１４１０：Ｙｅｓ）、情報処理装置１００は、ステップＳ１４１１の処理に移行する。
【０１２０】
ステップＳ１４１１では、情報処理装置１００は、タグが付与された置換後の文章に基づいて、ダミー文字列を含み化合物名の候補となる候補文字列を抽出して出力する（ステップＳ１４１１）。そして、情報処理装置１００は、抽出処理を終了する。これにより、情報処理装置１００は、ひと纏まりの文字列を抽出しやすくすることができ、ダミー文字列を復元すると化合物名になりうる候補文字列を精度よく抽出することができる。
【０１２１】
ここでは、情報処理装置１００が、本体または語尾に対応するダミー文字列を含む候補文字列を抽出する場合について説明したが、これに限らない。例えば、情報処理装置１００が、少なくとも本体に対応するダミー文字列を含む候補文字列を抽出し、語尾に対応するダミー文字列のみを含む候補文字列を抽出しない場合があってもよい。
【０１２２】
ここでは、情報処理装置１００が、ステップＳ１４０２で取得した最初の形態素と、ステップＳ１４０６で形態素を結合して設定された最初の形態素とのいずれについても、ステップＳ１４０４で同一の条件判定を行う場合について説明したが、これに限らない。例えば、情報処理装置１００が、ステップＳ１４０２で取得した最初の形態素と、ステップＳ１４０６で形態素を結合して設定された最初の形態素とで、ステップＳ１４０４で異なる条件判定を行う場合があってもよい。
【０１２３】
以上説明したように、情報処理装置１００によれば、文章に含まれる、化合物名に特有な文字または文字列を特定することができる。情報処理装置１００によれば、文章に含まれる文字または文字列を、文字または文字列の特徴を表すダミー文字列に置換することができる。情報処理装置１００によれば、置換後の文章を形態素解析した結果に基づいて、置換後の文章に含まれる、ダミー文字列と連結する文字または文字列と、ダミー文字列とを含む文字列を抽出することができる。情報処理装置１００によれば、抽出した文字列に含まれるダミー文字列を、特定した文字または文字列に置換し直した置換後の文字列を生成することができる。これにより、情報処理装置１００は、文章に含まれる化合物名を精度よく特定することができる。
【０１２４】
情報処理装置１００によれば、生成した置換後の文字列が化合物名であるか否かを判定することができる。これにより、情報処理装置１００は、文章に含まれる化合物名をさらに精度よく特定することができる。
【０１２５】
情報処理装置１００によれば、特有な文字または文字列として、化合物名または化合物名の部分構造として出現する頻度が一定以上に高いと判断されるカタカナ、アルファベット、数字、または、記号を含む文字または文字列を用いることができる。これにより、情報処理装置１００は、カタカナ、アルファベット、数字、および、記号などが混在して含まれ、形態素解析ではひと纏まりの文字列として扱うことが難しい文字列を特定することができる。このため、情報処理装置１００は、文章に含まれる化合物名を特定する精度の向上を図ることができる。
【０１２６】
情報処理装置１００によれば、特有な文字または文字列として、化合物名または化合物名の部分構造の語尾となる文字または文字列を用いることができる。これにより、情報処理装置１００は、化合物名を特定する指標になる、化合物名に出現しやすい語尾となる文字または文字列を特定することができる。このため、情報処理装置１００は、文章に含まれる化合物名を特定する精度の向上を図ることができる。
【０１２７】
情報処理装置１００によれば、元の文章に含まれる置換後の文字列を特定可能にする情報を、元の文章に付与して出力することができる。これにより、情報処理装置１００は、利用者が、文章に含まれる化合物名を認識しやすくすることができる。
【０１２８】
情報処理装置１００によれば、置換後の文字列が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報を出力することができる。これにより、情報処理装置１００は、利用者が、化合物の性質を理解しやすくし、文章を理解しやすくすることができる。
【０１２９】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１３０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１３１】
（付記１）コンピュータに、
文章に含まれる、化合物名に特有な文字または文字列を特定し、
前記文章に含まれる前記文字または前記文字列を、前記文字または前記文字列の特徴を表すダミー文字列に置換し、
前記文章に含まれる前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章に含まれる、前記ダミー文字列と連結する文字または文字列と、前記ダミー文字列とを含む文字列を抽出し、
抽出した前記文字列に含まれる前記ダミー文字列を、特定した前記文字または前記文字列に置換し直した置換後の文字列を生成する、
処理を実行させることを特徴とする情報処理プログラム。
【０１３２】
（付記２）前記コンピュータに、
生成した前記置換後の文字列が化合物名であるか否かを判定する、処理を実行させることを特徴とする付記１に記載の情報処理プログラム。
【０１３３】
（付記３）前記特有な文字または文字列は、化合物名または化合物名の部分構造として出現する頻度が一定以上に高いと判断されるカタカナ、アルファベット、数字、または、記号の少なくともいずれかを含む文字または文字列である、ことを特徴とする付記１または２に記載の情報処理プログラム。
【０１３４】
（付記４）前記特有な文字または文字列は、化合物名または化合物名の部分構造の語尾となる文字または文字列である、ことを特徴とする付記１〜３のいずれか一つに記載の情報処理プログラム。
【０１３５】
（付記５）前記コンピュータに、
前記文章に含まれる前記置換後の文字列を特定可能にする情報を、前記文章に付与して出力する、処理を実行させることを特徴とする付記１〜４のいずれか一つに記載の情報処理プログラム。
【０１３６】
（付記６）前記コンピュータに、
前記置換後の文字列が示す化合物の化学式、機能、性質、および、用途の少なくともいずれかの情報を出力する、処理を実行させることを特徴とする付記１〜５のいずれか一つに記載の情報処理プログラム。
【０１３７】
（付記７）コンピュータに、
文章に含まれる、化合物名に特有な文字または文字列を特定し、
前記文章に含まれる前記文字または前記文字列を、前記文字または前記文字列の特徴を表すダミー文字列に置換し、
前記文章に含まれる前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章に含まれる、前記ダミー文字列と連結する文字または文字列と、前記ダミー文字列とを含む文字列を抽出し、
抽出した前記文字列に含まれる前記ダミー文字列を、特定した前記文字または前記文字列に置換し直した置換後の文字列を生成する、
処理を実行することを特徴とする情報処理方法。
【０１３８】
（付記８）文章に含まれる、化合物名に特有な文字または文字列を特定し、
前記文章に含まれる前記文字または前記文字列を、前記文字または前記文字列の特徴を表すダミー文字列に置換し、
前記文章に含まれる前記文字または前記文字列を前記ダミー文字列に置換した置換後の文章を形態素解析した結果に基づいて、前記置換後の文章に含まれる、前記ダミー文字列と連結する文字または文字列と、前記ダミー文字列とを含む文字列を抽出し、
抽出した前記文字列に含まれる前記ダミー文字列を、特定した前記文字または前記文字列に置換し直した置換後の文字列を生成する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【０１３９】
１００  情報処理装置
２００  バス
２０１  ＣＰＵ
２０２  メモリ
２０３  ネットワークＩ／Ｆ
２０４  記録媒体Ｉ／Ｆ
２０５  記録媒体
２１０  ネットワーク
３００  特定テーブル
４００  置換テーブル
５００  品詞テーブル
６００  テキストテーブル
７００  記憶部
７０１  読込部
７０２  パターン抽出部
７０３  ダミー置換部
７０４  形態素解析部
７０５  候補文字列抽出部
７０６  ダミー復元部
７０７  選別部
７０８  出力部
７１０  制御部
８００  テキストデータ
１２００  表示内容
【図１】
2019179470.tif 000003
【図２】
2019179470.tif 000004
【図３】
2019179470.tif 000005
【図４】
2019179470.tif 000006
【図５】
2019179470.tif 000007
【図６】
2019179470.tif 000008
【図７】
2019179470.tif 000009
【図８】
2019179470.tif 000010
【図９】
2019179470.tif 000011
【図１０】
2019179470.tif 000012
【図１１】
2019179470.tif 000013
【図１２】
2019179470.tif 000014
【図１３】
2019179470.tif 000015
【図１４】
2019179470.tif 000016