Slide 1

Slide 1 text

ࣗવݴޠॲཧΛࢧ͑Δٕज़ ʙཁૉٕज़ͱPerlͷ׆༻ʙ Hideaki Ohno

Slide 2

Slide 2 text

About me w)JEFBLJ0IOP w5XJUUFSIBUFOBOQNIJEF@P@ w(JU)VCIJEFP w1"64&)*%&",*0 w'BWPSJUF1SPHSBNJOH-BOHVBHF w$$+BWB4DJSQU1FSM

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Ͳ͏Έͯ΋NoderͰ͢ɻ ຊ౰ʹʢ͈́

Slide 5

Slide 5 text

Agenda •ࣗવݴޠॲཧͷ֓ཁ •ࣗવݴޠॲཧͷཁૉٕज़ •ΞϧΰϦζϜ •σʔλߏ଄ •πʔϧ •ϥΠϒϥϦ

Slide 6

Slide 6 text

૝ఆର৅ऀ • Perlʹ͍ͭͯ͸CPANϞδϡʔϧΛ׆༻ͯ͠ɺ΍Γ͍ͨ͜ͱΛ࣮ ݱͰ͖Δ • ࣗવݴޠॲཧʹ͍ͭͯڵຯ͸͋Δ͕ܦݧ͸ͳ͍

Slide 7

Slide 7 text

ࣗવݴޠॲཧ զʑ͕ීஈ࢖͍ͬͯΔ ݴޠΛίϯϐϡʔλʹ ॲཧͤ͞Δٕज़

Slide 8

Slide 8 text

ࣗવݴޠॲཧ ͔ͳ׽ࣈม׵

Slide 9

Slide 9 text

ࣗવݴޠॲཧ ৘ใݕࡧ

Slide 10

Slide 10 text

ࣗવݴޠॲཧ ػց຋༁

Slide 11

Slide 11 text

ࣗવݴޠॲཧ ৘ใநग़

Slide 12

Slide 12 text

ࣗવݴޠॲཧ ࣗಈཁ໿

Slide 13

Slide 13 text

ࣗવݴޠॲཧ จষੜ੒

Slide 14

Slide 14 text

ࣗવݴޠॲཧ Ի੠ೝࣝ

Slide 15

Slide 15 text

ࣗવݴޠॲཧ จࣈೝࣝ

Slide 16

Slide 16 text

ࣗવݴޠॲཧ •ϧʔϧϕʔε •౷ܭతֶशϞσϧ

Slide 17

Slide 17 text

ϧʔϧϕʔε • ਓखͰϧʔϧΛఆٛͯ͠ॲཧ͢Δ • ෼໺ʹΑͬͯ͸ݱࡏͰ΋౷ܭֶशϞσϧΑΓߴਫ਼౓ • ௕ॴ • ਓखʹΑΔௐ੔͕Ͱ͖Δ • ୹ॴ • ϧʔϧͷϝϯςφϯείετ • ϧʔϧͷ࡞੒ʹઐ໳஌͕ࣝඞཁ • ྫ֎ͷଟ͍υϝΠϯ΁ͷద༻͕ۤख

Slide 18

Slide 18 text

౷ܭతֶशϞσϧ • ػցֶशʹΑΓϧʔϧΛಋ͖ग़͠ॲཧΛߦ͏ɻ • ௕ॴ • ௥ՃֶशʹΑΓ৽͍͠υϝΠϯ΁ͷద༻͕Մೳ • ୹ॴ • ύϥϝʔλͷௐ੔͕೉͍͠ • ֶशσʔλͷ࡞੒ίετ

Slide 19

Slide 19 text

ࣗવݴޠॲཧͷཁૉٕज़

Slide 20

Slide 20 text

ओʹςΩετղੳؔ܎ͷٕज़ Λ঺հ

Slide 21

Slide 21 text

ܗଶૉղੳ

Slide 22

Slide 22 text

