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
4k
集合・位相入門/松坂和夫 5.2 節:コンパクト性
nomotoeriko
1
93
集合・位相入門/松坂和夫 3.2 節:整列集合とその比較定理
nomotoeriko
0
440
集合・位相入門/松坂和夫 3.1 節:順序集合
nomotoeriko
0
280
Other Decks in Education
See All in Education
Adobe Express
matleenalaakso
1
7.3k
Course Review - Lecture 12 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.4k
ロータリー地域社会共同隊(RCC)について:国際ロータリー 2720地区 2023-2024年度 社会奉仕部門 部門長・ 熊本西稜ロータリークラブ・ 有限会社 誠商店 代表取締役社長 追立 武 氏
2720japanoke
0
620
week15@tcue2024
nonxxxizm
0
550
【実践】 パフォーマンス・チューニング~オプティマイザ活用術~
oracle4engineer
PRO
1
1.1k
MLH Hackcon: Keynote (2024)
theycallmeswift
0
130
エンジニアの イネーブルメントを支える 技術発信文化の作り方
sedo
0
140
【株式会社コノセル】会社紹介資料
koheimiyamoto
0
4.1k
困ったときのガイドライン / We Support You in Any Situation
yasulab
2
3.7k
2024年度春学期 統計学 第12回 分布の平均を推測する ー 区間推定 (2024. 6. 27)
akiraasano
PRO
1
150
不登校予防・再登校支援プログラムを提供するToCo (トーコ) の会社紹介資料 toco.mom
toco3week
0
170
2023年度「生成AI100校プロジェクト」 実践報告書/The 2023 "Generative AI 100 Schools Project" Practical Report
codeforeveryone
0
1.3k
Featured
See All Featured
Fireside Chat
paigeccino
31
2.9k
A designer walks into a library…
pauljervisheath
201
24k
Making Projects Easy
brettharned
113
5.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
27
1.6k
Ruby is Unlike a Banana
tanoku
96
10k
Web Components: a chance to create the future
zenorocha
308
41k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
A better future with KSS
kneath
235
17k
Happy Clients
brianwarren
96
6.6k
Building an army of robots
kneath
302
42k
The Cost Of JavaScript in 2023
addyosmani
39
5.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
25
5k
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 ✌('ω'✌) ✌('ω'✌)