ホーム 記事一覧 ブック DH週間トピックス 検索 このサイトについて
English
学習指導要領コード推薦アプリのAPIを使用する

学習指導要領コード推薦アプリのAPIを使用する

概要 以下の記事で、学習指導要領コードの推薦アプリについて紹介しました。 今回は、GradioのAPIを使って、上記の推薦アプリを使用する方法について紹介します。 使い方 ライブラリをインストールします。 pip install gradio_client 例えば、以下のデータを使用してみます。 テキスト 学校種別 空気鉄砲や水鉄砲、ペットボトルロケットなどのしくみを調べ、空気はおし縮められ体積が小さくなるにつれて反発する力が大きくなるが、水はおし縮められないことに気づく。 小学校 JSONデータは実行結果の配列の2つ目の要素に格納されているため、result[1]で取得します。 from gradio_client import Client client = Client("nakamura196/jp-cos") result = client.predict( text="空気鉄砲や水鉄砲、ペットボトルロケットなどのしくみを調べ、空気はおし縮められ体積が小さくなるにつれて反発する力が大きくなるが、水はおし縮められないことに気づく。", courseOfStudy=["小学校"], api_name="/predict" ) json_data = result[1] 結果、以下のようなJSONデータが得られます。 [{'dcterms:identifier': '8260243111200000', 'jp-cos:courseOfStudy': '小学校', 'jp-cos:subjectArea': '理科', 'score': 0.215, 'jp-cos:sectionText': '閉じ込めた空気は圧《お》し縮められるが,水は圧《お》し縮められないこと。'}, {'dcterms:identifier': '8260243111100000', 'jp-cos:courseOfStudy': '小学校', 'jp-cos:subjectArea': '理科', 'score': 0.236, 'jp-cos:sectionText': '閉じ込めた空気を圧《お》すと,体積は小さくなるが,圧《お》し返す力は大きくなること。'}, {'dcterms:identifier': '8260243112000000', 'jp-cos:courseOfStudy': '小学校', 'jp-cos:subjectArea': '理科', 'score': 0.246, 'jp-cos:sectionText': '空気と水の性質について追究する中で,既習の内容や生活経験を基に,空気と水の体積や圧《お》し返す力の変化と圧《お》す力との関係について,根拠のある予想や仮説を発想し,表現すること。'}, {'dcterms:identifier': '8260243110000000', 'jp-cos:courseOfStudy': '小学校', 'jp-cos:subjectArea': '理科', 'score': 0.255, 'jp-cos:sectionText': '空気と水の性質 空気と水の性質について,体積や圧《お》し返す力の変化に着目して,それらと圧《お》す力とを関係付けて調べる活動を通して,次の事項を身に付けることができるよう指導する。'}] 発展 より詳細な使用方法について、フッター部分の「Use via API」から確認することができます。 パラメータや返却される値について説明されています。 まとめ 参考になりましたら幸いです。

学習指導要領コードの推薦アプリの試作

学習指導要領コードの推薦アプリの試作

概要 学習指導要領コードの推薦アプリを作成しましたので、その紹介です。以下のhuggingfaceのspaceでお試しいただけます。学習指導要領LODを利用しました。 https://huggingface.co/spaces/nakamura196/jp-cos 使い方 テキストフォームに任意のテキストを入力します。「学校種別」は任意項目です。 結果が画面右側に表示されます。 サンプルも用意していますので、お試しください。NHK for Schoolの情報を利用しています。 仕組み 以下の記事を参考に、学習指導要領のテキストをベクトル化し、同様にベクトル化した質問文と類似する学習指導要領を返却します。 https://zenn.dev/yumefuku/articles/llm-langchain-rag 上記の記事の通り、ベクトル検索ライブラリには「FAISS」、埋め込みモデルには「multilingual-e5-large」を使用しています。 https://huggingface.co/intfloat/multilingual-e5-large 推論部分のソースコードは以下でご確認いただけます。 https://huggingface.co/spaces/nakamura196/jp-cos/blob/main/app.py 工夫点 「学校種別」などを用いたフィルタリング 「学校種別」が指定された場合、langchainのFAISS.similarity_search_with_scoreによる類似度検索において、フィルタリングを行っています。 具体的には、以下のfilterを用いています。 metadata = {} if grade: metadata["学校種別"] = grade try: docs_and_scores = index.similarity_search_with_score(input_text, filter=metadata) except Exception as e: print(f"Error during search: {e}") return [] 今後 「教科等」による絞り込み 「学校種別」による絞り込みに加えて、「教科等(理科、社会、数学など)」も追加予定です。 推薦精度の評価 学習指導要領コードがすでに付与されているNHK for Schoolのコンテンツを対象に、推薦精度の評価を行う予定です。 「学校種別」の追加 現在は、以下の7つの学校種別のみを使用しています。他の学習指導要領も今後追加予定です。 UpperSecondary/2018 UpperSecondaryDeptSNES/2019 Elementary/2017 ElementaryAndLowerSecondaryDeptSNES/2017 LowerSecondary/2017 Kindergarten/2017 KindergartenDeptSNES/2017 まとめ 学習指導要領LODの開発者の方々に感謝いたします。 ...

学習指導要領LODを使う

学習指導要領LODを使う

概要 学習指導要領LODは以下のように説明されています。 学習指導要領LODは、文部科学省が公開している学習指導要領と教育要領の内容・コードおよび関連する情報をLinked Open Data (LOD) として公開します。LOD化の対象は、現在公開されている全ての学校種別の新旧学習指導要領と教育要領(一部改正を含む)コード表の最新版です。 https://jp-cos.github.io/ このデータセットを使う機会がありましたので、使い方に関する備忘録です。 SPARQLエンドポイントの構築 今回は、DYDRAを使用します。 https://dydra.com/ 以下が登録した結果です。 https://dydra.com/ut-digital-archives/jp-cos/ Snorqlの作成 SPARQLエンドポイントを使いやすくするため、Snorqlを用意しました。 https://sukilam-educational-metadata.github.io/etc/jp-cos/ 検索例 以下のクエリにより、「学習指導要領(jp-cos:CourseOfStudy)」毎の「細目(jp-cos:Item)」の数を把握することができます。 https://sukilam-educational-metadata.github.io/etc/jp-cos/?query=PREFIX+rdf%3A+<http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23> PREFIX+jp-cos%3A+<https%3A%2F%2Fw3id.org%2Fjp-cos%2F> SELECT+%3FcourseOfStudy+(count(distinct+%3Fs)+as+%3Fcount)++WHERE+{ ++%3FcourseOfStudy+rdf%3Atype+<https%3A%2F%2Fw3id.org%2Fjp-cos%2FCourseOfStudy>+.+ ++%3Fs+jp-cos%3AcourseOfStudy+%3FcourseOfStudy+.+ }+ GROUP+BY+%3FcourseOfStudy ORDER+BY+desc(%3Fcount) Yasguiで可視化する 以下がYasuiでの可視化例です。UpperSecondary(高等学校, jp-cos:school/UpperSecondary)の細目が多いようです。 https://api.triplydb.com/s/Vhi86jwiH まとめ 学習指導要領LODの作成者の方々に感謝いたします。 学習指導要領LODの利用にあたり、参考になりましたら幸いです。