Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Itエンジニアのための自然言語処理入門

Itエンジニアのための自然言語処理について

  • Login to see the comments

Itエンジニアのための自然言語処理入門

  1. 1. ITエンジニアのための 自然言語処理入門 三上 悟 ITエンジニアのためのDeep Learning >> 番外編 LT
  2. 2. 三上 悟(Mikami Satoru) CTO at Innova Twitter: @saicologic Qiita: http://qiita.com/saicologic Facebook: https://www.facebook.com/saicologic Web Engineer (PHP, Ruby, Python) 10 Year デザイン工学 4 Year 機械学習(自然言語処理)は、独学中 1 Year 興味: Machine Learning for Artists Machine Learning for Marketing
  3. 3. 自然言語処理とは 自然言語(natural language)とは、日本語、英語、フランス語など、 われわれ人間が日常的に話し聞き、読み書きしている言語のこ とをいう。 人工言語と区別するため、ただ「言語」というのではなく 「自然言語」と呼ぶこととなった。 自然言語をコンピューター上で扱う技術を自然言語処理 (natural language processing)という。 著:奥村学 自然言語処理の基礎
  4. 4. 概要 • 辞書とコーパス(Dictionaly&Corpus) • 形態素解析(morphological analysis) • 構文解析(syntactic analysis) • 意味解析(semantic analysis) • 文脈解析(contextural analysis) 著:奥村学 自然言語処理の基礎
  5. 5. 応用 • 機械翻訳(Google Translate) • 情報検索(Google Search) • テキスト分類(SmartNews) • 情報抽出(出来事、日付、住所など) – 固有表現抽出
  6. 6. 単行本(ソフトカバー): 164ページ
  7. 7. Webエンジニアのための 自然言語処理 クラウドサービス
  8. 8. Google CLOUD NATURAL LANGUAGE API (BETA) • 構文解析 • エンティティ認識(固有表現抽出) • 感情分析(日本語は未対応) • マルチ言語(日本語含む80カ国語以上) https://cloud.google.com/natural-language/
  9. 9. Yahoo! JAPAN テキスト解析WebAPI • 日本語形態素解析 • かな漢字変換 • ルビ振り • 校正支援 • 日本語係り受け解析 • キーフレーズ抽出 http://developer.yahoo.co.jp/webapi/jlp/
  10. 10. IBM Bluemix Watson API • AlchemyAPI • Concept Expansion • Concept Insights • Dialog • Language Translation • Natural Language Classifier More…. IBM Bluemix の Watson APIを使ってみた雑感 http://qiita.com/knao124/items/60dc430fc31bf85b0e60
  11. 11. Webエンジニアのための 自然言語処理 学習方法
  12. 12. 学習方法 言語処理100本ノック2015 http://www.cl.ecei.tohoku.ac.jp/nlp100/
  13. 13. 学習方法
  14. 14. 学習方法 自然言語処理を独習したい人のために http://cl.sd.tmu.ac.jp/prospective/prerequisite
  15. 15. Webエンジニアのための 自然言語処理 本
  16. 16. 本 http://cl.sd.tmu.ac.jp/prospective/readings 首都大学東京 自然言語処理研究室(小町研) 自然言自然言語処理を学ぶ推薦書籍
  17. 17. Webエンジニアのための 自然言語処理 データセット
  18. 18. データセット Movielens 映画のレビュー 機械学習系の本でよく使われる http://grouplens.org/datasets/movielens/ NII(国立情報学研究所) Yahoo/楽天/ニコニコ動画/リクルート/クックパッド/HOME’s http://www.nii.ac.jp/dsc/idr/datalist.html NICT(国立研究開発法人情報通信研究機構) 日本語 WordNet http://nlpwww.nict.go.jp/wn-ja/ 東北大学(乾・岡崎研究室) Open Resources (Yahoo!知恵袋機能表現タグ, 日本語極性辞書など) http://www.cl.ecei.tohoku.ac.jp/index.php?Open%20Resources#o35a04e2
  19. 19. Webエンジニアのための 自然言語処理 アルゴリズム
  20. 20. アルゴリズム • 基本 – TF-IDF(単語の重み付け、特徴量、特徴抽出) • 次元削減 – PCA 主成分分析 – LSA(Latent Semantic Analysis) – t-SNE • 機械学習 – 教師あり学習 • Naive Bayes(文章分類) • K-NN(k-nearest neighbor)(文章分類) • SVM(Support Vector Machine)(文章分類) • CRF(Conditional Random Fields) (固有表現抽出、本文抽出) – 教師なし学習 • K-means(文章クラスタリング) • Word2Vec(分散表現(単語埋め込み) • LDA(カテゴリ分類)
  21. 21. Webエンジニアのための 自然言語処理 辞書・ライブラリ
  22. 22. ライブラリ • Scikit-learn(Naive Bayes more..) • Gensim(LSI/LDA/Word2vec/doc2vec) • Mecab(形態素解析) + NEologd(辞書) • CaboCha(係り受け解析) • KNP(構文・格・照応解析) • NLTK(Natural Language Toolkit) • ExtractContent(Webページの本文抽出) 全て、Pythonから使えます。
  23. 23. Webエンジニアのための 自然言語処理 Neural Network
  24. 24. Neural Network • Neural Language Model – Word2Vec (Vector Representations of Words) – Seq2Seq(Sequence-to-Sequence) – RNN(Recurrent Neural Network) • LSTM(Long Short-Term Memory) TensorFlow Tutorial Language and Sequence Processing https://www.tensorflow.org/versions/master/tutorials/index.html
  25. 25. ご静聴ありがとうございました。

×