SlideShare une entreprise Scribd logo
1  sur  77
Télécharger pour lire hors ligne
ゆるいテキスト検索


   ぬこ@横浜(@nuko_yokohama)
自己紹介
   名前:ぬこ@横浜
 仕事:ラーメンレビュー
副業:某通信系SI会社勤務

最近、(誰得な)PostgreSQL拡張に
     はまってます。
誰得
                ?
  つくったもの

xml_fdw:XMLファイルを
   SQLで検索するFDW
 ksj:漢数字で演算する型
第1章
ntext EXTENSION
TEXT型検索に
 おける問題
ヴェスパ問題
「ヴェ」と「ベ」は
だいたい一緒じゃん!

(ベスパじゃ)いかんのか?
カヲル君問題
なんで「ヲ」なんだよっ!
「エヴァンゲリヲン」もだけど。


 「カオル君」「エヴァンゲリオン」で
       検索しても
「カヲル君」や「エヴァンゲリヲン」が
      ヒットしない
全角英数字問題
俺は全角英数字が
大嫌いなんだよ!
 全角英数字は同じ意味の
半角英数字とマッチしない・・・
半角カタカナ問題
半角カタカナを使う奴は
地獄の火の中に投げ
込まれるべきである
     同じ意味の
全角カタカナとマッチしない・・・
ねことネコ問題
にゃー                        ニャー
     「ねこ」も「ネコ」も
  全く同じように可愛いのだが
      TEXT型では

      SELECT 'ねこ' = 'ネコ'
           ⇒false

      trueでいいじゃんかよ!
typo問題
人はtypoをするものである。

しかしTEXT型ではtypoがあると
     ヒットしない。
SELECT 'ダライアス' = 'ダライアヌ'
          ⇒false

   だいたいあってるから
  trueでいいじゃんかよ!
とまあ、いろいろ
 不満点はある
ここから本題
ゆるい評価を行う
   TEXT型
⇒ ntext型を作成
ntext EXTENSION feature


 ・全角数字/半角数字の正規化比較
・全角/半角・大/小英字の正規化比較
・ひらがな/全角カタカナ/半角カタカナの
        正規化比較
     ・正規化SQL関数
      ・近似比較演算
(多少のtypoがあっても同じと評価)
     ・btree index対応
ntextデモ
でも(実
        行コ   ストが)
                  お高い


TEXT型と
                      ん   でしょ?




ntext型の
性能比較
環境


Let's note CF-SX2 (メモリ8G、SSD)
 CentOS 6.2 on VMWare/Windows8
           PostgreSQL 9.2
      configurationはデフォルト
測定はpgbenchカスタムクエリモード
モデル


・検索対象テーブルはserial型と
 text/ntext型のカラムで構成
・10文字の長さを持つデータを
        10000件挿入
・pgbenchで4種類のSELECTを
         1000回実行
      ・同時実行数は1
測定結果
スループット   text型         text型          ntext型        ntext型         ntext型
         (SeqScan)     (IndexScan)    (=検索,         (=検索,          (/=検索,
                                      SeqScan)      IndexScan)     SeqScan)

tps          207.364       742.217        30.964        169.894        29.875



平均レスポン text型           text型          ntext型        ntext型         ntext型
ス時間    (SeqScan)       (IndexScan)    (=検索,         (=検索,          (/=検索,
                                      SeqScan)      IndexScan)     SeqScan)
半角数字           1.155          0.070         7.472         1.145          7.822
全角数字           1.231          0.067         8.362         1.230          8.651
半角英字           1.152          0.071         7.966         2.145          8.297
ひらがな           1.234          0.067         8.429          1.311         8.692
pgbench による tps 測定(スループット)




                                                                 text 型
                                                                 (SeqScan)
                                                                 text 型
                                                                 (IndexScan)
                                                                 ntext 型
