| スピーカー |
文字起こし |
| キラ・アルホーン |
それでは、私の講演「顧客のニーズを理解するためのテキストエクスプローラーの活用」へようこそ。 |
| |
こちらはバーチャル形式で開催されるJMP Discovery Summitです。私の名前はキラ・アルホーンと申します。WL Gore and Associatesの統計学者です。 |
| |
プレゼンテーションを始める前に、まず弊社について簡単にご紹介させていただきます。WL Gore and Associatesは、グローバルな材料科学企業であり、 |
| |
航空宇宙産業から医療製品、そして皆さんの多くが馴染みのある分野に至るまで、非常に多様な産業向けに非常に多様なソリューションを提供しています。 |
| |
当社のブランドはGore-Texです。本日はGore-Texに焦点を当ててご紹介します。Gore-Texブランドは、耐久性、防水性、透湿性に優れたファブリックラミネートを製造しています。 |
| |
そして、これらのラミネート材は、それを使って製品を製造するお客様やブランドパートナーに販売されます。本日は特に靴に焦点を当ててご説明いたします。 |
| |
それでは、私の講演の概要を簡単にご説明します。まずは背景と動機から始めましょう。では、何について取り上げるのでしょうか?靴の説明文について、そしてなぜそれに興味を持つのかを見ていきます。 |
| |
その後、講演の残りの部分はJMPで行います。JMP 15 Proを使用し、そこでテキストエクスプローラーの使い方を説明します。 |
| |
靴の説明文を分析するために、これらのテキスト、つまり靴の説明文からトピックを見つける方法を説明します。そうすることで、共通の靴の説明文や共通のトピックを見つけ出し、それを当社が保有するさまざまな靴のカテゴリと比較することができます。 |
| |
最後に、これはごく簡単な紹介になりますが、予測モデルを使用して調査結果を検証し、さまざまな靴の説明がどのように靴を分類しているかをより深く見ていきます。 |
| |
自分のクローゼットと、そこに入っている靴を想像してみてください。 |
| |
そして、皆さんはそれぞれ、少人数から大人数まで、様々な種類の靴を戸棚に持っているでしょう。そこで疑問なのは、なぜそんなにたくさんの靴を持っているのかということです。 |
| |
靴は自分のスタイルに合うものでなければならないし、色違いのものも必要かもしれない、といった理由もありますが、靴を複数持つ理由はそれだけではありません。 |
| |
もう一つの理由は、それぞれ異なる靴が必要になるからです。例えば、ランニングシューズが1足、普段使いの靴が数足、そしてハイキングシューズもあるかもしれません。 |
| |
そして、それぞれの靴には異なる、あるいはわずかに異なる特徴があり、それによってこの靴が特定の用途に適しているため、そしてその用途にはそれらの特徴が必要なのです。 |
| |
そこで私たちが疑問に思ったのは、ブランドパートナーから提供された靴の説明文を見て、それぞれの靴の独自性をどのように見つけることができるかということです。そこで、ここにコレクションをご紹介します。 |
| |
現在では、靴のさまざまな用途に対応する、さまざまな靴のカテゴリーが存在する。 |
| |
そこで問題となるのは、例えば顧客が新しいハイキングシューズを製造したい場合、ハイキング用シューズとして販売するラミネート素材に、どのような機能構成を提供すべきかということです。 |
| |
では、それらの靴の説明から、顧客に提供できるプロトタイプを作成できるでしょうか? |
| |
そしてもちろん、ここで興味深いもう一つの側面は、他の靴がどのように差別化を図っているかということです。ハイキングシューズと街履きシューズの違いは何でしょうか?なぜそのような違いが必要なのでしょうか? |
| |
そして、それが私たちがデータ分析を始めたときの意図でした。 |
| |
それでは、JMPについてお話したいと思います。 |
| |
まず、JMPで収集したデータがどのように表示されるかをお見せしたいと思います。 |
| |
そこで私たちは、提携ブランド各社のウェブページを訪問し、パッケージに記載されている靴の説明文を収集しました。 |
| |
靴の各カテゴリーごとに一定数の靴の説明文があり、ご覧のとおり、説明文全体をそのままデータテーブルにコピーしました。 |
| |
これはかなり長くなるかもしれないし、かなり短くなるかもしれないが、私たちは単にコピーしただけである。 |
| |
しかし一方で、そのテキストフィールドではできることが限られていることは想像に難くないでしょう。 |
| |
少なくとも、私たちにはできないように思えます。なぜなら、JMPには様々な可能性が秘められているからです。では、具体的に何をするのでしょうか?私たちは、あの長いテキストから情報を抽出し、もっと読みやすい形にしたいのです。 |
| |
そして、それらの消化しやすい塊 |
| |
テキストエクスプローラーを使って抽出できます。そこで、テキストエクスプローラーを開いて、靴の説明文をここのテキスト列に入力したいと思います。 |
| |
そして、ここにはたくさんの選択肢があります。これらの選択肢は、靴の説明文(テキスト分析言語では「ドキュメント」と呼びます)を抽出・整理するアルゴリズムに入力されます。 |
| |
そしてこれは、先ほど述べたように、文書をより小さな情報、つまり理解しやすい単位に分割することです。 |
| |
そして、皆さんが目にするのは、理解しやすいまとまり、つまり、情報の最小単位である用語と、よく一緒に使われる用語で、組み合わせると意味を持つ可能性があるフレーズです。 |
| |
ここで最もよく使われる用語がわかります |
| |
すべての文書、そしてすべての靴の説明において、「快適さ」という言葉が使われている。 |
| |
まず最初に、ここにあるすべてのフレーズを一つずつ見ていきました。意味が通じるものはあるでしょうか? |
| |
そして最初の例はすでに理にかなっています。ご覧のように、ここでは「Gore」と「tex」という用語が単一の用語として表示されていますが、もちろん、「Gore」と「tex」ではなく「Gore-tex」という用語を分析するのが理にかなっています。 |
| |
つまり、意味が通じるフレーズはすべて用語リストに追加できます。そこで、フレーズを追加すると、ご覧のように、単一の用語「Gore」ではなく「Gore-tex」という用語が表示されます。 |
| |
これがデータ処理のステップ1です。ステップ2は、用語リストに重複や |
| |
意味をなさない用語がある場合。JMP はすでに非常に優れた処理機能を備えています。JMP はすでに and、a、などの意味をなさない単語を多数除外しています。 |
| |
あるいは、何の情報も提供しないものもあります。しかし、例えばこのSのように、意味をなさない用語が必ずいくつか残ります。 |
| |
「S」という文字で何をするのでしょうか?それは靴について何を物語っているのでしょうか?そこで、私たちはすべての用語を精査し、意味をなさない用語があれば、それをストップワードと呼び、分析から除外するためにストップワードのリストに編集しました。 |
| |
それが1つ目です。もう1つは、重複がないか確認する必要があるということです。例えば、ここには「Gore tex」という用語があります。 |
| |
そしてGTXという用語。GTXはGore-texの略語に過ぎないので、これらを別々に分析するのではなく、組み合わせて分析する必要があります。 |
| |
つまり、列の場合とほぼ同じである再コード機能があり、これはそれらを組み合わせるための優れたツールです |
| |
??? データ。ここに Recode 関数があり、両方をグループ化しています。 |
| |
そして今、これはたった一つの用語(ゴアテックス)に過ぎないことがお分かりいただけるでしょう。そして実際、これは私たちのデータの中で最も頻繁に登場する用語なのです。 |
| |
それで。 |
| |
当初は4,000語の単語がありましたが、クリーニング作業を経て最終的に残ったのはわずか100語でした。ご覧のとおり、残った100語を使って多くの分析を行うことができます。これらの単語は、靴の説明文がどのような内容なのかを把握する上で非常に役立ちます。 |
| |
そのリストを使えば、最も頻繁に出てくる用語を確認できますが、JMPには非常に使いやすい視覚化ツールも用意されています。 |
| |
赤い三角形をクリックすると、ワードクラウドを追加できます。このワードクラウドは、単語の大きさで、すべての文書、つまりすべての靴の説明文におけるその単語の出現頻度を示します。つまり、Gore-tex、快適性、軽量性は、私たちが収集した靴の説明文の中で最もよく使われている用語です。 |
| |
しかし、これは私たちが疑問に思っていたこととは少し違うことを覚えているかもしれませんね?そこで、私たちは、さまざまなエンドユーザー向けの靴について、どのような点が重要なのかを知りたいと考えていました。 |
| |
そのためには、ここにローカルデータフィルターを簡単に追加し、靴の最終用途をフィルターとして使用できます。例えば、冬用ストリートシューズのすべての説明の中で最も頻繁に登場する用語に興味がある場合などに便利です。 |
| |
そして、冬用ストリートシューズの説明に「冬」や「暖かい」といった言葉が頻繁に登場するのも不思議ではないでしょう。 |
| |
一方、例えばトレイルランニングシューズを例にとると、重点が異なっていることがわかります。トレイルランニングシューズは保温性は必要なく、通気性、軽量性、そしてフィット感が重要視されます。 |
| |
これらのワードクラウドは、最初の質問である「さまざまな靴の種類の特徴構成を説明するものは何か」を理解するのに非常に役立ちます。 |
| |
そして、私たちはそこで終わりませんでした。さらに一歩先へ進みたかったのです。 |
| |
さらに一歩進んで、すべてのデータが既に準備されている場合、何らかの方法でモデリングを行い、靴の構成のプロトタイプを見つけることができるでしょうか?そのモデリングにはJMPでさまざまなオプションがありますが、私たちはSVDを使用することにしました。 |
| |
SVDは、文書用語行列の主成分分析を実行します。 |
| |
それはどういう意味ですか? ドキュメント用語マトリックスには、各ドキュメント、つまり各靴の説明について、 |
| |
各用語の出現頻度をカウントします。例えば、最初の靴の説明文について、「ゴアテックス」という用語が何回出てくるか、「快適性」という用語が何回出てくるかなどをカウントします。つまり、非常に大きなマトリックスになることは想像に難くないでしょう。 |
| |
そして、そのアイデアは、文書用語行列の次元を削減する主成分分析を通して、データをよりよく把握することです。 |
| |
そして、データをより視覚的に把握できるようにするため。 |
| |
そして、このように寸法を縮小することで、モデリングが可能になります。では、どのようなモデリングが私たちにとって興味深いのでしょうか?私たちは、特定の用途に適した靴の特徴をどのように記述するかに興味がありました。 |
| |
そこで、その点にたどり着くために、靴の説明文に何らかのテーマが含まれているかどうかを分析しました。そして、テーマが含まれている場合、それらのテーマは特定の用途に対応しているかどうかを分析しました。 |
| |
理想的な世界では、データから9つのトピックが見つかり、それらの9つのトピックが正確に1つの靴のカテゴリを表すことになります。つまり、それぞれの靴についてプロトタイプの靴の構成、あるいは特徴の構成が得られるということです。 |
| |
では、私が9つのトピックを検索したらどうなるか見てみましょう。トピック分析のここをクリックして、9と入力します。なぜなら、私は9つの異なる靴のカテゴリーに興味があるからです。 |
| |
そうすると、各トピックに頻繁に登場する用語の一覧が得られます。例えば、トピック1には「靴」という用語が含まれています。 |
| |
靴の説明に「スーパーフィット」「テキスタイル」「暖かい」などの用語が含まれているもの。だから、私の最初の直感では、これらはストリートシューズか、ストリートウィンターシューズに違いないと思う。 |
| |
例えば、トピック2は、小屋、トレッキング、複数日などといった用語を含む靴の説明で構成されているため、これはトレッキングシューズのようなものと思われます。 |
| |
しかし、統計学者として、直感だけで満足するわけにはいきません。どの靴のカテゴリーがどのトピックに属するのかを本当に知りたいのです。そのため、靴のカテゴリーの単純な分布を作成し、ローカルデータフィルターを追加して、特定のトピックのみを表示するようにします。 |
| |
カテゴリ |
| |
それは… |
| |
選択された靴のみを表示します。 |
| |
それはどういう意味ですか?どのように使用できますか?JMP では、トピック スコア プロットとこれらのトピック スコア プロットを提供しています。 |
| |
各トピックの靴の説明ごとに1ポイントずつ割り当ててください。 |
| |
つまり、靴の説明のスコアが高いほど、その靴はその特定のテーマをよりよく表しているということになります。 |
| |
そこで私がやっていることは、トピック1で高得点の靴をすべて選択し、 |
| |
ここにあるヒストグラムを見ると、これらはストリートシューズとストリートウィンターシューズです。つまり、私の直感は正しかったということです。テキスタイル素材でできていて、スーパーフィットのシューズは、ストリートシューズとストリートウィンターシューズです。 |
| |
そして2つ目のトピックですが、トレッキングシューズだと予想していました。こちらのヒストグラムをご覧いただければ、確かにトレッキングシューズであることがわかります。 |
| |
そして、今ではすべてのトピックについてそれができるようになり、私はそれをジャーナルに書き込んでおきました。 |
| |
そして、それらすべてを実行するにはいくつかの困難があることに気づくでしょう。各トピックに1つまたは複数の靴のカテゴリを割り当てると、2つの問題が明らかになります。 |
| |
問題点その1は、ここに示されているように、登山靴のような特定の靴のカテゴリーは、1つのトピックではなく、複数のトピックで表されていることがわかります。 |
| |
また、これらのトピックは重複していることもお分かりいただけるでしょう。例えば、「クランポン」という単語は両方のトピックに登場します。 |
| |
つまり、ここでは話題が多すぎるようです。 |
| |
理想的には、靴のカテゴリーごとに1つのトピックを用意するのが良いのですが、複数のカテゴリーにまたがる重複したトピックがある場合、9つは多すぎるように思われます。 |
| |
しかし、もちろんこれには別の疑問点があります。登山靴が複数のテーマに対応している場合、明確に識別できないテーマが必要になります。 |
| |
例えば、このトピック5を見てください。最も代表的な靴のように、これは膨大なコレクションであることがお分かりいただけるでしょう。 |
| |
プログレッシブシューズ、ロードランニングシューズ、ストリートシューズなど、様々な種類のシューズがあります。しかし、これらのカテゴリーは大部分が重複していて、明確な区別がありません。トレイルランニングシューズとロードランニングシューズの違いは一体どこにあるのでしょうか? |
| |
では、次のステップに進みましょう。トレイルランニングとハイキングの違いは何ですか? |
| |
これらの靴にはいくつかの重複があり、重複がある場合、その靴のカテゴリーにおける特定の機能構成を明確に特定することはできません。 |
| |
それもまた非常に貴重な学びです。もちろん、それは様々なラミネート材のポートフォリオを管理することです。特定の用途には特定のラミネート材が必要なのか、それとも既に持っている他のラミネート材と似ているのかを知りたいと思うでしょう。 |
| |
そこで最終的に私たちがやったことは、複数のカテゴリに該当するトピックが一つもないようなトピックの最終的なコレクションを作成することでした。そしてそれを手作業で行いました。様々な数のトピックを分析し、最終的に5つのトピックに絞り込みました。 |
| |
ご覧のとおり、これら5つのトピックは一定数のカテゴリーに対応していますが、すべての靴のカテゴリーをこれで網羅できるわけではないことがわかります。 |
| |
そこで、2つの教訓を得ました。1つ目の教訓は、靴の説明のプロトタイプがいくつかあるということです。 |
| |
靴のカテゴリー。一方、ここに挙げられていない靴のカテゴリーは、あまり区別されていないか、あるいはこの単一の構成を持たない可能性があります。 |
| |
靴の説明文に記載されています。 |
| |
これはText Explorerが提供するオプションのほんの一例にすぎません。他にもオプションはありますが、今回はこの方法に焦点を当て、うまく機能しました。 |
| |
それでは、Text Explorerの説明を終え、トピック文書の用語マトリックスを使ってさらにどのようなことができるかについて、簡単に概要をお伝えしたいと思います。 |
| |
ここに、以前と同じデータセットがありますが、文書用語マトリックスをエクスポートしました。そのため、各用語ごとに多くの新しい列が表示されます。 |
| |
ある靴の説明文におけるその用語の出現頻度。 |
| |
そして、私たちはそのさまざまなバージョンを試しました。例えば、出現頻度を示す文書用語マトリックス、含まれているかどうかだけを示すマトリックスなどです。そして最終的に、このバージョンに落ち着きました。 |
| |
JMP Proの機能を活用し、検証用列を作成してデータセットをトレーニングデータ、検証データ、テストデータに分割しました。トレーニングデータと検証データは予測モデルの学習に使用され、テストデータはテストに使用されます。 |
| |
予測モデリングについて話すとき、ここでの私たちの目標は何でしょうか?これまで行ってきたことは、ある種の教師なし手法でした。 |
| |
これまではトピックを検索して、その後靴のカテゴリーと比較していました。そこで、もう少し積極的に、靴の説明文からカテゴリーを明確に予測できるかどうかを検討しています。 |
| |
そして、JMP 15 Proが提供するさまざまな予測モデリング手法を試した結果、ブートストラップフォレストにたどり着きました。ここでは、結果がどのようなものになるか、そしてその結果をどのように活用できるかについて、概略だけをお伝えしたいと思います。 |
| |
テストデータセットの混同行列で結果を確認できます。カテゴリ、特定の靴の説明、そしてブートストラップフォレストを使用して予測した内容がわかります。 |
| |
そして興味深いことに、以前見たのとほぼ同じ結果が見られるでしょう。つまり、他のカテゴリーとは明確に区別できる特定のカテゴリーがあり、 |
| |
すでに独自の機能構成を備えているものもあれば、そうでないものもあります。例えば、ロードランニングシューズを見てみましょう。 |
| |
最初の分析ですでに分かったことですが、それらは明確に定義できるものではありません。そしてここでも、ロードランニングシューズとされている多くの靴が、実際には他の種類の靴であると予測されます。 |
| |
つまり、これは以前の調査結果を裏付けるものです。教師なし学習手法を用いて適切に分類できた靴のカテゴリーは、ここでも適切に分類されており、十分に区別できなかったカテゴリーは、ここでもそれほど区別されていないことがわかります。 |
| |
これは非常に興味深い結果であり、この分析結果を利用してさらに多くのことが可能になります。例えば、 |
| |
分析によると、特定の靴を区別したい場合に最も重要な問題は何でしょうか?つまり、靴のカテゴリーを区別する際に、どの用語が最も貢献しているかを示す列の貢献度です。 |
| |
あるいは、ROC曲線を用いて、どの靴のカテゴリーが非常に明確に区別できるか、どのカテゴリーが区別できないかをさらに詳しく調べることもできます。 |
| |
最後に、このモデルは予測にも使用できます。そのため、特定の機能構成や靴の説明をここに入力することができます。 |
| |
そして、この説明が特定の靴のカテゴリーに属する確率を予測します。例えば、この靴はロードランニングシューズである可能性が高いと予測します。 |
| |
時間の都合上、これ以上の詳細は割愛しますが、簡単に要約したいと思います。では、主な発見は何だったのでしょうか?主な発見は、 |
| |
テキストエクスプローラーは非常に優れたツールで、直感的に操作でき、非構造化テキストデータから情報を素早く抽出するのに役立ちます。 |
| |
それらはどこで差別化され、どこで差別化されないのか?それらの靴にはどのような機能が求められているのか?しかし、どういうわけか、調査結果は我々の予想を裏付けた。 |
| |
そしてこの確認は、教師なし手法または教師あり手法のどちらを使用しても実行できます。ここでは、SVDと予測モデルを使用したトピック分析をブートストラップフォレストと比較しましたが、他の手法も同様にうまくいく可能性があります。 |
| |
最後に、この問題を提起したグループ???に感謝したいと思います。彼らはすべてのデータを収集し、すべてのデータをクリーニングし、素晴らしい議論を行いました。 |
| |
さまざまなテクニックの意義や無意味さ。つまり、それらがなければ、あなたは今その講演を聞くことはなかったでしょう。さらに、 |
| |
テキスト分析に関して相談に乗ってくれた、ドルトムント工科大学時代の元同僚であるヨナスに感謝したいと思います。 |
| |
最後に、ご清聴ありがとうございました。ご質問があれば、メールまたはJMPユーザーコミュニティにてお気軽にお問い合わせください。ご連絡をお待ちしております。 |