ビジネスを飛躍させるのは、あなたの仕事を知っている AI。
国内外の事例、新たなAIの取り組みをご紹介
Bag-of-Wordsを使用して特徴量を作成・抽出するには、機械学習モデルで処理するために、テキスト文書内の単語の出現頻度を定量化します。そのバリエーションであるTF-IDFでは、さらに文書コーパス全体における単語の出現頻度を考慮したモデルを生成します。
Bag-of-Words(BoW)は、情報検索アルゴリズムおよび機械学習アルゴリズムで処理するためにテキスト・データをモデル化する特徴量抽出手法です。より具体的には、BoWモデルは、語順や文脈を無視して頻度のみに基づいて定義されたテキスト文書内のすべての既知の単語が含まれた、非構造化データの集合です。1 「Bag-of-Words」は、多くのテキスト・マイニングのパイプラインに組み込まれるステップの1つです。
ほとんどの自然言語処理(NLP)パッケージには、scikit-learnの CountVectorizer関数など、Bag-of-Wordsモデルを作成するための関数が搭載されています。
Bag-of-Wordsを使用した特徴量の作成・抽出は、特定のテキスト・セット全体で単語をカウントするという、表面的には単純に思われる概念のため、初心者レベルのテキスト処理の形式と見なされることがあります。しかし、Bag-of-Wordsモデルはそれほど単純なものではありません。
Bag-of-Wordsの特徴量作成を理解するには、ベクトル空間について少なくとも初級レベルで理解している必要があります。ベクトル空間とは、点がプロットされた多次元空間です。Bag-of-Wordsのアプローチでは、個々の単語がベクトル空間の個別の次元(または軸)になります。つまりテキスト・セットにn個の単語が含まれる場合、得られるベクトル空間はn次元(テキスト・セット内の一意の単語ごとに1つの次元)となります。モデルは次に各テキスト文書をベクトル空間に点としてプロットします。特定の次元のどこに点をプロットするかは、その次元に対応する単語が、点に対応する文書内に出現する回数によって決まります。
例えば、次のようなコンテンツをそれぞれ含む、2つのテキスト・セットがあるとします。
文書1:「バラは赤く、スミレは青い」
文書2:「私の愛は、赤い赤いバラ」
3次元以上の空間を想像するのは難しいため、ここでは3次元に限定します。これら2つの文書を含むコーパスのベクトル空間は、「赤」、「バラ」、「スミレ」という個別の次元を持つことになり、これらの単語の3次元ベクトル空間は次のようになります。
文書1では、「赤」、「バラ」、「スミレ」はすべて1回出現するため、この空間における文書1のベクトルは (1,1,1) になります。文書2では、「赤」は2回、「バラ」は1回出現し、「スミレ」は全く現れません。したがって、文書2のベクトルの点は (2,1,0) です。これらの文書(点)は両方とも、次のように3次元ベクトル空間にマッピングされます。
この図では、テキスト文書を3次元の特徴量空間内でデータのベクトルとして視覚化しています。しかし、Bag-of-Wordsでは、単語をデータ空間内で特徴量のベクトルとして表すこともできます。特徴量ベクトルは、特定のデータ・ポイント(文書)内の特定の特徴(単語)の値(出現数)を意味します。したがって、文書1と2の「赤」、「バラ」、「スミレ」の特徴量ベクトルは次のようになります。2
元の文書での単語の順序は無関係であることに注意してください。Bag-of-Wordsモデルの場合、重要なのはテキスト・セット全体での各単語の出現数です。
Bag-of-Wordsモデルは特定の文書内の単語の出現頻度を定量化するだけなので、Bag-of-Wordsは単純なモデリング手法として説明されることがよくあります。しかし、Bag-of-Wordsは多くのNLPタスク、特に文書の分類に役立ちます。実際、文献ではしばしば、ナイーブ・ベイズのような統計的分類器と並んでBag-of-Wordsについて語られます。3
テキスト分類タスクは、文書内に高頻度で出現する単語をその文書の主要な概念を表すものとして解釈します。4これは不当な仮定ではありません。例えば、文書内で最もよく使用される単語として、「大統領」、「有権者」、「選挙」が含まれる場合、その文書は政治に関するものであり、特に大統領選挙を話題にしている可能性が高くなります。Bag-of-Wordsによるテキスト分類の後に、コンテンツの類似した文書は、タイプが類似していると推定されます。
Bag-of-Wordsアプローチを使用した確率的分類器は概ね効果的であることが証明されていますが、Bag-of-Wordsにはデメリットもあります。
単語の相関関係。Bag-of-Wordsでは、文書またはコーパス内で単語が互いに独立していると仮定します。「選挙」は、「大統領」と共通の文脈で現れる可能性が高く、「詩人」では低くなります。しかし個々の単語の出現頻度を測定する際、Bag-of-Wordsでは単語間での使用の相関関係は考慮しません。Bag-of-Wordsでは、文書内の各単語をBag-of-Wordsモデルの特徴量として抽出し、単語の出現頻度がその特徴量の重みとなるため、相関関係にある単語が2つ以上ある場合、理論的には、このモデルを使用する統計的分類器で多重共線性を起こす可能性があります。そのようなデメリットが潜在的に存在するにもかかわらず、ナイーブ・ベイズの単純化仮定が堅牢なモデルを生成することが示されています。5
複合語。単語の相関関係は、Bag-of-Wordsでは、2つ以上の単語が1つの意味単位として機能する複合語句の表象にまで及びます。例えば、単純なBag-of-Wordsモデルでは、Mr. Darcyは一意で関連性のない2つの単語として表されます。このような場合、Bag-of-Wordsでの単語の表象には、複合語の概念の意味的および構文的な性質を反映できません。
多義語。1つの単語が著しく異なる複数の意味を持っていることがよくあります。例えば、batはスポーツの道具(バット)を意味することもあれば動物(コウモリ)を意味することもあり、通常、これらの意味は大きく異なる文脈で発生します。同様に、話し言葉では、アクセントの位置によって意味が変化する場合があります(CON-tentとcon-TENTなど)。Bag-of-Wordsでは、単語をモデル化する際に文脈や意味を考慮しないため、1つの単語の下にこれらの異なる意味をすべて集約し、テキストの主題に関する潜在的に重要な情報を省略します。したがって、潜在的な分類が省略されます。
スパース性。Bag-of-Wordsモデルでは、各単語はモデルの特徴量(次元)であり、それぞれの文書はベクトルです。文書では、生成されたモデルの語彙内のすべての単語が使用されるわけではないため、特定のベクトルの特徴の値がゼロになる場合が多くあります。ベクトルの値の大部分がゼロである場合、そのモデルはスパースです(ベクトルを行列として表す場合は、スパース行列と呼ばれます)。モデルのスパース性は高次元性をもたらし、トレーニング・データの過学習につながります。6
Bag-of-n-Grams。単語の代わりにn-gramsを採用することで、Bag-of-Wordsモデルに固有の多くのデメリットを修正できます。各単語が特徴量であるモデルを作成するのではなく、n-gramsをベクトル特徴量として使用できます。この場合、nは1つの意味単位として扱われる単語の数を意味します。Bag-of-n-Gramsの中で最も一般的なものは、おそらくbigram(バイグラム、2つの単語)でしょう。バイグラムは、New YorkやEiffel Towerなどの複合語に対応できる点で便利です。もちろん、すべてのバイグラムが情報を提供できるわけではありません(例:on the、of the)。それでも、バイグラムは複合語や単語の相関関係などの問題に対応できる1つの手段です。7
テキストの正規化手法。Bag-of-Wordsモデルの構造と機能を改善するために、生のテキスト・データを正規化する必要がある場合があります。Bag-of-WordsまたはBag-of-n-Gramsのモデルを作成する場合、冠詞(a、theなど)や前置詞(from、of、onなど)のような単語は、出現頻度が非常に高くなります。これらの単語は文書のコンテンツやタイプに関する情報をそれほど提供しないため、分類作業ではほとんど役に立ちません。ストップワードの削除(ステミングでよく使われる)などのテキストの前処理手法は、テキストのデータ・セットから無関係な単語を削除し、Bag-of-Wordsモデルの構造を改善するのに役立ちます。幸いなことに、NLTKやsklearnなどの多くのPythonライブラリーやパッケージには、一般的な前処理手法を実行する関数が含まれています。
ハッシュ化。特徴量のハッシュ化では、基本的に、入力テキスト・データの個々の単語を固定長サイズの数値セットに変換します。この固定された数値範囲は、Bag-of-Wordsモデルのベクトル空間を構築するために使用されます。数値の範囲、つまりモデルの次元を固定サイズに制限することにより、スパース化や高次元化を防ぐことができます。ハッシュ化の主なデメリットは、いわゆるコリジョン(衝突)です。ハッシュ衝突は、無関係な2つのトークンが同じ整数値にマッピングされると発生します。ハッシュのもう1つのデメリットは、多義語を考慮しないことです。8
標準的なBag-of-Wordsモデルでは、意味的に無関係な単語(the、someなど)の出現頻度が最も高いことがあり、したがってモデル内で最大の重みが加えられていることがあります。単語の出現頻度と逆文書頻度を掛け合わせたTF-IDFは、これを修正することを目的としています。Bag-of-Wordsでは、1つの文書に単語が出現する回数だけをカウントしますが、TF-IDFではテキスト・セット内のすべての文書での単語の使用度合いを考慮します。TF-IDFは次の数式で表されます。
この数式で、最初の項はBag-of-Wordsモデルによって計算された値、つまり単語の出現頻度です。2番目の項は、逆文書頻度を表します。Nはテキスト・セット内の文書の総数に相当し、nは特定の単語が出現する文書の数に相当します。特定の単語が出現する文書の数が多いほど、TF-IDF値が大きくなり、その単語の重みが下がります。このように、TF-IDFは機械学習モデルにおける特徴量スケーリングの一例です。9
一般的なBag-of-Wordsモデルと同様に、NLPパッケージには、scikit-learnのtfidfvectorizer関数など、TF-IDFを実装するための既存の関数が含まれていることがよくあります。
さまざまなNLPタスクで、Bag-of-Wordsモデルの各種バリエーションが使用されています。例えば、ニューラル・ネットワークであるword2vecは、連続的なBag-of-Wordsを使用して単語埋め込みモデルを生成します。10 センチメント分析と分類でもBag-of-Wordsモデルを利用できます。11
多数のNLP技術を対象とした初期研究では、英語またはスペイン語やフランス語などのその他のラテン文字を使う言語に焦点が当てられています。最近では、研究者はアラビア語などの他の言語に注目しています。最近の研究で、アラビア語のテキストのセンチメント分析と分類のために、word2vecなどの他のNLPツールと併せてBag-of-Wordsモデルの有効性が検討され、有望な結果が得られています。12またその他の研究では、サンスクリット語のテキストの多義性の解消のために、Bag-of-Wordsモデルに基づくナイーブ・ベイツ分類器が役立つ可能性を示しています。13
Bag-of-Wordsのアプローチは、ソーシャル・メディア・プラットフォーム上のヘイト・スピーチを検出するためのアルゴリズムでテストされていますが、成功の度合いには幅があります。ある研究では、Word2vecとディープラーニング分類器を比較し、BERTはbag of wordsよりも優れたパフォーマンスを発揮し、TF-IDFは bag of words モデルからの予測を大幅に改善していないと主張しています。14 対照的に、後の研究では、bag of wordsとナイーブ・ベイズを使用した、約99%の精度でヘイトスピーチを検知するアルゴリズムが発表されています。15 データサイズやサンプリング、およびテキストの前処理の違いは、そのような調査結果のギャップに影響を与える可能性があります。実際、他の研究で、BERTとBag-of-Wordsを使用した分類器とのパフォーマンス比較は、データ・セットの分類カテゴリーのサイズに依存することが示唆されています。16
最近では、コンピューター・ビジョン・コミュニティーが、画像分類や検索タスクにおける特徴量抽出のために独自のBag-of-Wordsバリエーションを採用しています。このアプローチでは、画像の特徴量を検出して抽出し、類似性の高いパッチを「コードワード」としてクラスター化します。画像分類のためのBag-of-Wordsアプローチでの課題の多くは、他のコンピュータ・ビジョンのタスクにおける課題と同じです。例えば、色や背景が類似したオブジェクト、遮蔽されたオブジェクトや重なり合ったオブジェクト、クラス内のバリエーションなどです。17
IBM® watsonx Orchestrateを使用すると、スケーラブルなAIアシスタントとエージェントを簡単に設計し、反復的なタスクを自動化し、複雑なプロセスを簡素化できます。
ライブラリー、サービス、アプリケーションの強力かつ柔軟なポートフォリオにより、人工知能のビジネス価値を促進します。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。
IBM Graniteは、ビジネス向けにカスタマイズされ、AIアプリケーションの拡張に合わせて最適化された、オープンで高性能、かつ信頼性の高いAIモデル・ファミリーです。言語、コード、時系列、ガードレールのオプションをご覧ください。
自然言語処理がコンピューターとのより自然な対話にどのように役立つかをご覧ください。
2,000の組織を対象に、AIへの取り組みについて調査を行い、何が機能し、何が機能していないのか、どうすれば前進できるのかを明らかにしました。
IBM DeveloperのWebサイトのブログ、記事、ニュースレターには、IBMの組み込み型AIに関する詳細が記載されています。
1 Ruslan Mitkov (ed.), Oxford Handbook of Computational Linguistics, 2nd edition, Oxford University Press, 2014.
2 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
3 Daniel Jurafsky and James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3rd edition, 2023, https://web.stanford.edu/~jurafsky/slp3. Christopher Manning and Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press, 2000.
4 Dongyang Yan, Keping Li, Shuang Gu, and Liu Yang, “Network-Based Bag-of-Words Model for Text Classification,” IEEE Access, Vol. 8, 2020, pp. 82641-82652, https://ieeexplore.ieee.org/document/9079815.
5 Christopher Manning and Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press, 2000.
6 Dani Yogatama, "Sparse Models of Natural Language Text," doctoral thesis, Carnegie Mellon University, 2015, https://lti.cmu.edu/people/alumni/alumni-thesis/yogatama-dani-thesis.pdf
7 Yoav Goldberg, Neural Network Methods for Natural Language Processing, Springer, 2022.
8 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
9 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
10 Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean, "Efficient Estimation of Word Representations in Vector Space," Workshop Track Proceedings of 1st International Conference on Learning Representations (ICLR), 2013, https://arxiv.org/abs/1301.3781.
11 Tan Thongtan and Tanasanee Phienthrakul, "Sentiment Classification Using Document Embeddings Trained with Cosine Similarity," Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics: Student Research Workshop, 2019, pp. 407-414, https://aclanthology.org/P19-2057/.
12 Huda Abdulrahman Almuzaini and Aqil M. Azmi, "Impact of Stemming and Word Embedding on Deep Learning-Based Arabic Text Categorization," IEEE Access, Vol. 8, 2020, pp. 127913-127928, https://ieeexplore.ieee.org/abstract/document/9139948. Mohammed Kasri, Marouane Birjali, and Abderrahim Beni-Hssane, "A comparison of features extraction methods for Arabic sentiment analysis," Proceedings of the 4th International Conference on Big Data and Internet of Things (BDIoT '19), 2019, https://dl.acm.org/doi/abs/10.1145/3372938.3372998.
13 Archana Sachindeo Maurya, Promila Bahadur, and Srishti Garg, "Approach Toward Word Sense Disambiguation for the English-To-Sanskrit Language Using Naïve Bayesian Classification," Proceedings of Third Doctoral Symposium on Computational Intelligence, 2023, pp. 477–491, https://link.springer.com/chapter/10.1007/978-981-19-3148-2_40.
14 Joni Salminen, Maximilian Hopf, Shammur A. Chowdhury, Soon-gyo Jung, Hind Almerekhi, and Bernard J. Jansen, "Developing an online hate classifier for multiple social media platforms," Human-centric Computing and Information Sciences, Vol. 10, 2020, https://hcis-journal.springeropen.com/articles/10.1186/s13673-019-0205-6.
15 Yogesh Pandey, Monika Sharma, Mohammad Kashaf Siddiqui, and Sudeept Singh Yadav, "Hate Speech Detection Model Using Bag of Words and Naïve Bayes," Advances in Data and Information Sciences, 2020, pp. 457–470, https://link.springer.com/chapter/10.1007/978-981-16-5689-7_40.
16 Paula Fortuna, Juan Soler-Company, and Leo Wanner, "How well do hate speech, toxicity, abusive and offensive language classification models generalize across datasets?," Information Processing and Management, Vol. 58, 2021, https://www.sciencedirect.com/science/article/pii/S0306457321000339.
17 Wisam A. Qader, Musa M. Ameen, and Bilal I. Ahmed, “An Overview of Bag of Words: Importance, Implementation, Applications, and Challenges," Proceedings of the Fifth International Engineering Conference on Developments in Civil & Computer Engineering Applications (IEC2019), 2019, pp. 200-204, https://ieeexplore.ieee.org/document/8950616.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com