RytRyu-0817
@RytRyu-0817

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

web技術書を検索できるアプリを作るときの本情報とタグ情報の関連について

解決したいこと

django-rest-frameworkとvue.jsでwebの技術書を検索できるアプリをつくろうと考えているのですが、調べるうまい言葉が思いつかないので質問させてください。
実装したいことは、「GoogleBooksAPI内のすべてのwebの技術書に対して、独自のタグを振ってクライアントはそのタグと本のタイトルでdjangoのエンドポイントに検索をかけれるようにする。」です。
本の情報はGoogleBooksAPIを使おうと考えています。(未定)

<質問>
この場合、django側で一回GoogleBooksAPIからすべてのwebの技術書をとってきて、dbに保存してからタグレコードと関連付けるということを一つ一つやらないといけないのでしょうか。
うまく伝えきれているかわかりませんが、わかる方ご教授ください...

0

2Answer

django側で一回GoogleBooksAPIからすべてのwebの技術書をとってきて、dbに保存してからタグレコードと関連付けるということを一つ一つやらないといけないのでしょうか。

普通は、「すべてのwebの技術書をとってきて、dbに保存」などということはしなくて済むように実装することを考えるはずです。

質問者さん独自の事情とかがあって、そうしたいとか、そうせざるを得ないのであれば、知りませんが。

0Like

Comments

  1. @RytRyu-0817

    Questioner

    SurferOnWww様コメントありがとうございます。

    普通は、「すべてのwebの技術書をとってきて、dbに保存」などということはしなくて済むように実装することを考えるはずです。

    僕もそうだと感じ他のやり方はないかと調べました。以下は調べたサイトなのですが、タグと本の関連付けがきちんとなされていると思います。
    https://techbooks.jp/

    上記のようなアプリで、タグが外部apiである本のapiへの検索ワードとして存在しているだけなのか、タグと何万もの本がアプリ内で一つ一つ関連付けがされていてアプリ内でタグ検索をしているのかわからないのです。前者であれば、もはやアプリという形ではなく、本のapiを直接たたくだけで済むということになりますし、後者であれば本当にこんなめんどくさいことしているのかという疑問があります。

  2. Amazon の API から「すべてのwebの技術書をとってきて、dbに保存」などということは、できるわけがないとまでは言いませんが、少なくとも非現実的だと思いませんか? Amazon の DB は常に更新されているのでしょうから、それとどうやって同期を取るつもりですか。できないでしょ。

    以下は調べたサイトなのですが、タグと本の関連付けがきちんとなされている

    それ、Amazon の API からデータを取ってきているんですか? どうやって調べたのですか?

  3. @RytRyu-0817

    Questioner

    僕も非常に非現実的だと感じました。
    なので、本のapiのデータに対して独自のタグを振って、そのタグに対して検索をかけれるような実装はできるのかということを質問させていただきました。
    「調べた」というのは語弊がありました。申し訳ありません。
    僕が考えているような実装をしているサイトを探していた時に、前述したサイト見つけたということです。

  4. 本のapiのデータに対して独自のタグを振って、そのタグに対して検索をかけれるような実装はできるのか

    その「タグ」を、質問者さんの作る django-rest-framework の中で翻訳・変換して、Amazon の API で検索可能な形にできるのですか? できれば可能かもしれません。

    具体的にどうすればいいかは、ここに書いてあること以外は知りえない他人が分かるはずはなく、質問者さんが自分の要件に合わせて自分で考えることだと思います。

  5. @RytRyu-0817

    Questioner

    その「タグ」を、質問者さんの作る django-rest-framework の中で翻訳・変換して、Amazon の API で検索可能な形にできるのですか?

    全くやり方が思いつかないですね...。もはやこの形ならamazon apiに直接リクエストを投げた方がよいんじゃね?ともおもうんですよね。
    このアプリの必要性も少し疑問が残るので、もう少し考え直してみます。
    ご意見ありがとうございました!

  6. 全くやり方が思いつかないですね...。

    学生さんの勉強のためということのようですが、であれば実際にやってみたらいいと思いますけど。

    最初の質問にあった「GoogleBooksAPI内のすべてのwebの技術書に対して」の「すべて」にこだわらなければ、そして Amazon の DB と完璧に同期を取ることにこだわらなければ、勉強のためのアプリ程度なら作れそうな気がします。

    ブログアプリ(普通はタグ付けできるはず)など適当なフレームワークを探してきて、それ用の DB があるはずなのでそれにサンプルデータを入力して動くようにし、自分でタグを設定するなど、自分の手を動かしてやってみてはいかが?

    で、その DB の内容を充実させアプリを完成するために、どこからどのようにデータを入手するかを考えてみればいかが?

  7. @RytRyu-0817

    Questioner

    ブログアプリ(普通はタグ付けできるはず)など適当なフレームワークを探してきて、それ用の DB があるはずなのでそれにサンプルデータを入力して動くようにし、自分でタグを設定するなど、自分の手を動かしてやってみてはいかが?で、その DB の内容を充実させアプリを完成するために、どこからどのようにデータを入手するかを考えてみればいかが?

    何万の書籍情報とタグを一個一個結ぶ手間とそれで得られるアプリの価値を見比べながら、調査を少し進めていきたいと思います!!

  8. 何万の書籍情報とタグを一個一個結ぶ手間とそれで得られるアプリの価値を見比べながら

    是非、自分の手を動かしていろいろやってみてください。やってみない事には「手間」を「見比べ」ることはできないはずですので。

    これ以上ここでの Q&A は必要なさそうですが、そうであればこのスレッドはクローズ願います。(このまま放置しないようお願いします)

  9. @RytRyu-0817

    Questioner

    バッチ処理をするようなライブラリを見つけたので、それにデータベースの保存処理を加えれば行けそうです。。
    ありがとうございました!

DBに保存される情報を独自なタグをつける方法について、もし関数一括変換みたいの方法があると、API利用時、変換関数を加えてやればいけるはずです。この場合、わざわざのDB保存が不要でしょうと思います。

タグつけの一連の作業に、なにかの人間の作業を避けられない場合こそ価値が出るところになりますが、このような場面はこれからAIの出番箇所でしょうと思います。つまり、APIからの情報をDBに保存するまえに、一回AIにinputして評価してもらって評価結果はタグ情報にすればOKです。chartGPTを訓練して、しゃべりすぎではなく、単語だけを回答できるようにしたらと思います。(chartGPTをどう訓練するか未経験ですけれど、ブレーンストーミングだけさせていただきます。:sweat_smile:

次は、コストv効果ですね。数千行~1万行ぐらいなら、人間手作業は1週間分程度なら手作業にすべきです。それを超える場合、または将来何回も行う場合、AI自動化を選択すべきでしょう。

0Like

Comments

  1. @RytRyu-0817

    Questioner

    コメントありがとうございます。
    1.本apiから書籍データ取得
    2.取得した書籍データをchatgptなどのaiに入力し、出力としてその書籍データのタグを取得
    3.書籍データとタグのペアをdbに保存
    の流れということでしょうか。

  2. はい。合っています。人月単位の工数になりますが、途中で挫折な可能性も高いです。着手する前にもうちょっと実現可能性を調査したほうがよいです。

  3. @RytRyu-0817

    Questioner

    そうですね...。
    少し直観的な発想で考えてしまっていたかもしれません。もっと調べてから取り掛かりたいと思います。
    ご意見ありがとうございました。

Your answer might help someone💌