tps                                                              ( = 検索 , SeqScan )
                                                                 ntext 型
                                                                 ( = 検索 , IndexScan )
                                                                 ntext 型
                                                                 ( /= 検索 , SeqScan )




      0   100   200   300       400    500    600    700   800
pgbench による tps 測定(平均レスポンス時間)




ひらがな



                                                                                            text 型
                                                                                            (SeqScan)
半角英字                                                                                        text 型
                                                                                            (IndexScan)
                                                                                            ntext 型
                                                                                            ( = 検索 , SeqScan )
                                                                                            ntext 型
                                                                                            ( = 検索 , IndexScan )
全角数字                                                                                        ntext 型
                                                                                            ( /= 検索 , SeqScan )




半角数字




   0.000   1.000   2.000   3.000   4.000   5.000   6.000   7.000   8.000   9.000   10.000
要するに
風が語りかけます


遅い、遅すぎる
(ntext型が)
textと相対比較するとかなり遅い・・・
●でも、絶対値で見れば正規化も思ったよ


 り遅くはない
●インデクスをきちんと張ればそれなり


●近似検索も予想よりはマシ


●ただし、CPUはゴリゴリ使うので、同時


 実行数が多くなると厳しいかも。
TEXT型検索に
おける残課題
送り仮名問題
戦前の送り仮名法と
  戦後改定された送り仮名法で
   送り仮名の方式が違う。


しかも、それが混在しているのが現状


「問合せ」「問い合わせ」「問合わせ」
(近似検索である程度はカバーできるが・・・)
ニャ問題
(拗音と直音)
ニャロメ「バニャニャ・・・!」

 「ニャ」=「ナ」と正規化すべきか
    最後まで悩んだ・・・。
(現版ではニャ⇒ナ変換は未サポート)
拗音→直音正規化をやりすぎると
  「きゃりーぱみゅぱみゅ」
       ↓
   「かりーぱむぱむ」


 ここまでやるのはやりすぎ?
ニャルラトホテプ問題
 (別名:表記ゆれすぎ問題)
(」・
                ω   ・)」う
    ナイアーラトテップ
                         ー!
                            (/・
                                ω・   )/に
                                        ゃー
    ナイアーラソテップ
                                           !



   ナイアルラトホテップ
     ニャルラトテップ
     ニャルラトホテプ


 これは、同一の神性の名前・・・
機械的正規化ではどうにもならんかも
 (近似検索でも厳しいかも?)
