CoolFace
Apppublic

sanjayw/SparkNLP_NER

sourceHugging Faceupdated 4y agoView on Hugging Face
0likes
streamlit_ner_output.cpython-37.pyc55 linesDownload Raw Back to root
1B

2�Ua}(�@s�ddlZddlZddlZddlZddlZddlZ	e	j3Zdd�Zdd�Z
dd�Zdd4d�Zdd
�Zdd�Zdd�Zdd�Zdd�ZdS)�NcCsDt|���tj��kr$tj|��Sdd�}d|�|�|�fSdS)NcSst�dd�S)Nr��)�random�randint�rr�L/Users/ahmetemintek/Desktop/streamlit_projects/utils/streamlit_ner_output.py�<lambda>
�zget_color.<locals>.<lambda>z
#%02X%02X%02X)�str�lower�config�LABEL_COLORS�keys)�l�rrrr�	get_color	src
Cs�i}x|D]}t|�||<q5Wd}d}x�|dD]�}|d}|d}	|d}6|dd}||kr�|t|�kr�|||�}|d	�|�7}|	d}|7|kr�|d8�||d||9�7}q0|d	�|�7}q0W|t|�kr�|d	�||d��7}|d7}|S)
zGFunction to display NER annotation when ner_converter was not used10    �r�ner�����wordz><span class="others" style="background-color: white">{}</span>z�<span class="entity-wrapper" style="background-color: {}"><span class="entity-name">{} </span><span class="entity-type">{}</span></span>Nz</div>)r�len�format)
�
original_text�fully_annotated_text�labels�label_colorr�html_output�pos�n�begin�end�entityr�11white_textrrr�%jsl_display_annotations_not_converteds0121314r%cCs�i}x|D]}t|�||<q15Wd}d}x�|dD]�}|d}|d}	||krr|t|�krr|||�}16|d�|17�7}|	d}|dd|kr�|d	�||dd|d18|dd�7}q0|d�|d19�7}q0W|t|�kr�|d�||d��7}|d7}|S)NrrZ	ner_chunkrrz><span class="others" style="background-color: white">{}</span>rr#z�<span class="entity-wrapper" style="background-color: {}"><span class="entity-name">{} </span><span class="entity-type">{}</span></span>rz</div>)rrr)rrrrrrrr r!r"r$rrr�jsl_display_annotations3s,20r&�-Text annotated with identified Named EntitiesTcCs�|dkrHt�d�d��t|||�}|�dd�}tjtj�|�dd�nPt�|�d��|rjt|||�}nt	|||�}|�dd�}tjtj�|�dd�t�d�dS)	z�Show annotation as HTML objects21 22    David Cecchini: Added the parameter `converted` to control if the annotated text is output of ner_converter or not (use nerTagger output)23    Fz$Text annotated with matched Entitiesr�24z<br>T)�unsafe_allow_htmlN)25�st�	subheaderr�#jsl_display_annotations_without_tag�replace�writer�HTML_WRAPPERr&r%)rrZ	label_set�
title_messageZshow_tag�	converted�html_contentrrr�26show_html2Rsr3cCs�i}x|D]}t|�||<q27Wd}d}x�|dD]�}|d}|d}	||krr|t|�krr|||�}28|d�|29�7}|	d}|d|kr�|d�||d|d�7}q0|d�|d�7}q0W|t|�kr�|d�||d��7}|d	7}|S)30Nrr�matched_textrrz><span class="others" style="background-color: white">{}</span>rze<span class="entity-wrapper" style="background-color: {}"><span class="entity-name">{} </span></span>z</div>)rrr)rrrrrrrr r!r"r$rrrr,is*3132r,cCs�td�}t�d�d��d}xlt||�D]^\}}|d}|d}||kr\|d�|||�7}q(|tddg�krp|nd|}|d	�|�7}q(W|�d33d�}tjtj	�|�dd
�dS)N�randz#Text annotated with corrected wordsrrzv <span class="entity-wrapper" style="background-color: {}"><span class="entity-name"><del> {} </del> {} </span></span>�,�.� z><span class="others" style="background-color: white">{}</span>r(z<br>T)r))34rr*r+r�zip�setr-r.rr/)Zoriginal_tokensZcorrected_tokens�colorrZoriginal_tokenZcorrected_token�originalZ	correctedrrr�jsl_display_spell_correction�sr=cCsni}x|D]}t|�||<q35Wd}d}x�|��D]�\}}|d}	|d}36||	krv|t|�krv|||	�}|d�|�7}|37d}|d}|d}
|d|kr0t|�}|
��d	kr�|d38�||dd|d|d||dd|||dd
|
�7}q0|d�||d|d|d�7}q0W|t|�k�r@|d�||d��7}|d7}|�dd�}tjtj	�|�dd�dS)Nrrrrz><span class="others" style="background-color: white">{}</span>r�r�naa	<span class="entity-wrapper" style="background-color: {}"><span class="entity-name">{} </span><span class="entity-type">{}</span><span class="entity-type" style="background-color: {}">{} </span><span class="entity-type" style="background-color: {}">{}</span></span>�B3�FF�CCz�<span class="entity-wrapper" style="background-color: {}"><span class="entity-name">{} </span><span class="entity-type">{}</span></span>z</div>r(z<br>T)r))39r�iterrowsrrr40r-r*r.rr/)rrrrrrr�ir r!r"r$�resolution_chunkZresolution_expZsecond_colorrrr�jsl_display_entity_resolution�sD414243rFc
44CsNi}x|D]}t|�||<q45Wd}d}x�|��D]�\}}|d}	|d}46||	krv|t|�krv|||	�}|d�|�7}|47d}|d}|d|kr0|��dkr�|d	�||dd48|d|d||dd|�7}q0|d�||d|d|d�7}q0W|t|�k�r |d�||d��7}|d
7}|�dd�}tjtj	�|�dd�dS)Nrrrrz><span class="others" style="background-color: white">{}</span>rrr?z�<span class="entity-wrapper" style="background-color: {}"><span class="entity-name">{} </span><span class="entity-type">{}</span><span class="entity-type" style="background-color: {}">{} </span></span>r@rAz�<span class="entity-wrapper" style="background-color: {}"><span class="entity-name">{} </span><span class="entity-type">{}</span></span>z</div>r(z<br>T)r))49rrCrrr50r-r*r.rr/)
rrrrrrrrDr r!r"r$rErrr�jsl_display_assertion�s<515253rGcCs54d�|�S)Nz�<div style="overflow-x: auto; border: 1px solid #e6e9ef; border-radius: 0.25rem; padding: 1rem; margin-bottom: 2.5rem; white-space:pre-wrap; min-height: 200px; max-height: 500px; line-height: 2.0">{}</div>)r)�textrrr�display_example_text�srI)r'TT)�	streamlitr*r�base64�pandas�pd�numpy�np�streamlit_apps_configr�project_path�current_pathrr%r&r3r,r=rFrGrIrrrr�<module>s"55*%