File size: 1,598 Bytes
c5b16f9
 
1864742
 
c5b16f9
94349ba
650b6f6
 
 
 
94349ba
 
650b6f6
 
 
 
 
 
 
 
 
 
 
 
94349ba
650b6f6
94349ba
 
2759288
 
 
 
 
 
 
 
 
650b6f6
94349ba
 
1864742
 
 
 
650b6f6
1864742
 
94349ba
1864742
 
 
41ccd9e
 
 
94349ba
1864742
94349ba
1864742
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import json

import gradio as gr
import pandas as pd


def read_json(file_name):
    with open(file_name, "r") as f:
        json_data = json.load(f)
    return json_data


json_file = "awesome-japanese-nlp-resources-search.json"
json_data = read_json(json_file)
data = {"project_name": [], "source": [], "description": []}

for data_json in json_data:
    url = data_json["url"]
    description = data_json["description"]
    project_name = data_json["project_name"]
    source = data_json["source"]
    data["project_name"].append(f"[{project_name}]({url})")
    data["source"].append(source)
    data["description"].append(description)

data = pd.DataFrame(data)


def show_search_results(queries):
    queries = queries.lower()
    queries = queries.split()

    df_search = data
    for query in queries:
        contained_description = data["description"].str.contains(query)
        contained_project_name = data["project_name"].str.contains(query)
        df_search = df_search[contained_description | contained_project_name]
    return df_search


with gr.Blocks() as demo:
    gr.Markdown(
        """
    # Awesome Japanese NLP resources search 🔎
    You can search for open-source software from [1000+ Japanese NLP repositories](https://github.com/taishi-i/awesome-japanese-nlp-resources).
    """
    )

    query = gr.Textbox(
        label="Search English or Japanese words", placeholder="llm"
    )
    df = gr.DataFrame(
        value=data, type="pandas", datatype="markdown", height=1000
    )

    query.change(fn=show_search_results, inputs=query, outputs=df)

demo.launch()