SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
言語判定へのいざない

 2011/12/10 DSIRNLP #2
中谷 秀洋@サイボウズ・ラボ
   @shuyo / id:n_shuyo
Invitasjon til
språkgjenkjenning

     タイトル
何語?
言語判定 Java ライブラリ
http://code.google.com/p/language-detection/



  そういうときに役立つ
  ライブラリを作りました
53種類の言語
English Deutsch Français Nederlands Italiano Español
Polski Русский 日本語 Português Svenska 中文
Українська ‪ orsk (bokmål) Suomi Tiếng Việt Česky
            N
Magyar 한국어 Bahasa Indonesia Türkçe Română
‪‫العربية‬‪‫فارسی‬Dansk Lietuvių Slovenčina ‫עברית‬
Български Slovenščina Hrvatski हिन्दी‪Eesti ไทย‪नेपाल‪
भाषा‪Ελληνικά Tagalog Македонски తెలుగు‪தமிழ்‪
Latviešu Shqip मराठी‪বাাংলা‪Kiswahili ગુજરાતી‪
മലയാളം‪‪‫پنجابی‬Afrikaans ‪‫اردو‬ಕನ್ನಡ
精度:99%以上
Apache License 2.0
言語の絞り込みを
検索条件に加えるとき使います
Apache Solr に入りました
Invitasjon til
språkgjenkjenning

 このライブラリを使えば
   この謎の言葉も
ノルウェー語(ブールモーク)
$ cat title.txt
Invitasjon til språkgjenkjenning.


$ java -jar langdetect.jar -d profiles
--detectlang title.txt
title.txt:[no:0.9999952791002874]


  ノルウェー語とわかります
twitter 向けの
言語判定もやってます
ldig
                    (中谷 2011)

• 短文言語判定のプロトタイプ
 – Language Detection with Infinity-Gram
 – https://github.com/shuyo/ldig
 – 17言語のツイートを約 99% の精度で判定
    • ラテン文字言語を中心に

• [資料]∞-gram による短文言語判定
 – http://www.slideshare.net/shuyo/gram-10286133



めっちゃ長いので資料読んでね!
言語判定のやりかた


(3分では収まらないので
  LTでは省略しました)
1. 文字で判定

  Invitasjon til
språkgjenkjenning
• å を使うのはノルウェー語、デンマーク語、
  スウェーデン語の3つだけ
• でも他の言語は絶対無いとまでは言えないの
  で、確率で計算していく
 – 外来語、顔文字、etc
2. 単語で判定
Invitasjon til språkgjenkjenning
 Invitation til sprogregistrering
 Inbjudan till språkidentifiering

• 上からノルウェー、デンマーク、スウェーデン
• 「この単語は○○語」という巨大な辞書があれば
  判定できそう
 – あまり現実的ではない
 – 機能語がかぶっていると厳しい(後述)
3. 綴り(n-gram)で判定

  Invitasjon til
språkgjenkjenning
• sjo はノルウェー語に多い綴り
• gje はノルウェー語とアルバニア語に多い
 – こういう細かい「綴りの確率」を積み重ねて
   計算していく
言語は楽しいねアラカルト
アゼルバイジャン語の表記
• 20世紀に入ってから3回も文字が変わる
 – ~1929       アラビア文字
 – 1929~1940   ラテン文字
 – 1940~1991   キリル文字
 – 1991~       ラテン文字に戻す



 こどもがおばあちゃんに
 手紙書いても読めない!
オランダ語
• 英語で「オランダ語」は “Dutch”
 – ←‪もともと「ドイツ語」って意味!


         「オランダ語」       「ドイツ語」

オランダ語で   Nerderlands    Duits

 ドイツ語で    Holländer    Deutsch


つづりは違うけど「ダッチ」↑
デンマーク語とノルウェー語
• 共通の機能語から頻度の上位 25個
 – 青字はさらにスウェーデン語とも共通
   at    de    den   der   det
   du    en    er    et    for
  har    i    ikke   jeg   kan
  man   med    men   og     om
   på    så   skal   som   til
• これらだけで文中の単語の半分を占める
 – 見分けるのが難しい!

14世紀に王室の血統が途絶えて……
ベトナム語
• 母音 6 × 声調 12 = 72
  – 母音だけでひらがなより多い!

       aảàãáạ         yỷỳỹýỵ
       ăẳằẵắặ         oỏòõóọ
       âẩầẫấậ         ôổồỗốộ
       eẻèẽéẹ         ơởờỡớợ
       êểềễếệ         uủùũúụ
       iỉìĩíị         ưửừữứự
これだけでひらがなより多い!
そんな つ
とくに役に立たない知識が
   身についてしまう
言語判定
かわいいよ!
ありがとうございました

Weitere ähnliche Inhalte

Andere mochten auch (7)

Language Detection Library for Java
Language Detection Library for Java Language Detection Library for Java
Language Detection Library for Java
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
 
Zipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLPZipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLP
 
Short Text Language Detection with Infinity-Gram
Short Text Language Detection with Infinity-GramShort Text Language Detection with Infinity-Gram
Short Text Language Detection with Infinity-Gram
 
実装ディープラーニング
実装ディープラーニング実装ディープラーニング
実装ディープラーニング
 
MIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearningMIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearning
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 

Mehr von Shuyo Nakatani

ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...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
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
Shuyo Nakatani
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
Shuyo Nakatani
 
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
Shuyo Nakatani
 
Extreme Extraction - Machine Reading in a Week
Extreme Extraction - Machine Reading in a WeekExtreme Extraction - Machine Reading in a Week
Extreme Extraction - Machine Reading in a Week
Shuyo Nakatani
 

Mehr von Shuyo Nakatani (20)

画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networks
 
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
 
Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)
 
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?人工知能と機械学習の違いって?
人工知能と機械学習の違いって?
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
 
ドラえもんでわかる統計的因果推論 #TokyoR
ドラえもんでわかる統計的因果推論 #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...[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
 
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
 
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...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アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
 
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
[Kim+ ICML2012] Dirichlet Process with Mixed Random Measures : A Nonparametri...
 
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
[Karger+ NIPS11] Iterative Learning for Reliable Crowdsourcing Systems
 
Extreme Extraction - Machine Reading in a Week
Extreme Extraction - Machine Reading in a WeekExtreme Extraction - Machine Reading in a Week
Extreme Extraction - Machine Reading in a Week
 
CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

言語判定へのいざない