Enviar pesquisa
Carregar
言語処理するのに Python でいいの? #PyDataTokyo
•
53 gostaram
•
21,242 visualizações
S
Shuyo Nakatani
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 38
Baixar agora
Baixar para ler offline
Recomendados
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介
Yuma Ohgami
NIPS2017報告 SPEECH & AUDIO
NIPS2017報告 SPEECH & AUDIO
Koichiro Mori
2021-12-16 テストコードのないレガシーアプリケーションとの向き合い方
2021-12-16 テストコードのないレガシーアプリケーションとの向き合い方
naoto teshima
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
AtCoder Inc.
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
智之 村上
サイボウズの給与交渉戦 - Boss Side -
サイボウズの給与交渉戦 - Boss Side -
Teppei Sato
言語モデル入門
言語モデル入門
Yoshinari Fujinuma
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
Recomendados
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介
Yuma Ohgami
NIPS2017報告 SPEECH & AUDIO
NIPS2017報告 SPEECH & AUDIO
Koichiro Mori
2021-12-16 テストコードのないレガシーアプリケーションとの向き合い方
2021-12-16 テストコードのないレガシーアプリケーションとの向き合い方
naoto teshima
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
AtCoder Inc.
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
智之 村上
サイボウズの給与交渉戦 - Boss Side -
サイボウズの給与交渉戦 - Boss Side -
Teppei Sato
言語モデル入門
言語モデル入門
Yoshinari Fujinuma
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
諒介 荒木
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装
Deep Learning Lab(ディープラーニング・ラボ)
パワポ版の落合先生流論文要旨のテンプレートを作ったので配布する
パワポ版の落合先生流論文要旨のテンプレートを作ったので配布する
森 哲也
論文の図表レイアウト例
論文の図表レイアウト例
Sunao Hara
2021 10-07 kdd2021読み会 uc phrase
2021 10-07 kdd2021読み会 uc phrase
Tatsuya Shirakawa
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Toru Koido
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
多段階計算の型システムの基礎
多段階計算の型システムの基礎
T. Suwa
メタスタディ (Vision and Language)
メタスタディ (Vision and Language)
Shintaro Yamamoto
Vue 2 の EOL まで 2 ヶ月ですが進捗どうですか?
Vue 2 の EOL まで 2 ヶ月ですが進捗どうですか?
Kazuhiro Kobayashi
コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法
コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法
Hiro H.
論文に関する基礎知識2015
論文に関する基礎知識2015
Mai Otsuki
TRICK 2022 Results
TRICK 2022 Results
mametter
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
Kensuke Otsuki
Homotopy法による非線形方程式の解法
Homotopy法による非線形方程式の解法
Hideo Hirose
国際化時代の40カ国語言語判定
国際化時代の40カ国語言語判定
Shuyo Nakatani
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
Recruit Lifestyle Co., Ltd.
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)
Yamato OKAMOTO
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
tokyorgirls
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
Mais conteúdo relacionado
Mais procurados
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
諒介 荒木
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装
Deep Learning Lab(ディープラーニング・ラボ)
パワポ版の落合先生流論文要旨のテンプレートを作ったので配布する
パワポ版の落合先生流論文要旨のテンプレートを作ったので配布する
森 哲也
論文の図表レイアウト例
論文の図表レイアウト例
Sunao Hara
2021 10-07 kdd2021読み会 uc phrase
2021 10-07 kdd2021読み会 uc phrase
Tatsuya Shirakawa
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Toru Koido
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
多段階計算の型システムの基礎
多段階計算の型システムの基礎
T. Suwa
メタスタディ (Vision and Language)
メタスタディ (Vision and Language)
Shintaro Yamamoto
Vue 2 の EOL まで 2 ヶ月ですが進捗どうですか?
Vue 2 の EOL まで 2 ヶ月ですが進捗どうですか?
Kazuhiro Kobayashi
コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法
コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法
Hiro H.
論文に関する基礎知識2015
論文に関する基礎知識2015
Mai Otsuki
TRICK 2022 Results
TRICK 2022 Results
mametter
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
Kensuke Otsuki
Homotopy法による非線形方程式の解法
Homotopy法による非線形方程式の解法
Hideo Hirose
国際化時代の40カ国語言語判定
国際化時代の40カ国語言語判定
Shuyo Nakatani
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
Recruit Lifestyle Co., Ltd.
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)
Yamato OKAMOTO
Mais procurados
(20)
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装
パワポ版の落合先生流論文要旨のテンプレートを作ったので配布する
パワポ版の落合先生流論文要旨のテンプレートを作ったので配布する
論文の図表レイアウト例
論文の図表レイアウト例
2021 10-07 kdd2021読み会 uc phrase
2021 10-07 kdd2021読み会 uc phrase
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
多段階計算の型システムの基礎
多段階計算の型システムの基礎
メタスタディ (Vision and Language)
メタスタディ (Vision and Language)
Vue 2 の EOL まで 2 ヶ月ですが進捗どうですか?
Vue 2 の EOL まで 2 ヶ月ですが進捗どうですか?
コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法
コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法
論文に関する基礎知識2015
論文に関する基礎知識2015
TRICK 2022 Results
TRICK 2022 Results
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
Homotopy法による非線形方程式の解法
Homotopy法による非線形方程式の解法
国際化時代の40カ国語言語判定
国際化時代の40カ国語言語判定
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)
Semelhante a 言語処理するのに Python でいいの? #PyDataTokyo
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
tokyorgirls
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
Tetsuya Morimoto
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
Takuya Ueda
Google colab 2
Google colab 2
Masatoshi Itagaki
JavaのLambdaの裏事情
JavaのLambdaの裏事情
なおき きしだ
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
Perl で自然言語処理
Perl で自然言語処理
Toshinori Sato
OSSで楽に作るGo言語クライアントツール
OSSで楽に作るGo言語クライアントツール
Tano Makoto
社内勉強会1 go lang
社内勉強会1 go lang
Tsuyoshi Nakamura
Goで始める言語処理系実装入門
Goで始める言語処理系実装入門
虎の穴 開発室
Pythonによる画像処理について
Pythonによる画像処理について
Yasutomo Kawanishi
PyPy 紹介
PyPy 紹介
shoma h
YAPC::Asia2015
YAPC::Asia2015
Masaru Hoshino
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
Python勉強会 2015-12-02
Python勉強会 2015-12-02
WoodPecker (Shizuoka Univ)
Pyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
Session2:「グローバル化する情報処理」/伊藤敬彦
Session2:「グローバル化する情報処理」/伊藤敬彦
Preferred Networks
Goをえらんだ理由
Goをえらんだ理由
Tatsumi Naganuma
Semelhante a 言語処理するのに Python でいいの? #PyDataTokyo
(20)
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
Google colab 2
Google colab 2
JavaのLambdaの裏事情
JavaのLambdaの裏事情
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
Perl で自然言語処理
Perl で自然言語処理
OSSで楽に作るGo言語クライアントツール
OSSで楽に作るGo言語クライアントツール
社内勉強会1 go lang
社内勉強会1 go lang
Goで始める言語処理系実装入門
Goで始める言語処理系実装入門
Pythonによる画像処理について
Pythonによる画像処理について
PyPy 紹介
PyPy 紹介
YAPC::Asia2015
YAPC::Asia2015
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Python勉強会 2015-12-02
Python勉強会 2015-12-02
Pyconjp2014_implementations
Pyconjp2014_implementations
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Session2:「グローバル化する情報処理」/伊藤敬彦
Session2:「グローバル化する情報処理」/伊藤敬彦
Goをえらんだ理由
Goをえらんだ理由
Mais de Shuyo Nakatani
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
Shuyo Nakatani
Generative adversarial networks
Generative adversarial networks
Shuyo Nakatani
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
Shuyo Nakatani
Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)
Shuyo Nakatani
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?
Shuyo Nakatani
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
Shuyo Nakatani
ドラえもんでわかる統計的因果推論 #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoR
Shuyo Nakatani
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
Shuyo Nakatani
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
Shuyo Nakatani
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
Shuyo Nakatani
Zipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLP
Shuyo Nakatani
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
Shuyo Nakatani
ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014
Shuyo Nakatani
猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測
Shuyo Nakatani
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
Shuyo Nakatani
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
Shuyo Nakatani
Active Learning 入門
Active Learning 入門
Shuyo Nakatani
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
Shuyo Nakatani
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Shuyo Nakatani
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
Shuyo Nakatani
Mais de Shuyo Nakatani
(20)
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
Generative adversarial networks
Generative adversarial networks
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoR
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
Zipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLP
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014
猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
Active Learning 入門
Active Learning 入門
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
Último
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
Último
(12)
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
言語処理するのに Python でいいの? #PyDataTokyo
1.
言語処理するのに Python でいいの? PyData.Tokyo #5
2015/5/22 サイボウズ・ラボ株式会社 中谷 秀洋(@shuyo)
2.
@shuyo
3.
4.
5.
今日の発表の姉妹編 • 数式を綺麗にプログラミングするコツ – http://www.slideshare.net/shuyo/programming-based-on-formula –
夏のプロシン2013 – 数式をコードに「短く」「正確に」落とす
6.
自然言語処理 • 自然言語処理とは? – 自然言語をコンピュータでうんぬん(略) •
自然言語+処理 – 「実装して動いて なんぼ」
7.
まあまあ よく聞かれる
8.
「自然言語処理するのに 何で実装するのが いいですか?」
9.
セットで よく聞かれる
10.
「やっぱり Python が いいんですかねえ」 or 「やっぱり
Python じゃあ まずいですかねえ」
11.
「実装したいモデルやアプリに あわせて選べばいいですよ」
12.
「好きな言語で実装すれば いいんじゃあないですか」
13.
自然言語処理の実装 • モデルの理解やドメインの知識 >>…… ……>>
プログラミング能力 – プログラミングが必ずしも得意じゃない – 数学が(ry – (データ解析とか統計処理とかも同様) • 「好きなプログラミング言語で実装」 • 「アプリに合わせて言語を選ぶ」 – おまえは何を言っているんだ状態
14.
「ライブラリ使えば? 最近はいいライブラリ 多いですし」
15.
多すぎるし! • Python – Numpy
/ Scipy – Scikit-learn – Theano – Caffe – NLTK • C++ – Octava / Eigen – Vowpal Wabbit • Java – Mahout – Spark MLlib – Weka – Stanford CoreNLP • .NET – Accord.NET • Lua – Torch • Jubatus • OpenCV • AzureML • Amazon ML • R • MATLAB • …… • …………
16.
そこで!
17.
プログラミング言語選びガイド • どのようなところが言語処理に向いてるか、 向いていないか – Python –
C++ – Java – (R言語) • できるだけ公平に評価 – あとで「聞いてないよ!」と後悔しないように
18.
Python • 手軽 – 書いたらすぐ動く –
エラーもわかりやすい(超重要) • 豊富なライブラリ – Cython みたいな裏技めいたものも • v2 と v3 の並立による混乱 – 例えば Theano は v3 未対応
19.
C++ • 速度 – うまく書けば速い •
省メモリ(重要) – うまく書けば大規模OK • うまく書けば…… – うまく書ける人は少ない – 落とし穴の多さ深さでは誰にも負けない!
20.
Java • 環境要件ドリブン – Hadoopありきとか –
J2EE サーバを使うことが決まっているとか • 開発者(経験者)が多い – (あとから)人を集められる • 強力な IDE – 誰が書いても同じコード。保守性が高い • 冗長すぎる – Java で書いてる人「Javaで書きたくない」
21.
(R言語) • 計量言語学やコーパス言語学の畑でよく 使われている印象 • エンジニアは…… –
文字列の扱いに癖がある – 統計処理だけで完結しない場合に手間が多い
22.
プログラミング言語の選び方を 具体例で見てみる
23.
具体例:言語判定 • テキストが何語で書かれたものか推定 – 今日はいい天気ですね
→ 日本語 – It’s a fine day → 英語 – Een hele mooie dag → オランダ語 • 言語処理の前提タスク – 何語の言語モデルを使えばいいか – 検索、翻訳、分類、etc
24.
langdetect (language-detection) [中谷 2010] •
言語判定 Java ライブラリ – 新聞記事などの長く整った文章向け – 文字 3-gram + ベイジアンフィルタ – http://code.google.com/p/language-detection/ • 詳細: – Language Detection Library for Java – http://www.slideshare.net/shuyo/language-detection-library-for-java
25.
ldig (Language Detection
with Infinity-Gram) [中谷 NLP2012] • twitter などの短文用の言語判定器 – 短文用の判別モデル – ツイートコーパスを独自に作成 • 実装 – https://github.com/shuyo/ldig (Python) – https://github.com/shuyo/ldig/tree/cpp/ldigcpp (C++) • 詳細: – Short Text Language Detection with Infinity-Gram – http://www.slideshare.net/shuyo/short-text-language-detection-with-infinitygram- 12949447
26.
なんかよくわからなかった? • 言語判定が2種類ある – langdetect
(きれいな長文用) – ldig (きたない短文用) • ことだけ押さえておいてください
27.
実装の変遷 • langdetect – プロトタイプ
: Ruby – プロダクト : Java • ldig – プロトタイプ : Python – プロトタイプ2 : C++ • 「なぜその言語で実装したの?」
28.
理由には 実装に至るストーリーが
29.
製品の検索機能に 言語の絞り込みを付けたい • 既存の言語判定器を調査 – 対応言語が少ない&精度が低い •
「3-gram+ベイジアンフィルタ」で十分 精度が出せそうな気がするから試そう – 簡単なモデル(カウントさえできればいい) – どの程度の精度が見込めるか手早く知りたい
30.
langdetect プロトタイプ • Ruby
で実装 – 速度は遅く、行列ライブラリもない(当時) – テキスト処理が得意な、慣れた言語 • ものが動くまでの時間が短い • テスト – 16言語の判定に92% • 特徴設計、クリーニング等を全くしていない – 望む精度が出せる見込みが立った
31.
langdetect プロダクト • Java
で実装 – Apache Solr に組み込みたい(環境要件!) • オープンソースの Java 製検索エンジン – 53言語 99.8% の精度 • ライブラリをオープンソースで公開 – Solr の言語判定器として同梱 – Hadoop への組み込みで普及
32.
twitter でやってみた! • 精度
92% まで落ちる – 3-gram では素性が足りなかった? • ∞-gram ロジスティック回帰[岡野原+ 08] – 任意の長さの部分文字列を素性に • これを使えばできるかもしれない? – プロトタイプで確認してみよう
33.
ldig プロトタイプ • Python
で実装 – 高次元ベクトルの計算 • Ruby ではツライ – 予想:クリーニングで激しく試行錯誤するだろう • (予想通り) – 一部分だけ C++ • 素性(極大部分文字列)の抽出は重すぎる • 岡野原さんの C++ ライブラリを使う
34.
Trie / DoubleArray •
前方一致する文字列を探索するアルゴリズム – 膨大かつ長さ不定の素性の探索に利用 • 当初、dict で素朴に Trie を実装 – 10MB のコーパス食わせたらメモリオーバー • 「高速」かつ省メモリな DoubleArray に – メモリはギリギリ足りたが、速度は劇遅に • pure Python コードが増えた – 学習にまる1日かかる • DoubleArray が処理全体の3~7割を占める
35.
ldig プロトタイプ2 • C++
で実装 – より大規模なコーパスを食わせたい – メモリをきちんと使えばもっといける • 問題:C++の文字列は言語処理に適さない – 1「キャラクタ」=1バイト≠1文字 – wchar ってのもあるが、いろいろ面倒
36.
cybozu::String (cybozulib) • https://github.com/herumi/cybozulib –
3-Clause BSD License • C++ で文字列を扱う – std::string インターフェース互換 – 1「キャラクタ」=1文字 – 正規表現で .(dot) が1文字にマッチ – Python, Java などと同じ感覚で文字列を扱える※ ※内部表現の違い等に起因する細かい仕様の違いは存在する
37.
おまけ:Cython • Python コードを静的にコンパイル –
うまくいけば、少ない労力で高速化 – ldig の場合、DoubleArray が 3~9倍速、全体では 学習が2割up、推定が倍速に • Python コードの時点で最適化したものはあまり 速くならない – class メンバの型に制限があったり – 中途半端に型指定すると逆に遅くなることも • 試してみるのはアリ – メモリ管理事情は変わらないので、問題がそっちにある なら C/C++ に行かないと解決しない
38.
まとめ • 複数のプログラミング言語を学ぶ余裕があれ ば Better
だけど…… – Python / C++ / Java ができればまず困らない • 1つしかできないなら、やりたいこと・規模 にあわせて選択したいけど…… – 自分に合わない言語は身につかない! – 「実装できて なんぼ」 • 安心して Python を選ぼう
Baixar agora