こんにちは。 学生時代に信号処理で使っていた数学の知識を生かして、機械学習関連の仕事をしている3年目の@maron8676です。 本記事はAdvent Calendar 機械学習の数理の21日目の記事となります。 0. はじめに 本記事では、文書からキーフレーズを抽出するアルゴリズムであるPositionRankの収束性について解説します。 原論文[1]には収束について書かれていませんが、アルゴリズムを使うにあたり収束性があるかどうかは気になるところだと思います。 ※機械学習では初期点によって結果が変わるなんてことはよくある話ですよね そこで、今回はPositionRankの収束性について関数解析の視点から検証してみます。 結果として、PositionRankのアルゴリズムが作る点列は、任意の初期点に対し唯一つの点に収束するという、とてもよい性質を持っていることが分かります。 1. Pos
今DL for NLP界で、BERTというモデルが話題です。PyTorchによる実装が公開されていたので、日本語Wikipediaコーパスに適用してみました。 コードはこちらに公開しております。 2018/11/27 作成したBERTのモデルを使って内部動作の観察とその考察を行いました。単語の潜在表現獲得の部分で感動的な結果を見せてくれました。ご興味あればご覧ください↓ https://qiita.com/Kosuke-Szk/items/d49e2127bf95a1a8e19f この記事ではBERTのポイントの解説と、ポイントごとの実装を紹介します。 尚、記事の執筆にあたってこちらのリポジトリを参考にさせていただきました。 https://github.com/codertimo/BERT-pytorch 本記事は以下の4つで構成されています。 ・BERTとは ・BERTのキモ ・BER
子どもに言葉を教える際、誰も主語と動詞の違いや、それらが文章中のどこに置かれるのかをわざわざ説明したりはしない。しかし、コンピュータに言語を理解させようとした場合には話が違ってくる。われわれは、文の構造や単語の意味を描写するための注釈を付加し、それらの文を使ってシンタックス(構文)パーサ(解析器)とセマンティック(意味)パーサを訓練することになる。この種のパーサはAmazonの「Alexa」のような音声認識システムに自然言語を理解させようとする場合に役立つが、その訓練は時間のかかるプロセスであり、あまり一般的でない言語の場合には、特に難しいものとなる。 米国時間10月31日、マサチューセッツ工科大学(MIT)の研究者らは、パーサの新しい訓練方法に関する研究論文を発表した。彼らが作成したシステムは、子どもの学習方法をまねながら、説明の付加された動画を読み込み、そこに映っている行動や物体との関
今DL for NLP界で、BERTというモデルが話題です。PyTorchによる実装が公開されていたので、日本語Wikipediaコーパスに適用してみました。 コードはこちらに公開しております。 2018/11/27 作成したBERTのモデルを使って内部動作の観察とその考察を行いました。単語の潜在表現獲得の部分で感動的な結果を見せてくれました。ご興味あればご覧ください↓ https://qiita.com/Kosuke-Szk/items/d49e2127bf95a1a8e19f この記事ではBERTのポイントの解説と、ポイントごとの実装を紹介します。 尚、記事の執筆にあたってこちらのリポジトリを参考にさせていただきました。 https://github.com/codertimo/BERT-pytorch 本記事は以下の4つで構成されています。 ・BERTとは ・BERTのキモ ・BER
NTT40年の自然言語処理技術を結集して「いつどこで誰が何をどうしたゲーム」を作った 【Python & Webスクレイピング & COTOHA API】Python自然言語処理NLPWebスクレイピングCOTOHA タイトルはアオリです。全然使いこなせてないので予めご了承ください。 やりたいこと Python素人なので勉強したい。 Webスクレイピング素人なので実装したい。 自然言語処理(NLP)素人なので使ってみたい。 →PythonでWebスクレイピングしてその結果を言語処理するアプリケーションを作る。 作ったもの スクリプトに引数として単語を与えると、その単語のWikipedia記事を解析。 「いつ」「どこで」「だれが」「なにを」「どうした」に分解し、ランダムにそれらを組み合わせて表示する。 動作例 (豊臣秀吉のページ解析) $ python cotoha_api_wikipedi
本記事は、私が海外(アメリカ)で技術書 「実世界自然言語処理」"Real-World Natural Language Processing" (Manning Publications) をゼロから執筆、出版するまでを綴った日記です。本記事の執筆時点 (2018年12月) において、まだ書籍は未発表・執筆中ですので、進展がある毎に更新していく予定です。 なお、本書の入手・購入について、色々な方から問い合わせを受けるので。Manning Publication では、MEAP (Manning Early Access Program) といって、執筆中の書籍を未完成の段階で購入し、章が完成するごとに読みすすめられるという制度があります。本書も、最初の数章が完成した段階で MEAP で入手可能になります。現在のところ、2019年3月ごろを予定しています。 まずはじめに - 技術書を執筆・出
前置き 自然言語処理分野の博士課程の学生です。言語理解みたいなものが興味の対象です 自然言語処理の研究に悩む の続きのつもりです(あらすじ参照) まだ悩んでいる あらすじ 自分の研究的なトピックは「機械による読解 machine reading comprehension 」です。雑に言うと、言語理解のモデル化のひとつの手段として「国語の文章題が解けるようなシステムを作る」のがこのトピックの目標です。ここ2,3年でそれなりな流行を見せており、大規模(問いが数万個、の単位)なデータセットが数多く出てきて、それを解くようなニューラルなシステムがたくさん提案されています。中には人間の精度に匹敵する性能を出せたものもあります。 しかしこのような進展を見ても、システムに人間と同等の文章読解力があるとは到底思えない感じがします。システムを評価する側のデータセットが簡単そうに見える、というのが大きな理由
(Please note that this article is a localized (to Japanese) version of a corresponding tech blog article in the English language) Netflixでは、2015年9月の日本における配信サービス開始時から日本語字幕を提供しています。 今回のブログでは、日本語字幕提供に至るまでの技術的な取り組みについて説明します。 字幕ソースファイルの仕様、字幕ソースファイルからNetflix配信用字幕への変換モデル、Netflixにおける日本語字幕の納品モデルなどを取り上げます。さらに、W3C字幕規格Timed Text Markup Language 2 (TTML2)導入に向けた対応についても触れます。 2014年の終盤にかけて、Netflixでは2015年9月に予定していた日
ちゃお・・・† 舞い降り・・・† 先日、前処理大全という本を読んで自分なりに何か書きたいなと思ったので、今回は自然言語処理の前処理とそのついでに素性の作り方をPythonコードとともに列挙したいと思います。必ずしも全部やる必要はないので目的に合わせて適宜使ってください。 前処理大全[データ分析のためのSQL/R/Python実践テクニック] 作者:本橋 智光技術評論社Amazon 前処理 余分な改行やスペースなどを除去 with open(path) as fd: for line in fd: line = line.rstrip() アルファベットの小文字化 text = text.lower() 正規化 (半角/全角変換などなど) import neologdn neologdn.normalize('ハンカクカナ') # => 'ハンカクカナ' neologdn.normalize
fast.ai NLP Projects from fast.ai researchers and collaborators © 2019. MIT License. Most of the world’s text is not in English. To enable researchers and practitioners to build impactful solutions in their domains, understanding how our NLP architectures fare in many languages needs to be more than an afterthought. In this post, we introduce our latest paper that studies multilingual text classif
GWを使って、文章から特徴を抽出するライブラリwordbatchを試しました。wordbatchって何なの?って人も見たことあるって人もこれから使ってみようという人にも役に立てればと思います。 WordBatchとは こちらで公開されております。 一言で言うと 「機械学習用の並列処理テキスト抽出ライブラリ(予測器付き)」です。 ミニバッチで文章からの特徴抽出を行うため、少ないメモリかつ並列処理で文章からの特徴抽出が可能です。カスタマイズ性も高く、他のライブラリをそのまま置き換えることができます。 また、wordbatchというライブラリは文章特徴抽出器の他に、単一ラベル用のオンラインで並列処理できる予測器も備えています。こちらも実際にメモリに乗りづらい大きいデータの予測などに活用できると思われます。 ユースケースとしては、以下の要望に応えられるものかと思います。 なるべく時間かけずに文章の
固有表現認識で認識した固有表現を黒塗りすることで、匿名化っぽいことができると考えられます。というのも、機密文書で黒塗りされている部分は機密に関係している人名や組織名などが多いと考えられるからです。上文の固有表現部分を黒塗りすると以下のようになります。 今回は固有表現を認識するためにディープラーニングを用いたモデルを構築します。具体的にはLampleらが提案したモデルを構築します。このモデルでは、単語とその単語を構成する文字を入力することで、固有表現の認識を行います。言語固有の特徴を定義する必要性もなく、ディープな固有表現認識のベースラインとしてよく使われているモデルです。 Lampleらのモデルは主に文字用BiLSTM、単語用BiLSTM、およびCRFを用いて構築されています。まず単語を構成する文字をBiLSTMに入力して、文字から単語表現を獲得します。それを単語分散表現と連結して、単語用
Google のリサーチ・サイエンティストである Martin Zinkevich 氏によって書かれた、機械学習を使った良いプロダクトを開発するためのコツを集めた記事。エンジニアが良い機械学習プロダクトを作るには、機械学習の専門知識が無いことに苦心するのではなく、得意なエンジニアリングの技術を活かすことが重要、というのが主な趣旨です。 紹介記事:Rules of Machine Learning: Best Practices for ML Engineering はじめに ほとんどの問題はエンジニアリングに関する問題である 性能向上は、良い機械学習のアルゴリズムではなく、良い素性によってもたらされる 機械学習の前に ルール1. 本当に必要になるまで機械学習を使わない ルール2. まず指標を設計、実装する ルール3. ヒューリスティックが複雑になりすぎる前に、機械学習に移行する フェーズI
Text classificationで作る簡単な対話エージェント 自然言語処理 Advent Calendar 2017 - Qiita の24日目です。 シンプルな対話エージェントを作ることをゴールに、自然言語処理タスクの一種であるText classificationとその周辺のプログラミングを解説するチュートリアルです。 対象:プログラミングはしたことあるが、機械学習はやったことがない人 言語:Python3 一部内容を http://tuttieee.hatenablog.com/entry/bag-of-words に移動し、追記しました。 また、本稿は、拙著「15Stepで踏破 自然言語処理アプリケーション開発入門」の第2章 Step1の内容を、出版社の許可を得て掲載しています。 ■1章 演習に入るまえの予備知識 1 序論・自然言語処理と機械学習 2 本書の執筆・開発環境 3
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く