Successfully reported this slideshow.
Your SlideShare is downloading. ×

make_information_search.pdf

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
research.pdf
research.pdf
Loading in …3
×

Check these out next

1 of 17 Ad

More Related Content

Recently uploaded (20)

Advertisement

make_information_search.pdf

  1. 1. Streamlitで検索アプリ 作ってみた 広島市立大学大学院 渡辺春希 1
  2. 2. 自己紹介 卒業式で謝辞を務めました! 名前 :渡辺春希 所属 :広島市立大学大学院 専攻 :知能工学専攻 研究 :フェイクニュース検出 趣味 :野球,ウマ娘 楽しみ :ポケモンの新作 2
  3. 3. Streamlitとは? Webアプリを作るためのPythonのフレームワーク ⚫ フロントの知識がいらない! Streamlitでそれらが書ける ⚫ デプロイが容易! Githubの更新も即座に反映してくれる ⚫ 手軽にアプリが作れる! 簡易的な機能を持つアプリに最適。本格的にやるならDjango。 3
  4. 4. WebアプリのPythonのフレームワーク フレームワーク 特徴 使われ方 Django 機能が豊富。学習コスト が高い 多機能のアプリ Flask 人気。学習コストが少な い 多機能のアプリ Bottle 初心者でも使える。人気 は無い 簡易アプリ streamlit 開発が容易。コードが直 観的 DS領域のWebアプリ 初心者がWebアプリを作るなら一番おススメかも? 4
  5. 5. コード例 import streamlit as st st.title("title") st.write("write") st.markdown("# Head1") st.markdown("## Head2") Pythonの書き方でHTMLが書けた!! 5
  6. 6. コード例:2 6 import streamlit as st st.checkbox("チェックボックス") st.button("ボタン") st.selectbox("メニューリスト", ("選択肢1", "選択肢 2", "選択肢3)) st.multiselect("メニューリスト(複数選択可)", (" 選択肢1", "選択肢2", "選択肢3)) st.radio("ラジオボタン", ("選択肢1", "選択肢2", "選 択肢3")) st.text_input("文字入力欄") st.text_area("テキストエリア") ウィジェットも簡単に作成できる
  7. 7. TF:Term Frequency 7 TF 𝑡𝑖, 𝑑𝑖 = 文書𝑑𝑖内の単語𝑡𝑖の出現回数 文書𝑑𝑖のすべての単語の出現回数の和 ・ある文書中に頻度が多ければ,その単語は重要である可能性が高い ・ただし頻繁に表れる単語重要とは限らない ・そこで次に説明するIDを使用する
  8. 8. TF値 例 8 文書2 りんご,みかん, みかん,ばなな 文書1 ばなな,いちご,いちご ぶどう,みかん ぶどう みかん いちご ばなな りんご 文書1 0 0.5 0 0.25 0.25 文書2 0.2 0.2 0.4 0.20 0
  9. 9. IDF 9 I𝐷𝐹 𝑡𝑖 = log ( 総文書数 単語𝑡𝑖が出現する文書数 + 1) ・それぞれの単語がいくつかの文書内で共通しているかを表す ・そのため単語のレア度を表す ・1を足すのは0除算を防ぐため
  10. 10. IDF値 例 10 文書2 りんご,みかん, みかん,ばなな 文書1 ばなな,いちご,いちご ぶどう,みかん ぶどう みかん いちご ばなな りんご IDF 1.693 1.00 1.693 1.00 1.693
  11. 11. TF-IDF 11 TF𝐼𝐷𝐹 𝑡𝑖, 𝑑𝑖 = TF 𝑡𝑖, 𝑑𝑖 * I𝐷𝐹 𝑡𝑖 ・TF値とIDF値を用いて求める ・特定の文書内での出現回数が多く,ほかの文書に出現しない単語なら 重要度が高い。 ・これを用いて単語ごとの類似度を求める
  12. 12. TF値 例 12 文書2 りんご,みかん, みかん,ばなな 文書1 ばなな,いちご,いちご ぶどう,みかん ぶどう みかん いちご ばなな りんご 文書1 0 0.5 0 0.25 0.423 文書2 0.338 0.2 0.6772 0.20 0
  13. 13. コサイン類似度 13 先ほどの計算から各文書のベクトルが求められたのでコサイン類似度 が求められる。内積を使う cos 𝑥, 𝑦 = 𝑥・𝑦 先の例なら,0*0.338+0.5*0.2+0*0.6772+0.25*0.2+0.423*0で 0.15となる。 今回のシステムではクエリと文書のコサイン類似度を 検索結果に反映させた。
  14. 14. 文書検索システム 14 ⚫以下のサイトから遊べる https://harukirara-information-search-app-z7ls0l.streamlitapp.com/ ⚫欠点 ・文書数増やすと重い ・見た目が地味
  15. 15. 今後やること 15 ⚫登録文書数の増加 ⚫機能追加 10個は少なすぎ。1000個以上は欲しいかなぁ。 ・上位の本の頻出単語の可視化 ・指定文書の単語を用いてあらすじを文章生成
  16. 16. まとめ • Streamlitを用いて文書検索アプリを作れた • 機能追加してOnly Oneなアプリを作る必要がある • DS系の簡単なアプリも作っていきたい 16
  17. 17. 17

×