ܗଶૉղੳͱ͸ •ࣗવݴޠจͷܗଶૉ(Morpheme)୯Ґʹ෼ׂ͠ɺ඼ࢺͳͲΛ෇༩͢Δ ॲཧ •ܗଶૉͱ͸ͦͷݴޠʹ͓͚Δ࠷খ୯Ґɻجຊతʹ͸୯ޠͩͱࢥͬͯྑ ͍ •ݱࡏɺར༻͞Ε͍ͯΔ࣮૷ͷଟ͘͸඼ࢺ͚ͩͰ͸ͳ͘ɺ׆༻ͷछྨɺ ݪܗɺಡΈͳͲͷ෇༩Λߦ͏Α͏ʹͳ͍ͬͯΔ •Ϟσϧ࣍ୈͰ୯ޠʹؔ࿈͢Δ༷ʑͳଐੑΛ෇༩Ͱ͖Δ •͜ͷॲཧΛߦ͏ϓϩάϥϜΛܗଶૉղੳث(Morphlogical Analyzer)ͱ͍͏ •Morphlogical Analyzer = Word Segmenter + POS Tagger + Lemmatizer + α

Slide 23

Slide 23 text

ܗଶૉղੳثͷ࢓૊Έ ܗଶૉղੳثͰར༻͞Ε͍ͯΔख๏(ίετ࠷খ๏)ͷ͓͓·͔ͳ࢓ ૊Έ ! 1.୯ޠࣙॻΛ༻ҙ͢Δɻ୯ޠࣙॻʹ͸୯ޠͷੜىίετ(୯ޠͷग़ ݱ֬཰)ɺ඼ࢺ౳ͷ৘ใ͕֨ೲ͞Ε͍ͯΔɻ(ࣙॻʹ͍ͭͯ͸ޙड़) ! 2.୯ޠࣙॻΛར༻ͯ͠ɺೖྗจʹؚ·ΕΔ୯ޠީิΛྻڍ͢Δɻ

Slide 24

Slide 24 text

ܗଶૉղੳثͷ࢓૊Έ 3.ྻڍͨ͠୯ޠΛจ಄͔Βจ຤·Ͱฒ΂ͯɺ૊ Έ߹Θͤͨߏ଄(Latticeߏ଄)Λ࡞੒͢Δɻ ࠷΋͔֬Β͍͠୯ޠ۠੾Γͱ඼ࢺͷ૊Έ߹ΘͤΛಘ͍ͨ

Slide 25

Slide 25 text

ܗଶૉղੳثͷ࢓૊Έ 4.͜͜ͰҎԼͷίετΛઃఆ͢Δɻ ୯ޠͷੜىίετ(୯ޠͷग़ݱ֬཰͕ߴ͍΄Ͳ௿ίετ) " ௖఺Λ௨ Δίετ ࿈઀ίετ(඼ࢺͷྡ઀֬཰͕ߴ͍΄ͱ௿ίετ)ɹ" ลΛ௨Δίετ

Slide 26

Slide 26 text

ܗଶૉղੳثͷ࢓૊Έ 5.߹ܭίετ͕࠷΋খ͞ͳܦ࿏Λ୳ࡧ͢Δɻ ͔͠͠ ࣮ࡍͷॲཧͰ͸૊Έ߹Θͤͷ਺͸๲େ

Slide 27

Slide 27 text

ܗଶૉղੳثͷ࢓૊Έ ಈతܭը๏(DP)ͷग़൪

Slide 28

Slide 28 text

ܗଶૉղੳثͷ࢓૊Έ ViterbiΞϧΰϦζϜ •ಈతܭը๏ͷҰछ •ӅΕϚϧίϑϞσϧ(HMM)ʹجͮ͘ •؍ଌ͞Εͨࣄ৅ܥྻΛग़ྗͨ͠Մೳੑ͕࠷΋ߴ ͍ঢ়ଶྻΛਪఆ͢Δ

Slide 29

Slide 29 text

ܗଶૉղੳثͷ࢓૊Έ 6.ViterbiΞϧΰϦζϜͰ୳ࡧͨ͠࠷΋ίετͷ௿͍୯ޠ ྻΛग़ྗ͢Δɻ ! ࣮ࡍ͸͜ΕʹՃ͑ͯɺࣙॻʹଘࡏ͠ͳ͍୯ޠ(ະ஌ޠ)Ͱ ͋ͬͯ΋ɺ෼ׂҐஔΛਪఆͰ͖ΔΑ͏ͳ޻෉͕ͳ͞Ε͍ͯ Δɻ(จࣈछʹجͮ͘ώϡʔϦεςΟοΫॲཧͳͲ)

Slide 30

Slide 30 text

ܗଶૉղੳث •Mecab •KyTEA •JUMAN •KAKASI ܗଶૉղੳثͷྫ

Slide 31

Slide 31 text

