None1145's picture
Update app.py
6f014a9 verified
raw
history blame
1.85 kB
import pandas as pd
import gradio as gr
def compare_csv_files():
df1 = pd.read_csv("fish-speech-1.5.csv")
df2 = pd.read_csv("fish-speech-1.4.csv")
merged_df = pd.merge(df1, df2, on="SourceText", suffixes=("_1.5", "_1.4"))
merged_df["WordErrorRate_Diff"] = merged_df["WordErrorRate_1.5"] - merged_df["WordErrorRate_1.4"]
merged_df["CharacterErrorRate_Diff"] = merged_df["CharacterErrorRate_1.5"] - merged_df["CharacterErrorRate_1.4"]
merged_df["WordErrorRate_Comparison"] = merged_df["WordErrorRate_Diff"].apply(
lambda x: f"1.5 is stronger than 1.4 ({x:.8f})" if x < 0 else (
f"1.4 is stronger than 1.5 ({-x:.8f})" if x > 0 else "1.4 is the same as 1.5 (0)"
)
)
merged_df["CharacterErrorRate_Comparison"] = merged_df["CharacterErrorRate_Diff"].apply(
lambda x: f"1.5 is stronger than 1.4 ({x:.8f})" if x < 0 else (
f"1.4 is stronger than 1.5 ({-x:.8f})" if x > 0 else "1.4 is the same as 1.5 (0)"
)
)
avg_word_diff = merged_df["WordErrorRate_Diff"].mean()
avg_char_diff = merged_df["CharacterErrorRate_Diff"].mean()
overall_summary = f"""
<h3>Overall Comparison:</h3>
<p>Average WordErrorRate Difference: {'1.5 is stronger' if avg_word_diff < 0 else '1.4 is stronger'} ({avg_word_diff:.8f})</p>
<p>Average CharacterErrorRate Difference: {'1.5 is stronger' if avg_char_diff < 0 else '1.4 is stronger'} ({avg_char_diff:.8f})</p>
"""
result = merged_df[[
"SourceText",
"WordErrorRate_1.5", "WordErrorRate_1.4", "WordErrorRate_Comparison",
"CharacterErrorRate_1.5", "CharacterErrorRate_1.4", "CharacterErrorRate_Comparison"
]]
return overall_summary + result.to_html(index=False)
gr.Interface(
fn=compare_csv_files,
inputs=None,
outputs="html"
).launch()