CoolFace
Apppublic

RyanTietjen/Paper-Fragmentation

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes
process_input.py67 linesDownload Raw Back to root
1"""
2Sep 2024
3Ryan Tietjen
4Contains helper functions to process user input for the demo
5"""
6import pandas as pd
7
8def split_abstract(abstract):
9    results = []
10
11    lines = abstract.split("\n")
12    for i, line in enumerate(lines):
13        entry = {
14                "target": 0,
15                "text": line.lower(),
16                "line_number": i + 1,
17                "total_lines": len(lines)
18                }
19        results.append(entry)
20    return results
21
22def split_abstract_original(abstract):
23    results = []
24
25    lines = abstract.split("\n")
26    for i, line in enumerate(lines):
27        entry = {
28                "target": 0,
29                "text": line,
30                "line_number": i + 1,
31                "total_lines": len(lines)
32                }
33        results.append(entry)
34    return results
35
36def split_sentences_by_characters(corpus):
37    return [" ".join(sentence) for sentence in corpus]
38
39def encode_labels(*datasets):
40    """
41    Encode labels for multiple datasets using a unified label mapping.
42    
43    Args:
44    *datasets: Arbitrary number of array-like structures containing labels.
45    
46    Returns:
47    tuple: Encoded labels as numpy arrays for each dataset.
48    """
49    # Collect all labels from all datasets into a single list
50    all_labels = pd.concat([pd.Series(data) for data in datasets])
51    
52    # Get unique labels and sort them to ensure consistency
53    unique_labels = pd.unique(all_labels)
54    unique_labels.sort()
55    
56    # Create mapping from labels to integers
57    label_to_index = {label: idx for idx, label in enumerate(unique_labels)}
58    
59    # Function to encode a single dataset
60    def encode_single_dataset(dataset, mapping):
61        return pd.Series(dataset).map(mapping).to_numpy()
62    
63    # Encode all datasets using the mapping
64    encoded_datasets = tuple(encode_single_dataset(dataset, label_to_index) for dataset in datasets)
65    
66    # Return only the encoded datasets
67    return encoded_datasets