CoolFace
Apppublic

blacksquadece/Knowledge_graph_MachineLearning

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
rebel.cpython-38.pyc25 linesDownload Raw Back to __pycache__
1U

2���a��@s�ddlmZddlmZddlmZddlmZddlZddlm	Z	ddd	d3ddd
dddddddddddd�Z4eeed�dd�Zedd�ed�dd��Z
dd�ZdS)�)�List)�pipeline)�Network)�	lru_cacheN)�displacyz#7aececz#bfeeb7z#feca74z#ff9561z#aa9cfcz#c887fbz#9cc9ccz#ffeb80z#ff8197z#f0d0ffz#bfe1d9z#e4e7d2)ZORGZPRODUCTZGPEZLOCZPERSONZNORPZFACILITYZEVENTZLAW�LANGUAGEZWORK_OF_ART�DATE�TIMEZMONEYZQUANTITYZORDINALZCARDINAL�PERCENT)�texts�filenamecCs�t�d�}|d�|����}dd�|jD�}dd�|jD�}g}|D]}|�t|��qDdd�|D�}dd�|D�}	tt||	��}5t	dd	d	d6�}|7D]n}||kr�||�8|�}
|
|kr�|
t��kr�t|
}nd}|j
||
d|d
�n|j
|dd�q�|j
|dd�q�t�}dd�}|D]L}||�|k�r|j|d��|d��|d|dd�|�||���q|jdddddd�|�d�|�|�|9S)NZen_core_web_sm�10cSsg|]11}|j�qS���text��.0�entrr�A/mnt/c/Users/karel/Desktop/work/chapter work/REBEL/REBEL/rebel.py�12<listcomp>!sz,generate_knowledge_graph.<locals>.<listcomp>cSsg|]13}|j�qSr)Zlabel_rrrrr"scSsg|]}|d���qS)�head��lower�r�trrrr'scSsg|]}|d���qS)�tailrrrrrr(sTZ700px)�directed�width�heightz#666666�circle)�title�shape�color)r!cSs|d|d|d��S)Nrr�typer)�xrrr�<lambda><�z*generate_knowledge_graph.<locals>.<lambda>rrr#)r �label��g�������?g�������?g14ףp=15�?)�
node_distance�central_gravity�
spring_length�spring_strength�damping�dynamic)�spacy�load�joinrZents�extend�generate_partial_graph�list�setr�index�DEFAULT_LABEL_COLORS�keys�add_node�add_edge�add�	repulsion�set_edge_smooth�show)rrZnlp�docZNERsZ	NER_types�triplets�triplet�headsZtails�nodes�net�nZNER_typer"Zunique_tripletsZstringify_triprrr�generate_knowledge_graphsP1617��1819rF�)�maxsizercCsDtdddd�}||ddd�ddd	}|j�|�}t|d�}|S)20Nztext2text-generationzBabelscape/rebel-large)�model�	tokenizerTF)Zreturn_tensorsZreturn_textrZgenerated_token_idsZ21output_ids)rrJZbatch_decode�extract_triplets)rZtriplet_extractor�aZextracted_textZextracted_tripletsrrrr3Os22r3cCsHg}d\}}}}|��}d}|�dd��dd��dd���D]�}|dkr|d}|dkrv|�|��|��|��d	��d}d}q<|d23kr�d}|dkr�|�|��|��|��d	��d}q<|dkr�d
}d}q<|dkr�|d|7}q<|dkr�|d|7}q<|d
kr<|d|7}q<|dk�rD|dk�rD|dk�rD|�|��|��|��d	��|S)zG24    Function to parse the generated text and extract the triplets25    )�rMrMrMr$z<s>rMz<pad>z</s>z	<triplet>r)rr#rz<subj>�sz<obj>�o� )�strip�replace�split�append)rr@�relation�subject�object_�current�tokenrrrrKXs8$rK)�typingr�transformersr�
pyvis.networkr�	functoolsrr/rr7�strrFr3rKrrrr�<module>s8�1