Submit Search
Upload
webスクレイピングとあいまい検索で作るオフライン辞書カメラ ODICA
•
Download as PPTX, PDF
•
0 likes
•
512 views
Sho Sekine
Follow
webスクレイピングで辞書を作った オフライン辞書カメラODICA
Read less
Read more
Report
Share
Report
Share
1 of 17
Download now
Recommended
ios+Android最近気付いいたこと
ios+Android最近気付いいたこと
Hiratsuka Shunsuke
it is doc which has some thing which i studied recentry about smp developing.
Rhodes
Rhodes
Makoto Henmi
Touch barいいぞ2016 12-12
Touch barいいぞ2016 12-12
kota matsumoto
株式会社ウィルゲートさまで開催されたLT大会で発表したときの資料です。
iOSの基本的なこと 応用的なこと
iOSの基本的なこと 応用的なこと
Fine Lagusaz
日本Androidの会 横須賀支部 2013年12月の定例会で使ったスライドです。 iOSの概要と操作、アプリ間連携について触れています。
Zabbix モジュール間の通信を暗号化する
Zabbix モジュール間の通信を暗号化する
Takeshi Yamane
Zabbix モジュール間の通信を暗号化する ~拠点間通信をstunnelで暗号化~
RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1
Satomi Tsujita
RailsGirls Okayama#1バージョン
WWDC初参加の方に送る6つのおすすめな巡り方
WWDC初参加の方に送る6つのおすすめな巡り方
Daiki Mogmet Ito
WWDCでめぐるコツみたいなのを紹介します
RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方
Satomi Tsujita
RailsGirls Osaka#2 発表資料
Recommended
ios+Android最近気付いいたこと
ios+Android最近気付いいたこと
Hiratsuka Shunsuke
it is doc which has some thing which i studied recentry about smp developing.
Rhodes
Rhodes
Makoto Henmi
Touch barいいぞ2016 12-12
Touch barいいぞ2016 12-12
kota matsumoto
株式会社ウィルゲートさまで開催されたLT大会で発表したときの資料です。
iOSの基本的なこと 応用的なこと
iOSの基本的なこと 応用的なこと
Fine Lagusaz
日本Androidの会 横須賀支部 2013年12月の定例会で使ったスライドです。 iOSの概要と操作、アプリ間連携について触れています。
Zabbix モジュール間の通信を暗号化する
Zabbix モジュール間の通信を暗号化する
Takeshi Yamane
Zabbix モジュール間の通信を暗号化する ~拠点間通信をstunnelで暗号化~
RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1
Satomi Tsujita
RailsGirls Okayama#1バージョン
WWDC初参加の方に送る6つのおすすめな巡り方
WWDC初参加の方に送る6つのおすすめな巡り方
Daiki Mogmet Ito
WWDCでめぐるコツみたいなのを紹介します
RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方
Satomi Tsujita
RailsGirls Osaka#2 発表資料
私の(なんくるないさぁ)勉強法
私の(なんくるないさぁ)勉強法
Naoki Takaesu
https://java-kuche.doorkeeper.jp/events/41498 [勉強勉強会]本当にいい結果を出す勉強法について考える会
Swiftビギナーズ勉強会 第一回@Co-Edo
Swiftビギナーズ勉強会 第一回@Co-Edo
Kanako Kobayashi
Swiftビギナーズ倶楽部主催の「Swiftビギナーズ勉強会 第一回」を、11月8日(土)に茅場町のCo-Edoで開催しました。 iOS開発未経験ですが、今後、この勉強会を通してアウトプットをしながら、来年にはiOSアプリをリリースしたいと思ってます。 まず、Swiftの概要と開発を始めるには何が必要なのかをまとめました。
ガジェットひとつで英語を勉強する方法
ガジェットひとつで英語を勉強する方法
Hisashi Nakatsuyama
2014年10月23日、@ITエンジニアライフ連載コラム「ガジェット活用による英語学習法」の連動イベントとして開催したセミナー「ガジェットひとつで、いつでもどこでも英語を勉強する方法」のプレゼンテーション資料です。
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH ...
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH ...
Bin Matsui
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH VUE.JS ~
Swift勉強会2
Swift勉強会2
Hikari Yanagihara
swift勉強会での発表資料 人に教えたいアプリ開発のすすめ
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス
Hiroaki Murayama
去年の夏の残り香勉強会にて発表した資料、サークル向け
Swift afterbeginner
Swift afterbeginner
Kiminari Homma
アドベント2015ios基礎
アドベント2015ios基礎
ppengotsu Name
iOS開発豆知識
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
Tree Decades of Agileというブログ記事が面白そうなので、これを読んでみたいと思います。 http://www.managecomplexity.dk/blog/2024/03/12/three-decades-of-agile/
受発注バスターズ説明資料 株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料 株式会社batton Saleshub掲載用.pdf
ooishi1
受発注バスターズ説明資料
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
fisuda
FIWARE Orion Context Broker の日本語の解説資料です。Orion Context Broker version 4.0.0 に対応しています。
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
今年2月に1.1→2.0に更新されたNIST CSFの変更内容について整理したいと思います。
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
「ASUENE」は、複雑だったCO2排出量算出業務をカンタンにサポートする、CO2排出量見える化・削減・報告クラウドサービスです。温室効果ガス・CO2排出量の算出・可視化、削減・カーボンオフセット、Scope1-3* のサプライチェーン排出量の報告・情報開示を支援します。
Grokking Simplicity探訪
Grokking Simplicity探訪
Yoshitaka Kawashima
2024/6/5のアーキ部で話したスライドです。 Stratified Designの目的を中心に、そのメリットを考えてみます。
More Related Content
Similar to webスクレイピングとあいまい検索で作るオフライン辞書カメラ ODICA
私の(なんくるないさぁ)勉強法
私の(なんくるないさぁ)勉強法
Naoki Takaesu
https://java-kuche.doorkeeper.jp/events/41498 [勉強勉強会]本当にいい結果を出す勉強法について考える会
Swiftビギナーズ勉強会 第一回@Co-Edo
Swiftビギナーズ勉強会 第一回@Co-Edo
Kanako Kobayashi
Swiftビギナーズ倶楽部主催の「Swiftビギナーズ勉強会 第一回」を、11月8日(土)に茅場町のCo-Edoで開催しました。 iOS開発未経験ですが、今後、この勉強会を通してアウトプットをしながら、来年にはiOSアプリをリリースしたいと思ってます。 まず、Swiftの概要と開発を始めるには何が必要なのかをまとめました。
ガジェットひとつで英語を勉強する方法
ガジェットひとつで英語を勉強する方法
Hisashi Nakatsuyama
2014年10月23日、@ITエンジニアライフ連載コラム「ガジェット活用による英語学習法」の連動イベントとして開催したセミナー「ガジェットひとつで、いつでもどこでも英語を勉強する方法」のプレゼンテーション資料です。
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH ...
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH ...
Bin Matsui
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH VUE.JS ~
Swift勉強会2
Swift勉強会2
Hikari Yanagihara
swift勉強会での発表資料 人に教えたいアプリ開発のすすめ
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス
Hiroaki Murayama
去年の夏の残り香勉強会にて発表した資料、サークル向け
Swift afterbeginner
Swift afterbeginner
Kiminari Homma
アドベント2015ios基礎
アドベント2015ios基礎
ppengotsu Name
iOS開発豆知識
Similar to webスクレイピングとあいまい検索で作るオフライン辞書カメラ ODICA
(8)
私の(なんくるないさぁ)勉強法
私の(なんくるないさぁ)勉強法
Swiftビギナーズ勉強会 第一回@Co-Edo
Swiftビギナーズ勉強会 第一回@Co-Edo
ガジェットひとつで英語を勉強する方法
ガジェットひとつで英語を勉強する方法
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH ...
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH ...
Swift勉強会2
Swift勉強会2
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス
Swift afterbeginner
Swift afterbeginner
アドベント2015ios基礎
アドベント2015ios基礎
Recently uploaded
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
Tree Decades of Agileというブログ記事が面白そうなので、これを読んでみたいと思います。 http://www.managecomplexity.dk/blog/2024/03/12/three-decades-of-agile/
受発注バスターズ説明資料 株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料 株式会社batton Saleshub掲載用.pdf
ooishi1
受発注バスターズ説明資料
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
fisuda
FIWARE Orion Context Broker の日本語の解説資料です。Orion Context Broker version 4.0.0 に対応しています。
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
今年2月に1.1→2.0に更新されたNIST CSFの変更内容について整理したいと思います。
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
「ASUENE」は、複雑だったCO2排出量算出業務をカンタンにサポートする、CO2排出量見える化・削減・報告クラウドサービスです。温室効果ガス・CO2排出量の算出・可視化、削減・カーボンオフセット、Scope1-3* のサプライチェーン排出量の報告・情報開示を支援します。
Grokking Simplicity探訪
Grokking Simplicity探訪
Yoshitaka Kawashima
2024/6/5のアーキ部で話したスライドです。 Stratified Designの目的を中心に、そのメリットを考えてみます。
Recently uploaded
(6)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
受発注バスターズ説明資料 株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料 株式会社batton Saleshub掲載用.pdf
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
Grokking Simplicity探訪
Grokking Simplicity探訪
webスクレイピングとあいまい検索で作るオフライン辞書カメラ ODICA
1.
ODICA 開発日記 webスクレイピングとあいまい検索 リヒト
2.
ODICA オフライン辞書カメラ • Androidアプリ •
英・仏・独・伊・ポルトガル・スペインの辞書を内蔵していてオフラインで使える • カメラで文字認識機能もついてる • あいまい検索機能で誤認識しても正しく辞書を検索できる様にした 2
3.
出会い 100万ダウンロードで 月500万円だ…と…?
4.
目指せ100万ダウンロード! • どうしたら便利? • 言語の壁を破りたい!だから翻訳が欲しい!(前提) •
気づき • 今の辞書って基本オンライン検索だけど海外とか基本オフラインだよね ▫ 国内でも宮城の田舎とか行くと普通にオフライン(wimax) ▫ 自分はタブレットなので結構オフライン頻度が高い ▫ オンラインは遅い。ぱっぱぱっぱ出てきて欲しい • 入力が難しい言語ってあるよね ▫ ギリシャ語 「Σε Αγαπώ」 ▫ ロシア語 「Люблю Тебя」 4
5.
目指せ100万ダウンロード! 英語、フランス語、ドイツ語、スペイン語、ポルトガル語、イタリア語… 多言語がオフラインで1つのアプリで翻訳出来たら嬉しいよね ギリシャ語とかドイツ語とか入力の仕方がよくわからん文字があるのは カメラで写すだけで翻訳してくれたら嬉しいよね 5
6.
目指せ100万ダウンロード! 英語、フランス語、ドイツ語、スペイン語、ポルトガル語、イタリア語、ギ リシャ語、ロシア語、中国語、韓国語、タイ語、日本語… 全ての言語がオフラインで1つのアプリで翻訳出来たら嬉しいよね ギリシャ語とかドイツ語とか入力の仕方がよくわからん文字があるのは カメラで写すだけで翻訳してくれたら嬉しいよね 世界辞書を内臓! 世界文字認識! 6
7.
本題 • 全世界辞書を作ろう • 辞書作成の流れ •
①単語を集める • ②翻訳する • 終わり • 簡単! • 結果的に言うと②は簡単だった。 • Google翻訳、Microsoft翻訳のAPIを使った • ①は悩ましかった。 • もちろん自分はポルトガル語とか全然知らないので単語を集めるとか手作業で は無理だった 7
8.
単語を集めろ • そうだ!ウェブスクレイピング(クローラ)だ! • ポルトガル語の単語を全部集めたい •
ポルトガルのWebニュースからスクレイピングスタート • ページ内の単語を全てDB登録 • ページ内にあるリンク先にジャンプ • ページ内の単語を全てDB登録 • ページ内にあるリンク先にジャンプ • ページ内の単語を全てDB登録 • ・ • ・ • 朝起きたら辞書が出来ている という寸法 8
9.
単語を集めろ • 豆知識 • 今ヨーロッパ周辺のウェブニュースはギリシャの話題で満ちている ▫
「破産」とか「政府」とか「許さない」とかの文字の出現頻度が異常に高い • もちろんノイズが入ります ▫ ポルトガル辞書の中に英語が混ざったりしている ▫ “Jquery”とかいう単語が混ざったりしている ▫ でも大した問題じゃないよね • 「文字化け」問題は世界共通だった ▫ ポルトガルのアクセント文字 ARÁNとかも普通に文字化けする ▫ 文字コードの扱いは厄介だった ▫ レンダリング問題とかも厄介だった 9
10.
あいまい検索しろ • OCRは誤認識してバッシングされるのは宿命 • 誤認識しても正しく辞書が検索できれば問題ない! •
よくある誤認識 • Distance→D;stance • Kindness→Kinclness • つまり辞書がd;stanceで検索しても「距離」って出れば良いだけだよね 10
11.
あいまい検索しろ • D;stanceからdistanceを導く • まず(Ngramという手法らしい?)3文字ずつに分割する •
D;stance→d;s, ;st, sta, tan, anc, nceの6語に分割 • 辞書の中からd;s, ;st, sta, tan, anc, nceを含む単語を全部撮ってくる ▫ Stand, tango, ancle, onceとか色々出てくる。 ▫ Distanceも出てくる • 出てきた単語と元の語d;stanceとの距離(JaroWinkler距離らしい)を測る ▫ D;stanceとdistanceは距離1 ▫ D;stanceとonceは距離4 ▫ D;stanceとtangoは距離5 • 距離が近いものがヒット • OSS(Lucene)の一部にJaroWinklerを実装しているメソッドを参考にした 11
12.
スピードをあげろ • あいまい検索が思ったより遅い • PCだと十分速い(0.2sでレスポンス来る)けど、Androidだと5sかかった りする。(androidなめてた) 12
13.
ODICA! • 窓の中に文字を入れると上に(リアルタイ ムで)文字認識結果が出る 13
14.
ODICA! • 少し遅れて意味が出てきます ▫ ここスピードアップしたいです 14
15.
ODICA! • もちろんキーボードで入力して辞書と使ってもOK • むしろそっちの使い方がメインだと思ってる 15
16.
ODICA! • どや顔のあいまい検索 16
17.
プログラム • 例(python) • ページ内のリンク(hrefタグ)を取得 し、重複チェックしてnewurlsに格納 def
getlink(urls): for targeturl in urls: try: html = urllib2.urlopen(targeturl['base']).read() dom = lxml.html.fromstring(html) dom.make_links_absolute(targeturl['absolute']) links_from_targeturl = dom.xpath("//@href") for urlele in links_from_targeturl: if urlele.find('http') or urlele.find('https'): existingflag = False for targeturl_sub in newurls: if targeturl_sub['base'] == urlele: existingflag = True if existingflag == False: newurl_dic = {'base': urlele, 'absolute': targeturl['absolute']} newurls.append(newurl_dic) except Exception, e: pass return newurls
Download now