Mecab •৚݅෇͖֬཰৔(CRF)ʹجͮ͘ղੳ •ࣙॻʹ͸μϒϧ഑ྻ(ޙड़)Λ࢖༻ •Darts(Double-Array TRie System) •Ϣʔβࣙॻɺ෦෼ղੳػೳͰڥք൑ఆΛΧελϚΠζՄೳ •PerlόΠϯσΟϯά(SWIGͰੜ੒)෇ଐ •Text::Mecab

Slide 32

Slide 32 text

ڥք൑ఆͷิਖ਼͕ඞཁͳࣄྫ •ʮͳͷ͸ʯ໰୊ •ॿࢺͳͲͱͯ͠ѻΘΕͯ͠·͏ •๭ຐ๏গঁΛݻ༗໊ࢺͱͯ͠ѻ͍͍ͨ •ʮϞʔχϯά່ɻʯɺʮ౻Ԭ߂ɺʯ໰୊ •۟ಡ఺Ͱ෼ׂ͞Εͯ͠·͏ ҰൠจίʔύεʹΑΔֶशͰ͸ѻ͍ͮΒ͍΋ͷ

Slide 33

Slide 33 text

JUMAN •1992೥ެ։ •ίετ͸ਓखͰ෇༩ •PerlόΠϯσΟϯά(SWIGͰੜ੒)෇ଐ

Slide 34

Slide 34 text

KyTea •จࣈ୯ҐͰͷ෼ׂҐஔɺλάਪఆ •SVM΍ϩδεςΟοΫճؼʹΑΔਪఆ •෦෼ΞϊςʔγϣϯʹΑΔ௥Ճֶश •Text::KyTea

Slide 35

Slide 35 text

KAKASI •׽ࣈ"͔ͳ(ϩʔϚࣈ)ม׵ϓϩάϥϜ •୯ޠ෼ׂʹ΋ରԠ •Text::KAKASI

Slide 36

Slide 36 text

ࣙॻͰ࢖༻͞ΕΔσʔλߏ଄

Slide 37

Slide 37 text

Trie • ॱং෇͖໦ߏ଄ͷҰछ • ໦ߏ଄্ͷϊʔυͷҐஔͱΩʔ͕ରԠ͍ͯ͠Δ • ऴ୺·Ͱ෼ذͷͳ͍ϥϕϧΛTAIL഑ྻʹऩΊΔMinimal Prefix Trieɺ෼ ذͷͳ͍ϊʔυͷϥϕϧΛ1ͭͷϊʔυ·ͱΊΔύτϦγΞTrieͳͲͷѥछ΋ ͋Δ

Slide 38

Slide 38 text

Trieͷಛ௃ •Ωʔͷݕࡧ͕ߴ଎ɻ௕͞ m ͷΩʔݕࡧ͸࠷ѱ Ͱ O(m) •ڞ௨͢Δ઀಄͕ࣙ·ͱΊΒΕΔͷѹॖޮՌ͕͋ Δ •ڞ௨͢Δ઀಄ࣙΛ࣋ͭΩʔͷྻڍ͕༰қ

Slide 39

Slide 39 text

TrieΛදݱ͢Δσʔλߏ଄

Slide 40

Slide 40 text

ιʔτࡁΈ഑ྻ •Trieͷ֤ϊʔυͷࢠϊʔυΛϥϕϧͰιʔτ •୳ࡧ࣌͸ࢠϊʔυΛೋ෼୳ࡧ •ݕࡧͷܭࢉྔ͸O(log n)

Slide 41

Slide 41 text

μϒϧ഑ྻ • BaseͱCheckͷ2ͭͷ഑ྻͰTrieͷϊʔυؒͷભҠΛදݱɻ • αΠζ͕ίϯύΫτͰඇৗʹߴ଎ʹݕࡧͰ͖Δɻ • ݕࡧͷܭࢉྔ͸O(1)ɻ࣮ࡍʹ͸Ωʔͷ௕͞ʹґଘɻ • Perl͔Β͸Text::Darts͕ར༻Ͱ͖Δ

Slide 42

Slide 42 text

