はてなキーワード: n-gramとは
あの、まずですね、このご質問についてはですね、えー統計学と正規表現、これがどう関係しているのか、という点についてですね、えーきちんと整理してお答えしようと思う次第であります。
正規表現(Regex)と統計学との関係ですが、これを具体的に申し上げますと、主にデータ処理と前処理において重要な役割を果たすということであります。特にですね、大量のデータを扱う上で、正規表現が役に立つ場面が多々あるというのはですね、統計学、ひいてはデータサイエンスの分野において、もはや共通認識と言えるのではないか、そう考えております。
えーまず、正規表現というのはですね、文字列パターンを抽出したり、特定の形式にデータを変換したりするためのツールでありまして。統計解析や機械学習モデルの構築においても、データの品質が結果に大きく影響する、これはご理解いただけると思います。
例えばですね、あるデータセットに含まれる「住所」「電話番号」「メールアドレス」などのフィールド、これらにバラバラな形式が使われている場合、正規表現を活用してこれらのフィールドを統一的な形式に変換することができるんですよ。具体的に言えばですね、正規表現を使って「-(ハイフン)」や「空白スペース」の除去や、国際形式への変換を行うわけであります。
このようなデータの一貫性を確保するプロセスがですね、えー統計分析の前段階として必要不可欠であると。データサイエンスの文脈で言えば、まさに「前処理(データクリーニング)」の重要性が高まっている中で、正規表現が非常に有用だ、そう申し上げたいわけであります。
続いて、テキストデータを扱う場合、統計的な分析と正規表現がさらに深く関係してくるわけです。具体的にはですね、自然言語処理(NLP)の一環として、テキストマイニングの分野において、正規表現が頻繁に用いられております。
たとえば、SNSの投稿やレビューなど、構造化されていないテキストデータから特定のキーワードやパターンを抽出する場合、正規表現が効果的であります。こうしたテキストデータからの特徴量抽出を行い、その後の統計的な処理(例えば、単語の出現頻度を集計してTF-IDFの計算を行う、あるいは共起ネットワークを構築する)に役立てるわけです。
さらに、テキストデータの中から、例えば日付や金額のパターンを検出して数値データとして変換する、そういったケースでも正規表現は役立ちます。つまりですね、テキストデータを統計的に分析可能な形式に整える上で、正規表現が重要な役割を果たすと言わざるを得ません。
また、正規表現は単なる前処理にとどまらずですね、統計的な自然言語処理モデル(例えば、n-gramモデルやHidden Markov Model, HMMなど)を構築する際の前段階としても利用されることが多いのであります。これらのモデルはテキストのパターンや出現頻度をもとに構築されますが、ノイズや不要な情報を正規表現で排除することにより、モデルの精度が向上するわけです。
言わば、ですね、ノイズ除去やフィルタリングという観点でも正規表現は有効であると。えー例えば、HTMLタグを除去したり、特定の単語やフレーズを除外したりすることで、データセットをよりクリーンな状態に保つ、こういった処理がですね、モデル精度に影響を与えるわけです。
さらにですね、正規表現自体が統計モデルや確率的手法と直接的に関連することもあるんですよ。特に、機械学習や統計解析の中でパターン認識の一環として正規表現が使われるケースがあります。
例えば、正規表現によるトークン化を用いたテキスト分析や、異常検知におけるルールベースの検出の一環として、正規表現で異常パターンを定義し、それに基づいて確率的な推定や異常度の計算を行うといった手法です。こういったケースでは、正規表現がフィルタ条件やルールベースの確率的手法と連携して活用されるわけでありまして、まさに統計と正規表現が融合した応用例と言えるわけです。
最後にですね、まとめとして申し上げますと、正規表現と統計の関係はデータの前処理・クリーニング、特徴量の抽出、そして確率的手法との連携という形で密接に関わっております。この点がですね、まさにデータ分析、あるいは自然言語処理の分野において、正規表現が欠かせないツールとなっている理由である、そう申し上げておきたいと思います。
まぁ、そういった意味でですね、えー統計の結果の正確性や効率を高めるためには、正規表現を効果的に使う技術、これも必要不可欠であると、このように考えております。
お前は人工知能より頭がいいのか?研究によると、パラメータの大きな言語モデルプログラムが人間の知性を凌駕する可能性があることがわかっている。
Generative Pre-trained Transformer 3が、知能を測る一連の推論テストにおいて平均的な大学生を上回っていることが発見されている。例えばN-gram LMsはカウントベースのマルコフモデルパラメータフィッティングを用いるが、GPT3はより巨大なパラメータを持つ。入力に対して人間のようなテキスト、つまり確率の高いものを出力する。GPT3はOpenAIが生み出した技術で、言語翻訳やチャットボットなどのアプリケーションのテキスト生成など、さまざまな用途がある。
1750億のパラメータを持つ、最大かつ最も強力な言語処理AIモデルのひとつだ。
ではGPT-3は「天才」なのか?研究では、一般知識、SAT試験のスコア、IQという3つの重要な要素において、プログラムが人間に匹敵する能力を持つかどうかを調べられた。プレプリントサーバー「arXiv」で公開された結果によると、AI言語モデルは3つのカテゴリーすべてにおいて、人間よりも高いパーセンタイルでゴールしていることがわかっている。
実際のIQテストでのGPT-3の成績はどうか?平均的な大学受験生を相手に、様々な言語モデルが分析的推論問題でどのような結果を出したかについての調査結果を発表された。AIが明らかに勝者となった。とのこと https://twitter.com/AiBreakfast/status/1607594052785930240
"GPT-3は、抽象的なパターン誘導に驚くほど強い能力を示し、ほとんどの場面で人間の能力と一致するか、あるいはそれを上回ることが分かりました。我々の結果は、GPT-3のような大規模言語モデルが、広範な類推問題に対するゼロショット解を見つけるための創発的能力を獲得したことを示しています"と研究者は言う。
同チームは、GPT-3が「明示的に訓練されていないにもかかわらず、生物学的知性がとるのとは根本的に異なる経路を経て、人間の類推の基礎と考えられているものと同様のメカニズムを開発することを余儀なくされた」ことを付け加えている。
GPT-3は、すべての問題タイプにおいて、生成精度...および多肢選択精度ともに、人間の参加者を上回った 。https://twitter.com/AiBreakfast/status/1607594057735278592
この研究によると、ほとんどの質問に答え、人の代わりに論文の下書きまでできるAIプログラムは、問題をゼロから解かなければならないときや、多肢選択式のテストから選択するとき、人間を上回ったそうだ。
AIの専門家で作家のアラン・D・トンプソン博士は、GPT-3が120以上のIQを示すことを示唆している。
いや、純粋なプログラミング能力に限定したつもりはないよ。一般的な技術力の話。レイトレーシングだってFPGAだってコンパイラだって純粋なプログラミング能力とはいえない。だいいちそういうのを連携させるというカリキュラムは実務的とは言わないまでもその辺の給料もらうためだけに書いてるだけのプログラマにはできない芸当をやっていることは確かでしょ(馬鹿にするわけじゃないが)。ギークとまでは呼べないかもしれない。ただそのへんのwebギークにすぐにできる芸当ではない。当たってるかどうか知らないが、私が知っていたadvancedなトピックとしてはフォトンマッピング、HW/SWコデザイン、関数型プログラミング言語とかか。むしろページランクも分かち書きもN-gramも、web系のギークが得意な話題ではないかなとも思う。
話の流れとしてはどうでも良くて、、そういうことさえ経験できない他の大学(宮廷でもままある)の学部卒って使えないよねーという話になって、だからこそ東大IS羨ましーという話になるのです。まああんまり自分を卑下してT大を持ち上げてもしょうがないので私は似たような題材で切磋琢磨しましたが。
リブログです。
An axiomatic basis for computer programming
C. A. R. Hoare
Communicating Sequential Processes (CSP)
C. A. R. Hoare
Call-by-name, call-by-value, and the lambda calculus
Gordon Plotkin
Towards a theory of type structure
John C. Reynolds
Definitional interpreters for higher-order programming languages
John C. Reynolds
Philip S. Abrams
The Anatomy of a Large-Scale Hypertextual Web Search Engin
Sergey Brin and Lawrence Page
A Mathematical Theory of Communication
Claude Shannon
Communication Theory of Secrecy Systems
Claude Shannon
Bayesian Networks without Tears
Eugene Charniak
A Universal Algorithm for Sequential Data Compression
Jacob Ziv and Abraham Lempel
Let's Build a Compiler 1988-1995
Jack Crenshaw
Gauging Similarity via N-Grams: Language-Independent Sorting, Categorization, and Retrieval of Text
Marc Damashek
Richard P. Gabriel
Hints on Programming Language Design
C.A.R. Hoare
Why Functional Programming Matters
John Hughes
Kenneth E. Iverson
The next 700 programming languages
Peter J. Landin
Recursive Functions of Symbolic Expressions and their Computation by Machine (Part I) 1960
John McCarthy
Teach Yourself Programming in Ten Years 2001
Peter Norvig
Alan J. Perlis
The Complexity of Theorem Proving Procedures
Stephen A. Cook
Guy Steele and Gerald Sussman
A Method for Obtaining Digital Signatures and Public-Key Cryptosystems
R.L. Rivest, A. Shamir, and L. Adleman
http://www.zafar.se/bkz/Articles/ClassicCompScienceTexts
http://www.zafar.se/bkz/wiki/view/43bafac8c8570f4f
にあったけど、無くなっていたので
http://web.archive.org/web/20060823143349/www.zafar.se/bkz/home/classictextsincomputersc.html
から拾ってきた。
でも書いてる途中に↓を見つけてしまったのでした。