NLPの探索 – NLPのキックスタート(ステップ#1)
NLPの探索 - NLPのキックスタート(ステップ#1)
「自然言語処理を探求する」シリーズに初めて参加する方は、このイントロダクション記事をご覧ください。
自然言語処理の探求とマスタリング — 深淵を旅する
こんにちは、私はDeepthi Sudharsanです。人工知能の学士号(B.Tech)を取得している3年生の学部生です。既に…
VoAGI.com
この学期、私はカリキュラムの一部としてNLPを学んでいます。やったー!この科目の今後の評価の一環として、与えられた教材を復習し、メモを作成しました。それを今日共有します。役に立てば嬉しいです。また、インドのコーヤンブトゥールにあるアムリタ・ヴィシュワ・ヴィディヤペータム大学のCEN学科の教員に感謝の意を表したいと思います。彼らの指導、励まし、サポートによって、私はこのシリーズを始めることができました。彼らの教えによって、私はNLPへの愛を追求しています。特に、アムリタ・コーヤンブトゥールのCENのSachin Kumar S氏には、今学期、この科目を担当していただいたことに感謝いたします。ここで収集された情報や画像の一部は、彼が提供または作成したリソースや教材から得られたものです。
NLPとは何ですか?
コンピュータと人間の言語の相互作用の研究を自然言語処理と呼びます。それは、コンピュータに人間と同様の方法でテキストや音声の内容を理解する能力を与えることを試みます。
目標:文脈的な意味を完全に捉えること(文脈とはテキストの意味から得られる情報を指します)
- 音声学:人間が音声を生成し理解する方法、または手話の相当する要素の研究
- 音韻論:言語または方言がその音声または手話の構成要素を体系的にどのように組織するかの研究
- 形態論:単語の内部構造の研究- 形態素は形態論の構成要素です- 単語は言語の最小の独立単位です- 単純な単語には内部構造がありません(または1つの形態素で構成されています)。例:work, run- 複雑な単語には内部構造があります(1つ以上の形態素で構成されています)。例:worker(work+er)、building(build+ing)
- 構文:単語や形態素が句や文などのより大きな単位を形成する方法の研究
- 意味論:参照、意味、真理の研究
- 語用論:文脈が意味にどのように貢献するかの研究
いくつかの重要な用語:
- トークンは単語、文字、サブワードなどと考えることができます。
- トークン化はテキスト文の部分をトークンに分けるプロセスです。
- コーパスはテキストデータのコレクションです。
- ボキャブラリーはコーパス内の一意のトークンのコレクションです。
- レキシコンは単語とその意味を指します。
トークン化の種類
単語レベルのトークナイゼーション
与えられた文を特定の区切り文字に基づいて単語に分割します
「She is smarter」は「she」「is」「smarter」となります。ここでは区切り文字はスペースです。
デメリット:
「Out of Vocabulary (OOV)」(語彙外)の単語がある場合(1つの解決策は、珍しい単語を未知のトークン(UNK)で置き換えることです。この場合、語彙は頻出する上位k個の単語のみを含みますが、新しい単語に関する情報は失われます)
作成される語彙のサイズが非常に大きくなり、メモリとパフォーマンスの問題が発生します(1つの解決策は、文字レベルのトークナイゼーションに切り替えることです)
空白と句読点に基づいて文を分割する際に、スペースや句読点で区切られているが単一のトークンと見なされる単語(don’t、New Yorkなど)の処理に問題があります。
文字レベルのトークナイゼーション:
与えられた文を文字のシーケンスに分割します。
「Smarter」は「s」「m」「a」「r」「t」「e」「r」となります。
利点:
語彙のサイズが小さい(26のアルファベット+特殊文字など)スペルミスが扱われます
サブワードトークナイゼーション:
単語をより小さな部分に分割します。
「Smarter」は「Smart」「er」となります。
ストップワード:
「the」「in」「where」など、テキストでよく使用される単語です。
import nltkfrom nltk.corpus import stopwords #Pythonprint(set(stopwords.words('english')))
NLPの数少ない課題:
- 曖昧さ(1つの文やフレーズに複数の解釈がある。2つのタイプ:構文的-文の複数の解釈と語彙的-単語の複数の解釈)
- 略語(短縮形)
- 非言語トークン
- ソーシャルメディアのデータ(コードミックス形式で)
言語モデリング:
文脈を考慮して次に発生しうる言語単位(単語、テキスト、文、トークン、記号など)を予測すること。
トークンのシーケンスに確率値を割り当てるモデルは、言語モデルと呼ばれます
最もシンプルなLMは「N-gram」です。それは文または「n」個のトークンのシーケンスに確率を割り当てます。
これはマルコフ仮定を使用しており、次の単語の確率は前の単語にのみ依存します。N-gramモデルは、次の単語を予測するために過去の(n-1)単語を参照します。
参考文献
NLPにおけるトークナイゼーションアルゴリズムの概要
サブワード、BPE、およびSentencePieceを含むトークナイゼーション方法の紹介
towardsdatascience.com
- 「Speech & language processing」、Daniel Jurafsky、James H Martin、preparation [cited 2020 June 1](利用可能元:https://web.stanford.edu/~jurafsky/slp3(2018))
- https://www.slideshare.net/YuriyGuts/natural-language-processing-nlp
- 「Foundations of Statistical Natural Language Processing」、Christopher Manning、Hinrich Schütze、MIT press、1999
- 「Natural Language Processing with Python」、Steven Bird、Ewan Klein、Edward Loper、O’Reilly Media, Inc.」、2009年。
- 「Deep Learning for Natural Language Processing:Develop Deep Learning Models for your Natural Language Problems(Ebook)」、Jason Browlee、Machine Learning Mastery、2017年。
- 「Speech & language processing」、Daniel Jurafsky、James H Martin、preparation [cited 2020 June 1]
- https://all-about-linguistics.group.shef.ac.uk/branches-of-linguistics/morphology/what-is-morphology//
- http://sams.edu.eg/en/faculties/flt/academic-programs-and-courses/department-of-english-language/
- https://www.coursehero.com/file/127598328/Human-Comm-Ch-2-4-Notesdocx//
- https://slideplayer.com/slide/7728110/
- https://www.geeksforgeeks.org/removing-stop-words-nltk-python/
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Mentatと出会ってください:コマンドラインからのあらゆるコーディングタスクを支援するAIツールで、複数のファイルでの編集を調整することができます
- アンサンブル学習:決定木からランダムフォレストへ
- 「GETMusicに会ってください:統一された表現と拡散フレームワークで、統一された表現と拡散フレームワークを使用して任意の音楽トラックを生成できます」
- 大規模言語モデルの挙動を監視する7つの方法
- 「5つのオンラインAI認定プログラム – 研究と登録」
- 「A.I.言語モデルの支援を受けて、Googleのロボットは賢くなっています」
- 「会話型AIのLLM:よりスマートなチャットボットとアシスタントの構築」