LOUDS • Trieͷߏ଄ΛϏοτྻͰදݱ • ؆ܿϏοτϕΫτϧΛར༻͢Δ͜ͱͰαΠζΛѹॖͭͭ͠ߴ଎ͳΞΫηε͕Մೳ • ؆ܿϏοτϕΫτϧ͸ҎԼͷૢ࡞Λఏڙ͢Δ • access(i): ϏοτϕΫτϧͷi൪໨ͷ஋Λฦ͢ • rank(i): ઌ಄͔Βi൪໨·Ͱͷ1(·ͨ͸0)ͷ਺Λฦ͢ • select(i): i൪໨ʹग़ݱ͢Δ1(·ͨ͸0)ͷҐஔΛฦ͢ • ҰఆͷϒϩοΫຖʹ1ͷ਺Λอ࣋ͨ͠rankࣙॻΛར༻͢Δ͜ͱͰrank(i)͸ ఆ਺࣌ؒͰॲཧՄೳ • select(i)͸rankࣙॻͷೋ෼୳ࡧͰO(log n)ͰॲཧՄೳ • Perl͔Β͸Text::Tx(tx-trie), Text::Ux(ux-trie)ɺmarisa- trie(SWIG)౳͕ར༻Մೳ

Slide 43

Slide 43 text

܎Γड͚ղੳ

Slide 44

Slide 44 text

܎Γड͚ղੳͱ͸ •֤୯ޠɾจઅؒͷ܎Γड͚ߏ଄Λൃݟ͢Δ •جຊతʹ͸ܗଶૉղੳثͷग़ྗΛೖྗͱ͢Δ •͜ͷॲཧΛߦ͏ϓϩάϥϜΛ܎Γड͚ղੳثͱ ͍͏

Slide 45

Slide 45 text

܎Γड͚ղੳͷ࢓૊Έ •Shift-reduce •ࠨ͔Βӈ΁ᩦཉతʹղੳ •ߴ଎ɺগ͠ਫ਼౓͕௿͍ •શҬ໦ •จશମͷ܎Γड͚Λ࠷దԽ •ਫ਼౓͕গ͠ߴ͘ɺεϐʔυ͕গ͠མͪΔ •νϟϯΫಉఆͷஈ֊ద༻ •୯ޠΛ۟ʹνϟϯΩϯά •਌Λൃݟ ɹͷ܁Γฦ͠

Slide 46

Slide 46 text

Shift-Reduce • ࠨ͔Βӈ΁୯ޠΛ̍ݸͣͭॲཧ • QueueͱStackΛར༻ͯ͠ॲཧ • Queue : ະॲཧͷ୯ޠΛ֨ೲ • Stack : ॲཧதͷ୯ޠΛ֨ೲ • ֤࣌఺Ͱ 1 ͭͷಈ࡞Λબ୒ • shift: 1 ୯ޠΛΩϡʔ͔ΒελοΫ΁Ҡಈ • reduce ࠨ : ελοΫͷ̍୯ޠ໨͸̎୯ޠ໨ͷ਌ • reduce ӈ : ελοΫͷ̍୯ޠ໨͸̎୯ޠ໨ͷ਌ • ෼ྨثΛ࢖ͬͯͲͷಈ࡞ΛऔΔ͔Λֶश

Slide 47

Slide 47 text

શҬ໦ •୯ޠΛ௖఺ͱͨ͠༗޲άϥϑΛ࡞Δ •άϥϑͷล͕܎Γड͚ •ػցֶशͨ͠σʔλΛݩʹ֤ลʹείΞΛ෇༩ •είΞ͕࠷େͱͳΔ໦͕܎Γड͚ߏ଄Λද͢ߏ จ໦ͱͳΔ

Slide 48

Slide 48 text

νϟϯΫಉఆͷஈ֊ద༻ •จΛνϟϯΫʹ෼ׂɺ਌Λӈͷ୯ޠʹ͢Δ •νϟϯΫ෼ׂ͕Ͱ͖ͳ͘ͳͬͨ࣌఺Ͱߏจ໦͕ ׬੒

Slide 49

Slide 49 text

܎Γड͚ղੳث •CaboCha •KNP •J.DepP

Slide 50

Slide 50 text

CaboCha •SVMʹجͮ͘ղੳ •ࣙॻʹ͸μϒϧ഑ྻΛ࢖༻ •ݻ༗දݱղੳ •ݻ༗໊ࢺ(૊৫ɺਓ໊ɺ஍໊ͳͲ)ɺ೔෇දݱɺ࣌ؒදݱ ͳͲΛ൑ఆ •PerlόΠϯσΟϯά෇ଐ(SWIG)

Slide 51

Slide 51 text

KNP •2003೥ʹެ։͞Εͨ܎Γड͚ղੳ/֨ղੳث •JUMANͷग़ྗΛೖྗͱ͢Δ •PerlόΠϯσΟϯά෇ଐ(SWIG)

