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

KWJA:汎用言語モデルに基づく日本語解析器 / kyoto-waseda-japanese-analyzer

Nobuhiro Ueda
September 29, 2022

KWJA:汎用言語モデルに基づく日本語解析器 / kyoto-waseda-japanese-analyzer

第253回自然言語処理研究会の発表資料です。

Nobuhiro Ueda

September 29, 2022
Tweet

Other Decks in Research

Transcript

  1. ,8+"ɿ൚༻ݴޠϞσϧʹجͮ͘ ೔ຊޠղੳث ২ా ெେ େଜ ࿨ਖ਼ ࣇۄ وࢤ ਗ਼ؙ ׮Ұ

    ଜ࿬ ༗ޗ Տݪ େี ࠇڮ ఓ෉ ژ౎େֶ / ૣҴాେֶ 2022/9/29 ୈ253ճࣗવݴޠॲཧݚڀձ@ژ౎େֶ
  2. ͸͡ΊʹɿFOEUPFOEWTݴޠղੳʢʣ ػց຋༁Λ͸͡ΊɺNLPλεΫͰ͸ end-to-end Ϟσϧ͕ओྲྀ 2022/9/29 Kyoto University 2 FOEUPFOEϞσϧ 5SBOTGPSNFS

    ͋ͳͨ͸ೣ͕޷͖Ͱ͔͢ɻ ࢲ͸৘ใֶΛઐ߈͍ͯ͠·͢ɻ … Do you like cats? I major in informatics. … ػց຋༁ [Vaswani+, 2017] ର࿩Ԡ౴ੜ੒ [Roller+, 2021] FOEUPFOEϞσϧ 5SBOTGPSNFS I enjoy hard rock. I am starting to get into yoga! … … That’s cool. Do you have a favorite … Yoga is great for the body and mind … …
  3. ͸͡Ίʹɿैདྷͷݴޠղੳπʔϧ ͜Ε·ͰղੳλεΫ͝ͱʹπʔϧ͕ݸผʹ։ൃ͞Ε͖͕ͯͨɿ • ར༻͕ࠔ೉ɿπʔϧ͝ͱʹ࢖͍ํΛཧղ͢Δඞཁ • ϝϯςφϯε͕ࠔ೉ɿπʔϧ͝ͱʹ࣮૷Λ؅ཧɾमਖ਼͢Δඞཁ 2022/9/29 Kyoto University 4

    形態素解析結果 構⽂解析結果 述語項構造解析結果 談話関係解析結果 タイポ修正結果 TFRTFRʹجͮ͘λΠϙగਖ਼γεςϜ <ాதΒ > +VNBO .F$BC ,/1 $BCP$IB #&35ʹΑΔड़ޠ߲ߏ଄ղੳث <6FEB > #&35ʹΑΔஊ࿩ؔ܎ղੳث <,JZPNBSV > ςΩετ
  4. ,8+"ɿ൚༻ݴޠϞσϧʹجͮ͘೔ຊޠղੳث ൚༻ݴޠϞσϧΛج൫ͱ͠ɺ୯ମͰ͋ΒΏΔݴޠղੳΛ࣮ߦ͢Δ ೔ຊޠͷ౷߹తݴޠղੳثKWJA (Kyoto-Waseda Japanese Analyzer) Λ։ൃ • ར༻͕༰қɿπʔϧ୯ମͰ͋ΒΏΔݴޠղੳ͕Մೳ •

    ϝϯςφϯε͕༰қɿ൚༻ݴޠϞσϧʹΑΓڞ௨࣮ͨ͠૷Λ࣮ݱ 2022/9/29 Kyoto University 5 形態素解析結果 構⽂解析結果 述語項構造解析結果 談話関係解析結果 タイポ修正結果 ,8+" จࣈղੳϞσϧɾ୯ޠղੳϞσϧ ςΩετ
  5. ؔ࿈ݚڀɿTQB$Z (J/;" • Universal Dependencies (UD) ʹجͮ͘ଟݴޠ౷߹తجૅղੳث • ೔ຊޠϞσϧ͸೔ຊޠ UD

    ίʔύε͔ΒֶशՄೳͳݴޠղੳ ʢܗଶૉղੳɺߏจղੳɺݻ༗දݱೝࣝʣΛ࣮ߦ ▶ KWJA は基礎解析の前処理であるタイポ修正から⾼レイヤの⾔語解析 である述語項構造解析・談話関係解析までサポート(ここまで統合的に解 析を⾏う解析器は存在しない) *GiNZAͰ͸ܗଶૉղੳʹ Sudachi Λ࢖༻ • ͢΂ͯͷݴޠͰ౷Ұతͳํ๏ͰղੳثΛ܇࿅ ▶ ⽇本語特有の現象(省略等)への対応は困難 2022/9/29 Kyoto University 6
  6. ,8+"ͷղੳϑϩʔ • ܭࢉίετ࡟ݮͷͨΊՄೳͳݶΓϚϧνλεΫͰղੳΛڞ௨Խ • ڞ௨ԽͰ͖ͳ͍෦෼͸ύΠϓϥΠϯॲཧ 1. ೖྗޡΓగਖ਼ɿޡࣈɾ୤ࣈͳͲΛగਖ਼ 2. จࣈϨϕϧղੳɿจࣈྻΛਖ਼نԽͭͭ͠୯ޠྻʹ෼ׂ 3.

    ୯ޠϨϕϧղੳɿͦͷଞ୯ޠʹجͮ͘ॲཧ 2022/9/29 Kyoto University 7 ࠓ೔Θ੖Εͩ ෼͔ͪॻ͖ ୯ޠਖ਼نԽ ܗଶૉղੳ ஊ࿩ؔ܎ղੳ ộ ೖྗޡΓగਖ਼ ࠓ೔͸੖Εͩ ࠓ೔ ͸ ੖Ε ͩ จࣈྻ จࣈྻ ୯ޠྻ # S-ID:1 kwla:0.1.0 * 1D + 1D <NE:DATE:今⽇><体⾔><時間> 今⽇ 今⽇ 今⽇ 名詞 6 時相名詞 10 * 0 * 0 <基本句-主辞> は は は 助詞 9 副助詞 2 * 0 * 0 * -1D + -1D <rel type=“ガ” target=“今⽇" sid="1" id=”0"/><⽤ ⾔:判><体⾔><時制:⾮過去><節-主辞><節-区切><レベル:C>< 状態述語> 晴れ 晴れ 晴れ 名詞 6 普通名詞 1 * 0 * 0 <基本句-主辞>< ⽤⾔表記先頭><⽤⾔表記末尾> だ だ だ 判定詞 4 * 0 判定詞 25 基本形 2 EOS ղੳ݁Ռ ộ ộ ộ 1. 2. 3.
  7. ,8+"͕࣮ߦ͢Δݴޠղੳ 2022/9/29 Kyoto University 8 処理単位 タスク 定式化 จࣈ ೖྗޡΓగਖ਼

    ܥྻϥϕϦϯά ෼͔ͪॻ͖ ܥྻϥϕϦϯά ୯ޠਖ਼نԽ ܥྻϥϕϦϯά ୯ޠ αϒϫʔυ ܗଶૉղੳ ܥྻϥϕϦϯά ݻ༗දݱೝࣝ ܥྻϥϕϦϯά ݴޠૉੑ෇༩ ܥྻϥϕϦϯά ߏจղੳ ୯ޠબ୒ ड़ޠ߲ߏ଄ղੳ ୯ޠબ୒ ڮ౉͠রԠղੳ ୯ޠબ୒ ڞࢀরղੳ ୯ޠબ୒ ஊ࿩ؔ܎ղੳ ୯ޠؒؔ܎෼ྨ B-TIME [CLS] … 2001 … 年 … 夏 … 中⽥ … 英 … I-TIME B-PER I-TIME I-PER ##寿 … は … ローマ … I-PER O から … 移籍 … [SEP] … O O B-ORG ݻ༗දݱநग़ʢܥྻϥϕϦϯάʣͷྫ [CLS] … 彼 … だけ … が … 古 … ##びた … 京都 … の … 宿 … に … 泊 … ##まった … らしい … [SEP] … [ROOT] … ソフトマックス関数 !(#! |#" ) & (#! , #" ) 主辞 #" 2.6 0.8 0.7 7.4 2.3 1.5 FFN FFN FFN FFN FFN FFN FFN FFN FFN FFN 2.2 10.3 6.4 0.9 0.00 0.00 0.00 0.05 0.00 0.00 0.00 0.93 0.02 0.00 ߏจղੳʢ୯ޠબ୒ʣͷྫ
  8. ೖྗޡΓగਖ਼ • λεΫɿςΩετதͷೖྗޡΓΛݕ஌ɾमਖ਼ • ྫʣޡࣈగਖ਼ɿਓޱ஌ೳ → ਓ޻஌ೳ ୤ࣈగਖ਼ɿ༗ྗ͋Δ → ༗ྗͰ͋Δ

    ᔤࣈగਖ਼ɿ͓ੈ࿩ʹʹͳͬͯ → ͓ੈ࿩ʹͳͬͯ • ղ͖ํɿจࣈ୯ҐܥྻϥϕϦϯά 2022/9/29 Kyoto University 9 I:x ௚લʹxΛૠೖ K ͦͷ·· D ࡟আ R:x xͰஔ׵ ਓ ޱ ஌ ೳ ͕ ͕ ༗ ྗ ͋ Δ <%VNNZ> <$-4> ൚༻ݴޠϞσϧ I:NULL I:NULL I:NULL I:NULL I:NULL I:NULL I:NULL I:NULL I:Ͱ I:NULL I:NULL K R:޻ K K K D K K K K −
  9. จࣈ୯ҐλεΫɿ෼͔ͪॻ͖ɾ୯ޠਖ਼نԽ • ෼͔ͪॻ͖ɿจࣈྻΛ୯ޠʢܗଶૉʣྻʹ෼ׂ • ୯ޠਖ਼نԽɿඇඪ४දهͱ࿈୙Λਖ਼نԽ • ྫʣඇඪ४දهɿͼΈΐʔʔʔ → ͼΈΐ͏ ࿈୙ɿ্ւΨχ

    → ্ւΧχ • ղ͖ํɿจࣈ୯ҐܥྻϥϕϦϯά 2022/9/29 Kyoto University 10 B ୯ޠ։࢝Ґஔ I ୯ޠதؒҐஔ K ͦͷ·· D ࡟আ P ௕ԻූΛ฼Իʹஔ׵ V ୙ԻΛਗ਼Իʹஔ׵ ộ ộ ͼ Έ ΐ ʔ ʔ ʜ ্ ւ Ψ χ <4&1> <$-4> ൚༻ݴޠϞσϧ B I I I I … B I B I K K K P D … K K V K
  10. ୯ޠ୯ҐλεΫɿܗଶૉղੳʢ∌෼͔ͪॻ͖ʣ • λεΫɿ୯ޠʢαϒϫʔυʣʹର͠ɺ඼ࢺɾ඼ࢺࡉ෼ྨɾ ׆༻ܕɾ׆༻ܗɾݪܗɾಡΈɾҙຯ৘ใΛ෇༩ • ղ͖ํɿαϒϫʔυ୯ҐܥྻϥϕϦϯά 2022/9/29 Kyoto University 11

    ίΠϯ τε Λ  ճ ߦ͏ ɻ ද ͕ ʜ <4&1> <$-4> ൚༻ݴޠϞσϧ ໊ࢺ ໊ࢺ ֨ॿࢺ ໊ࢺ ઀ඌࣙ ಈࢺ ಛघ ໊ࢺ ֨ॿࢺ … − − − − − ࢠԻಈࢺϫߦ − − − … ͍͜Μ ͱ͢ Λ ͞Μ ͔͍ ͓͜ͳ͏ ɻ ͓΋ͯ ͕ …
  11. ୯ޠ୯ҐλεΫɿݻ༗දݱೝࣝ • λεΫɿจதͷݻ༗දݱΛೝࣝ • ྫʣؾ৅ிʹΑΔͱҰ೔ޕޙ࢛࣌͝Ζɺژ౎ࢢͰ஍਒͕ൃੜͨ͠ɻ • ղ͖ํɿαϒϫʔυ୯ҐܥྻϥϕϦϯά + CRF 2022/9/29

    Kyoto University 12 ORGANIZATION DATE TIME LOCATION ؾ৅ ி ʹ ΑΔ ͱ Ұ ೔ ޕޙ ࢛ ʜ <4&1> <$-4> ൚༻ݴޠϞσϧ B:ORG I:ORG O O O B:DATE I:DATE B:TIME I:TIME … $3'
  12. ୯ޠ୯ҐλεΫɿݴޠૉੑ෇༩ • λεΫɿ୯ޠ͓Αͼجຊ۟ʹݴޠૉੑΛ෇༩ • ୯ޠૉੑɿجຊ۟ओࣙɺجຊ۟-۠੾ɺจઅ-۠੾ɺ༻ݴදهઌ಄ɾ຤ඌ • جຊ۟ૉੑɿ༻ݴɺମݴɺঢ়ଶड़ޠɺಈଶड़ޠɺઅ-ओࣙɺઅ-۠੾ɺ… • ղ͖ํɿαϒϫʔυ୯ҐܥྻϥϕϦϯά 2022/9/29

    Kyoto University 13 ίΠϯ τε Λ  ճ ߦͬͨ ɻ ද ͕ ʜ <4&1> <$-4> ൚༻ݴޠϞσϧ جຊ۟ओࣙ 1.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 … جຊ۟-۠੾ 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 … ༻ݴ 0.0 0.0 − 0.0 − 1.0 − 0.0 − … ମݴ 1.0 1.0 − 1.0 − 0.0 − 1.0 − …
  13. ୯ޠ୯ҐλεΫɿߏจղੳ • λεΫɿ୯ޠؒͷ܎Γड͚͓Αͼ܎Γड͚λΠϓΛղੳ • ܎Γड͚λΠϓɿDʢ௨ৗͷ܎Γड͚ʣɺPʢฒྻʣɺAʢಉ֨ʣɺ Iʢ෦෼ฒྻʣ • ղ͖ํɿαϒϫʔυ୯Ґ୯ޠબ୒ [ࣲాΒ, 2019]

    + ୯ޠؒؔ܎෼ྨ 2022/9/29 Kyoto University 14 ൴ ͚ͩ ͕ ݹ ͼͨ ژ౎ ͷ ॓ ʹ ʜ <3005> <$-4> ൚༻ݴޠϞσϧ ''/ ''/ ''/ ''/ ''/ ''/ ''/ ''/ ''/ − − − − − D − … − 0.0 0.0 0.0 0.1 0.0 0.9 0.0 … 0.0
  14. ୯ޠ୯ҐλεΫɿड़ޠ߲ߏ଄ɾڮ౉͠রԠɾڞࢀরղੳ • ड़ޠ߲ߏ଄ղੳɿड़ޠʹର͠ɺΨɾϮɾχɾΨ̎֨ͷ߲Λಛఆ • ڮ౉͠রԠղੳɿ໊ࢺʹର͠ɺඞਢతͳϊ֨ͷ߲Λಛఆ • ڞࢀরղੳɿ໊ࢺʹର͠ɺಉҰͷ࣮ମΛࢦ໊͢ࢺΛಛఆ • ղ͖ํɿαϒϫʔυ୯Ґ୯ޠબ୒ [Ueda+,

    2020] 2022/9/29 Kyoto University 15 ൴ ͚ͩ ͕ ݹ ͼͨ ژ౎ ͷ ॓ ʜ <ஶऀ> </6--> <$-4> ൚༻ݴޠϞσϧ ''/ ''/ ''/ ''/ ''/ ''/ ''/ ''/ ''/ ڮ౉͠ − − − − − − − … − ڞࢀর − − − − − − − … − Ϯ֨ 0.0 0.0 0.0 0.0 0.0 0.1 0.0 … 0.9 Ψ֨ 0.0 0.0 0.0 0.1 0.0 0.9 0.0 … 0.0
  15. ୯ޠ୯ҐλεΫɿஊ࿩ؔ܎ղੳ • λεΫɿઅؒͷஊ࿩ؔ܎Λೝࣝ • ྫʣ෩͕ਧ͚͹ɺԳ԰͕Ṷ͔Δɻ෩࿊԰΋Ṷ͔Δɻ • ղ͖ํɿαϒϫʔυ୯Ґ୯ޠؒؔ܎෼ྨ • ϥϕϧɿݪҼɾཧ༝ɺ໨తɺ৚݅ɺࠜڌɺରൺɺٯ઀ɺ ஊ࿩ؔ܎ͳ͠

    2022/9/29 Kyoto University 16 ৚݅ ৚݅ ෩ ͕ ਧ ͚͹ Գ ԰ ͕ Ṷ ͔ Δ ʜ <$-4> ൚༻ݴޠϞσϧ ''/ ''/ ''/ ''/ ''/ ''/ ''/ ''/ ''/ − − − − − ৚݅ − − …
  16. ࣮ݧઃఆ • ࣄલֶशϞσϧ • จࣈ୯ҐɿRoBERTa LARGE WWM (https://huggingface.co/ku-nlp/roberta-large-japanese-char-wwm) • ୯ޠ୯ҐɿRoBERTa

    LARGE (https://huggingface.co/nlp-waseda/roberta-large-japanese-seq512) • σʔληοτʢ3छྨΛࠞ߹ͯ͠܇࿅ɺݸผʹධՁʣ • ژ౎େֶςΩετίʔύεʢ৽ฉʣɿ4ສจ • ژ౎େֶ΢ΣϒจॻϦʔυίʔύεʢ΢Σϒʣɿ1.5ສจ • ஫ऍ෇͖ෆຬങऔηϯλʔίʔύεʢϢʔβ౤ߘʣɿ1,282จ • ϚϧνλεΫֶशͰ fine-tuning 2022/9/29 Kyoto University 17
  17. ࣮ݧ݁Ռʢʣ 99.3 98.5 99.1 99.3 95.7 94 95 96 97

    98 99 100 ඼ࢺ ඼ࢺࡉ෼ྨ ׆༻ܕ ׆༻ܗ ಡΈ ܗଶૉղੳ ʢF஋ʣ KWJA 2022/9/29 Kyoto University 18 92.6 60.3 73.0 79.9 75.4 77.6 0 20 40 60 80 100 ద߹཰ ࠶ݱ཰ F஋ ೖྗޡΓగਖ਼ KWJA ాதΒ21 98.0 98.7 97 97.5 98 98.5 99 F஋ ෼͔ͪॻ͖ KWJA Juman++ 0.0 0.8 66.7 0 10 20 30 40 50 60 70 ৽ฉ ΢Σϒ Ϣʔβ౤ߘ ୯ޠਖ਼نԽ ʢF஋ʣ KWJA • ೖྗޡΓగਖ਼͸ΑΓద߹཰Λॏࢹ • ෼͔ͪॻ͖͸Juman++ʹඖఢ • ୯ޠਖ਼نԽ͸܇࿅σʔλෆ଍ʹΑΓ৽ฉɾ ΢Σϒίʔύεͷਫ਼౓͕΄΅θϩ • ܗଶૉղੳ͸ಡΈਪఆʹվળͷ༨஍͋Γ
  18. ࣮ݧ݁Ռʢʣ 82.4 98.3 89.3 93.5 73.0 63.6 70.1 29.8 92.0

    77.4 64.9 67.0 47.7 0 10 20 30 40 50 60 70 80 90 100 ݻ༗දݱೝࣝ ୯ޠૉੑ෇༩ جຊ۟ૉੑ෇༩ ߏจղੳ ड़ޠ߲ߏ଄ղੳ ڮ౉͠রԠղੳ ڞࢀরղੳ ஊ࿩ؔ܎ղੳ ୯ޠ୯ҐλεΫղੳਫ਼౓ ʢߏจղੳɿLASɺͦͷଞɿF஋ʣ KWJA *ࣲాΒ19 Ueda+20 *Kiyomaru+21 2022/9/29 Kyoto University 19 • ߏจղੳ͸BERTʹجͮ͘ઌߦݚڀΛ্ճΔੑೳ • ड़ޠ߲ߏ଄ղੳɺஊ࿩ؔ܎ղੳ͸վળͷ༨஍͋Γ
  19. ٞ࿦ɿγϯάϧλεΫͱͷൺֱ • ϚϧνλεΫֶशʹ͓͍ͯ͸λεΫશମͰͷ࠷ద஋͕ݸʑͷλ εΫͷ࠷ద஋ͱ͸ݶΒͳ͍ • ਫ਼౓͕௿͍ड़ޠ߲ߏ଄ղੳɾڮ౉͠রԠղੳɾڞࢀরղੳɾஊ ࿩ؔ܎ղੳʹ͍ͭͯγϯάϧλεΫֶशͰ࣮ݧ 2022/9/29 Kyoto University

    21 73.0 63.6 70.1 29.8 78.1 64.6 70.8 48.4 0 10 20 30 40 50 60 70 80 90 100 ड़ޠ߲ߏ଄ղੳ ڮ౉͠রԠղੳ ڞࢀরղੳ ஊ࿩ؔ܎ղੳ ϚϧνλεΫ γϯάϧλεΫ ϙΠϯτۙ͘޲্ ղੳثͰ͸γϯάϧλεΫ ϞσϧΛఏڙ ஊ࿩ؔ܎ղੳ
  20. ٞ࿦ɿղੳ଎౓ͷݕূ ࣮ݧઃఆ • ղੳσʔλɿ೔ຊޠ CC-100 [Wenzek+, 2020] ͔Β1,000จΛແ࡞ҝʹநग़ • ܭࢉࢿݯɿNVIDIA

    Tesla V100 32GB GPU 1ຕ • όοναΠζɿ128ʢೖྗޡΓగਖ਼ʣɺ512ʢจࣈ୯Ґղੳʣɺ 2ʢ୯ޠ୯Ґղੳʣ KWJA ͱ Juman++ & KNPͱͷൺֱ • KWJAɿ6.4෼ʢ1ඵ͋ͨΓ2.6จʣ • Juman++ & KNPɿ3.2෼ʢ1ඵ͋ͨΓ5.2จʣ 2022/9/29 Kyoto University 22
  21. ,8+"Λ࢖͏ʹ͸ʁ • ίϚϯυϥΠϯ͔Β • Python ͔Β 2022/9/29 Kyoto University 24

    $ pip install --user kwja $ kwja --text “ࠓ೔͸੖Εͩɻࢄาʹߦ͜͏ɻ” ݁ՌΛ,/1ϑΥʔϚοτͰग़ྗ $ kwja --file raw.txt > analyzed.knp $ pip install rhoknp from rhoknp import KWJA kwja = KWJA() analyzed_document = kwja.apply(“ࠓ೔͸੖Εͩɻࢄาʹߦ͜͏ɻ”) https://github.com/ku-nlp/kwja https://github.com/ku-nlp/rhoknp
  22. ͓ΘΓʹ • ౷߹త೔ຊޠղੳثKWJAΛ։ൃɾҰൠެ։ • ౷ҰతͳΞʔΩςΫνϟͷ࠾༻ʹΑΓɺ৽ͨͳλεΫʹ΋σʔ ληοτ͑͋͞Ε͹༰қʹద༻Մೳ • Version 2.0 ʹΉ͚ͯ

    • Ϣʔβࣙॻͷ௥ՃʹΑΔॊೈͳ෼͔ͪॻ͖ • ϚϧνλεΫֶशʹ͓͚Δஊ࿩ؔ܎ղੳͷվળ • पลతͳࣄྫ΁ͷରԠ • ෦෼తͳΞϊςʔγϣϯ 2022/9/29 Kyoto University 25 https://github.com/ku-nlp/kwja