Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Missspell Detection
Search
bk
February 10, 2020
Science
170
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Missspell Detection
bk
February 10, 2020
More Decks by bk
See All by bk
Befriending Kurtosis with R
bk_18
1
1k
tidy_rpart
bk_18
1
1.7k
dotdotdot_in_predict_function
bk_18
1
1.1k
Introduction_of_GoogleAnalytics_with_R
bk_18
2
1k
web scraping with polite package
bk_18
2
840
start-salesforce-with-r
bk_18
0
920
About Missing Values
bk_18
1
410
Other Decks in Science
See All in Science
Conversation is the New Dashboard: 属人性を排除する第4世代BIツールの勢力図
shomaekawa
1
630
TypeScript で WebAssembly を用いた 型安全なプラグイン設計
nagano
2
590
因果推論と機械学習
sshimizu2006
1
1.3k
20260722【JAWS-UG東京 ランチタイムLT会 #37④】AWS Well-Architectedフレームワークに沿った回答をするAIエージェントを作ってみた
nozakijcom
1
110
データベース06: SQL (3/3) 副問い合わせ
trycycle
PRO
1
1.1k
水耕栽培:古代の知恵から宇宙農業まで
grow_design_lab
0
190
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
1.9k
Kritische evaluatie van GenAI-output voor literatuuronderzoek
voginip
0
200
共生概念の整理と AIアライメントの構想
hiroakihamada
0
240
2026 Introduction to University Math 01
kanaya
0
120
Utiliser Bitcoin sans Internet
rlifchitz
0
330
Inside the Mind of an LLM
baggiponte
0
220
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Chasing Engaging Ingredients in Design
codingconduct
0
260
Un-Boring Meetings
codingconduct
0
380
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
200
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
360
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
A designer walks into a library…
pauljervisheath
211
24k
Unsuck your backbone
ammeep
672
58k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
A better future with KSS
kneath
240
18k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Transcript
ฤूڑʹΑΔจࣈྻޡදهݕ ϨʔϕϯγϡλΠϯڑͱδϟϩɾΟϯΫϥʔڑ
࣍ 1. ՝……………………………………p.3-10 2. ࡞ͬͨͷ……………………………p.11-16 3. ฤूڑ………………………………p.17-39 4. ݁Ռ……………………………………p.40-41 5.·ͱΊ…………………………………p.42
6.ࢀߟจݙ………………………………p.43
՝
՝ ϒϥϯυͷࡏݿ
՝ flea ख࡞ۀͰग़
՝ flea
՝ GUCCI Tote Bag Black Leather flea ग़লྗԽ
՝ GUCCHI Tote Bag Black Leather flea
՝ GUCCHI Tote Bag Black Leather flea • ग़औΓফ͠ •
ग़ऀධՁԼ • ΞΧϯτఀࢭ ϒϥϯυ໊ޡදهͷ ϖφϧςΟ
՝ AIͰͳΜͱ͔ͯ͠ Python ࣗવݴޠॲཧ
࡞ͬͨͷ
࡞ͬͨͷ ग़λΠτϧϦετ GUCCHI Tote Bag Black Leather ɾɾɾ ɾɾɾ ɾɾɾ
ɾɾɾ
ग़λΠτϧϦετ GUCCHI Tote Bag Black Leather ɾɾɾ ɾɾɾ ɾɾɾ ɾɾɾ
୯ޠʹղ ग़୯ޠϦετ GUCCHI Tote Bag Black Leather ࡞ͬͨͷ
ग़λΠτϧϦετ GUCCHI Tote Bag Black Leather ɾɾɾ ɾɾɾ ɾɾɾ ɾɾɾ
୯ޠʹղ ग़୯ޠϦετ GUCCHI Tote Bag Black Leather ਖ਼ϒϥϯυ໊Ϧετ GUCCI VUITTON ɾɾɾ ɾɾɾ ɾɾɾ ࡞ͬͨͷ
ग़λΠτϧϦετ GUCCHI Tote Bag Black Leather ɾɾɾ ɾɾɾ ɾɾɾ ɾɾɾ
୯ޠʹղ ग़୯ޠϦετ GUCCHI Tote Bag Black Leather ਖ਼ϒϥϯυ໊Ϧετ GUCCI VUITTON ɾɾɾ ɾɾɾ ɾɾɾ ૯ͨΓ ࣅͨ୯ޠΛग़ྗ ࡞ͬͨͷ
ग़λΠτϧϦετ GUCCHI Tote Bag Black Leather ɾɾɾ ɾɾɾ ɾɾɾ ɾɾɾ
୯ޠʹղ ग़୯ޠϦετ GUCCHI Tote Bag Black Leather ਖ਼ϒϥϯυ໊Ϧετ GUCCI VUITTON ɾɾɾ ɾɾɾ ɾɾɾ ૯ͨΓ ࣅͨ୯ޠΛग़ྗ ࡞ͬͨͷ
ฤूڑ
ฤूڑ 1. ϨʔϕϯγϡλΠϯڑ (Levenshtein Distance) 2. δϟϩɾΟϯΫϥʔڑ (Jaro-Winkler Distance) GUCCHI
GUCCI
ฤूڑ 1. ϨʔϕϯγϡλΠϯڑ (Levenshtein Distance) 2. δϟϩɾΟϯΫϥʔڑ (Jaro-Winkler Distance) GUCCHI
GUCCI 1. ϨʔϕϯγϡλΠϯڑ (Levenshtein Distance)
ฤूڑʢϨʔϕϯγϡλΠϯڑʣ ͋Δจࣈྻ ൺֱ͢Δจࣈྻ จࣈΛૢ࡞ͯ͠Ұகͤ͞Δ
͋Δจࣈྻ ൺֱ͢Δจࣈྻ จࣈΛૢ࡞ͯ͠Ұகͤ͞Δ ૢ࡞ ஔ আ ૠೖ ૢ࡞ճ=ڑ ฤूڑʢϨʔϕϯγϡλΠϯڑʣ
ஔ ݩͷจࣈྻ G U T T I ൺֱ͢Δจࣈྻ G U
C C I ஔ ૢ࡞ճ = ڑ = 2 ฤूڑʢϨʔϕϯγϡλΠϯڑʣ
ஔ আ ૠೖ GUTTI GUCCI GUCCHI GUCCI GUCI GUCCI ฤूճʢڑʣ
2 1 1 ݩͷจࣈྻ ൺֱ͢Δจࣈྻ ฤूํ๏ ฤूڑʢϨʔϕϯγϡλΠϯڑʣ
ฤूڑ 1. ϨʔϕϯγϡλΠϯڑ (Levenshtein Distance) 2. δϟϩɾΟϯΫϥʔڑ (Jaro-Winkler Distance) GUCCHI
GUCCI
Dj = 1 3 * ( m |s1 | +
m |s2 | + m − t 2 m ) s1, s2 ɿจࣈྻͷ͞ mɿ۠ؒͷҰகจࣈ tɿҰகจࣈͷஔ δϟϩڑɿ จࣈྻͷ෦తͳҰக߹͍ΛଌΔ ͕େ͖͍ํ͕ڑ͕͍ۙ ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
Dj = 1 3 * ( m |s1 | +
m |s2 | + m − t 2 m ) m m m m s1, s2 ɿจࣈྻͷ͞ mɿ۠ؒͷҰகจࣈ tɿҰகจࣈͷஔ δϟϩڑɿ จࣈྻͷ෦తͳҰக߹͍ΛଌΔ ͕େ͖͍ํ͕ڑ͕͍ۙ ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
mɿ۠ؒͷҰகจࣈ max(|s1 |, |s2 |) 2 − 1 ݩͷจࣈྻɿGCCUHI →
6 ൺֱ͢ΔจࣈྻɿGUCCI → 5 max(6,5) 2 − 1 = 2 ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
mɿ۠ؒͷҰகจࣈ ݩͷจࣈྻ G C C U H I ൺֱ͢Δจࣈྻ G
U C C I ۠ؒͰҰகจࣈΛݕࡧ Ұகจࣈ͕͋ΕΧϯτ ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
mɿ۠ؒͷҰகจࣈ ݩͷจࣈྻ G C C U H I ൺֱ͢Δจࣈྻ G
U C C I m = 5 ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
Dj = 1 3 * ( m |s1 | +
m |s2 | + m − t 2 m ) t s1, s2 ɿจࣈྻͷ͞ mɿ۠ؒͷҰகจࣈ tɿҰகจࣈͷஔ จࣈྻͷ෦తͳҰக߹͍ΛଌΔ ͕େ͖͍ํ͕ڑ͕͍ۙ ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
tɿҰகจࣈͷஔ ݩͷจࣈྻ G C C U H I ൺֱ͢Δจࣈྻ G
U C C I Ұகͨ͠จࣈΛநग़ ݩͷจࣈྻ G C C U I ൺֱ͢Δจࣈྻ G U C C I ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
tɿҰகจࣈͷஔ ݩͷจࣈྻ G C C U I ൺֱ͢Δจࣈྻ G U
C C I t = 2 ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ ಉҰͷจࣈྻʹ͢ΔҝʹԿจࣈஔ͢Δͷ͔
Dj = 1 3 * ( m |s1 | +
m |s2 | + m − t 2 m ) s1, s2 ɿจࣈྻͷ͞ mɿ۠ؒͷҰகจࣈ tɿҰகจࣈͷஔ = 1 3 * ( 5 6 + 5 5 + 5 − 2 2 5 ) = 79 90 = 0.8777... ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
Djw = Dj + l * 1 10 * (1
− Dj ) Dj ɿJaro Distance lɿઌ಄͔ΒͷҰகจࣈʢl <= 4ʣ δϟϩɾΟϯΫϥʔڑɿ ઌ಄จࣈͷҰகॏΈΛ͚ͭͯධՁ ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
Djw = Dj + l * 1 10 * (1
− Dj ) Dj ɿJaro Distance lɿઌ಄͔ΒͷҰகจࣈʢl <= 4ʣ l δϟϩɾΟϯΫϥʔڑɿ ઌ಄จࣈͷҰகॏΈΛ͚ͭͯධՁ ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
lɿઌ಄͔ΒͷҰகจࣈʢl <= 4ʣ ݩͷจࣈྻ G C C U H I
ൺֱ͢Δจࣈྻ G U C C I l = 1 ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
Djw = Dj + l * 1 10 * (1
− Dj ) Dj ɿJaro Distance lɿઌ಄͔ΒͷҰகจࣈʢl <= 4ʣ = 79 90 + 1 * 1 10 * (1 − 79 90 ) = 801 900 = 0.89 ฤूڑʢδϟϩɾΟϯΫϥʔڑʣ
* https://github.com/ztane/python-Levenshtein/ **https://github.com/nap/jaro-winkler-distance Levenshteinɿখ͍͞΄Ͳ͍ۙ Jaro-Winklerɿେ͖͍΄Ͳ͍ۙ ݩͷจࣈྻ ൺֱ͢Δ จࣈྻ *Levenshtein **Jaro-Winkler
GUCCHI GUCCI 1 0.97 GUTTI 2 0.79 GCCUHI 3 0.89 άον༟ࡾ 5 0.00 ฤूڑ
ݩͷจࣈྻ ൺֱ͢Δ จࣈྻ *Levenshtein **Jaro-Winkler GUCCHI GUCCI 1 0.97 GUTTI
2 0.79 GCCUHI 3 0.89 άον༟ࡾ 5 0.00 Jaro-WinklerҰக͢Δจࣈ͕ ଘࡏ͍ͯ͠Δ͜ͱΛධՁ͍ͯ͠Δɻ LevenshteinͱJaro-WinklerͰ ۙ͞ͷॱং͕ҟͳΔɻ ฤूڑ * https://github.com/ztane/python-Levenshtein/ **https://github.com/nap/jaro-winkler-distance
݁Ռ
.py ͳΜ͔ಈ͍ͯΔ͔Βྑ͠ ݁Ռ * https://github.com/bk-18/Misspelled-Brand-Name-Detector
·ͱΊ • ग़࣌ͷϒϥϯυ໊ޡදهͱ͍͏՝ • Ϧετ૯ͨΓʹΑΔޡදهݕ • ϨʔϕϯγϡλΠϯڑ • δϟϩɾΟϯΫϥʔڑ
ࢀߟจݙ • ̎ͭͷจࣈྻͷྨࣅΛԽɹϨʔϕϯγϡλΠϯڑͱδϟϩɾΟ ϯΫϥʔڑͷղઆ, ਓೳͰ͋ͦͿ, http://nkdkccmbr.hateblo.jp/entry/ 2016/08/18/102727 • ฤूڑ (Levenshtein
Distance), naoyaͷͯͳμΠΞϦʔ, https:// naoya-2.hatenadiary.org/entry/20090329/1238307757 • จࣈྻྨࣅධՁ ϨʔϕϯγϡλΠϯڑ / δϟϩɾΟϯΫϥʔڑ, ਓೳͯ͠ΈΔ, http://grahamian.hatenablog.com/entry/word_similarity • Yaoshu Wang(B) , Jianbin Qin, and Wei Wang,: Efficient Approximate Entity Matching Using Jaro-Winkler Distance, Univeristy of New South Wales, http://qinjianbin.com/files/wise2017-wang.pdf
ENJOY! ENJAY! EMJOY! ENJOI! ENZYOI!