Slide 52

Slide 52 text

J.DepP •2009೥ʹެ։͞Εͨ೔ຊޠ܎Γड͚ղੳث •લड़ͷख๏ΛؚΊෳ਺ͷղੳख๏Λαϙʔτ •SVM, MaxEntͳͲෳ਺ͷֶशख๏Λαϙʔτ •OpalʹΑΔΦϯϥΠϯֶश •PerlόΠϯσΟϯά෇ଐ(SWIG)

Slide 53

Slide 53 text

ҙຯղੳ-֨ղੳ • ֨ߏ଄ɿจͷҙຯߏ଄Λ ಈࢺ-ਂ૚֨-໊ࢺ ͱ͍͏ؔ܎ͷू߹ͱͯ͠ั͑ͨ΋ͷ • ද૚֨ɿΨ֨ɼϮ֨ɼχ֨ • ਂ૚֨ɿಈ࡞ओ֨, ର৅֨, ৔ॴ֨, ࣌ؒ֨ͳͲ • KNP

Slide 54

Slide 54 text

ҙຯղੳ-ड़ޠ߲ߏ଄ղੳ •จষதͷ֤ड़ޠͷʮ߲ʯͱͳΔ໊ࢺ۟ͳͲΛ౰ ͯΔ •ड़ޠͷಈ࡞ओମͱͳΔ໊ࢺ͸ͲΕ͔ •SynCha •Perl੡

Slide 55

Slide 55 text

ݴޠϞσϧ •ࣗવݴޠΒ͠͞Λ֬཰Ͱද͢Ϟσϧ •͔ͳ׽ࣈม׵΍ػց຋༁ͳͲͰར༻͞ΕΔ •Α͘ར༻͞ΕΔͷ͕ N-gramݴޠϞσϧ

Slide 56

Slide 56 text

N-gramݴޠϞσϧ •Nݸͷ୯ޠྻ͕ग़ݱ͢Δ֬཰Λ֨ೲͨ͠Ϟσϧ •0-gram: ୯ޠͷੜى֬཰͸౳֬཰ •1-gram: ୯ޠͷग़ݱ֬཰ •2-gram: W_i-1ͷޙΖʹWi͕ग़ݱ͢Δ৚݅෇͖֬཰ •n-gram: n ୯ޠͱ n-1 ୯ޠ͔ΒͳΔจࣈྻͷ֬཰Λར༻ •wi−n+1…wi−1ͷޙΖʹW_i͕ग़ݱ͢Δ৚݅෇͖֬཰

Slide 57

Slide 57 text

N-gramݴޠϞσϧͷ՝୊ ݴޠϞσϧʹଘࡏ͠ͳ͍୯ޠ(ະ஌ޠ)͕ग़ݱ͢Δͱ֬ ཰͸0Ͱ͋ΔͨΊɺจͷείΞΛద੾ʹࢉग़Ͱ͖ͳ͍ ! " ະ஌ޠΛؚΉN-gramʹԿΒ͔ͷ֬཰ΛׂΓ౰ͯΔ: εϜʔδϯά

Slide 58

Slide 58 text

εϜʔδϯά •ՃࢉεϜʔδϯά •શͯͷ֬཰ʹҰఆͷ஋ΛՃࢉͯ͠ɺ0ʹͳΒͳ ͍Α͏ʹ͢Δɻ •ਫ਼౓͕ѱ͍ •ઢܗิ׬๏ •N-1, N-2 … 1gramͱ͍ͬͨ௿࣍N-gramͷ ֬཰Λར༻ͯ͠N-gramͷ֬཰Λਪఆ͢Δ

Slide 59

Slide 59 text

εϜʔδϯά •Back-off •ֶशσʔλͰग़ݱ͢Δͱ͖͸άουνϡʔϦ ϯάͷਪఆ஋Λ࢖ͬͯɺग़ݱ͠ͳ͍ͱ͖͸ (1-શͯͷग़ݱ͢Δ৔߹ͷਪఆ஋ͷ࿨)Λग़ݱ ͠ͳ͍୯ޠʹۉ౳ʹ֬཰Λ෼഑͢Δ

Slide 60

Slide 60 text

