"""校異源氏物語の類似テキスト検索システム このモジュールは、校異源氏物語のテキストデータベースに対して 類似テキスト検索を行うWebインターフェースを提供します。 """ import gradio as gr from genji_predict.core import ApiClient DATA_PATH = "./data.json" client = ApiClient(DATA_PATH) def search_similar_texts(query, selected_vols, top_n, xml_file): xml_file_path = None if xml_file is not None: xml_file_path = xml_file.name return client.search_similar_texts(query, selected_vols, top_n=top_n, xml_file_path=xml_file_path) # Gradioインターフェースの作成 demo = gr.Interface( fn=search_similar_texts, inputs=[ gr.Textbox(label="検索テキスト", placeholder="検索したいテキストを入力してください"), gr.Dropdown( choices=[str(i) for i in range(1, 55)], label="巻", multiselect=True, value=[], ), gr.Slider(minimum=1, maximum=10, value=5, step=1, label="表示件数"), gr.File(label="TEI/XMLファイル") ], outputs=[ gr.JSON(), # gr.JSON(label="巻ごとの割合") ], title="校異源氏物語 類似テキスト検索", description="テキストを入力すると、校異源氏物語の類似する箇所を検索します。TEI/XMLファイルのアップロードにあたっては、[こちら](https://zenn.dev/nakamura196/articles/e9238881bbc4f7#ocr)をご覧ください。", allow_flagging="never", examples=[ ["同五源氏誕生より十二才まて有いづれの御時にか。女御更衣ありさふらひ浴けるなかにいとやむこ□□□となききはにはあらぬかすぐれてときめき給ふありけりはしめよりわれはと思ひあがり給へる御かためざましきものにおとしめそねみ給おなじほどそれより下らうの更衣たちはましてやすからすあさ夕の宮つかへにつけても人の心をうこかしうらみをおふつもりにや有けん銅大世更衣いとあづしくなりゆきもの心ほそけにさとがちなるをいよあかすあつれなるものにおほゝして人のそしりをもえはゞからせ給はす世のためしにもなりぬべき御もてなしなりかんだちめうへ人などもあひなくめを", [], 5, None] ] ) # インターフェースの起動 demo.launch()