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
レトリバインターン成果報告
Search
NomotoEriko
September 27, 2018
Education
0
1.7k
レトリバインターン成果報告
2018/8/1-2018/9/30 の期間参加したレトリバでのインターンの最終報告資料です.製品の改善をしました.
NomotoEriko
September 27, 2018
Tweet
Share
More Decks by NomotoEriko
See All by NomotoEriko
プレゼンのすゝめ
nomotoeriko
6
4.3k
集合・位相入門/松坂和夫 5.2 節:コンパクト性
nomotoeriko
1
120
集合・位相入門/松坂和夫 3.2 節:整列集合とその比較定理
nomotoeriko
0
530
集合・位相入門/松坂和夫 3.1 節:順序集合
nomotoeriko
0
310
Other Decks in Education
See All in Education
OpenSourceSummitJapanを運営してみた話
kujiraitakahiro
0
700
Data Management and Analytics Specialisation
signer
PRO
0
1.4k
SkimaTalk Tutorial for Corporate Customers
skimatalk
0
280
i-GIP 2025 中高生のみなさんへ資料
202200
0
480
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019538FNR)
signer
PRO
1
2k
Data Physicalisation - Lecture 9 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
430
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
0
2.4k
Human-AI Interaction - Lecture 11 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
450
推しのコミュニティはなんぼあってもいい / Let's join a lot of communities.
kaga
2
1.7k
著作権と授業に関する出前講習会/dme-2025-05-01
gnutar
0
200
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
4
16k
Gaps in Therapy in IBD - IBDInnovate 2025 CCF
higgi13425
0
480
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Building Adaptive Systems
keathley
43
2.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
How STYLIGHT went responsive
nonsquared
100
5.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
940
Transcript
Answer Finder ʹ͓͚Δ ݕࡧपΓͷ՝ղܾ +α େࡕେֶେֶӃใՊֶݚڀՊ M1 ຊ ӳསࢠ ϝϯλʔɿେ࡚
ᘯɹɹ, Ҫ ༟
ຊӳསࢠ ʹ͍ͭͯ • ॴଐɿେࡕେֶେֶӃใՊֶݚڀՊ ɹɹɹϚϧνϝσΟΞֶઐ߈Ϗοάσʔλֶߨ࠲ ɹɹɹَ௩ݚڀࣨ म࢜1ճੜ • ݚڀɿςΩετʹجͮ͘ը૾ੜ •
झຯɿಡॻ, Twitter, లࣔձ८Γ, γϯɾΰδϥ, Ϙυή • ݴޠɿຊޠ, Python • ࣗવݴޠॲཧٕज़Λͬͨ։ൃʹڵຯ͕͋Γ ࠓճͷΠϯλʔϯʹࢀՃ 2
ΠϯλʔϯͰͬͨ͜ͱ • લ1ϲ݄ڧ: Answer Finder ʹ͓͚ΔݕࡧपΓͷҎԼͷ՝ղܾ • ൪߸ • ࢈ۀഇغͱ͓ห
• ΠΤϞϯ • ޙ1ϲ݄ऑ: ϨΨγʔίʔυͷվળ • ςετඋ • ίʔυΛಡΈ͘͢ܗ 3 ϨτϦό͕ఏڙ͢Δ '"2ݕࡧγεςϜ
ΠϯλʔϯͰͬͨ͜ͱ 4 • લ1ϲ݄ڧ: Answer Finder ʹ͓͚ΔݕࡧपΓͷҎԼͷ՝ղܾ • ൪߸ •
࢈ۀഇغͱ͓ห • ΠΤϞϯ • ޙ1ϲ݄ऑ: ϨΨγʔίʔυͷվળ • ςετඋ • ίʔυΛಡΈ͘͢ܗ ϨτϦό͕ఏڙ͢Δ '"2ݕࡧγεςϜ
Answer Finder ʹ͍ͭͯ Answer Finder ʹ͓͚ΔݕࡧपΓͷ՝ղܾ ୈ1ষ 5
Sedue ϑΝϛϦʹଐ͢Δ FAQ ݕࡧγεςϜ ࣭จΛ͛Δͱ ؔ࿈͢Δ Q&A ΛݕࡧͰ͖Δ ΩʔϫʔυಉٛޠͳͲΛ Ϣʔβࣙॻͱͯ͠ొͰ͖Δ
6 Answer Finder ͱ
7 Answer Finder ͷίϯϙʔωϯτ Answer Finder ϢʔβΠϯλʔϑΣʔεΛఏڙ จॻొɺϢʔβࣙॻొɺ ΫΤϦͷൃߦͳͲ͕ߦΘΕΔ Hotate
ݕࡧγεςϜͷຊମ ΫΤϦͱจॻͱͷؔ࿈Λݩʹ ؔ࿈จॻΛݕࡧ )PUBUF
Hotate ʹ͍ͭͯ • Answer Finder ͷཪͰճ͍ͬͯΔ ؔ࿈จॻநग़Τϯδϯ • ΫΤϦͱจॻͱͷؔ࿈Λݩʹؔ࿈จॻΛݕࡧ͢Δ •
ؔ࿈ΫΤϦ͓Αͼจॻʹؚ·ΕΔΩʔϫʔυͷ TF-IDF ͷ COSྨࣅ Λϕʔεʹܭࢉ͞ΕΔ • Ωʔϫʔυࣙॻͷจࣈྻͱͷ࠷ҰகͰநग़͞ΕΔ • ݩ χϡʔεهࣄݕࡧ ༻ʹ࡞ΒΕͨγεςϜ 8
͓٬༷ͷظ͢Δݕࡧ݁Ռ͕ಘΒΕͳ͍໘ ൪߸ ൪߸ͰݕࡧͰ͖ͳ͍ ࢈ۀഇغͱ͓ห ෳͷΩʔϫʔυ͕͋Δͱ͖ʹยํ͔͠ώοτ͠ͳ͍ ΠΤϞϯ εϖʔεΛؚΉ୯ޠ͕ಉٛޠࣙॻͰ͏·͘ѻ͑ͳ͍ 9 Answer Finder
๊͕͑Δ՝
൪߸ Answer Finder ʹ͓͚ΔݕࡧपΓͷ՝ղܾ ୈ2ষ 10
ɿࣈͷΈͷΩʔϫʔυΛநग़Ͱ͖ͳ͍ ʰ202ʱͰݕࡧ͢Δͱ… 11 ظ͞ΕΔݕࡧ݁Ռ ݱঢ়ͷݕࡧ݁Ռ
จࣈ + ࣈͷΩʔϫʔυநग़Ͱ͖Δ ʰE202ʱͰݕࡧ͢Δͱ... 12
ݪҼɿࣈͷΈͰߏ͞ΕΔ୯ޠʢ൪߸ʣ͕ ɹɹɹΩʔϫʔυநग़࣌ʹ͔Ε͍ͯͨ • Hotate ෦Ͱ൪߸Λແࢹ͢Δ࣮͕ͳ͞Ε͍ͯͨ • Hotate ։ൃ࣌ʹɺݕࡧର͕χϡʔεهࣄͩͬͨͨΊʹɺ ൪߸ͳͲෆཁͳώοτΛট͘ͱ͞Εͨ •
ϢʔεέʔεʹΑͬͯͳͲ͕ೖ͍ͬͯͳ͍σʔλଟ͘ ·ͨɺ൪߸Ͱݕࡧ͍ͨ͠໘ग़͖ͯͨ • ࣙॻʹҙຯͷ͋Δ൪߸͚ͩΛొ͠Ωʔϫʔυͱͯ͠༻͍Δ 13
ରԠɿ൪߸Λແࢹ͢ΔΦϓγϣϯΛઃஔ • ignore_number_only ΦϓγϣϯΛઃஔ • ͜ͷΦϓγϣϯ͕ True Ͱ͋Ε ൪߸Λແࢹ͢Δ •
ΦϓγϣϯΛ False ʹઃఆ͠ ʰ202ʱͰݕࡧ͢Δͱ ӈͷݕࡧ݁Ռ͕ಘΒΕΔ 14
࢈ۀഇغͱ͓ห Answer Finder ʹ͓͚ΔݕࡧपΓͷ՝ղܾ ୈ3ষ 15
ɿΩʔϫʔυͷҰ෦͕ແࢹ͞ΕΔ ʰձࣾͰͷ͓หͷΰϛ࢈ۀഇغͰ͔͢ʁʱͰݕࡧ͢Δͱ... 16 ظ͞ΕΔݕࡧ݁Ռ ݱঢ়ͷݕࡧ݁Ռ
ݪҼɿλΠτϧΛॏཁࢹ͍͗ͯͨ͢͠ • Hotate ؔ࿈ܭࢉ࣌ʹ λΠτϧʹؚ·ΕΔΩʔϫʔυʹॏΈΛ࣋ͨͤΔ • Answer Finder Ͱ͜ͷॏΈ͕େ͖ͳͰݻఆ͞Ε͍ͯͨ •
λΠτϧʹΩʔϫʔυؚ͕·Ε͍ͯΔจॻ͕ਅͬઌώοτ͠ɺ ͦΕҎ֎͕ώοτ͠ͳ͘ͳ͍ͬͯͨ 17 ظ͞ΕΔݕࡧ݁ՌʢλΠτϧʣ ݱঢ়ͷݕࡧ݁ՌʢλΠτϧʣ
• Ϣʔβ͝ͱʹλΠτϧͷॏΈΛઃఆͰ͖ΔΑ͏ʹ Answer Finder ͷઃఆը໘ʹλΠτϧॏΈઃఆϑΥʔϜΛઃ͚ͨ • λΠτϧΛॏཁࢹ͠ͳ͍ ઃఆʹͯ͠ݕࡧ͢Δͱ ӈͷ݁Ռ͕ಘΒΕΔ ରԠɿAnswer
Finder ͔Β ɹɹɹλΠτϧͷॏΈΛઃఆͰ͖ΔΑ͏ʹͨ͠ 18
ΠΤϞϯ Answer Finder ʹ͓͚ΔݕࡧपΓͷ՝ղܾ ୈ4ষ 19
• Ϣʔβͷಉٛޠࣙॻʹ ʰΠΤϞϯ → THE YELLOW MONKEYʱΛొ ɿεϖʔεΛؚΉಉٛޠΛ͏·͘ѻ͑ͳ͍ 20 ظ͞ΕΔݕࡧ݁Ռ
ݱঢ়ͷݕࡧ݁Ռ
ݪҼɿಉٛޠࣙॻͷϑΥʔϚοτ͕ྑ͘ͳ͍ • Answer Finder ͰಉٛޠࣙॻΛλϒ۠ΓͰѻ͏ source \t target1 \t target2
\n “ΠΤϞϯ” ͷಉٛޠ “THE YELLOW MONKEY” • Hotate ͰಉٛޠࣙॻΛεϖʔε۠ΓͰѻ͏ source \n target1 ␣ target2 \n “ΠΤϞϯ” ͷಉٛޠ “THE” ͱ “YELLOW” ͱ “MONKEY” 21
ରԠɿHotate Ͱ json Λѻ͑ΔΑ͏ʹͨ͠ • Answer Finder Ͱ json ܗࣜಉٛޠࣙॻΛ࡞Δ
• Hotate Ͱ json ܗࣜͷಉٛޠࣙॻΛಡΉ • json ύʔαʹ rapidjson Λར༻ • ʰΠΤϞϯʱͰݕࡧ͢Δͱ ӈͷ݁Ռ͕ಘΒΕΔ 22
·ͱΊͱࡶஊ Answer Finder ʹ͓͚ΔݕࡧपΓͷ՝ղܾ ୈ5ষ 23
ͬͨ͜ͱ • Answer Finder ʹ͓͚ΔݕࡧपΓͷ՝ղܾ • ൪߸ • ࢈ۀഇغͱ͓ห •
ΠΤϞϯ • ͜ΕΒ࣮ࡍʹʹө͞ΕΔ༧ఆ ✌('ω'✌) 24
ϓϧϦΫϦετ 25
ࡶஊɿͭΒ͔ͬͨ͜ͱ • Answer Finder, Sedue, Hotate ͷ 3ͭͷίϯϙʔωϯτ͕བྷΜͰ͍ΔͨΊɺ ڥߏஙमਖ਼ͷөํ๏ͷཱ֬ʹखͣͬͨ͜ •
Hotate C++ Ͱॻ͔Ε͓ͯΓɺC++ ʹ׳ΕΔ·Ͱ͕खͣͬͨ͜ • ීஈ Python ͳͷͰԿΑΓϏϧυʹۤ࿑ͨ͠ 26
ΠϯλʔϯͰͬͨ͜ͱ • લ1ϲ݄ڧ: Answer Finder ʹ͓͚ΔݕࡧपΓͷҎԼͷ՝ղܾ • ൪߸ • ࢈ۀഇغͱ͓ห
• ΠΤϞϯ • ޙ1ϲ݄ऑ: ϨΨγʔίʔυͷվળ • ςετඋ • ίʔυΛಡΈ͘͢ܗ 27
Hotate ʹ͍ͭͯ ϨΨγʔίʔυͷվળ ୈ1ষ 28
Hotate ͷ֓ཁ • Answer Finder ͷཪͰճ͍ͬͯΔ ؔ࿈จॻநग़Τϯδϯ • ݩ χϡʔεهࣄݕࡧ
༻ʹ࡞ΒΕͨγεςϜ • ؔ࿈จॻಉ࢜ͷ TF-IDF ͷ COS ྨࣅ ϕʔεͰܭࢉ • ؔ࿈ͷܭࢉ͕ߴʹߦ͑ΔΑ͏࣮͕ͨ͠͞Ε͍ͯΔ • ݱࡏ Sedue ͷϓϥάΠϯͱͯ͠ͷΈ༻͍ΒΕ͍ͯΔ 29
Hotate ͷͭΒ͍ͱ͜Ζ • 10Ҏ্લʹ࡞ΒΕͨγεςϜͰɺ ͋·ΓखΛ͚ͭΒΕ͍ͯͳ͍ • ͷͪʹࣾͰ౷Ұ͞Εͨ C++ Style Guide
ʹଇ͍ͬͯͳ͍ • ςετ͕ػೳΛΧόʔ͍ͯ͠ͳ͍ • αʔόػೳͳͲɺ ݱࡏͷ͍ํʹෆཁͳػೳ͕͋Δ • ݱࡏ Hotate ͕ Sedue ͷϓϥάΠϯͱͯ͠ΘΕΔͨΊ Hotate ͕୯ମͰαʔόͱͯ͠ػೳ͢Δඞཁ͕ͳ͍ 30
Hotate ΛϦϑΝΫλϦϯά͠·͠ΐ͏ • ࠷ऴඪɿαʔόػೳΛΓ͢ • ʰϨΨγʔίʔυվળΨΠυʱʹैͬͯϦϑΝΫλϦϯάΛߦ͏ 1. มߋΛચ͍ग़͢ 2. ςετΛॻ͘ॴΛݟ͚ͭΔ
3. ґଘؔΛഉআ͢Δ 4. ςετΛॻ͘ 5. มߋΛߦ͏ 31 ಛఆͷϝιουͷΈΛ ςετͰ͖ΔΑ͏ʹ ༨ͳґଘؔΛഉআ͢Δ
Hotate ΛϦϑΝΫλϦϯά͠·͠ΐ͏ • ࠷ऴඪɿαʔόػೳΛΓ͢ • ʰϨΨγʔίʔυվળΨΠυʱʹैͬͯϦϑΝΫλϦϯάΛߦ͏ 1. มߋΛચ͍ग़͢ 2. ςετΛॻ͘ॴΛݟ͚ͭΔ
3. ςετΛॻ͘ 4. มߋΛߦ͏ 32
ϦϑΝΫλϦϯά ϨΨγʔίʔυͷվળ ୈ2ষ 33
1. มߋΛચ͍ग़͢ • શମΛ C++ Style Guide ʹैͬͨॻ͖ํʹ͢Δ • ෆཁͳมએݴͷআڈɺ
ར༻Օॴͷۙ͘Ͱมએݴ͢ΔͳͲɺ ʰϦʔμϒϧίʔυʱΛࢀߟʹݟ͍͢දهʹ͢Δ • αʔόػೳͷίʔυΛফ͢ 34
2-3. ςετΛॻ͘ॴΛݟ͚ͭΔ / ॻ͘ • Hotate Sedue ͷϓϥάΠϯͱͯ͠ͷΈ༻͍ΒΕΔͨΊ Sedue
͔ΒݺΕΔϝιουͷڍಈΛอূ͢Δ • Sedue ͔ΒݺΕΔϝιουͷ୯ମςετ • Hotate ΦϒδΣΫτͷॳظԽ • ֤छύϥϝʔλͷมߋ • ؔ࿈ܭࢉ • ؔ࿈จॻݕࡧ • Google Test Λͬͯ͜ΕΒͷ୯ମςετΛॻ͍ͨ 35 ܭݸͷϝιου
4. มߋΛߦ͏ • C++ Style Guide ʹै͏ • ແବͳมએݴΛআ͢Δ •
ϕΫτϧಉ࢜ͷ݁߹ΛཁૉՃͷ܁Γฦ͠Ͱͳ͘ insert Ͱ࣮ • มએݴΛར༻Օॴͷۙ͘Ͱߦ͏ • ૣظ return ͯ͠ෆཁͳϑϥάΛഉআ • ϝιουͷ ޭ/ࣦഊ ΛϑϥάԽ͢Δ • αʔόػೳΛআ͢Δ 36
·ͱΊͱࡶஊ ϨΨγʔίʔυͷվળ ୈ3ষ 37
·ͱΊ • ʰϨΨγʔίʔυվળΨΠυʱͷखॱʹै͍ Hotate ͷϦϑΝΫλϦϯάΛߦͳͬͨ • Sedue ͰݺΕΔ30ݸͷϝιουͷ୯ମςετΛॻ͍ͨ • ʰϦʔμϒϧίʔυʱΛࢀߟʹಡΈ͍͢ίʔυʹܗͨ͠
38
ϓϧϦΫϦετ 39
ࡶஊɿྑ͔ͬͨ͜ͱʢҰ෦ൈਮʣ ෩ͷʹϦϞʔτϫʔΫΛͤͯ͞Β͑ͨ͜ͱ 40
ࡶஊɿྑ͔ͬͨ͜ͱʢҰ෦ൈਮʣ ϘʔυήʔϜձ͕͠͠։࠵͞Ε͍ͯͨ͜ͱ 41
ࡶஊɿྑ͔ͬͨ͜ͱʢҰ෦ൈਮʣ ϦʔμϒϧίʔυͳͲɺॻ੶͕ॆ࣮͍ͯͨ͜͠ͱ 42
ࡶஊɿྑ͔ͬͨ͜ͱʢҰ෦ൈਮʣ ޕޙ3࣌ʹඞͣίʔώʔΛೖΕͯ ͓͚ͦͯ͘͢͠ΕΔࣾһ͞Μ͕͍Βͬ͠Όͬͨ͜ͱ 43
ΠϯλʔϯͰͬͨ͜ͱ • લ1ϲ݄ڧ: Answer Finder ʹ͓͚ΔݕࡧपΓͷҎԼͷ՝ղܾ • ൪߸ • ࢈ۀഇغͱ͓ห
• ΠΤϞϯ • ޙ1ϲ݄ऑ: ϨΨγʔίʔυͷվળ • ςετඋ • ίʔυΛಡΈ͘͢ܗ 44 ϨτϦό͕ఏڙ͢Δ '"2ݕࡧγεςϜ
ΠϯλʔϯΛ௨ͯ͠ͷײ • ʹ͕ͬͭΓܞΘΒ͍͚ͤͯͨͩͯɺ ༗ҙٛͳΠϯλʔϯظؒΛա͍͖ͤͯͨͩ͝͞·ͨ͠ • ༏लͳΠϯλʔϯؒͷՌɺ ͦΕʹର͢Δࣾһ͞Μͷண؟ͳͲڵຯਂ͔ͬͨͰ͢ • ཪͷతͰ͋Δ ɹ͕ࣗब৬ͯ͠ಇ͍ͨ߹ͷ࢟ΛΓਐ࿏બ
ɹʢത࢜՝ఔਐֶ or ब৬ʣͷஅࡐྉʹ͢Δ ͔ͬ͠ΓՌͨͤ·ͨ͠ 45 ✌('ω'✌) ✌('ω'✌)