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
Takahiro Omi
May 10, 2022
Technology
0
260
ストックマークでの自然言語処理の取り組み
Takahiro Omi
May 10, 2022
Tweet
Share
More Decks by Takahiro Omi
See All by Takahiro Omi
最近の話題にも対応した大規模言語モデルの開発
omitakahiro
0
170
BERTを用いた自然言語処理プロダクトの開発・運用
omitakahiro
0
1.9k
Other Decks in Technology
See All in Technology
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
4
3.4k
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
350
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
180
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
3.2k
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
0
140
Large Vision Language Modelを用いた 文書画像データ化作業自動化の検証、運用 / shibuya_AI
sansan_randd
0
130
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
310
AWS IoT 超入門 2025
hattori
0
270
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
240
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
130
Reflections of AI: A Trilogy in Four Parts (GOTO; Copenhagen 2025)
ondfisk
0
100
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
110
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
Why Our Code Smells
bkeepers
PRO
339
57k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
We Have a Design System, Now What?
morganepeng
53
7.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Transcript
ετοΫϚʔΫגࣜձࣾ ۙߐਸ ʮχϡʔεهࣄ͔ΒϏδωε׆ಈͷใΛߏԽ͢Δʯ ετοΫϚʔΫͰͷࣗવݴޠॲཧͷऔΓΈ 'PSLXFMM .-4UVEZ
ࢠڙ͕ཚೖͯ͘͠Δ͔͠Ε·ͤΜ͕ɺ͝༰͍ࣻͩ͘͞ɻ
ࣗݾհ 3 • ۙߐਸʢ͓͓Έ͔ͨͻΖʣ • ݄ʹετοΫϚʔΫʹೖࣾ͠ɺࣗવݴޠॲ ཧͷݚڀ։ൃʹैࣄ • લ৬౦ژେֶʢಛ।ڭतʣͰɺ࣌ܥྻղੳΛத ৺ͱͨ͠౷ܭֶػցֶशͷجૅɾԠ༻ݚڀʹैࣄ
ɻ
ΞΧσϛΞͰͷݚڀ׆ಈ 4 • ۙͳݱʹର͢ΔཧతͳΞϓϩʔνʹڵຯ͕͋Γɺ ࣌ܥྻղੳͷݚڀΛ͖ͯͨ͠ɻ • ౷ܭϞσϦϯάɺϕΠζϞσϦϯά • χϡʔϥϧωοτϫʔΫ •
࣌ܥྻղੳͰਂֶश͕Γ্͕Γɺ࣮Ԡ༻ʹ͓͚Δ ϙςϯγϟϧΛײ͍ͯͨ͡ɻ
ΞΧσϛΞ͔ΒελʔτΞοϓͷస৬ 5 ݄ࠒ͔ΒݚڀػؔͷϙδγϣϯΛ୳͔͢ɺຽؒاۀͰಇ͔͘Λߟ͑࢝ ΊΔɻ ü جૅతͳݚڀΑΓ࣮ࣾձͷղܾΛߦ͍͍ͨɻ ü ͜ͷྖҬΞΧσϛΞͱ࢈ۀքͷڑ͕͍ۙɻ ü ࣗવݴޠॲཧ͋Δछͷ࣌ܥྻղੳɻ
݄ʹετοΫϚʔΫʹೖࣾ
ࠓͷ༰ɿ 6 ü ձࣾհ ü ࣗવݴޠॲཧͷݚڀ։ൃ ü ࠓޙͷల
ࠓͷ༰ɿ 7 ü ձࣾհ ü ࣗવݴޠॲཧͷݚڀ։ൃ ü ࠓޙͷల
4UPDLNBSL *OD ձ໊ࣾ ετοΫϚʔΫגࣜձࣾ 4UPDLNBSL *OD ΦϑΟε ౦ژߓ۠ೆ੨ࢁஸ -*'03,.*/".*"0:"."4 ઃ
ཱ ݄ ۀऀ දऔక$&0 ྛ ୡ औక$50 ༗അ հ ࣄۀ༰ ࣗવݴޠॲཧٕज़Λ׆༻ͨ͠ "*4BB4ϓϩμΫτͷఏڙ ैۀһ ໊ ݄ ݱࡏ 63- IUUQTTUPDLNBSLDPKQ ձࣾհ
ࢲͨͪετοΫϚʔΫɺ ੈքதͷςΩετσʔλΛूΊɺ ਓ͕ؒ׆༻Ͱ͖ΔΑ͏ʹཧ͠ɺ ਓؒʹൃݟͰ͖ͳ͍ؔੑใΛ͓ಧ͚͠·͢ɻ
ࢲͨͪετοΫϚʔΫɺ ੈքதͷςΩετσʔλΛूΊɺ ਓ͕ؒ׆༻Ͱ͖ΔΑ͏ʹཧ͠ɺ ਓؒʹൃݟͰ͖ͳ͍ؔੑใΛ͓ಧ͚͠·͢ɻ χϡʔεهࣄ /-1
4UPDLNBSL *OD /-1Λ׆༻ͨ͠اۀ͚ͷใऩूɾੳͷ"*4BB4Λల։ cࣗવݴޠॲཧ"*ͰมΘΔΦʔϓϯσʔλ׆༻ͱࣄۀߏྗ "*͕ϏδωεʹඞཁͳχϡʔεΛਪન "*͕େͳใ͔ΒͷࢢௐࠪΛαϙʔτ
4UPDLNBSL*OD cಋೖ࣮ ۀݚڀ։ൃ෦Λத৺ʹྦྷܭ ࣾҎ্͕͝ར༻
4UPDLNBSL *OD cςΫϊϩδʔ 4UPDLNBSL͕ڧΈͱ͢Δࣗવݴޠॲཧٕज़ ΦʔϜ͔ࣾΒٕज़ॻग़൛ ܦΛ࢝Ίͱͨ͠ϝσΟΞܝࡌ ౦େֶ סݚڀࣨͱͷڞಉݚڀ
ࠓͷ༰ɿ 14 ü ձࣾհ ü ࣗવݴޠॲཧͷݚڀ։ൃ ü ࠓޙͷల
3FTFBSDIνʔϜͷϛογϣϯ 15 ʮੈքதͷςΩετσʔλ͔ΒϏδωε׆ಈͷใΛߏԽ͢Δʯ ü ߏԽͬͯԿʁ ü Ͳ͏ͬͯΔͷʁ ü Կͷʹཱͭͷʁ
ςΩετσʔλͷߏԽ 16 ü ੜͷςΩετσʔλͦͷ··ͰίϯϐϡʔλͰॲཧ͠ʹ͍͘ɻ ü ʮߏԽʯͱɺςΩετσʔλ͔Βݻ༗໊ࢺΩʔϫʔυΛநग़ͨ͠ ΓɺهࣄͷྨΛߦ͍ɺίϯϐϡʔλͰѻ͍͍͢Α͏ʹใΛཧ͢ Δ͜ͱɻ χϡʔεهࣄ ετοΫϚʔΫגࣜձࣾͷۙ
ߐਸࢯ͕ʹ౦ژͰߦΘ ΕΔ'PSLXFMM.-4UVEZʹొ ஃ͠ɺࣗવݴޠॲཧʹ͍ͭͯ ߨԋ͢Δɻ ΧςΰϦʔ ୯ޠ اۀ໊ ετοΫϚʔΫגࣜձࣾ ਓ໊ ۙߐਸ Ωʔϫʔυ ࣗવݴޠॲཧ நग़ ྨ ΧςΰϦʔ Ϋϥε هࣄྨ ࣾձɺܦࡁɺ࣏ɺࠃࡍɺ *5ɺՊֶɺͦͷଞ
Ͳ͏ͬͯߏԽΛߦ͏͔ʁ #&35ͷಛ Ø ྨɾநग़ͳͲͷࣗવݴޠॲཧͷ׆༻ࣄྫͰΑ͘ݱΕΔλεΫ͕ಘҙɻ Ø ຊޠʹಛԽͨ͠ࣄલֶशϞσϧ͕ެ։͞Ε͓ͯΓɺ୭Ͱ͑Δɻ Ø ൺֱతগͷσʔλ͔Βֶश͢Δ͜ͱ͕Ͱ͖Δʢඦͷσʔλ͔ΒͰύϑΥʔϚϯ ε͕ग़Δ͜ͱ͋Δʣɻ Ø
&OEUP&OEͰ༻͍Δ͜ͱ͕Ͱ͖ࣗવݴޠॲཧͷඇઐՈͰѻ͍͍͢ɻ #&35ʢ%FWMJOFUBM ʣͷొʹΑΓςΩετσʔλͷߏԽ͕&OEUP &OEͰਓͱ͍ۙϨϕϧͰߦ͑ΔΑ͏ʹͳͬͨɻ
4UPDLNBSL *OD #&35ʹΑΔࣗવݴޠॲཧೖ5SBOTGPSNFSTΛ ࣮ͬͨફϓϩάϥϛϯάʢΦʔϜࣾʣ ฤɿετοΫϚʔΫגࣜձࣾ ஶɿۙߐ ਸ ۚా ݈ଠ
ߐؒݟ ѥར ൃചɿ ݱࡏɺୈʂʂ ͝ධ͍͍͓ͨͩͯΓ·͢ʂ
ςΩετΛτʔΫϯʹׂͨ͠ͷΛೖྗ͢ΔͱɺͦΕͧΕͷτʔΫϯΛҙຯΛ өͨ͠ϕΫτϧʹͯ͘͠ΕΔɻ <$-4> ετοΫ ϚʔΫ Ͱ ·͢ #&35 #&35
ೖྗ τʔΫϯ ग़ྗ ʢϕΫτϧʣ ɻ <4&1> ɾɾɾ ɾɾɾ 𝒗𝟎 𝒗𝟏 𝒗𝟐 𝒗𝟑 𝒗𝟒 𝒗𝟕 𝒗𝟖 𝒗𝟗 ετοΫϚʔΫͰɾɾɾ·͢ɻ
ετοΫϚʔΫͰɾɾɾ·͢ɻ <$-4> ετοΫ ϚʔΫ Ͱ ·͢ #&35 #&35ʹΑΔςΩετྨ ೖྗ
τʔΫϯ ग़ྗ ʢϕΫτϧʣ ɻ <4&1> ɾɾɾ ɾɾɾ 𝒗𝟎 𝒗𝟏 𝒗𝟐 𝒗𝟑 𝒗𝟒 𝒗𝟕 𝒗𝟖 𝒗𝟗 *5 ྨϥϕϧ ྨث
ετοΫϚʔΫͰɾɾɾ·͢ɻ <$-4> ετοΫ ϚʔΫ Ͱ ·͢ #&35 #&35ʹΑΔݻ༗දݱநग़ɿاۀ໊நग़ ೖྗ
τʔΫϯ ग़ྗ ʢϕΫτϧʣ ɻ <4&1> ɾɾɾ ɾɾɾ 𝒗𝟎 𝒗𝟏 𝒗𝟐 𝒗𝟑 𝒗𝟒 𝒗𝟕 𝒗𝟖 𝒗𝟗 0 ϥϕϧ اۀ໊ 0 0 0 0 0 اۀ໊ اۀ໊ͱͯ͠நग़ ྨث
22 ü اۀ໊ࢢௐࠪʹ͓͚ΔॏཁͳཁૉͰ͋ΓɺϓϩμΫτͷ༷ʑͳػೳͰا ۀ໊நग़ͷ݁ՌΛ༻͍͍ͯΔɻ ü χϡʔεهࣄΛͱʹಠࣗͷֶशσʔλʢهࣄʣΛ࡞͢Δ͜ͱͰɺ χϡʔεهࣄʹಛԽͨ͠ߴਫ਼ͳاۀ໊நग़ϞσϧΛ#&35Λ༻͍ͯ։ൃ 正しく抽出できた企業 企業以外を誤検出 Stockmark
BERT 93% 9% Ύତଟ ቇΥଟ #&35ʹΑΔاۀ໊நग़ <5FDI#MPH>#&35ʹΑΔχϡʔεهࣄͷߏԽ ʢIUUQTUFDITUPDLNBSLDPKQCMPH@DPNQBOZ@FOUJUJFT@SFDPHOJUJPOʣ
اۀ໊நग़ͷϢʔεέʔεɿاۀͷҰཡԽ هࣄΛҰͭҰͭಡ·ͳͯ͘ɺࣗ વݴޠॲཧʹؔ͢Δχϡʔεهࣄ ʹݱΕͨاۀ͕Θ͔Δɻ
اۀ໊நग़ͷϢʔεέʔεɿاۀ໊ʹΑΔهࣄݕࡧ Google 検索 Astrategy (PPHMFݕࡧͰɺɺɺ༷ʑͳҙຯͷʮϥΠΦϯ ʯʹؔ͢Δهࣄ͕ग़ྗ͞ΕΔɻ "TUSBUFHZͰɺɺɺاۀͷʮϥΠΦϯʯʹؔ͢Δ هࣄͷΈ͕ग़ྗ͞ΕΔ ʮϥΠΦϯʯͱݕࡧ͢Δͱɾɾɾ
తʹԠͨ͡ॏཁͳจͷநग़ ü ߏԽͷҰͱͯ͠ɺχϡʔεهࣄ͔ΒಛఆͷҙຯΛ࣋ͭจͷநग़ߦ ͍ͬͯΔɻ 25 χϡʔεهࣄ ਓࡐෆʹରԠ͢ΔͨΊ ʹۀޮԽ͕ਐΜͰ͍ Δɻ"ࣾࠓ͔Βࣗવ ݴޠॲཧ"*Λ༻͍ͨۀ
ޮԽͷ࣮ূ࣮ݧΛߦ ͍ͬͯΔɻʹ ༻ԽΛࢦ͍ͯ͠Δɻ ΧςΰϦʔ จ ࣄྫจ ʢاۀͷऔΓΈΛද͢จʣ "ࣾࣗવݴޠॲཧ"*Λ༻͍ͨۀ ޮԽͷ࣮ূ࣮ݧΛߦ͍ͬͯΔɻ എܠจ ʢऔΓΈͷഎܠΛද͢จʣ ਓࡐෆʹରԠ͢ΔͨΊʹۀޮ Խ͕ਐΜͰ͍Δɻ কདྷจ ʢকདྷಈΛද͢จʣ ʹ༻ԽΛࢦ͍ͯ͠Δɻ ⋮ நग़
χϡʔεهࣄ͔ΒاۀͷऔΓΈࣄྫͷநग़ʢࣄྫूʣ ü ࢢௐࠪʹ͓͍ͯॏཁͳཁૉͰ͋Δɺ֤اۀͷऔΓΈࣄྫʢࣄྫจʣΛࣗಈ ͰҰཡԽ ü هࣄͷ֤จʹରͯ͠ʮࣄྫจʯͰ͋Δ͔ʮࣄྫจͰͳ͍ʯͰͳ͍͔ͷೋ ྨΛ#&35Ͱߦ͍ɺࣄྫจΛهࣄ͔Βநग़͢Δɻ
3FTFBSDIνʔϜͷϛογϣϯ 27 ʮੈքதͷςΩετσʔλ͔ΒϏδωε׆ಈͷใΛߏԽ͢Δʯ ü ߏԽͬͯԿʁ ςΩετσʔλ͔ΒใΛநग़ɾཧ͢Δ͜ͱɻ ü Ͳ͏ͬͯΔͷʁ ฐࣾͰ#&35ΛΑ͍ͬͯ͘·͢ʂ ü
Կͷʹཱͭͷʁ తʹԠͯ͡ॏཁͳใΛߏԽ͓͚ͯ͠ɺେྔͷهࣄΛ ಡ·ͣʹɺඞཁͳใΛޮΑ͘खʹೖΕΔ͜ͱ͕Ͱ͖·͢ʂ
ݚڀػؔͱͷڞಉݚڀ 28 ü ݄͔Β౦େֶͷס ݚڀࣨͱͷɺຊޠςΩετσ ʔλ͔Βͷࣝάϥϑߏஙʹؔ ͢ΔڞಉݚڀΛ։࢝ͨ͠ɻ ü ݴޠʹؔ͢Δຊ࣭తͳٞɺ ࠷ۙͷख๏ʹ͍ͭͯͷٞ͋
Γɺ୯७ʹָ͍͠ɻ ü ڞಉݚڀͷՌͷࣄۀߩݙݟ ͖͑ͯͨ ü ͜ͷ݄͔Βסݚͷֶੜ͕ਖ਼ࣾһ ͱͯ͠ೖࣾͨ͠ʂ ૾Ҏ্ʹɺػցֶशྖҬʹ͓͚ΔΞΧσ ϛΞͱ࢈ۀքͷڑͷۙ͞Λײ͍ͯ͡Δɻ
ػցֶशγεςϜͳΒͰͷۤ࿑ɿֶशσʔλ࡞ 29 ü ػցֶशϞσϧΛ࠾༻͢Δͱɺ৽͍͠ػೳΛ։ൃ͍ͨ͠ͱ͖ʹɺ৽͠ ֶ͍शσʔλΛҰ͔Β࡞Δඞཁ͕͋Δʢ͜ͱ͕ଟ͍ʣɻ ü యܕతʹඦʙهࣄ΄ͲʹΞϊςʔγϣϯΛߦ͑ɺ#&35Ͱͦ ͦ͜͜ಈ͘Ϟσϧ࡞ΕΔ͜ͱ͕ଟ͍ͷͰɺ୲ऀ͕Ξϊςʔγϣϯ͠ ͯ͠·͏߹͋ΔɻඞཁʹԠͯ͡Ξϊςʔγϣϯͷ֎ߦ͍ͬͯΔɻ ü
λεΫʹΑͬͯɺΞϊςʔγϣϯͷΨΠυϥΠϯΛ࡞Δͷʹ͕͔͔࣌ؒΔ߹͋Γɺ ՝ʹର͢Δղ૾ͷߴ͍୲ऀ͕খنͳֶशσʔληοτΛ࡞Δํ͕ޮతͳ͜ͱ ͋Δɻ ü σʔλͱ͖߹͏͜ͱͰɺࣗͨͪͷऔΓΜͰ͍Δ՝ʹର͢Δղ૾্͕͕Δɻ
ϓϩμΫτଆͱͷίϛϡχέʔγϣϯ 30 ü ࠷ۙͰɺϓϩμΫτͷൃలʹΑΓɺϓϩμΫτଆ͔ΒʮاۀͷऔΓ ΈࣄྫΛநग़͍ͨ͠ʯͱ͍͏Α͏ͳநతͳཁ͕૿͍͑ͯΔɻ ü ϓϩμΫτଆͱίϛϡχέʔγϣϯΛߦ͍ɺநతͳཁΛ/-1ͷ ʹམͱ͠ࠐΉ͜ͱ3FTFBSDIνʔϜͷׂʹͳ͍ͬͯΔɻ ü ݚڀ։ൃʹ͓͍ͯɺࣄۀʹର͢Δղ૾ͷߴ͕͞ॏཁʹͳ͖͍ͬͯͯΔɻ
ࠓͷ༰ɿ 31 ü ձࣾհ ü ࣗવݴޠॲཧͷݚڀ։ൃ ü ࠓޙͷల
Ϣʔβʔʹͱͬͯཧղ͍͢͠ϓϩμΫτΛࢦͯ͠ 32 ü ͜Ε·Ͱɺ"TUSBUFHZͰهࣄ͔ΒओʹΩʔϫʔυͷநग़Λߦ͍ɺͦΕΛ༻ ͍ͯࢢௐࠪΛࢧԉ͢ΔͨΊͷػೳΛఏڙ͖ͯͨ͠ɻ ü զʑͷϓϩμΫτʹՁΛײͯ͘͡ΕΔਓҰఆ͍ͨҰํͰɺϢʔβʔͷଟ ͍͘ํ͕͍͠ͱײ͍ͯͨ͡ɻ ü എܠ͕ࣝͳ͍ਓʹͱͬͯɺநग़͞ΕͨΩʔϫʔυͷҙຯΛཧղ͢Δͷ
͕͍͠ɻ ü ௐࠪܦݧ͕ͳ͍ਓʹͱͬͯɺେͳهࣄ͔Βநग़͞ΕͨଟͷΩʔϫʔ υ͔ΒΠϯαΠτΛಘΔͷ͍͠ɻ
Ωʔϫʔυ͔Βจ ü "TUSBUFHZͰ݄ʹΩʔϫʔυ͚ͩͰͳ͘จͷग़ྗߦ͏ࣄྫूʢ اۀͷऔΓΈΛද͢ʮࣄྫจʯΛҰཡԽ͢ΔػೳʣΛϦϦʔεɻ"TUSBUFHZ ͷத৺తͳػೳʹͳΓͭͭ͋Δɻ ü ਓؒʹͱͬͯจষ͕࠷ཧղ͍͢͠ϑΥʔϚοτͷҰͭͰ͋Δɻ
%BUBUP5FYU ࠓޙߏԽͱݴޠੜΛத৺ͱͯ͠ɺσʔλʹؚ·ΕΔΠϯαΠτػցֶश γεςϜͷग़ྗΛઆ໌͢ΔจষΛੜ͢Δٕज़Λ։ൃ͠ɺϓϩμΫτΛΑΓϢʔ βʔϑϨϯυϦʔʹ͍ͨ͠ɻ ü ୯Ұɾෳهࣄ͔Βͷཁੜ ü ࢢௐࠪϨϙʔτͷࣗಈੜ ü χϡʔεهࣄਪનʹ͓͚Δਪનཧ༝จͷੜ
ü ରܕͷ࣭Ԡ
ऴΘΓʹ 35 ࣗવݴޠॲཧͷݚڀ։ൃ໘ന͍ʂ ü ਂֶशͷൃలʹΑΓɺ࣮ݱՄೳͳࣗવݴޠॲཧͷαʔϏεͷ෯͕͕ͬͨ ü ͜ͷྖҬΞΧσϛΞͱ࢈ۀքͷڑ͕ۙ͘ɺ࠷৽ͷٕज़ΛϓϩμΫτʹ༻ ͍Δ͜ͱ͕Ͱ͖Δɻ ü ݴޠԞਂ͍
ετοΫϚʔΫʹڵຯΛ͍͍࣋ͬͯͨͩͨํ ü ετοΫϚʔΫ Ͱͷϙδγϣϯʹڵຯͷ͋Δํɿ IUUQTIFSQDBSFFSTWTUPDLNBSL ü ؾܰʹΛฉ͍ͯΈ͍ͨํɿ .FFUZ IUUQTNFFUZOFU ͰʮετοΫϚʔΫʯͰݕࡧʂ
ü ΠϕϯτʹࢀՃͯ͠Έ͍ͨํɿ 4UPDLNBSL 5FDI.FFUVQ IUUQTTUPDLNBSLDPOOQBTTDPNFWFOU ü ٕज़తͳʹڵຯͷ͋Δํɿ 4UPDLNBSL 5FDICMPH IUUQTUFDITUPDLNBSLDPKQ
4UPDLNBSL *OD