これはちょっとした難問です。今日のデジタル時代では、データがビジネスの世界を動かしています。つまり、企業は大量のデータを必要としているのです。しかし、データはそのままの状態ではほとんど役に立ちません。しかし、収集したデータを最大限に活用するためには、データ管理システムが必要です。 自然言語処理(NLP)技術を満載したツールボックス は、機械学習の力を活用し、データに潜むさまざまなインサイトを抽出することを支援します。
このような自然言語処理技術の中でも、特に有用なのが固有表現認識(NER:Named Entity Recognition)技術である。NERは、単純な自然言語処理技術とは異なり、教師あり学習モデルである。NERモデルを使用する前に、あらかじめ定義された固有表現カテゴリのデータセットでNERモデルを学習させる必要がある。この高度にカスタマイズ可能な学習が、NERの威力を発揮している。
名前付き実体認識(NER)とは?
NERは、エンティティチャンキングやエンティティ抽出とも呼ばれ、テキストデータをスキャンして、あらかじめ定義された名前のエンティティを識別・分類する自然言語処理技術である。このプロセスにより、生データから構造化されたデータ(エンティティ)が抽出されます。この構造化されたデータは、洞察のために分析され、多くのビジネスユースケースに適用することができます。
ネームドエンティティとは何ですか?
名前付きエンティティは、すべての文や文章の中にある基本的な情報の断片で、次のようなものです。
- 名称
- 人
- 組織・団体
- 場所
- 製品情報
- 時間単位
- 日付
- 時代
- 数値
- 測定値
- 距離
- お金/価格
- 数量
名前付きエンティティは、NERモデルの柔軟性の鍵となるものです。名前付きエンティティはどのようなものでも構わないので、特定のユースケースに必要な情報を正確に抽出するためにモデルを学習させることができます。
NERの仕組みは?
読書をするときのことを思い出してください。文字に目を通すと、名前のついた実体があれば自動的に識別される。たとえば、「2022 年 10 月 27 日、ウェンディはネバーランドを去り、ロストボーイズ社の CEO として新しい役職に就いた」という文章を読んだとき、あなたは次のような名前付きの実体を認識したことでしょう: 「ウェンディはネバーランドを去り、ロストボーイズ社の CEOになった。「という文章を読んだとき、あなたは次のような名前付きの実体を認識したことでしょう。
- 日付2022年6月27日
- 人物紹介ウェンディ
- 場所ネバーランド
- 職業CEO
- 組織図株式会社ロストボーイズ
一方、機械は2値言語(0、1)を使う。そして0と1は、人間の言語の豊かさや深さとはかけ離れたものである。機械言語と人間の言語はかなり異なるため、まず機械学習を使ってNERモデルを学習させる必要がある。これは、選択した名前付きエンティティのカテゴリを含む事前定義されたデータセットを使用して行われます。たとえば、上記のシナリオでは、日付、人、場所、職業、組織の各エンティティカテゴリが事前に定義されています。
では、NERはどのように機能するのだろうか。NERモデルは、学習後、人間の読み方を模倣するために2つのステップを経る。まず、モデルが名前付きの実体を識別し、次にその実体を分類またはカテゴリ化する。
NERシステムの中には、スピードと精度を向上させるためにワードベクターを使用するものがある。単語ベクトルは単語を数字で表現するが、単に各単語に番号を割り当てるのではなく、様々な文脈での出現頻度など、多くの次元にわたって10進数で数値表現を生成する。その結果類似した単語は互いに密接に関連した数字を持つため、NERモデルは類似した単語を迅速かつ正確に見つけ出すことができる。
極端に単純化した例を挙げましょう。例えば、あなたの家具店のレビューからなるデータセットを扱うとします。1次元の単語ベクトルは、「lamp」に対して0.223458993となります。単語ベクトルは、「lamp」に似た単語を見つけるのに役立ちます。
ライト:0.212835892
スコンス: 0.212444586
シャンデリア0.199875213
曖昧さの課題を解決する
人間の言葉の複雑さの一因は、複数の意味を持つ言葉の多さにあります。同音異義語とも呼ばれるこれらの言葉は、人間にとって、正しい意味を読み取るのに十分な文脈がある限り、通常、曖昧なものではありません。
例えば、次のような文章は、文脈からそれぞれ何を意味しているのかがわかります。
ピッチャーは3回連続でストライクを投げました。
アイスウォーターのピッチャーをもう一本頼んだ。
しかし、機械は文脈を理解することができないので、この例のような曖昧な表現は本当に難しい。しかし、NERモデルは教師あり学習モデルであるため、適用する前に学習させる必要があり、この課題を解決するための機械学習アプローチが開発されている。
NERの主な使用例
NERを使えば、より構造化されたデータを収集し、データベースに保存するだけでよい。しかし、NERは生データから構造化データを抽出することができるため、以下のような多数のユースケースで有用である。
Eコマースの検索機能。 正確な検索機能は、Eコマースの売上にとって非常に重要です。例えば、「白い丸いカクテルテーブル」を探しているお客様は、白い商品、丸い商品、カクテル商品、またはどんな種類のテーブルでも探しているわけではありません。NERを使った検索機能では、「白」を「商品の色」、「丸」を「商品の形」、「カクテルテーブル」を「商品の種類」に分類して、適切な検索結果を提供します。
カスタマーサポート 複数の部門、製品、支店がある場合、カスタマーサポートチームは大変な苦労をすることになります。しかし、クレームに対応する前に、顧客からのメールやチケットを分類し、どの拠点、製品、部門が関係しているのかを判断する必要があります。NERは、[場所]や[製品]などのエンティティを分類し、分類された苦情や問い合わせを適切なメンバーに自動的に送信することで、チームのワークフローをより効率的にすることができます。
繰り返し発生する問題を把握する。 最近では、顧客は電子メールや電話と同じように、ソーシャルメディアに苦情を申し立てることが多くなっています。この傾向を認識している企業は、このような苦情に対応するために、ソーシャルメディアに別のハンドルを作成することがよくあります。NERモデルは、このような苦情対応のソーシャルメディアフィードで、ツイートや投稿をデータとして分類し、繰り返し苦情が寄せられる製品、場所、あるいは重要な時間帯を検出するために使用することができます。
チャットボットをサポートします。 チャットボットは、企業が一般的な問題に対する迅速な解決策を提供するための方法を提供します。NERを使用すると、チャットのコンテキスト内でこれらの問題に関連するエンティティを含むトレーニングデータセットを使用して、サポートボットを訓練し、多くの典型的なサポート問題に効率的に対処することができます。これらのエンティティ(製品のシリアル番号やクーポンコードなど)の識別と分類に基づいて、ボットは適切な応答を提供するか、エスカレーションのためにチャットにフラグを立てることができます。
ターゲティング/オーディエンスセグメンテーション。 ShareThis は、NER を適用して、その Javascript コードを持つウェブページからエンティティを抽出することによってデータを絞り込み、完璧なターゲットオーディエンスに到達することを可能にします。例えば、Apple(会社)とapple(果物)を区別することで、NERはApple製品に興味のあるオーディエンス・セグメントを特定することができるわけです。
結論
収集した生データは、そのままでは使用できません。ShareThis のようなプロバイダーのデータでデータをさらに充実させ、NER モデルを適用して重要なエンティティを識別、抽出、分類します。NER を使用することで、強化されたデータを、さまざまなユースケースに適用できる貴重なインサイトのソースに変換し、チームのワークフローをよりよくサポートすることができます。