タグ

関連タグで絞り込む (236)

タグの絞り込みを解除

nlpに関するmanabouのブックマーク (257)

  • TinySegmenterをJulia移植したらMITの先生に指導してもらえた話 - once upon a time,

    先日、工藤さんがJavaScript向けに作った日語のコンパクトな分かち書きツール、TinySegmenterをJuliaに移植したTinySegmenter.jlを作りました。 もともとは、PyconJPでjanomeの話を聞いたら居ても立っても居られなくなって、簡単なTinySegmenterを移植したんですが、そしたら思いもよらぬ展開が待っていました。 [2015/10/22 23:38 追記] 計測の問題を @repeatedly さんから指摘いただいたので再計測しました。 パッケージ登録時にMITの先生からツッコミが入る JuliaのパッケージはMETADATA.jlというセントラルなレポジトリで管理されています。 ここに登録されたパッケージはPkg.add("TinySegmenter")とREPLで実行するだけでパッケージが導入できます。*1 ここに登録をしようとした時に、

    TinySegmenterをJulia移植したらMITの先生に指導してもらえた話 - once upon a time,
  • トピックモデルを利用したアプリケーションの作成 | Tech-Sketch

    最近、「機械学習」や「自然言語処理」、といったキーワードを聞くことが多くなってきていると思います。 反面、すごそうだけどなんだか難しいもの、というイメージもあるのではないかと思います。そこで、今回は「自然言語処理」の一種であるトピックモデルを取り上げ、その仕組みを紹介するとともに、その実装方法について解説していきたいと思います。 (「機械学習」の方については、以前開催した勉強会の資料がありますので、興味があればそちらもご参照ください。) トピックモデルとは トピックモデルは、確率モデルの一種になります。つまり、何かが「出現する確率」を推定しているわけです。 トピックモデルが推定しているのは、文章中の「単語が出現する確率」になります。これをうまく推定することができれば、似たような単語が出てくる文章(=似たようなモデルの文書)が把握でき、ニュース記事などのカテゴリ分類を行ったりすることができま

    トピックモデルを利用したアプリケーションの作成 | Tech-Sketch
  • 夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ

    こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 このまえ夏の技術職インターンシップの前半の開発講義・課題部分が終わったのでさっそく公開しちゃいます! ちなみにこのインターンの対象者はプログラミングはわかるし自分で(授業とかではなく)コード書いている人なので超初心者向けでは無く、少なくともひとつ以上の言語でプログラミングが出来る人向けです。 一日目 TDD + git 編(@yoshiori) 講義初日なのでまずは簡単に肩慣らし & 開発の基礎の部分として TDD と git で始めました。 git については軽く説明し TDD は基のテストファーストで進めて行きました。 ちゃんと何かをするたびにテストを実行し、メッセージを見れば次にすることが分かるというのを体験してもらい、GREEN が良くて RED が悪いのではなく、GREEN を想定しているのに

    夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ
  • [Spark][TF-IDF][テキスト処理] Reuters21578 を K-means 法でクラスタリングする | DevelopersIO

    文書をグループ分けしたい ネット上やDBの中にある文書をグループ分けしておいて、新しい文書が現れたときにそれが既存のどのグループに属しているか判断したい場合があります。 今回はApache Sparkを使って文章から取得できる TF-IDF を用いた K-means クラスタリングを実行し、分類を行ってみました。 クラスタリング 入力ベクトルのみから類似したベクトルのグループを見出すような機械学習の手法をクラスタリングと呼びます。 例えば、2次元 x-y 平面上における以下のようなデータ・セットがあった場合には クラスタリングによって以下の様なグループ分けがなされると期待されます。 通常、訓練データ中の入力ベクトルに対応した目標ベクトルがあるような手法は教師あり機械学習と呼ばれますが、今回扱う K-means クラスタリングについては目標ベクトルがありません。そのため、教師なし機械学習とも

    [Spark][TF-IDF][テキスト処理] Reuters21578 を K-means 法でクラスタリングする | DevelopersIO
  • オープンデータで実現する作文測定分析のシステム構成

    ACM SIGMOD日支部第56回支部大会でお話しした、ICDE 2014の参加報告についての資料です。以下のような6部構成になっています。全190ページです。 ・ICDE 2014を俯瞰してみる(5p~) ・ビッグデータ時代の新発想:もうデータは蓄えない(32p~) Keynote, Running with Scissors: Fast Queries on Just-in-Time Databases ・見えない相手と協調作業:センサネットワーク上のデータ集約(64p~) 10 Year Most Influential Paper, Approximate Aggregation Techniques for Sensor Databases ・メインメモリデータベースがハードウェアトランザクショナルメモリを使ったら…(96p~) Best Paper, Exploiting H

    オープンデータで実現する作文測定分析のシステム構成
  • Python による日本語自然言語処理

    はじめに この文書は、 Steven Bird, Ewan Klein, Edward Loper 著 萩原 正人、中山 敬広、水野 貴明 訳 『入門 自然言語処理』 O'Reilly Japan, 2010. の第12章「Python による日語自然言語処理」を、原書 Natural Language Processing with Python と同じ Creative Commons Attribution Noncommercial No Derivative Works 3.0 US License の下で公開するものです。 原書では主に英語を対象とした自然言語処理を取り扱っています。内容や考え方の多くは言語に依存しないものではありますが、単語の分かち書きをしない点や統語構造等の違いから、日語を対象とする場合、いくつか気をつけなければいけない点があります。日語を扱う場合にも

  • redditにおける関心事 | POSTD

    (注記:4/16、いただいた翻訳フィードバックを元に記事を修正いたしました。) (訳注:文中のすべてのグラフ画像は 原文のページ で拡大・縮小しながらご覧いただけます) 20万ユーザの8400万コメントをネットワーク図で解析 誰しも関心事があります。つまり理解したいと思ったり話し合ったりしたいと思うような個々人の好みに近いトピックのことですね。でも、例えば初めてデートした時のぎこちなさが証明するように、人によって興味の対象は違うもので、すれ違うことだってままあります。ある人にとっては面白い内容でも、他の人にとっては涙が出るくらい退屈だったりすることもあるのです。そんなわけで、この投稿では人々の関心事やその相互の関連性について、もう少しつっこんで考えてみたいなと思っています。 特定の関心事の間には自明で自然な関連性があるという認識は、恐らく多くの人が持っているのではないでしょうか。関心事の分

    redditにおける関心事 | POSTD
  • [O] MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました

    MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました Tweet [NLP] 日語の文書を機械的に処理しようと思った時に、ほとんどの人が MeCabとIPADIC(IPA辞書)の両方、または、どちらかを使うことになります。 IPADICはとてもよく出来ていますが、更新されないまま年月が過ぎているので、例えば2015年3月上旬に急に流行ったような言葉は収録していません。そのため、今日生まれたような新しい文書(例、Apple Watch発売)を解析する時に困ります。困らない人もいますけど、僕は困ります。 その課題に対処するために、日全国津々浦々、自然言語処理に関わる全ての人は独自にMeCabの新語辞書を作って対応しているわけです。その際に元データとして使われることが多いのは Wikipedia語版やはてなキーワードなどです。 困ったことに、新語辞書を生成

  • 言語処理100本ノック 2015

    言語処理100ノックは,実践的な課題に取り組みながら,プログラミング,データ分析,研究のスキルを楽しく習得することを目指した問題集です 実用的でワクワクするような題材を厳選しました 言語処理に加えて,統計や機械学習などの周辺分野にも親しめます 研究やデータ分析の進め方,作法,スキルを修得できます 問題を解くのに必要なデータ・コーパスを配布しています 言語はPythonを想定していますが,他の言語にも対応しています

  • 自然言語処理に新風を巻き起こしたWord2Vecとは何か - 日経BigData

    言語データの分析と応用のために自然言語処理と呼ばれる分野で長年研究が行われて来た。同分野が昨年から大きく沸き立っている。米グーグルの研究者であるトマス・ミコロフ氏らが提案した手法「Word2Vec」が、いくつかの問題について従来のアルゴリズムよりも飛躍的な精度向上を可能にしたのだ。 この手法によって得られるベクトル空間には、今まで定量的に捉えることの難しかった言葉の「意味」を極めて直接的に表現しているかのような性質が認められている。今年9月、当社がスポンサー参加した自然言語処理系の研究発表会「NLP若手の会 第9回シンポジウム」でも、多くの研究がWord2Vecに関連したテーマについて取り上げていた。今後、意味解析、文書分類、機械翻訳など様々な分野でWord2Vecの応用が期待されている。 「意味ベクトル」の驚異的な性質 Word2Vecは、その名前の表す通り、単語をベクトル化して表現する

    自然言語処理に新風を巻き起こしたWord2Vecとは何か - 日経BigData
  • Ruby でやってみる『機械学習 はじめよう第3回 ベイジアンフィルタを実装してみよう』メモ - 牌語備忘録 -pygo

    若干リファクタ naivebayes.rb: 2014-06-30 (ruby2.1) 元ネタは Python 実装 第3回 ベイジアンフィルタを実装してみよう:機械学習 はじめよう|gihyo.jp … 技術評論社 理論 第2回 確率の初歩:機械学習 はじめよう|gihyo.jp … 技術評論社 やること ナイーブベイズアルゴリズムを利用してテキストを読み込み、学習し、自動でカテゴリ分類する。 文章を形態素に分割する morphological.rb Yahoo!デベロッパーズネットワークの日形態素解析を利用する。 (nokogiri はインストール済で) require 'open-uri' require "nokogiri" APPID = 'Yahoo!デベロッパーズネットワークのアプリケーションIDを入力して下さい' REQUEST_URL = "http://jlp.ya

    Ruby でやってみる『機械学習 はじめよう第3回 ベイジアンフィルタを実装してみよう』メモ - 牌語備忘録 -pygo
  • Machine learning is the new algorithms

    my biased thoughts on the fields of natural language processing (NLP), computational linguistics (CL) and related topics (machine learning, math, funding, etc.) When I was an undergrad, probably my favorite CS class I took was algorithms. I liked it (a) because my background was math so it was the closest match to what I knew and (b) because even though it was "theory," a lot of the stuff we learn

  • YAPC::Asia 2014で自然言語処理について発表してきました。 - WebService::Blog->new( user => ’hide_o_55’ )

    YAPC::Asia 2014 で 自然言語処理を支える技術 〜要素技術Perlの活用〜 というタイトルで発表してきました。発表はペース配分を間違えて、時間切れになってしまい、見に来て頂いた方々には申し訳ないです。 発表資料は以下です。 ビギナー向けという位置づけなので、確率の数式などは出さないようにしています。 感想 今年は前夜祭から参加しましたが、非常に楽しかったです。 今回はPerl以外のトークが多かったですが、それが結果的にこれまで YAPC に参加してこなかった人を呼ぶ結果になり、そういった方々に Perl文化を伝えるきっかけになったのではないかと思います。 なにはともあれ、yusukebeさんを始めとするスタッフの皆様、参加者のみなさまお疲れ様でした! Chiba.pm 後夜祭的な感じでHUBで飲んでいたのですが、Chiba.pmな方々がいたので主催者多忙のためしばらく開

    YAPC::Asia 2014で自然言語処理について発表してきました。 - WebService::Blog->new( user => ’hide_o_55’ )
  • NLP 100 Drill Exercises - 東北大学 乾研究室 / Inui Lab, Tohoku University

    言語処理100ノックについて † 言語処理100ノックは,言語処理を志す人を対象とした,プログラミングのトレーニング問題集です. 乾・岡崎研の新人研修勉強会の一つであるLearning Programmingで使われています. このトレーニングは,以下の点に配慮してデザインされています. 自然言語処理の研究を進める上で,一度は書いておいた方がよいプログラム 統計,機械学習,データベースなどの便利な概念・ツールを体験する 実用的で,かつワクワクするようなデータを題材とする 研究を進めるうえで重要なプログラミングのルール・作法を身につける モジュール性や組み合わせを考慮しつつ,短くてシンプルなプログラムを書く プログラムの動作を確認(デバッグ)しながらコーディングする 労力を節約する(既存のツール/プログラム/モジュールが使えるときは流用する) 計算資源(メモリ・実行時間)を無駄にしない方

  • Graph of Word、TW-IDFとTFのnormalizationメモ - Negative/Positive Thinking

    はじめに Rousseau et al., Graph-of-word and TW-IDF: New Approach to Ad Hoc IR http://www.lix.polytechnique.fr/~rousseau/papers/rousseau-cikm2013.pdf 文書dのグラフ的表現とそこから計算されるTW-IDFというTermの重み付けについて、メモ。 Graph of Word 文書を重みなし有向グラフで表現 頂点: 各(unique)term 辺: 固定幅(4ぐらい?)の窓内のtermとの共起 辺の向き: termの出現順序(前から後ろ方向のみ) 多重辺にはしない TW-IDF TW-IDF(t,d) = tw(t,d) / (1-b+b*|d|/avdl) * log( (N+1) / df(t) ) tw(t,d): 文書dのgraph of word表

    Graph of Word、TW-IDFとTFのnormalizationメモ - Negative/Positive Thinking
  • 文節境界解析のラベルと性能 - skozawa's blog

    文節境界解析で使うラベルで、BIとBILUの2種類でどちらが性能がよいかを検証してみた。結果的にはBIだけのほうが性能が高かった。 前回の輪読会で紹介した固有表現抽出に関する論文の中で印象に残ったことのひとつとして、系列ラベリングに使うラベルで最近はBIOよりもBILOUを使ったほう性能が高いというものがあった。 BIO(Begin, Inside, Outside)とBILOU(Begin, Inside, Last, Outside, Unit(Begin and Last))の違いは固有表現の末尾を考慮するかどうかで、末尾を考慮したほうが性能がよいというもの。 社内輪読会で「Joint Inference of Named Entity Recognition and Normalization for Tweets」を紹介した - skozawa's blog Comainuでは、

    文節境界解析のラベルと性能 - skozawa's blog
    manabou
    manabou 2014/06/30
  • 文法圧縮に基づく高速クエリー検索法に関する論文を公開しました - Yasuo Tabeiの日記

    今年の実験的アルゴリズムに関する国際会議SEA2014に採択された論文をarxivにて公開しました。内容は文法圧縮の索引化に基づく高速クエリー検索です。 Yoshimasa Takabatake, Yasuo Tabei, Hiroshi Sakamoto: Improved ESP-index: a practical self-index for highly repetitive texts, 13th International Symposium on Experimental Algorithms (SEA), 2014. 論文へのリンク

    文法圧縮に基づく高速クエリー検索法に関する論文を公開しました - Yasuo Tabeiの日記
  • ナップサック問題として複数文書要約を解くを試す - Negative/Positive Thinking

    はじめに 複数文書要約をナップサック問題として解く、という話を聴いて、簡単に試せそうなのでやってみる。 手法 西川ら「冗長性制約付きナップサック問題に基づく複数文書要約モデル」 https://www.jstage.jst.go.jp/article/jnlp/20/4/20_585/_pdf 上記の論文中で紹介されている「動的計画ナップサックアルゴリズム」を参考に。 (論文で提案されている手法ではないことに注意) コード #include <iostream> #include <vector> #include <map> #include <sstream> class KPSummary { // T[i][k] := 文iまでで最大要約長がkのときの最適解値 // U[i][k] := 経路復元用(文iを利用したかどうか) std::vector< std::vector<int

    ナップサック問題として複数文書要約を解くを試す - Negative/Positive Thinking
  • Kuromojiは何で研究にあまり使われないのか? - Topics Related to Computers and NLP

    今回は(現在の所は)日形態素解析器であるKuromojiについて気になったことに関しまして少し独り言みたいに考察します。Kuromojiは中の人を知っているので少し贔屓目に見ている部分もあると思いますが、一応ステマではないつもりです。 今回ふと思った疑問:何故Kuromojiが研究で使用されている場面が少ないのでしょうか? Kuromojiは僕が前にお世話になっておりましたアティリカ社の開発したプロダクトの内の一つです。SolrやElastic SearchといったJavaベースの検索システムの形態素解析器として広く使われております。 この形態素解析器はNLPでも多くの研究がなされ、研究コミュニティにおいてはJUMAN、Cabocha、MeCab、Kyteaといった形態素解析器が多く発表されています。これらとKuromojiとの違いは「Research-drivenかEngineer(

    Kuromojiは何で研究にあまり使われないのか? - Topics Related to Computers and NLP
  • 日本語形態素解析の初歩 - あらびき日記

    この記事は abicky.net の 日形態素解析の初歩 に移行しました

    日本語形態素解析の初歩 - あらびき日記