File size: 4,326 Bytes
7baf701
 
1d70c91
7baf701
 
 
f5c8bff
7baf701
 
 
f5c8bff
7baf701
 
f5c8bff
7baf701
f5c8bff
 
7baf701
 
 
 
f5c8bff
7baf701
 
f5c8bff
 
7baf701
 
 
 
 
f5c8bff
7baf701
 
f5c8bff
 
 
7baf701
 
84105f5
836fa19
f5c8bff
 
 
ee305a4
84105f5
 
 
f5c8bff
ee305a4
 
 
f5c8bff
ee305a4
 
f5c8bff
ee305a4
f5c8bff
 
ee305a4
 
 
 
f5c8bff
ee305a4
 
f5c8bff
 
ee305a4
 
 
84105f5
ee305a4
 
 
f5c8bff
ee305a4
 
f5c8bff
ee305a4
84105f5
ee305a4
f5c8bff
 
84105f5
436c4c1
 
f5c8bff
 
 
 
 
 
 
 
 
436c4c1
f5c8bff
436c4c1
 
 
 
 
f5c8bff
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import re

def highlight_common_words(common_words, sentences, title):
    color_map = {}
    color_index = 0
    highlighted_html = []
    
    for idx, sentence in enumerate(sentences, start=1):
        sentence_with_idx = f"{idx}. {sentence}"
        highlighted_sentence = sentence_with_idx
        
        for index, word in common_words:
            if word not in color_map:
                color_map[word] = f'hsl({color_index * 60 % 360}, 70%, 80%)'
                color_index += 1
            escaped_word = re.escape(word)
            pattern = rf'\b{escaped_word}\b'
            highlighted_sentence = re.sub(
                pattern,
                lambda m, idx=index, color=color_map[word]: (
                    f'<span style="background-color: {color}; font-weight: bold;'
                    f' padding: 2px 4px; border-radius: 2px; position: relative;">'
                    f'<span style="background-color: black; color: white; border-radius: 50%;'
                    f' padding: 2px 5px; margin-right: 5px;">{idx}</span>'
                    f'{m.group(0)}'
                    f'</span>'
                ),
                highlighted_sentence,
                flags=re.IGNORECASE
            )
        highlighted_html.append(highlighted_sentence)
    
    final_html = "<br><br>".join(highlighted_html)
    return f'''
    <div style="border: solid 1px #; padding: 16px; background-color: #FFFFFF; color: #374151; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 8px;">
    <h3 style="margin-top: 0; font-size: 1em; color: #111827;">{title}</h3>
    <div style="background-color: #F5F5F5; line-height: 1.6; padding: 15px; border-radius: 8px;">{final_html}</div>
    </div>
    '''



import re

def highlight_common_words_dict(common_words, sentences, title):
    color_map = {}
    color_index = 0
    highlighted_html = []
    
    for idx, (sentence, score) in enumerate(sentences.items(), start=1):
        sentence_with_idx = f"{idx}. {sentence}"
        highlighted_sentence = sentence_with_idx
        
        for index, word in common_words:
            if word not in color_map:
                color_map[word] = f'hsl({color_index * 60 % 360}, 70%, 80%)'
                color_index += 1
            escaped_word = re.escape(word)
            pattern = rf'\b{escaped_word}\b'
            highlighted_sentence = re.sub(
                pattern,
                lambda m, idx=index, color=color_map[word]: (
                    f'<span style="background-color: {color}; font-weight: bold;'
                    f' padding: 1px 2px; border-radius: 2px; position: relative;">'
                    f'<span style="background-color: black; color: white; border-radius: 50%;'
                    f' padding: 1px 3px; margin-right: 3px; font-size: 0.8em;">{idx}</span>'
                    f'{m.group(0)}'
                    f'</span>'
                ),
                highlighted_sentence,
                flags=re.IGNORECASE
            )
        highlighted_html.append(
            f'<div style="margin-bottom: 5px;">'
            f'{highlighted_sentence}'
            f'<div style="display: inline-block; margin-left: 5px;  padding: 3px 5px; border-radius: 3px; background-color: white; font-size: 0.9em;">'
            f'Entailment Score: {score}</div></div>'
        )
    
    final_html = "<br>".join(highlighted_html)
    return f'''
    <div style="background-color: #ffffff; color: #374151;">
    <h3 style="margin-top: 0; font-size: 1em; color: #111827;">{title}</h3>
    <div style="background-color: #F5F5F5; line-height: 1.6; padding: 15px; border-radius: 8px;">{final_html}</div>
    </div>
    '''

def reparaphrased_sentences_html(sentences):
    
    formatted_sentences = []
    
    for idx, sentence in enumerate(sentences, start=1):
        # Add index to each sentence
        sentence_with_idx = f"{idx}. {sentence}"
        formatted_sentences.append(sentence_with_idx)
    
    final_html = "<br><br>".join(formatted_sentences)
    
    return f'''
    <div style="border: solid 1px #ccc; padding: 16px; background-color: #FFFFFF; color: #374151; 
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 8px;">
        <div style="background-color: #F5F5F5; line-height: 1.6; padding: 15px; border-radius: 8px;">{final_html}</div>
    </div>
    '''