Upgrade to Pro — share decks privately, control downloads, hide ads and more …

レトリバインターン成果報告

NomotoEriko
September 27, 2018

 レトリバインターン成果報告

2018/8/1-2018/9/30 の期間参加したレトリバでのインターンの最終報告資料です.製品の改善をしました.

NomotoEriko

September 27, 2018
Tweet

More Decks by NomotoEriko

Other Decks in Education

Transcript

  1. ໺ຊӳསࢠ ʹ͍ͭͯ • ॴଐɿେࡕେֶେֶӃ৘ใՊֶݚڀՊ
 ɹɹɹϚϧνϝσΟΞ޻ֶઐ߈Ϗοάσʔλ޻ֶߨ࠲
 ɹɹɹَ௩ݚڀࣨ म࢜1ճੜ • ݚڀɿςΩετʹجͮ͘ը૾ੜ੒ •

    झຯɿಡॻ, Twitter, లࣔձ८Γ, γϯɾΰδϥ, Ϙυή • ݴޠɿ೔ຊޠ, Python • ࣗવݴޠॲཧٕज़Λ࢖ͬͨ੡඼։ൃʹڵຯ͕͋Γ
 ࠓճͷΠϯλʔϯʹࢀՃ 2
  2. ΠϯλʔϯͰ΍ͬͨ͜ͱ • લ൒1ϲ݄ڧ: Answer Finder ʹ͓͚ΔݕࡧपΓͷҎԼͷ՝୊ղܾ • ൪߸໰୊ • ࢈ۀഇغ෺ͱ͓ห౰໰୊

    • ΠΤϞϯ໰୊ • ޙ൒1ϲ݄ऑ: ϨΨγʔίʔυͷվળ • ςετ੔උ • ίʔυΛಡΈ΍͘͢੔ܗ 3 ϨτϦό͕ఏڙ͢Δ
 '"2ݕࡧγεςϜ
  3. ΠϯλʔϯͰ΍ͬͨ͜ͱ 4 • લ൒1ϲ݄ڧ: Answer Finder ʹ͓͚ΔݕࡧपΓͷҎԼͷ՝୊ղܾ • ൪߸໰୊ •

    ࢈ۀഇغ෺ͱ͓ห౰໰୊ • ΠΤϞϯ໰୊ • ޙ൒1ϲ݄ऑ: ϨΨγʔίʔυͷվળ • ςετ੔උ • ίʔυΛಡΈ΍͘͢੔ܗ ϨτϦό͕ఏڙ͢Δ
 '"2ݕࡧγεςϜ
  4. Hotate ʹ͍ͭͯ • Answer Finder ͷཪͰճ͍ͬͯΔ ؔ࿈จॻநग़Τϯδϯ • ΫΤϦͱจॻͱͷؔ࿈౓Λݩʹؔ࿈จॻΛݕࡧ͢Δ •

    ؔ࿈౓͸ΫΤϦ͓Αͼจॻʹؚ·ΕΔΩʔϫʔυͷ TF-IDF ͷ COSྨࣅ౓ Λϕʔεʹܭࢉ͞ΕΔ • Ωʔϫʔυ͸ࣙॻ಺ͷจࣈྻͱͷ࠷௕ҰகͰநग़͞ΕΔ • ݩ͸ χϡʔεهࣄݕࡧ ༻ʹ࡞ΒΕͨγεςϜ 8
  5. ݪҼɿλΠτϧΛॏཁࢹ͍͗ͯͨ͢͠ • Hotate ͸ؔ࿈౓ܭࢉ࣌ʹ
 λΠτϧʹؚ·ΕΔΩʔϫʔυʹॏΈΛ࣋ͨͤΔ • Answer Finder Ͱ͸͜ͷॏΈ͕େ͖ͳ஋Ͱݻఆ͞Ε͍ͯͨ •

    λΠτϧʹΩʔϫʔυؚ͕·Ε͍ͯΔจॻ͕ਅͬઌώοτ͠ɺ
 ͦΕҎ֎͕ώοτ͠ͳ͘ͳ͍ͬͯͨ 17 ظ଴͞ΕΔݕࡧ݁ՌʢλΠτϧʣ ݱঢ়ͷݕࡧ݁ՌʢλΠτϧʣ
  6. ݪҼɿಉٛޠࣙॻͷϑΥʔϚοτ͕ྑ͘ͳ͍ • Answer Finder Ͱ͸ಉٛޠࣙॻΛλϒ۠੾ΓͰѻ͏ source \t target1 \t target2

    \n “ΠΤϞϯ” ͷಉٛޠ͸ “THE YELLOW MONKEY” • Hotate Ͱ͸ಉٛޠࣙॻΛεϖʔε۠੾ΓͰѻ͏ source \n target1 ␣ target2 \n “ΠΤϞϯ” ͷಉٛޠ͸ “THE” ͱ “YELLOW” ͱ “MONKEY” 21
  7. ରԠɿHotate Ͱ json Λѻ͑ΔΑ͏ʹͨ͠ • Answer Finder Ͱ json ܗࣜಉٛޠࣙॻΛ࡞Δ

    • Hotate Ͱ json ܗࣜͷಉٛޠࣙॻΛಡΉ • json ύʔαʹ͸ rapidjson Λར༻ • ʰΠΤϞϯʱͰݕࡧ͢Δͱ
 ӈͷ݁Ռ͕ಘΒΕΔ 22
  8. ΍ͬͨ͜ͱ • Answer Finder ʹ͓͚ΔݕࡧपΓͷ՝୊ղܾ • ൪߸໰୊ • ࢈ۀഇغ෺ͱ͓ห౰໰୊ •

    ΠΤϞϯ໰୊ • ͜ΕΒ͸࣮ࡍʹ੡඼ʹ൓ө͞ΕΔ༧ఆ ✌('ω'✌) 24
  9. ࡶஊɿͭΒ͔ͬͨ͜ͱ • Answer Finder, Sedue, Hotate ͷ
 3ͭͷίϯϙʔωϯτ͕བྷΜͰ͍ΔͨΊɺ
 ؀ڥߏங΍मਖ਼ͷ൓өํ๏ͷཱ֬ʹखͣͬͨ͜ •

    Hotate ͸ C++ Ͱॻ͔Ε͓ͯΓɺC++ ʹ׳ΕΔ·Ͱ͕खͣͬͨ͜ • ීஈ͸ Python ͳͷͰԿΑΓϏϧυʹۤ࿑ͨ͠ 26
  10. ΠϯλʔϯͰ΍ͬͨ͜ͱ • લ൒1ϲ݄ڧ: Answer Finder ʹ͓͚ΔݕࡧपΓͷҎԼͷ՝୊ղܾ • ൪߸໰୊ • ࢈ۀഇغ෺ͱ͓ห౰໰୊

    • ΠΤϞϯ໰୊ • ޙ൒1ϲ݄ऑ: ϨΨγʔίʔυͷվળ • ςετ੔උ • ίʔυΛಡΈ΍͘͢੔ܗ 27
  11. Hotate ͷ֓ཁ • Answer Finder ͷཪͰճ͍ͬͯΔ ؔ࿈จॻநग़Τϯδϯ • ݩ͸ χϡʔεهࣄݕࡧ

    ༻ʹ࡞ΒΕͨγεςϜ • ؔ࿈౓͸จॻಉ࢜ͷ TF-IDF ͷ COS ྨࣅ౓ ϕʔεͰܭࢉ • ؔ࿈౓ͷܭࢉ͕ߴ଎ʹߦ͑ΔΑ͏޻෉࣮ͨ͠૷͕͞Ε͍ͯΔ • ݱࡏ͸ Sedue ͷϓϥάΠϯͱͯ͠ͷΈ༻͍ΒΕ͍ͯΔ 29
  12. Hotate ͷͭΒ͍ͱ͜Ζ • 10೥Ҏ্લʹ࡞ΒΕͨγεςϜͰɺ ͋·ΓखΛ͚ͭΒΕ͍ͯͳ͍ • ͷͪʹࣾ಺Ͱ౷Ұ͞Εͨ C++ Style Guide

    ʹଇ͍ͬͯͳ͍ • ςετ͕ػೳΛΧόʔ͍ͯ͠ͳ͍ • αʔόػೳͳͲɺ ݱࡏͷ࢖͍ํʹ͸ෆཁͳػೳ͕͋Δ • ݱࡏ͸ Hotate ͕ Sedue ͷϓϥάΠϯͱͯ͠࢖ΘΕΔͨΊ
 Hotate ͕୯ମͰαʔόͱͯ͠ػೳ͢Δඞཁ͕ͳ͍ 30
  13. Hotate ΛϦϑΝΫλϦϯά͠·͠ΐ͏ • ࠷ऴ໨ඪɿαʔόػೳΛ੾Γ཭͢ • ʰϨΨγʔίʔυվળΨΠυʱʹैͬͯϦϑΝΫλϦϯάΛߦ͏ 1. มߋ఺Λચ͍ग़͢ 2. ςετΛॻ͘৔ॴΛݟ͚ͭΔ

    3. ґଘؔ܎Λഉআ͢Δ 4. ςετΛॻ͘ 5. มߋΛߦ͏ 31 ಛఆͷϝιουͷΈΛ
 ςετͰ͖ΔΑ͏ʹ
 ༨෼ͳґଘؔ܎Λഉআ͢Δ
  14. 1. มߋ఺Λચ͍ग़͢ • શମΛ C++ Style Guide ʹैͬͨॻ͖ํʹ͢Δ • ෆཁͳม਺એݴͷআڈ΍ɺ


    ར༻Օॴͷۙ͘Ͱม਺એݴ͢ΔͳͲɺ
 ʰϦʔμϒϧίʔυʱΛࢀߟʹݟ΍͍͢දهʹ͢Δ • αʔόػೳͷίʔυΛফ͢ 34
  15. 2-3. ςετΛॻ͘৔ॴΛݟ͚ͭΔ / ॻ͘ • Hotate ͸ Sedue ͷϓϥάΠϯͱͯ͠ͷΈ༻͍ΒΕΔͨΊ
 Sedue

    ͔Βݺ͹ΕΔϝιουͷڍಈΛอূ͢Δ • Sedue ͔Βݺ͹ΕΔϝιουͷ୯ମςετ • Hotate ΦϒδΣΫτͷॳظԽ • ֤छύϥϝʔλͷมߋ • ؔ࿈౓ܭࢉ • ؔ࿈จॻݕࡧ • Google Test Λ࢖ͬͯ͜ΕΒͷ୯ମςετΛॻ͍ͨ 35 ܭݸͷϝιου
  16. 4. มߋΛߦ͏ • C++ Style Guide ʹै͏ • ແବͳม਺એݴΛ࡟আ͢Δ •

    ϕΫτϧಉ࢜ͷ݁߹Λཁૉ௥Ճͷ܁Γฦ͠Ͱ͸ͳ͘ insert Ͱ࣮૷ • ม਺એݴΛར༻Օॴͷۙ͘Ͱߦ͏ • ૣظ return ͯ͠ෆཁͳϑϥάΛഉআ • ϝιουͷ ੒ޭ/ࣦഊ ΛϑϥάԽ͢Δ • αʔόػೳΛ࡟আ͢Δ 36
  17. ΠϯλʔϯͰ΍ͬͨ͜ͱ • લ൒1ϲ݄ڧ: Answer Finder ʹ͓͚ΔݕࡧपΓͷҎԼͷ՝୊ղܾ • ൪߸໰୊ • ࢈ۀഇغ෺ͱ͓ห౰໰୊

    • ΠΤϞϯ໰୊ • ޙ൒1ϲ݄ऑ: ϨΨγʔίʔυͷվળ • ςετ੔උ • ίʔυΛಡΈ΍͘͢੔ܗ 44 ϨτϦό͕ఏڙ͢Δ
 '"2ݕࡧγεςϜ