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.6k
レトリバインターン成果報告
2018/8/1-2018/9/30 の期間参加したレトリバでのインターンの最終報告資料です.製品の改善をしました.
NomotoEriko
September 27, 2018
Tweet
Share
More Decks by NomotoEriko
See All by NomotoEriko
プレゼンのすゝめ
nomotoeriko
6
4.2k
集合・位相入門/松坂和夫 5.2 節:コンパクト性
nomotoeriko
1
96
集合・位相入門/松坂和夫 3.2 節:整列集合とその比較定理
nomotoeriko
0
460
集合・位相入門/松坂和夫 3.1 節:順序集合
nomotoeriko
0
290
Other Decks in Education
See All in Education
Medicare 101 for 2025
robinlee
PRO
0
230
20240810_ワンオペ社内勉強会のノウハウ
ponponmikankan
2
880
Padlet opetuksessa
matleenalaakso
4
12k
HTML5 and the Open Web Platform - Lecture 3 - Web Technologies (1019888BNR)
signer
PRO
1
2.6k
Chapitre_1_-__L_atmosphère_et_la_vie_-_Partie_1.pdf
bernhardsvt
0
220
(2024) Couper un gâteau... sans connaître le nombre de convives
mansuy
2
150
Medidas en informática
irocho
0
290
construindo uma carreira com opensource
caarlos0
0
240
東工大 traP Kaggle班 機械学習講習会 2024
abap34
2
310
cbt2324
cbtlibrary
0
110
勉強する必要ある?
mineo_matsuya
2
1.6k
Qualtricsで相互作用実験する「SMARTRIQS」入門編
kscscr
0
320
Featured
See All Featured
Building an army of robots
kneath
302
43k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
A Tale of Four Properties
chriscoyier
156
23k
Become a Pro
speakerdeck
PRO
25
5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Practical Orchestrator
shlominoach
186
10k
A designer walks into a library…
pauljervisheath
204
24k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
The World Runs on Bad Software
bkeepers
PRO
65
11k
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 ✌('ω'✌) ✌('ω'✌)