(57)【要約】【課題】多数のバースト検出対象に対して効率的にバースト検出を可能とする。【解決手段】テキストストリームにおけるバーストを検出するバースト検出装置において、前記テキストストリームにおけるバースト検出対象の出現頻度について、複数種類の異なる期間の移動平均を所定の時間間隔で算出し、前記所定の時間間隔で算出した複数種類の移動平均をバースト検出対象頻度格納手段に格納する移動平均算出手段と、前記バースト検出対象頻度格納手段から、時刻順に複数種類の移動平均を読み出し、当該複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より大きい場合にバースト開始と判定し、バースト開始の後、複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より小さい場合にバースト終了と判定し、判定結果を出力するバースト判定手段とを備える。【選択図】図１
2014096003.tif 000002
【特許請求の範囲】
【請求項１】
テキストストリームにおけるバーストを検出するバースト検出装置であって、
前記テキストストリームにおけるバースト検出対象の出現頻度について、複数種類の異なる期間の移動平均を所定の時間間隔で算出し、前記所定の時間間隔で算出した複数種類の移動平均をバースト検出対象頻度格納手段に格納する移動平均算出手段と、
前記バースト検出対象頻度格納手段から、時刻順に複数種類の移動平均を読み出し、当該複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より大きい場合にバースト開始と判定し、バースト開始の後、複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より小さい場合にバースト終了と判定し、判定結果を出力するバースト判定手段と
を備えたことを特徴とするバースト検出装置。
【請求項２】
前記バースト判定手段は、
前記バースト開始の判定において、予め定めた移動平均の組における短い期間の移動平均と長い期間の移動平均との比較を行い、当該予め定めた移動平均の組の全てで短い期間の移動平均が長い期間の移動平均より大きい場合にバースト開始と判定し、
前記バースト終了の判定において、予め定めた移動平均の組における短い期間の移動平均と長い期間の移動平均との比較を行い、当該予め定めた移動平均の組の全てで短い期間の移動平均が長い期間の移動平均より小さい場合にバースト終了と判定する
ことを特徴とする請求項１に記載のバースト検出装置。
【請求項３】
前記バースト検出手段は、短い期間の移動平均と長い期間の移動平均の比較において、短い期間の移動平均又は長い期間の移動平均に重み係数を乗じた値を用いて比較を行うことを特徴とする請求項１又は２に記載のバースト検出装置。
【請求項４】
テキストストリームにおけるバーストを検出するバースト検出装置が実行するバースト検出方法であって、
前記テキストストリームにおけるバースト検出対象の出現頻度について、複数種類の異なる期間の移動平均を所定の時間間隔で算出し、前記所定の時間間隔で算出した複数種類の移動平均をバースト検出対象頻度格納手段に格納する移動平均算出手段と、
前記バースト検出対象頻度格納手段から、時刻順に複数種類の移動平均を読み出し、当該複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より大きい場合にバースト開始と判定し、バースト開始の後、複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より小さい場合にバースト終了と判定し、判定結果を出力するバースト判定ステップと
を備えたことを特徴とするバースト検出方法。
【請求項５】
前記バースト判定ステップにおいて、前記バースト判定装置は、
前記バースト開始の判定において、予め定めた移動平均の組における短い期間の移動平均と長い期間の移動平均との比較を行い、当該予め定めた移動平均の組の全てで短い期間の移動平均が長い期間の移動平均より大きい場合にバースト開始と判定し、
前記バースト終了の判定において、予め定めた移動平均の組における短い期間の移動平均と長い期間の移動平均との比較を行い、当該予め定めた移動平均の組の全てで短い期間の移動平均が長い期間の移動平均より小さい場合にバースト終了と判定する
ことを特徴とする請求項４に記載のバースト検出方法。
【請求項６】
前記バースト判定ステップにおいて、前記バースト判定装置は、短い期間の移動平均と長い期間の移動平均の比較において、短い期間の移動平均又は長い期間の移動平均に重み係数を乗じた値を用いて比較を行うことを特徴とする請求項４又は５に記載のバースト検出方法。
【請求項７】
コンピュータを、請求項１ないし３のうちいずれか１項に記載のバースト検出装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテキストストリームに対して急激な量の増加を検出するバースト検出の技術分野に属するものである。
【背景技術】
【０００２】
マイクロブログやニュース、その他の情報などウェブに限らず利用可能なテキストストリームに対して急激な量の増加を検出するバースト検出手法を用いて、実世界における盛り上がりや異常検出が可能である。ここでテキストストリームとは時刻情報を持ち、時間軸に対して連続的に取得が可能なテキスト群のことである。
【０００３】
バースト検出手法の中でも、到着間隔をモデル化するものと到着頻度をモデル化するアプローチがあるが、テキストストリームが一定頻度以上の場合、正確な時刻を記録しないと到着間隔を捉えることができないため、本発明では後者を対象とする。
【０００４】
バースト検出手法を用いて実世界の盛り上がりを検出する方法として、例えば固有表現や実世界に存在するオブジェクト名に着目し、これらの単語の時系列情報が与えられた際にバースト判定を行う方法が考えられる。頻度情報に基づくバースト検出手法としては、例えば非特許文献1に開示された手法などが挙げられ、これを用いることで、テキストストリームにおける単語のバーストを検知することが可能となり、実世界の盛り上がりを検出することが可能となる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Zhijian Yuan, Yan Jia, Shuqiang Yang, "Online Burst Detection Over High Speed Short Text Streams", In Proceeding of the 7th international conference on Computational Science, pp. 717-725, 2007.
【非特許文献２】山田寛康, 工藤拓, 松本裕治, "Support Vector Machine を用いた日本語固有表現抽出", 情報処理学会論文誌43(1), 44-53, 2002.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
予め監視対象の単語等を含むテキスト群を用いてバースト検出を行う場合、従来技術では対象毎にバースト判定のための閾値パラメータを人手で設定する必要があった。そのため、バースト検出対象の数を増やした際に、人手コストが大きくかかる、または人手によるパラメータ設定が不可能となる、という課題があった。
【０００７】
本発明は上記の課題を解決するためになされたものであり、多数のバースト検出対象に対して効率的にバースト検出を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明は、テキストストリームにおけるバーストを検出するバースト検出装置であって、
前記テキストストリームにおけるバースト検出対象の出現頻度について、複数種類の異なる期間の移動平均を所定の時間間隔で算出し、前記所定の時間間隔で算出した複数種類の移動平均をバースト検出対象頻度格納手段に格納する移動平均算出手段と、
前記バースト検出対象頻度格納手段から、時刻順に複数種類の移動平均を読み出し、当該複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より大きい場合にバースト開始と判定し、バースト開始の後、複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より小さい場合にバースト終了と判定し、判定結果を出力するバースト判定手段とを備えたことを特徴とするバースト検出装置として構成される。
【０００９】
前記バースト判定手段は、前記バースト開始の判定において、予め定めた移動平均の組における短い期間の移動平均と長い期間の移動平均との比較を行い、当該予め定めた移動平均の組の全てで短い期間の移動平均が長い期間の移動平均より大きい場合にバースト開始と判定し、前記バースト終了の判定において、予め定めた移動平均の組における短い期間の移動平均と長い期間の移動平均との比較を行い、当該予め定めた移動平均の組の全てで短い期間の移動平均が長い期間の移動平均より小さい場合にバースト終了と判定するようにしてもよい。
【００１０】
また、前記バースト検出手段は、例えば、短い期間の移動平均と長い期間の移動平均の比較において、短い期間の移動平均又は長い期間の移動平均に重み係数を乗じた値を用いて比較を行う。
【００１１】
また、本発明は、上記バースト検出装置が実行するバースト検出方法、及び、コンピュータを、上記バースト検出装置における各手段として機能させるためのプログラムとして構成することもできる。
【発明の効果】
【００１２】
本発明によれば、移動平均の関係に基づいてバースト開始判定とバースト終了判定を行うことで絶対頻度に依存しないパラメータ設定によるバースト検出が可能となり、多数のバースト検出対象に対して効率的にバースト検出が可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係るバースト判定装置１００の機能構成図である。
【図２】テキストストリームＤＢ１０のデータ構造の例を示す図である。
【図３】トークン時系列ＤＢ３０のデータ構造の例を示す図である。
【図４】時系列情報抽出機能部２０の処理の流れを示すフローチャートである。
【図５】トークン頻度移動平均ＤＢ５０のデータ構造の例を示す図である。
【図６】移動平均計算機能部４０の処理の流れを示すフローチャートである。
【図７】バースト判定結果ＤＢ７０のデータ構造の例を示す図である。
【図８】バースト判定機能部６０の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１５】
＜バースト判定装置の全体構成＞
図１に、本実施の形態に係るバースト判定装置１００の機能構成図を示す。図１に示すように、バースト判定装置１００は、テキストストリームＤＢ（データベース）１０、時系列情報抽出機能部２０、トークン時系列ＤＢ３０、バースト判定部１１０、及びバースト判定結果ＤＢ７０を有する。バースト判定部１１０は、移動平均計算機能部４０、トークン頻度移動平均ＤＢ５０、バースト判定機能部６０を有する。ここでの各ＤＢは、複数のテーブルからなるデータを格納する記憶手段である。
【００１６】
バースト判定装置１００は、例えば、１つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、バースト判定装置１００の各部が有する機能は、当該バースト判定装置１００を構成するコンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、各部で実施される処理に対応するプログラムを実行することによって実現することが可能である。より具体的には、プログラムに従って、計算対象のテキスト等のデータをメモリから読み出し、ＣＰＵにより演算を行って、メモリに格納する動作を繰り返しながら処理が実行される。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００１７】
以下、各ＤＢの内容や各機能部の処理について詳細に説明する。
【００１８】
＜時系列情報抽出機能部２０＞
時系列情報抽出機能部２０は、テキストストリームＤＢ１０からデータを読み出し、当該データから、トークン時系列情報を抽出し、抽出したトークン時系列情報をトークン時系列ＤＢ３０に出力する。
【００１９】
テキストストリームＤＢ１０に格納されるデータ構造の例を図２に示す。図２に示すように、テキストストリームＤＢ１０に格納されるデータは、文字列で表現されるテキスト情報と時刻情報を持つ。テキストストリームＤＢ１０は、例えばＴｗｉｔｔｅｒ（登録商標）のようなマイクロブログや、タイムスタンプを持つブログやニュース記事など、対象となる情報源から予め構築されているものとする。
【００２０】
トークン時系列ＤＢ３０に格納されるデータのデータ構造の例を図３に示す。図３に示すように、トークン時系列ＤＢ３０に格納されるデータは、各トークンについて予め定められた単位（図３の例の場合、分単位）で集約した頻度情報を持つ。この集約単位は予め人手で定めるものとし、秒単位、５秒単位、時間単位など、任意の単位を利用できるものとする。
【００２１】
図４は、時系列情報抽出機能部２０の処理の流れを示すフローチャートである。図４を参照して、時系列情報抽出機能部２０の処理の流れを説明する。
【００２２】
ステップＳ１−１）テキストストリームＤＢ１０から未処理のレコードを取得する。
【００２３】
ステップＳ１−２）当該レコードのテキストから固有表現を抽出する。固有表現抽出には例えば非特許文献２に開示された技術を用いることができる。本実施の形態では固有表現を対象としているが、バースト検出を判定する対象の辞書を持っている場合には、その辞書を用いることでバースト検出を判定する対象を抽出することができる。抽出された各固有表現と時刻について、トークン時系列ＤＢ３０に該当するレコードが存在しない場合には、頻度を１として出力する。既に該当するレコードが存在する場合には頻度の加算を行う。
【００２４】
ステップＳ１−３）未処理のレコードが存在する場合にはステップＳ１−１に戻る。そうでない場合には処理を終了する。
【００２５】
＜移動平均計算機能部４０＞
移動平均計算機能部４０は、トークン時系列ＤＢ３０からデータを読み出し、当該データからトークン頻度移動平均を算出し、算出したトークン頻度移動平均をトークン頻度移動平均ＤＢ５０に出力する。
【００２６】
トークン頻度移動平均ＤＢ５０に格納されるデータのデータ構造の例を図５に示す。図５に示すように、トークン頻度移動平均ＤＢ５０は各トークンについて、開始時刻と終了時刻、そしてM種類（Mは自然数）の移動平均を保持している。図３の一行目の例では移動平均1 は例えば開始時刻と終了時刻の頻度の1分あたりの平均値、移動平均2は2012-07-28 22:30から2012-07-28 23:30までの60分間における1分あたりの平均値、というように、異なる期間の平均を取る期間を長くしたものを想定している。平均を取る期間については任意の幅を利用できるものとするが、移動平均k + 1は移動平均kに比べて必ず長い期間の平均であるとする。ここで利用する移動平均の期間と利用する移動平均の種類数Mについては予め人手により設定されているものとする。なお、本実施の形態では移動平均1は30 分の平均値、移動平均2 は60分の平均値、移動平均Mは30・M 分の平均値とするが、必ずしもこの限りではない。
【００２７】
図６は、移動平均計算機能部４０の処理に流れを示すフローチャートである。図６を参照して移動平均計算機能部４０の処理の流れを説明する。
【００２８】
ステップＳ２−１）トークン時系列ＤＢ３０から未処理のレコードを取得する。
【００２９】
ステップＳ２−２）取得したレコードに含まれるトークンに対して、トークン頻度移動平均ＤＢ５０の該当レコードに頻度を加算する。トークン頻度移動平均ＤＢ５０の開始時刻と終了時刻は、例えば移動平均１の範囲を利用する。該当するレコードが存在しない場合には、新たに作成して頻度を格納する。
【００３０】
ステップＳ２−３）トークン時系列ＤＢ３０に未処理のレコードがある場合、ステップＳ２−１に戻る。未処理のレコードがない場合にはステップＳ２−４に進む。ここで頻度が０の時刻が存在する場合、移動平均の計算も省略されてしまうため、全レコードを走査し、頻度が０のレコードを明示的にトークン頻度移動平均ＤＢ５０に追加を行う。
【００３１】
ステップＳ２−４）トークン頻度移動平均ＤＢ５０から未処理のレコードを取得する。ただし、ここで当該トークンについて開始時刻順にレコードをソートした際に、当該開始時刻以前のレコードが最低M−1個存在するものを選択する。これは、移動平均Ｍを計算するためにそれより前の期間の頻度情報がM−1個必要なためである。
【００３２】
ステップＳ２−５）各移動平均について、当該トークンを含む、それ以前のレコードを参照し、レコードに格納された頻度情報を用いて平均値を計算する。すなわち移動平均１  から移動平均Ｍまで利用する場合には、平均値の計算をＭ回行う。計算された平均値をトークン頻度移動平均ＤＢ５０に格納する。
【００３３】
ステップＳ２−６）トークン頻度移動平均ＤＢ５０に未処理のレコードがある場合にはステップＳ２−４に戻る。そうでない場合には処理を終了する。
【００３４】
上記のように、移動平均計算機能部４０は、テキストストリームにおけるバースト検出対象であるトークンの出現頻度について、M種類の異なる期間の移動平均を所定の時間間隔（図５の例では30分間隔）で算出し、当該所定の時間間隔で算出したM種類の移動平均をトークン頻度移動平均の格納手段であるトークン頻度移動平均ＤＢ５０に格納する。
【００３５】
＜バースト判定機能部６０＞
バースト判定機能部６０は、トークン頻度移動平均ＤＢ５０からデータを読み出し、当該データに基づきバースト判定を行い、バースト判定結果をバースト判定結果ＤＢ７０  に出力する。
【００３６】
バースト判定結果ＤＢ７０に格納されるデータのデータ構造の例を図７に示す。バースト判定結果ＤＢ７０は、開始時刻と終了時刻で定められた期間においてバーストが発生したかどうかの情報を格納する。
【００３７】
図８は、バースト判定機能部６０の処理の流れを示すフローチャートである。図８を参照して、バースト判定機能部６０の処理の流れを説明する。
【００３８】
ステップＳ３−１）トークン頻度移動平均ＤＢ５０から未処理のトークンを選択する。
【００３９】
ステップＳ３−２）トークン頻度移動平均ＤＢ５０から当該トークンを含むレコードを選択し、開始時刻順にソートを行う。バースト判定フラグをburst_flag←0とする。
【００４０】
ステップＳ３−３）ソートされたレコード群から未処理のレコードを選択する。
【００４１】
ステップＳ３−４）バーストフラグburst_flag= 0の場合、ステップＳ３−５に進む。そうでない場合にはステップＳ３−６に進む。
【００４２】
ステップＳ３−５）バースト開始判定を行う。バースト開始判定は、ある期間の移動平均が、より長い期間の移動平均に対して大きい値であるという条件が、指定された移動平均同士の間において成り立つ場合にバーストが開始すると判定するものである。
【００４３】
移動平均同士の比較判定は、例えば以下の関係式を用いて行う。
【００４４】
MovingAveragei > MovingAveragej・weightstart(i, j)         (1)
ここでMovingAverageiは移動平均iの値を表し、MovingAveragejは移動平均j の値を表す。なお、weightstart(i, j)は重み係数で、iとjに対して予め設定されているものとする。weightstart(i, j)は、０より大きい数値であり、例えば、実験等により適切な値を定めることができる。また、重み係数は、MovingAverageiに乗じることとしてもよい。
【００４５】
バースト開始判定においては、より短い期間の移動平均がより長い期間の移動平均を超えた場合にバースト開始の判定を行うため、ここではi < j を満たす全てのi, j について式(1) を満たした場合にバーストが開始すると判定する。特に指定がない場合には、全ての移動平均の組、すなわち
【００４６】
【数１】
2014096003.tif 000003
通りの組について上記判定を行う。ただし、予め指定があった場合には、限られた移動平均同士の比較によって上記条件を満たすと判定することも可能である。その場合、例えば移動平均1と移動平均5、移動平均5と移動平均Mというように、予め人手によって比較する移動平均の組が指定されているものとする。指定された組の全てで条件を満たした場合に、バースト開始と判定される。
【００４７】
バースト開始と判定された場合には、burst_flag←1とし、このバースト判定結果を、バースト判定結果ＤＢ７０に、当該トークン、開始時刻、終了時刻と共に出力する。バースト開始判定条件を満たさない場合には、判定結果burst_flagすなわち0の値をバースト判定結果ＤＢ７０に、当該トークン、開始時刻、終了時刻と共に出力する。
【００４８】
上記処理が終わった後にステップＳ３−７に進む。
【００４９】
ステップＳ３−６）バースト終了判定を行う。バースト終了判定では、ある期間の移動平均が、より長い期間の移動平均に対して小さい値であるという条件が、指定された移動平均同士の間において成り立つ場合にバーストが終了したと判定する。
【００５０】
移動平均同士の比較判定には、例えば以下の関係式を用いて判定を行う。
MovingAveragem < MovingAveragen・weightend(m, n)           (2)
ここでMovingAveragemは移動平均mの値を表し、MovingAveragenは移動平均nの値を表す。
【００５１】
なお、weightend(m, n) は重み係数で、mとnに対して予め設定されているものとする。weightend(m, n)は、０より大きい数値であり、例えば、実験等により適切な値を定めることができる。これはweightstart(., .)と同じものを用いても、異なるものを用いても良い。また、重み係数は、MovingAveragemに乗じることとしてもよい。
【００５２】
バースト終了判定においては、より短い期間の移動平均がより長い期間の移動平均より小さい値になった場合にバースト終了の判定を行うため、ここではm < n を満たす全てのm, n について式(2) を満たした場合にバースト終了判定とする。特に指定がない場合には、全ての移動平均の組、すなわち
【００５３】
【数２】
2014096003.tif 000004
【００５４】
通りの組について上記判定を行う。ただし、予め指定があった場合には、限られた移動平均同士の比較によって上記条件を満たすと判定することも可能である。この指定は、バースト開始条件における比較する移動平均の指定と異なっていてもよい。指定された組の全てで条件を満たした場合に、バースト終了と判定される。
【００５５】
バースト終了と判定された場合には、burst_flag←0とし、このバースト判定結果を、バースト判定結果ＤＢ７０に、当該トークン、開始時刻、終了時刻と共に出力する。バースト終了判定条件を満たさない場合には、判定結果burst_flagすなわち1の値をバースト判定結果ＤＢ７０に、当該トークン、開始時刻、終了時刻と共に出力する。
【００５６】
上記処理が終わった後にステップＳ３−７に進む。
【００５７】
ステップＳ３−７）ステップＳ３−２で得られたソート済みレコード群に未処理のレコードがある場合にはステップＳ３−３に戻る。そうでない場合にはステップＳ３−８に進む。
【００５８】
ステップＳ３−８）トークン頻度移動平均ＤＢ５０に未処理のトークンがある場合にはステップＳ３−１に戻る。そうでない場合には処理を終了する。
【００５９】
上記のように、バースト判定機能部６０は、トークン頻度移動平均ＤＢ５０から、時刻順に複数種類の移動平均を読み出し、当該複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より大きい場合にバースト開始と判定し、バースト開始の後、複数種類の移動平均における２つの移動平均の組において、短い期間の移動平均が長い期間の移動平均より小さい場合にバースト終了と判定し、判定結果をバースト判定結果ＤＢ７０に出力する。また、バースト判定機能部６０は、バースト開始の判定において、予め定めた移動平均の組における短い期間の移動平均と長い期間の移動平均との比較を行い、当該予め定めた移動平均の組の全てで短い期間の移動平均が長い期間の移動平均より大きい場合にバースト開始と判定し、バースト終了の判定において、予め定めた移動平均の組における短い期間の移動平均と長い期間の移動平均との比較を行い、当該予め定めた移動平均の組の全てで短い期間の移動平均が長い期間の移動平均より小さい場合にバースト終了と判定する。
【００６０】
また、本実施の形態では、上記の比較に用いる短い期間の移動平均又は長い期間の移動平均は、トークン頻度移動平均ＤＢ５０から読み出した値に、重み係数を乗じた値である。
【００６１】
上記の構成及び処理内容を有する本実施の形態により、移動平均の関係に基づいてバースト開始判定とバースト終了判定を行うことで絶対頻度に依存しないパラメータ設定によるバースト検出が可能となり、多数のバースト検出対象に対して効率的にバースト検出が可能となる。
【００６２】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００６３】
１０  テキストストリームＤＢ
２０  時系列情報抽出機能部
３０  トークン時系列ＤＢ
４０  移動平均計算機能部
５０  トークン頻度移動平均ＤＢ
６０  バースト判定機能部
７０  バースト判定結果ＤＢ
１００  バースト判定装置
１１０  バースト判定部
【図１】
2014096003.tif 000005
【図２】
2014096003.tif 000006
【図３】
2014096003.tif 000007
【図４】
2014096003.tif 000008
【図５】
2014096003.tif 000009
【図６】
2014096003.tif 000010
【図７】
2014096003.tif 000011
【図８】
2014096003.tif 000012