Submit Search
Upload
国際化時代の40カ国語言語判定
•
10 likes
•
10,030 views
S
Shuyo Nakatani
Follow
言語判定とは、テキストが何語で書かれたものか推定することです。 99.8%の精度で49言語の判定可能なJavaライブラリを開発、オープンソースとして公開しました。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 32
Download now
Download to read offline
Recommended
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
Yuya Unno
Recurrent Neural Networks
Recurrent Neural Networks
Seiya Tokui
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)
STAIR Lab, Chiba Institute of Technology
モンテカルロ法と情報量
モンテカルロ法と情報量
Shohei Miyashita
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)
cvpaper. challenge
深層学習の将棋Aiへの浸透について
深層学習の将棋Aiへの浸透について
bleu48
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
ManaMurakami1
ダブル配列の実装方法
ダブル配列の実装方法
Higashiyama Masahiko
Recommended
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
Yuya Unno
Recurrent Neural Networks
Recurrent Neural Networks
Seiya Tokui
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)
STAIR Lab, Chiba Institute of Technology
モンテカルロ法と情報量
モンテカルロ法と情報量
Shohei Miyashita
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)
cvpaper. challenge
深層学習の将棋Aiへの浸透について
深層学習の将棋Aiへの浸透について
bleu48
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
ManaMurakami1
ダブル配列の実装方法
ダブル配列の実装方法
Higashiyama Masahiko
∞-gram を使った短文言語判定
∞-gram を使った短文言語判定
Shuyo Nakatani
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
Toru Tamaki
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
Shuyo Nakatani
PyCUDAの紹介
PyCUDAの紹介
Yosuke Onoue
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
Masanori Kado
画像キャプションの自動生成
画像キャプションの自動生成
Yoshitaka Ushiku
NN時代の自然言語処理の設計と評価
NN時代の自然言語処理の設計と評価
Koki Yasuda
ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介
KnowledgeGraph
次元圧縮周りでの気付き&1細胞発現データにおける次元圧縮の利用例@第3回wacode
次元圧縮周りでの気付き&1細胞発現データにおける次元圧縮の利用例@第3回wacode
Hirotaka Matsumoto
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Masato Fujitake
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
SaitoTsutomu
ナレッジグラフ入門
ナレッジグラフ入門
KnowledgeGraph
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
Tomoyuki Hioki
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
Shinagawa Seitaro
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
Takuya Akiba
言語資源と付き合う
言語資源と付き合う
Yuya Unno
全力解説!Transformer
全力解説!Transformer
Arithmer Inc.
論文の書き方入門 2017
論文の書き方入門 2017
Hironori Washizaki
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
Shuyo Nakatani
RecSys 2015: Large-scale real-time product recommendation at Criteo
RecSys 2015: Large-scale real-time product recommendation at Criteo
Romain Lerallut
More Related Content
What's hot
∞-gram を使った短文言語判定
∞-gram を使った短文言語判定
Shuyo Nakatani
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
Toru Tamaki
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
Shuyo Nakatani
PyCUDAの紹介
PyCUDAの紹介
Yosuke Onoue
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
Masanori Kado
画像キャプションの自動生成
画像キャプションの自動生成
Yoshitaka Ushiku
NN時代の自然言語処理の設計と評価
NN時代の自然言語処理の設計と評価
Koki Yasuda
ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介
KnowledgeGraph
次元圧縮周りでの気付き&1細胞発現データにおける次元圧縮の利用例@第3回wacode
次元圧縮周りでの気付き&1細胞発現データにおける次元圧縮の利用例@第3回wacode
Hirotaka Matsumoto
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Masato Fujitake
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
SaitoTsutomu
ナレッジグラフ入門
ナレッジグラフ入門
KnowledgeGraph
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
Tomoyuki Hioki
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
Shinagawa Seitaro
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
Takuya Akiba
言語資源と付き合う
言語資源と付き合う
Yuya Unno
全力解説!Transformer
全力解説!Transformer
Arithmer Inc.
論文の書き方入門 2017
論文の書き方入門 2017
Hironori Washizaki
What's hot
(20)
∞-gram を使った短文言語判定
∞-gram を使った短文言語判定
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
PyCUDAの紹介
PyCUDAの紹介
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
画像キャプションの自動生成
画像キャプションの自動生成
NN時代の自然言語処理の設計と評価
NN時代の自然言語処理の設計と評価
ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介
次元圧縮周りでの気付き&1細胞発現データにおける次元圧縮の利用例@第3回wacode
次元圧縮周りでの気付き&1細胞発現データにおける次元圧縮の利用例@第3回wacode
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
ナレッジグラフ入門
ナレッジグラフ入門
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
言語資源と付き合う
言語資源と付き合う
全力解説!Transformer
全力解説!Transformer
論文の書き方入門 2017
論文の書き方入門 2017
Viewers also liked
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
Shuyo Nakatani
RecSys 2015: Large-scale real-time product recommendation at Criteo
RecSys 2015: Large-scale real-time product recommendation at Criteo
Romain Lerallut
coordinate descent 法について
coordinate descent 法について
京都大学大学院情報学研究科数理工学専攻
情報推薦システム入門:講義スライド
情報推薦システム入門:講義スライド
Kenta Oku
Latent factor models for Collaborative Filtering
Latent factor models for Collaborative Filtering
sscdotopen
Deep forest
Deep forest
naoto moriyama
JP Chaosmap 2015-2016
JP Chaosmap 2015-2016
Hiroshi Kondo
Ensembles of example dependent cost-sensitive decision trees slides
Ensembles of example dependent cost-sensitive decision trees slides
Alejandro Correa Bahnsen, PhD
機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト
Teppei Baba
Viewers also liked
(9)
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
RecSys 2015: Large-scale real-time product recommendation at Criteo
RecSys 2015: Large-scale real-time product recommendation at Criteo
coordinate descent 法について
coordinate descent 法について
情報推薦システム入門:講義スライド
情報推薦システム入門:講義スライド
Latent factor models for Collaborative Filtering
Latent factor models for Collaborative Filtering
Deep forest
Deep forest
JP Chaosmap 2015-2016
JP Chaosmap 2015-2016
Ensembles of example dependent cost-sensitive decision trees slides
Ensembles of example dependent cost-sensitive decision trees slides
機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト
Similar to 国際化時代の40カ国語言語判定
MMOローカライズの新チャレンジ:ギルドウォーズの内幕
MMOローカライズの新チャレンジ:ギルドウォーズの内幕
SIG-Glocalization
極大部分文字列を使った twitter 言語判定
極大部分文字列を使った twitter 言語判定
Shuyo Nakatani
ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014
Shuyo Nakatani
I18n for Your Web application
I18n for Your Web application
亮 門屋
Lucene/Solr 用形態素解析システムのご紹介 ベイシス・テクノロジー
Lucene/Solr 用形態素解析システムのご紹介 ベイシス・テクノロジー
Basis Technology K.K.
Deep Learningと自然言語処理
Deep Learningと自然言語処理
Preferred Networks
あらためてWorld Wide Web
あらためてWorld Wide Web
Ryo Nagai
大規模データに基づく自然言語処理
大規模データに基づく自然言語処理
JunSuzuki21
初心者向けGo言語勉強会
初心者向けGo言語勉強会
leverages_event
Session2:「グローバル化する情報処理」/伊藤敬彦
Session2:「グローバル化する情報処理」/伊藤敬彦
Preferred Networks
サポーターズ勉強会スライド
サポーターズ勉強会スライド
Kensuke Mitsuzawa
Test like a team.
Test like a team.
Sachirou Inoue
L-1グランプリ "D言語"
L-1グランプリ "D言語"
det coder
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
mametter
Similar to 国際化時代の40カ国語言語判定
(14)
MMOローカライズの新チャレンジ:ギルドウォーズの内幕
MMOローカライズの新チャレンジ:ギルドウォーズの内幕
極大部分文字列を使った twitter 言語判定
極大部分文字列を使った twitter 言語判定
ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014
I18n for Your Web application
I18n for Your Web application
Lucene/Solr 用形態素解析システムのご紹介 ベイシス・テクノロジー
Lucene/Solr 用形態素解析システムのご紹介 ベイシス・テクノロジー
Deep Learningと自然言語処理
Deep Learningと自然言語処理
あらためてWorld Wide Web
あらためてWorld Wide Web
大規模データに基づく自然言語処理
大規模データに基づく自然言語処理
初心者向けGo言語勉強会
初心者向けGo言語勉強会
Session2:「グローバル化する情報処理」/伊藤敬彦
Session2:「グローバル化する情報処理」/伊藤敬彦
サポーターズ勉強会スライド
サポーターズ勉強会スライド
Test like a team.
Test like a team.
L-1グランプリ "D言語"
L-1グランプリ "D言語"
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
More from 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
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
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
猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測
Shuyo Nakatani
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
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
Short Text Language Detection with Infinity-Gram
Short Text Language Detection with Infinity-Gram
Shuyo Nakatani
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
Shuyo Nakatani
More from Shuyo Nakatani
(20)
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章
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
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...
猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
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...
Short Text Language Detection with Infinity-Gram
Short Text Language Detection with Infinity-Gram
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
Recently uploaded
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Recently uploaded
(10)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
国際化時代の40カ国語言語判定
1.
国際化時代の 40カ国語 言語判定 WebDB Forum
2010 2010/11/12 中谷 秀洋@サイボウズ・ラボ株式会社
2.
自己紹介 中谷秀洋(なかたに しゅうよう)
サイボウズ・ラボのエンジニア 現在は機械学習/自然言語処理を中心に研究開発 gihyo.jp で連載「機械学習 はじめよう」を担当 ExtractContent (Ruby の Web ページ本文抽出) “ぺけ-BASIC”(X68000)の作者 twitter : @shuyo ( http://twitter.com/shuyo ) ブログ : http://d.hatena.ne.jp/n_shuyo/
3.
サイボウズ サイボウズ株式会社 サイボウズ
Office : 企業内グループウェア サイボウズ Live : 企業間・個人向けグループウェア サイボウズ・ラボ株式会社 サイボウズの100%子会社 Web技術や情報共有をテーマとした、中長期視点 の研究開発 サイボウズの、次の次の製品に役立つような けっこう自由に、けっこう幅広く
4.
早速ですが 問題です。
5.
何語でしょう? sprogregistrering språkgjenkjenning
6.
何語でしょう? デンマーク語 ノルウェー語 sprogregistrering språkgjenkjenning
7.
何語でしょう? اللغة عن الكشف زبان
تشخیص زبانشناخت کی
8.
何語でしょう? アラビア語 ペルシャ語 ウルドゥー語 اللغة عن الكشف زبان
تشخیص زبانشناخت کی
9.
言語判定とは 不えられた文書が何語で書かれたものか判定 同時に文字コード判定することも(今回は対象外) 英語 ドイツ語 日本語
中国語 スペイン語 イタリア語 アラビア語 ヒンディー 朝鮮語
10.
言語判定の方法 サポートする言語が多くなるほど難しい 同じ文字を使う異なる言語は数多い
文字・言語の知識が必要 シンプルな方法: 各言語で使われる単語を辞書で持ち、マッチング 辞書が膨大、変化形・合成語への対応が難しい 今回の方法: 綴り字の特徴量から確率を計算 文字 n-gram を用いたナイーブベイズ
11.
言語判定を何に使う? 利用シーン 検索機能に言語の絞り込みをつけたい
“Java” で検索したら中国語の文書がヒットした! 言語別のフィルタを適用したい(SPAMフィルタとか) 言語固有の情報(句読点、キーワード)を用いる 利用対象 Web検索エンジン Apache Nutch には言語判定モジュールが付属 掲示板 例:日英中越入り交じりの書き込み サイボウズは 日本・上海・ベトナムに 開発チームが!
12.
既存の言語判定 言語判定ライブラリは数少ない ニーズが限られている?
Web検索だけ? でもこれからはグローバル化の時代! コーパス/モデルの構築が高コスト 対象言語の知識が必要 対応言語数が少ない。精度が低い。速度が丌満 おおむね10言語程度。アジア系はサポートなし “Thank you very much. ありがとうございます” →「タガログ語かチェコ語かスロバキア語です」
13.
「実用性」のある言語判定 精度は 99%
以上 “90%” は実用的ではない (1000個のうち100個間違う) サポート言語数は 50 欧文、アジア系言語、幅広く 高速な判定 多数の文書を判定したい 複数候補が考えられる場合は、度合いを返す
14.
言語判定ライブラリ for Java
言語判定を行う Java ライブラリを開発 学習コーパスから言語ごとのプロファイルを生成 プロファイル = 綴り字ごとの確率を計算したもの テキストを不えると、言語の候補と確率を返す ライブラリの対応言語数: 49言語(2010/11 現在) オープンソースとして公開 http://code.google.com/p/language-detection/ Apache License 2.0
15.
性能評価 学習コーパス Wikipedia
より 49言語について学習 Wikipedia は 276 言語対応(2010/11 現在) 対応言語数=テストコーパスを用意できる言語数 テストコーパス 49言語のニュース記事 各 200件 Google News (24言語) 各言語のニュースサイト RSS により収集 ここが一番たいへん! マイナーな言語は RSS配信もされてない
16.
評価結果 (1) 言語 データ件数
正解数(率) 内訳 af アフリカーンス語 200 199 (99.50%) en=1, af=199 ar アラビア語 200 200 (100.00%) ar=200 bg ブルガリア語 200 200 (100.00%) bg=200 bn ベンガル語 200 200 (100.00%) bn=200 cs チェコ語 200 200 (100.00%) cs=200 da デンマーク語 200 179 (89.50%) da=179, no=14, en=7 de ドイツ語 200 200 (100.00%) de=200 el ギリシア語 200 200 (100.00%) el=200 en 英語 200 200 (100.00%) en=200 es スペイン語 200 200 (100.00%) es=200 fa ペルシア語 200 200 (100.00%) fa=200 fi フィンランド語 200 200 (100.00%) fi=200 fr フランス語 200 200 (100.00%) fr=200 gu グジャラート語 200 200 (100.00%) gu=200 he ヘブライ語 200 200 (100.00%) he=200 hi ヒンディー語 200 200 (100.00%) hi=200 hr クロアチア語 200 200 (100.00%) hr=200 hu ハンガリー語 200 200 (100.00%) hu=200 id インドネシア語 200 200 (100.00%) id=200 it イタリア語 200 200 (100.00%) it=200 ja 日本語 200 200 (100.00%) ja=200 kn カンナダ語 200 200 (100.00%) kn=200 ko 朝鮮語(韓国語) 200 200 (100.00%) ko=200 mk マケドニア語 200 200 (100.00%) mk=200 ml マラヤーラム語 200 200 (100.00%) ml=200 赤枠は 精度100%ではない言語
17.
評価結果 (2) 言語 データ件数
正解数(率) 内訳 mr マラーティー語 200 200 (100.00%) mr=200 ne ネパール語 200 200 (100.00%) ne=200 nl オランダ語 200 200 (100.00%) nl=200 no ノルウェー語 200 199 (99.50%) da=1, no=199 pa パンジャーブ語 200 200 (100.00%) pa=200 pl ポーランド語 200 200 (100.00%) pl=200 pt ポルトガル語 200 200 (100.00%) pt=200 ro ルーマニア語 200 200 (100.00%) ro=200 ru ロシア語 200 200 (100.00%) ru=200 sk スロバキア語 200 200 (100.00%) sk=200 so ソマリ語 200 200 (100.00%) so=200 sq アルバニア語 200 200 (100.00%) sq=200 sv スウェーデン語 200 200 (100.00%) sv=200 sw スワヒリ語 200 200 (100.00%) sw=200 ta タミル語 200 200 (100.00%) ta=200 te テルグ語 200 200 (100.00%) te=200 th タイ語 200 200 (100.00%) th=200 tl タガログ語 200 200 (100.00%) tl=200 tr トルコ語 200 200 (100.00%) tr=200 uk ウクライナ語 200 200 (100.00%) uk=200 ur ウルドゥー語 200 200 (100.00%) ur=200 vi ベトナム語 200 200 (100.00%) vi=200 zh-cn 中国語(簡体字) 200 200 (100.00%) zh-cn=200 zh-tw 中国語(繁体字) 200 200 (100.00%) zh-tw=200 合計 9800 9777 (99.77%)
18.
アルゴリズムと精度向上の工夫
19.
ナイーブベイズによる言語判定 「言語」をカテゴリとした文書分類を行う 文書が「英語」に分類されるか、「日本語」に分類さ れるか判定
カテゴリ毎の特徴量の出現確率から カテゴリの事後確率を更新 𝑝 𝐶k 𝑋 (m+1) ∝ 𝑝 𝐶k 𝑋 m ⋅ 𝑝 𝑋𝑖 𝐶 𝑘 where 𝐶k:カテゴリ, 𝑋:文書, 𝑋𝑖:文書の特徴量 正規化し、最大確率が0.99999を超えたら終了 判定処理を打ち切ることができる データサイズによらず高速
20.
判定に用いる特徴量 特徴量に「文字 n-gram」を使う
正確には「Unicodeのコードポイント n-gram」 文字 n-gram は単語よりはるかに少ない □ T h i s □ T h i s ←1-gram □T Th hi is s□ ←2-gram □Th Thi his is□ ←3-gram 単語の区切りを 表す記号
21.
文字n-gramで言語判定ができる理由 各言語には固有の文字や綴り字の規則がある アクセント付きの
“é” はスペイン語、イタリア語などではよ く使われるが、英語では原則として用いない “Z” で始まる単語はドイツ語には多いが、英語にはほと んど無い “C”で始まる単語や “Th” という綴りは英語には多いがド イツ語には少ない これら特徴に「確率」を設定し、文書全体について 累積 □C □L □Z Th 英語 0.75 0.47 0.02 0.74 ドイツ語 0.10 0.37 0.53 0.03 フランス語 0.38 0.69 0.01 0.01
22.
これで判定できるようになったが…… アルゴリズムそのままでの精度は90%前後 「実用レベル」ではない
特定の言語で非常に精度が悪い 日本語、中国語(繁体字)、ロシア語、ペルシャ語、…… 精度が上がらない最大の原因: コーパス(学習/判定テキスト)の偏りとノイズ これらを様々な方法で除去 フィルタ 文字の正規化 対策のごく一部……
23.
(1) 文字種の偏り アルファベット
30字前後 アラビア文字、デーヴァナーガリー(インド)も同様 漢字: 20000字~ 文字種が他言語の1000倍! Wikipedia で使われない文字(ゼロ頻度問題) 「谢谢」が判定できない 日本人の人名漢字も同様 大文字小文字を分けても 高々倍 Wikipedia に 「谢」は出てこない!
24.
「常用漢字」を考慮した正規化 「頻度が似ている漢字」でグルーピングし、 代表文字に正規化(グループ全体を1文字につぶす) (1)
K-means によるクラスタ分類 (2) 「常用漢字」による分類 簡体字: 现代汉语常用字表(3500字) 繁体字: Big5第1水準(5401字、「常用国字標準字体表」 4808字を含む) 日本語: 常用漢字(2136字)+JIS 第1水準(2965字)=2998字 常用漢字だけでは、氏名や地名の漢字の多くが入っていない K-means のクラスタ&各「常用漢字」で集合積 → 130のクラスタに分類
25.
(2) テキストのノイズ 言語に依存しない文字
→ 単純に除去 数字、記号、URL やメールアドレス ラテン文字ノイズ in 非ラテン文字 非ラテン文字の中にも頻繁に出現 ある意味世界共通文字 → ラテン文字が2割以下なら除去 ラテン文字ノイズ in ラテン文字 略字、人名は言語の特徴を表さない 特に人名は他言語の特徴をもつことも多い(Mc~=ゲール語) → 全て大文字の単語は除去 → 特徴サンプリングして、人名などの局所的な特徴の影 響を低減
26.
アラビア文字の正規化 ペルシャ語の判定が全滅(全てアラビア語に!!) 同じアラビア文字だが語族が違う→判別は容易なはず
原因:高頻度で使われる yeh のコードが異なる 学習コーパス(Wikipedia)では ی (¥u06cc, Farsi yeh) テストコーパス(ニュース)では ¥(يu064a, Arabic yeh) 推測:アラビア語の文字コード CP-1256 には ¥u06cc にマッピ ングされる文字がないため、¥u064aで代用する手法が定着? 対策: ¥u06cc を ¥u064a に正規化 ペルシア語ではye( )یの独立形・右接形には識別点を付けないが,付けているものをよく見かけ る。これはアラビア語キーボードでペルシア語を入力したときによく起こる問題である。また,OS やブラウザーなどの環境によってはこの文字が正しく出ないため,ウェブでは確信犯的にアラビ ア語のyā’( )يを使っていることが多い。 「アラビア語系文字の基礎知識」より
27.
まとめ
28.
まとめ 49言語を 99.8%
で判定可能な言語判定ライ ブラリを開発 オープンソースとして公開 http://code.google.com/p/language-detection/ サイボウズ次期製品への採用予定 90%までは簡単。でも実用レベルは99.*%~ 理想:美しい斬新な理論で一発解答 現実:どこまでも泥臭い工夫の固まり
29.
Open Issues 短文の判定が苦手(twitterのつぶやきとか)
アラビア語の母音記号をどう扱う? 複数言語で記述された文書の言語判別 テキストにソースコードが入っていると……
30.
参考文献 千野栄一編「世界のことば100語辞典 ヨーロッパ編」
町田和彦編「図説 世界の文字とことば」 世界の文字研究会「世界の文字の図典」 町田和彦「ニューエクスプレス ヒンディー語」 中村公則「らくらくペルシャ語 文法から会話」 道広勇司「アラビア系文字の基礎知識」 http://moji.gr.jp/script/arabic/article01.html 北研二,辻井潤一「確率的言語モデル」 [Dunning 1994] Statistical Identification of Language [Sibun & Reynar 1996] Language identification: Examining the issues [Martins+ 2005] Language Identification in Web Pages
31.
twitter で応募できます! [宣伝]エンジニアの未来サミット for
student http://cybozu.co.jp/company/job/recruitment/recruit/seminar.html
32.
ありがとうございました
Download now