Code Monkey home page Code Monkey logo

rmarquet21 / streamlit-annotation-tools Goto Github PK

View Code? Open in Web Editor NEW
54.0 54.0 3.0 5.11 MB

Streamlit Annotation Tools is a Streamlit component that gives you access to various annotation tools (labeling, highlighting, etc.) for text data.

Home Page: https://pypi.org/project/streamlit-annotation-tools

License: MIT License

Python 28.42% HTML 2.31% TypeScript 68.43% CSS 0.16% JavaScript 0.68%
annotations nlp streamlit streamlit-components

streamlit-annotation-tools's Introduction

Hi there ๐Ÿ‘‹

๐Ÿ’ป๐Ÿค– I am a 24-year-old developer, passionate about Machine Learning.

๐ŸŽ“ Education:

  • Master's Degree in Computer Science with a Specialization in Machine Learning (Epitech, 2023)
    • Relevant Coursework: [Deep Learning, Natural Language Processing, Computer Vision, RL]

๐ŸŒŸ Skills: I am proficient in a wide range of programming languages, tools, and technologies, including but not limited to:

  • Programming Languages: Python
  • Machine Learning Frameworks: TensorFlow, PyTorch, scikit-learn
  • Web Development: Vue.js, React.js, TypeScript, HTML, CSS
  • Backend Development: Python, Flask, FastAPI
  • Databases: PostgreSQL, SQLite, MongoDB
  • Data Science: Data preprocessing, feature selection, model evaluation
  • Other Skills: Docker, Express.js, Figma, Firebase, GraphQL, Node.js

๐Ÿš€ Professional Experience:

  • ๐Ÿ‘จโ€๐Ÿ’ป Full-Stack Developer & Machine Learning Engineer @ ReportLinker.com (April 2022 - Present)

    • Projects Completed:
      • Developed a SaaS data search solution using Vue.js and Express.js
      • Created an automated pipeline for training named entity recognition models
      • Deployed classification, coreference, and named entity recognition models with Python and FastAPI
      • Conducted groundbreaking research on Large Language Models (LLM) for news summarization
  • ๐Ÿ‘จโ€๐Ÿ’ป Full-Stack Developer @ Stackeo (September 2020 - March 2022)

    • Projects Completed:
      • Built a SaaS solution for IoT fleet management
      • Led front-end development using React and TypeScript
      • Contributed to back-end development using Python and Flask
      • Successfully implemented Agile methodologies (Scrum, Kanban) for project management

๐Ÿ’ป Notable Projects: Some of my notable projects include:

  • ๐Ÿ“ˆ Stock Price Prediction using LSTM
  • ๐Ÿค– Image Classification using Convolutional Neural Networks
  • ๐Ÿ” Customer Segmentation using K-Means Clustering

๐Ÿ’ฌ Let's talk about Machine Learning: I believe that Machine Learning will play a crucial role in shaping the future, and I am excited to be a part of this revolution. If you have any questions or ideas on ML, let's have a chat! ๐Ÿ˜Š

My Skills

My weekly Waka stats

TypeScript   20 hrs 23 mins  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘   70.13 %
Vue.js       5 hrs 45 mins   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘   19.81 %
JSON         2 hrs 13 mins   โ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘   07.65 %
Other        10 mins         โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘   00.60 %
Markdown     9 mins          โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘   00.55 %

streamlit-annotation-tools's People

Contributors

rmarquet21 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sorokinvld zedeme

streamlit-annotation-tools's Issues

Component Error when attempting to use pre-defined label List

I've started receiving this error whenever I try to pass a label list as input to the text_labeler().

Dependencies:
python 3.11.4
streamlit==1.31.0
streamlit-annotation-tools==1.0.1

col1, col2 = st.columns(2)

with col1:
    st.header("Document")
    annotations = text_labeler(text=get_document(), labels=['one', 'two', 'three'])

with col2:
    st.header("Abstracted Fields")
    st.write(annotations)

ERROR: text_labeler component is not presented. However, the annotations object is presented as expected

Component Error
n.sort is not a function. (In 'n.sort(((e,t)=>e.start-t.start))', 'n.sort' is undefined)

Chrome Inspector shows the following error, but JS is enabled. Same on Brave and Safari.
<noscript>You need to enable JavaScript to run this app.</noscript>

Removing the labels allows the text_labeler to render.
annotations = text_labeler(doc_text)

  • web component loads and I can label without error

Disable Selected item widget

I want to remove list of selected items widget show bellow.

Screenshot 2024-01-17 at 12 58 06

Because I use multiselect of streamlit

Thank's for this component.

return selected label

The highlighter and labeler functions could also return the label selected on top so that additional stuff about those labels can be triggered or printed. Please can you add that functionality.

Change the color of labels and annotations

I don't know if it's possible, but I would like to change the colors of the annotation and labels. I tried to change the primary color of the streamlit, but it doesn't seem to change anything in the annotation.

Thank you for making the tool available.

unlock streamlit version in pyproject.toml

The streamlit version is set to 1.21.0, however streamlit-annotation-tools works with version 1.29.0. Is fixing the streamlit version in pyproject.toml is necessary?

Hidden selected words

Hey! Really like what you built ๐Ÿ™Œ
I just noticed there is kind of a hidden state with words not displayed as highlighted even if they are in the output
CleanShot 2023-11-24 at 11 40 36@2x

Annotation workflow proposal

That new label based version really is great! ๐ŸŽ‰ However I have the feeling it doesn't match the annotator user experience: it is not straightforward how to visualize all annotations and how to edit an existing annotation.

If I may, here is an proposition:
You could build upon the st annotated text lib: https://st-annotated-text.streamlit.app/
It features an easy way to visualize annotations, as they are in the text, with the category directly integrated in the annotation, and an automatic color box so that all annotations from the same category share the same color.
CleanShot 2023-12-08 at 13 32 37@2x

As an annotator, I might want then to :

  • visualize previous annotations loaded just like st annotated text
  • delete an annotation by directly clicking on the annotation. Here is a suggestion
CleanShot 2023-12-08 at 13 34 36@2x
  • create a new annotation, by selecting a word (just like you support texte selection today), and then displaying a selection input. Here is a suggestion
CleanShot 2023-12-08 at 13 36 56@2x

I assume the categories would be picked from a fixed list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.