εϜʔδϯά •Kneeser-NeyεϜʔδϯά •ߴ଎ •௿࣍N-gramͱ௚લͷ୯ޠͷछྨ਺Λ༻͍Δ •Modified Kneeser-NeyεϜʔδϯάɺ Interpolated Kneeser-NeyεϜʔδϯάͳͲ೿ੜ͋ Γ

Slide 61

Slide 61 text

ࣗવݴޠॲཧͰ໾ཱͭ PerlϞδϡʔϧ

Slide 62

Slide 62 text

Regexp::Assemble • ෳ਺ͷਖ਼نදݱʹϚον͢Δߴ଎ͳਖ਼نදݱΛੜ੒ • ͲͷύλʔϯʹϚον͔ͨࣝ͠ผՄೳ

Slide 63

Slide 63 text

Parse::RecDescent •BNF-likeͳจ๏ఆ͔ٛΒ࠶ؼԼ߱ύʔαʔΛ ੜ੒

Slide 64

Slide 64 text

Data::Iterator::SlidingWindo w •੿࡞ •Slinding Window ΞϧΰϦζϜʹΑͬͯίϨ ΫγϣϯΛάϧʔϐϯάͯ͠ɺΠςϨʔλͰऔ Γग़͢͜ͱ͕Ͱ͖Δ •୯ޠͷN-Gramੜ੒ͳͲʹར༻Ͱ͖Δ

Slide 65

Slide 65 text

Algorithm::NaiveBayes •Naive Bayes๏ʹΑΔ෼ྨث •গͳ͍܇࿅σʔλͰ΋෼ྨͷͨΊͷύϥϝʔλ Λݟੵ΋Δ͜ͱ͕Ͱ͖Δ

Slide 66

Slide 66 text

Algorithm::SVM •libsvmͷPerlόΠϯσΟϯά •libsvn • SVM(Support Vector Machine)ʹجͮ ͘ઢܗ෼ྨثͷ࣮૷

Slide 67

Slide 67 text

Algorithm::LibLinear •liblinearͷPerlόΠϯσΟϯά •liblinear •ઢܗ෼ྨث •libsvnΑΓߴ଎

Slide 68

Slide 68 text

Algorithm::AdaBoost •AdaBoost(Adaptive Boosting)ΞϧΰϦζ ϜͷPerl-XS࣮૷

Slide 69

Slide 69 text

Algorithm::AdaGrad •੿࡞ •ΦϯϥΠϯֶशΞϧΰϦζϜ AdaGrad(Adaptive Gradient)ͷPerl-XS ࣮૷

Slide 70

Slide 70 text

Algorithm::HyperLogLog •੿࡞ •ू߹ͷΧʔσΟφϦςΟΛਪఆ͢Δ HyperLogLog ΞϧΰϦζϜͷPerl-XS࣮૷ •ޡࠩΛؚΉ͕লϝϞϦͰू߹ͷΧʔσΟφϦςΟ ΛಘΔ͜ͱ͕Ͱ͖Δ

Slide 71

Slide 71 text

Algorithm::LBFGS •L-BFGS๏ͷ࣮૷ •লϝϞϦͰ४χϡʔτϯ๏ •ؔ਺ͷޯ഑͕0ʹͳΔͱ͍͏ҙຯͰͷؔ਺ͷෆ ಈ఺Λݟ͚ͭΔ

Slide 72

Slide 72 text

WWW::Mechanize •ਓ͕ؒϒϥ΢βͰߦ͏ૢ࡞ΛΤϛϡϨʔτ •Web্ͷ৘ใऩूʹศར

Slide 73

Slide 73 text

Web::Query •jQueryͬΆ͍ײ͡ͰεΫϨΠϐϯάͰ͖Δ

Slide 74

Slide 74 text

ࣗવݴޠॲཧʹ͓͚Δ Perlͷ໾ׂ •ॊೈͳςΩετॲཧೳྗΛ׆͔ͨ͠લॲཧɾޙॲཧ •֤छπʔϧͷೖྗɾग़ྗςΩετͷϑΥʔϚοτม׵ͳͲ •εΫϨΠϐϯάʹΑΔݴޠϦιʔεͷऩू •ϓϩτλΠϐϯά •ࣗવݴޠॲཧπʔϧͷଟ͘͸C++ •PerlͱC++͸είʔϓͷѻ͍͕ࣅ͍ͯΔͷͰɺείʔϓΨʔυͳ ͲͷΠσΟΦϜ͕ͦͷ··Ҡ২Ͱ͖Δ

Slide 75

Slide 75 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