orizuru

つながる.見える.わかる IoTソリュ-ション

AIによって文から特定の情報を抽出して文章データを活用する

AIによって文から特定の情報を抽出して文章データを活用する

文からの情報の抽出

IoTとAIの話になるとセンサーから取得した時系列データや製品を撮影した画像、動画を利用するシーンが思い浮かびやすいのではと思います。弊社ではもちろんそのようなデータを用いたソリューションを提供していますが、他にも文章データに対する取り組みもおこなってまいりました。
以前頂いたご相談の中には、社内に従業員やユーザの方々が書いた文章が大量にあり、これを活用していきたいが名前や住所などの個人情報や機密情報が含まれているため、外部にデータを出すことができないといった問題を抱えていたというケースがあります。このようなケースでは文章に含まれる個人情報や機密情報を隠蔽する必要があります。また、個人情報などの隠蔽ではなく、ある種類の単語を文から抽出してシステムの中で利用したいというケースもあります。

semantic_label
個人情報隠蔽の例

 
 
このような問題にどうやってアプローチするとよいでしょうか。お客様の中には文章をそれほど活用してきていないが、文章はとりあえず大量に記録してあるという場合がありますので、それらの文章を人間が手作業で処理するというのは現実的ではないように思えます。
そこで一つ考えられるのはAI(機械学習、ディープラーニング)を利用した方法になります。

AIを使った文からの情報抽出(固有表現抽出)のアプローチ

AIを使ったアプローチではAIに文を与えることで、自動で各単語がどの種類の単語であるかということを識別することができるようになります。先程の個人情報の隠蔽の問題に当てはめると、AIに「山田太郎は人名である」といったことや、「茨城は地名である」といったことを識別させることができ、結果として「人名」や「地名」を抽出することができるようになります。このように「人名」や「地名」といった単語を抽出することを「固有表現抽出」といいます。
このAIを使ったアプローチではAIに学習というものをさせておく必要があります。学習で何をするかといえば、どのような単語がどの種類の単語になりやすいといったことや、どういう文脈のときにどういう種類の単語が出現するか、といった傾向を計算によって見出させることに相当します。このような学習の過程で見出した傾向をもとに、AIが初めて見るような文(学習に使われていない文)に対しても各単語がどの種類であるかということを識別できるようになります。

semantic_label
AIが単語の種類を識別するロジックの例

 
学習に用いるデータとしては、文とその文に含まれる各単語に対してそれぞれがどの種類かを示したラベルというものになります。学習に用いるデータは多ければそれに越したことはありません。ただし、単語に対してラベルを付ける作業は基本的には人間がおこなう必要があるため、手間がかかることになります。

semantic_label
学習に用いる文と各単語にラベルを付けた例

AIを使った文からの情報抽出(固有表現抽出)の例

ここではAIを使った場合の情報の抽出の例を示します。
学習に用いるデータは2000文のニュース記事の各単語に「人名」、「地名」、「組織名」、「その他」のラベルを付けたものとなります(先程の”学習に用いる文と各単語にラベルを付けた例”の図において何もラベルが付いていないところが「その他」に該当しています)。もっとたくさんの文があったほうが精度の面で良くなりますが、今回はラベル付けの手間の都合でこの数にしています。
以下に学習をおこなったAIに2つの文を与えてそれぞれの単語の種類を識別させた結果を示します。単語の下にAIが識別した単語の種類を示しています(ただし「その他」は省いています)。

semantic_label

文の引用元:https://www3.nhk.or.jp/lnews/mito/20181213/1070004942.html
      https://www.sanspo.com/baseball/news/20181213/swa18121313340005-n1.html

この例は大変上手くいっています。AIで「人名」、「地名」、「組織名」と識別した単語のうち、「ヤクルト」以外は学習データには含まれていません(識別できた単語と似ている単語としては、「東京」と「水戸市平須町」が学習データに含まれています)。場合によっては「常磐神社」も「地名」として識別できると良いかもしれませんが、これは学習に用いるデータの量を増やしたり、「神社」が入っている文も学習に用いるようにすることで可能になるかと思います。

終わりに

今回は文から何かしらの情報を抽出する例についてご紹介しました。しかしながら、このような話に限らず社内に眠っている大量の文章をお持ちでそれらを活用したいと考えている方はぜひ一度ご相談ください。AI部分の検証だけやりたい、システム化までやりたいといったご希望の粒度に応じて対応させていただきます。