シソーラスの導入?
              ,,,,,,,,,,,,,,,,,,,,
             /": : : : : : : : \
           /-─-,,,_: : : : : : : : :\
          /     '''-,,,: : : : : : : :i
          /、      /: : : : : : : : i     ________
         r-、 ,,,,,,,,,,、 /: : : : : : : : : :i    /
         L_, ,   、 \: : : : : : : : :i   / シソーラスを使ったら
         /●) (●>   |: :__,=-、: / <   負けかなと思ってる
        l イ  '-     |:/ tbノノ    \
        l ,`-=-'\     `l ι';/      \  会社員(??歳・男性)
        ヽトェ-ェェ-:)     -r'          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヾ=-'     / /
     ____ヽ::::...   / ::::|
  / ̄ ::::::::::::::l `──''''   :::|
補足
正規化と近似検索相当
 (あとシソーラス)は、
    実は既にある。

   正規化:textsearch_ja
   シソーラス:textsearch
近似検索:pg_trgmのsimilarity関数
近似検索:contrib/fuzzystrmatch
教訓・・・
      r ‐、
      | ○ |         r‐‐、
     _,;ト - イ、      ∧l☆│∧   良い子の諸君!
    (⌒`    ⌒ヽ   /,、,,ト.-イ/,、 l  
    |ヽ   ~~⌒γ ⌒ ) r'⌒ `!´ `⌒) いい拡張を思いついた!と思っても
   │ ヽー―'^ー-'  ( ⌒γ ⌒~~ /  大抵それは「先人が思いついた」ものだ
   │  〉    |│  |`ー^ー― r' | 
   │ /───| |  |/ |  l  ト、 |  類似の拡張がないか調べてから
   |  irー-、 ー ,} |    /     i    作るんだぞ!
   | /   `X´ ヽ    /   入  |
第2章
近似検索拡張
正規化/近似検索と
  全文検索連携


  pg_trgm+正規化
textsearch+近似検索
pg_trgm+正規化
pg_trgmでは

正規化検索は不可
どうする?
pg_trgm機能と

 正規化関数の
組み合わせでOK
【pg_trgmのみ】
SELECT id, data FROM test
WHERE data LIKE
'%PostgreSQL%';


【pg_trgm+正規化組み込み】
SELECT id, data FROM test
WHERE pg_ntext_normalize(data::ntext)::text LIKE
pg_ntext_normalize('%PostgreSQL%')::text;                    に
                                                    )の代わり もOK
                                            omalize( alize()で
                                      text_n ja_norm
                                  pg_n h_jaの
                                     arc
                               textse
デモ
正規化組み込み前


   「ラーメン」では
「らーめん」や「ラーメン」が
    ヒットしない。
  (´・ω・`) ショボーン
正規化組み込み後


  「ラーメン」でも
「らーめん」や「ラーメン」が
    ヒットした。
  (`・ω・´) シャキーン
正規化+pg_trgm
  簡単かつ
それなりに有効
textsearch+近似検索
textsearchでは

近似検索は不可
ぬこは激怒した。必ず、かの杓子定規の
textsearchをユルくしなければならぬと
決意した。ぬこにはPostgreSQL内部がわ
からぬ。ぬこは、ただのユーザである。
SQLを書き、psqlと遊んで暮して来た。
けれども検索結果に対しては、人一倍に
敏感であった。
「フィロストラトスでございます。貴方
のお友達セリヌンティウス様の弟子でご
  ざいます。」(走れメロスより)


「フィロストラス」(一文字抜けてる)
「センヌリティウス」(微妙に?違う)
  のキーワードで引っ掛けたい。
   ※ textsearch単体では無理
どうする?
一筋縄ではいかない
 textsearch自体の

   改造が必要
     決してスマートな
    方法ではないが・・・
HOOKポイントの追加
 HOOK関数の実装
  HOOKの有効化
HOOKとは?
    フック(Hook)とは、
 特定の場面で呼び出される処理を、
ユーザが定義した処理に置き換える機能


 ex. auto_explain, pg_statsinfo,
      SE-PostgreSQL, ・・・
なぜHOOKを使う?
HOOKにすることで、近似検索ロジック
     を差し替え可能にする。


ex. 自前の関数、pg_trgmのsimilarity()
     相当の関数の組込みなど。
HOOKポイントの追加
 backend/util/adt/tsvector_op.c
ここでtextsearchの @@ 演算子を実装
 その関数内にHOOKポイントを追加
Postg
                                                              reS   QL 9
                                                                         .2   .3の場
【backend/util/adt/tsvector_op.c】
                                                                                  合



int (*TsearchCompare_hook) (char* a, char* b, int len) = NULL; // add by
nuko
・・・
                if (TsearchCompare_hook == NULL)
                {
                    cmp = memcmp(a, b, Min(lena, lenb));
                }
                else
                {
                    // Custom Compare Hook Functoin Call
                    cmp = (*TsearchCompare_hook) (a, b, Min(lena, lenb));
                }
・・・
                else if ((TsearchCompare_hook == NULL) && cmp == 0 &&
lena != lenb) // modify by nuko
                {
                        cmp = (lena < lenb) ? -1 : 1;
                }
HOOK関数の実装

 近似評価関数の実装
   _PG_init()
【ts_compare/tsearch_hook.c】
・・・
extern void _PG_init(void);

/*
  * TsearchCompare_hook
  * Custom approx compare function
  */
static int
TsearchCompareApprox(char* a, char* b, int len)
{
・・・実際の近似評価用のコード
}
・・・
/*
  * Module initialization function
  */
void
_PG_init(void)
{
         /* activate hook module is loaded */
         TsearchCompare_hook = TsearchCompareApprox;
}
HOOKの有効化

 postgresql.confの設定
shared_preload_libraries
  PostgreSQLの再起動
HOOKの有効化
【postgresql.conf】

# - Other Defaults -

#dynamic_library_path = '$libdir'
#local_preload_libraries = ''
shared_preload_libraries = 'ts_compare_approx'
デモ
近似検索組み込み前


「センヌリティウス」では
「セリヌンティウス」が
    ヒットしない。
  (´・ω・`) ショボーン
近似検索組み込み後


「センヌリティウス」でも
「セリヌンティウス」が
    ヒットした。
  (`・ω・´) シャキーン
近似検索+textsearch


 ちょっと邪道だが
 結構使えないか?
さいごに
ニッチす
              ぎて無
                  理か

 試作したtextsearch
                       な・・・




評価関数のHOOKを
コミュニティに提案
する価値はあるか?
ご清聴
ありがとう
ございました

Contenu connexe

Similaire à ゆるいテキスト検索

中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexprGenya Murakami
 
MlnagoyaRx02
MlnagoyaRx02MlnagoyaRx02
MlnagoyaRx02mega80b
 
形態素解析について
形態素解析について形態素解析について
形態素解析についてtomowata
 
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexprGenya Murakami
 
Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624Tetsuya Sodo
 
pg_bigmと類似度検索
pg_bigmと類似度検索pg_bigmと類似度検索
pg_bigmと類似度検索Masahiko Sawada
 
ざっくり DDD 入門!!
ざっくり DDD 入門!!ざっくり DDD 入門!!
ざっくり DDD 入門!!Yukei Wachi
 

Similaire à ゆるいテキスト検索 (11)

MlnagoyaRx
MlnagoyaRxMlnagoyaRx
MlnagoyaRx
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
MlnagoyaRx02
MlnagoyaRx02MlnagoyaRx02
MlnagoyaRx02
 
形態素解析について
形態素解析について形態素解析について
形態素解析について
 
RNASkim
RNASkimRNASkim
RNASkim
 
mysqlftppc 紹介
mysqlftppc 紹介mysqlftppc 紹介
mysqlftppc 紹介
 
文字列処理
文字列処理文字列処理
文字列処理
 
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
 
Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624
 
pg_bigmと類似度検索
pg_bigmと類似度検索pg_bigmと類似度検索
pg_bigmと類似度検索
 
ざっくり DDD 入門!!
ざっくり DDD 入門!!ざっくり DDD 入門!!
ざっくり DDD 入門!!
 

Plus de Toshi Harada

無駄にNeo4jを使っている日々
無駄にNeo4jを使っている日々無駄にNeo4jを使っている日々
無駄にNeo4jを使っている日々Toshi Harada
 
Pgunconf14 pg13-psql
Pgunconf14 pg13-psqlPgunconf14 pg13-psql
Pgunconf14 pg13-psqlToshi Harada
 
20190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg1220190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg12Toshi Harada
 
20190202-pgunconf-Access-Privilege-Inquiry-Functions
20190202-pgunconf-Access-Privilege-Inquiry-Functions20190202-pgunconf-Access-Privilege-Inquiry-Functions
20190202-pgunconf-Access-Privilege-Inquiry-FunctionsToshi Harada
 
20190119 aws-study-pg-extension
20190119 aws-study-pg-extension20190119 aws-study-pg-extension
20190119 aws-study-pg-extensionToshi Harada
 
20181122 pg con-jp-lt-logrep
20181122 pg con-jp-lt-logrep20181122 pg con-jp-lt-logrep
20181122 pg con-jp-lt-logrepToshi Harada
 
20181110 fok2018-pg-extension
20181110 fok2018-pg-extension20181110 fok2018-pg-extension
20181110 fok2018-pg-extensionToshi Harada
 
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-1020171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10Toshi Harada
 
20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsqlToshi Harada
 
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-1020171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10Toshi Harada
 
20170819 ocd-l tthon-pgdev
20170819 ocd-l tthon-pgdev20170819 ocd-l tthon-pgdev
20170819 ocd-l tthon-pgdevToshi Harada
 
Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Toshi Harada
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubJpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubToshi Harada
 
Chugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pubChugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pubToshi Harada
 
Pgconf asia-201612203-pg reversi-ja
Pgconf asia-201612203-pg reversi-jaPgconf asia-201612203-pg reversi-ja
Pgconf asia-201612203-pg reversi-jaToshi Harada
 
Pgconf asia-201612203-pg reversi
Pgconf asia-201612203-pg reversiPgconf asia-201612203-pg reversi
Pgconf asia-201612203-pg reversiToshi Harada
 
Kof2016 postgresql-9.6
Kof2016 postgresql-9.6Kof2016 postgresql-9.6
Kof2016 postgresql-9.6Toshi Harada
 
Chugoku db 17th-lt-kly
Chugoku db 17th-lt-klyChugoku db 17th-lt-kly
Chugoku db 17th-lt-klyToshi Harada
 
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6Toshi Harada
 

Plus de Toshi Harada (20)

無駄にNeo4jを使っている日々
無駄にNeo4jを使っている日々無駄にNeo4jを使っている日々
無駄にNeo4jを使っている日々
 
Pgunconf16 toast
Pgunconf16 toastPgunconf16 toast
Pgunconf16 toast
 
Pgunconf14 pg13-psql
Pgunconf14 pg13-psqlPgunconf14 pg13-psql
Pgunconf14 pg13-psql
 
20190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg1220190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg12
 
20190202-pgunconf-Access-Privilege-Inquiry-Functions
20190202-pgunconf-Access-Privilege-Inquiry-Functions20190202-pgunconf-Access-Privilege-Inquiry-Functions
20190202-pgunconf-Access-Privilege-Inquiry-Functions
 
20190119 aws-study-pg-extension
20190119 aws-study-pg-extension20190119 aws-study-pg-extension
20190119 aws-study-pg-extension
 
20181122 pg con-jp-lt-logrep
20181122 pg con-jp-lt-logrep20181122 pg con-jp-lt-logrep
20181122 pg con-jp-lt-logrep
 
20181110 fok2018-pg-extension
20181110 fok2018-pg-extension20181110 fok2018-pg-extension
20181110 fok2018-pg-extension
 
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-1020171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10
 
20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql
 
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-1020171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10
 
20170819 ocd-l tthon-pgdev
20170819 ocd-l tthon-pgdev20170819 ocd-l tthon-pgdev
20170819 ocd-l tthon-pgdev
 
Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubJpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pub
 
Chugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pubChugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pub
 
Pgconf asia-201612203-pg reversi-ja
Pgconf asia-201612203-pg reversi-jaPgconf asia-201612203-pg reversi-ja
Pgconf asia-201612203-pg reversi-ja
 
Pgconf asia-201612203-pg reversi
Pgconf asia-201612203-pg reversiPgconf asia-201612203-pg reversi
Pgconf asia-201612203-pg reversi
 
Kof2016 postgresql-9.6
Kof2016 postgresql-9.6Kof2016 postgresql-9.6
Kof2016 postgresql-9.6
 
Chugoku db 17th-lt-kly
Chugoku db 17th-lt-klyChugoku db 17th-lt-kly
Chugoku db 17th-lt-kly
 
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
 

Dernier

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Dernier (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

ゆるいテキスト検索