NLP project that works with news (NER, context generation, news trend analytics)

Overview

СоАвтор

СоАвтор – платформа и открытый набор инструментов для редакций и журналистов-фрилансеров, который призван сделать процесс создания контента максимально комфортным и быстрым.

Инструменты для СоАвтора разрабатываются на основе открытой аналитической платформы OT. В ближайших планах полная интеграция приложения с платформой: сбор и обработка данных, запуск аналитических алгоритмов, а также сборка и запуск приложения будет осуществляться на платформе. Публичный репозиторий с инструментами платформы OT coming soon.

Сейчас мы разрабатываем следующие инструменты:

  • Отслеживание событий и трендов в режиме реального времени (работа со структурированными новостными форматами и парсинг новостных источников). Для этого мы пишем модуль для непрерывного парсинга новостных изданий и придумываем, как отслеживать информативные изменения в статьях.
  • Подбор релевантных статей к готовому материалу для автоматического формирования модуля бэкграунда (справочной информации или предыстории события). Для этого мы используем инструменты для поиска семантически похожих текстов в архиве и инструменты для генерации саммари из нескольких документов.

Разработка ведется вместе с профессиональным сообществом, чтобы сделать рабочий процесс для редакций и фрилансеров максимально удобным. Платформа "СоАвтор" имеет модульную структуру. Вы можете придумать новый инструмент, который упрощает работу с текстом, или принять участие в работе над теми, что уже в разработке. Вступайте в наше сообщество на Discord и присылайте свои #идеи того, как можно использовать “СоАвтор” при работе с контентом.

СоАвтор интерфейс


English below


Запустить приложение у себя

Установка

  1. Скачайте файлы проекта или сделайте форк и воспользуйтесь командой git clone
  2. Скачайте файлы с данными: ru_stopwords.txt и news_df.parquet
  3. Скачайте файлы моделей: rubert_tiny и rut5_base_sum
  4. Откройте терминал и перейдите в директорию проекта
  5. Используйте pip install requirements.txt, чтобы установить все нужные библиотеки

Запуск

  1. Поменяйте в файле config.yaml пути к файлам данных и моделям
  2. Откройте терминал и перейдите в директорию проекта
  3. Наберите в терминале команду streamlit run menu.py
  4. Приложение по умолчанию будет доступно по адресу http://localhost:8501 P.S.: приложение можно запустить на своём датасете, если будет соблюдён формат. Пример датасета и описание формата в директории data.

Как участвовать в разработке проекта

Текущие задачи

  1. Обновляемая лента новостей
  2. Модуль для подключения к соцсетям
  3. Анализ трендов по постам из социальных сетей
  4. Классификация evergreen новостей

Помочь решить одну из текущих проблем

  1. Проверьте есть ли открытые проблемы в Issues и выберите одну из них
  2. Если у вас есть своя идея, как законтрибьютить в этот проект, откройте в Issues новый тикет (как это сделать, описано ниже).
  3. Сделайте форк проекта, начните работать над тикетом и внесите свои изменения через pull request.

Добавить проблему (issue)

  1. Если вы нашли баг или недоработку, мы будем признательны, если вы оставите её описание в разделе Issues с тегом bug.
  2. Если у вас есть вопросы по функционалу или вы не понимаете баг это или фича, оставьте нам вопрос в разделе Issues с тегом question.
  3. Если у вас есть идея, какие возможности вы хотели бы ещё видеть в приложении, но не уверены, что можете их самостоятельно реализовать, добавьте описание идеи в раздел Issues с тегом enhancement.

Что ещё я могу делать

  1. Принять участие в обсуждении этого проекта или ваших собственных идей в дискорде нашего сообщества WellnessDataClub.
  2. Взять СоАвтор за основу для разработки собственного open source продукта. СоАвтор сейчас работает с новостями и соцсетями, вы можете начать работать с другим типом данных :)
  3. Примите участие в другом нашем open source проекте OpenMask

Launch this project locally

Installation

  1. Download project files or make fork and use git clone
  2. Download data files: ru_stopwords.txt и news_df.parquet
  3. Download models: rubert_tiny и rut5_base_sum
  4. Using the terminal, change directory to the project's directory
  5. Use pip install requirements.txt

Launch

  1. Change paths to the data and models inside config.yaml
  2. Using the terminal, change directory to the project's directory
  3. Run streamlit run menu.py
  4. The app is available with http://localhost:8501 by default P.S.: this app can be launched with your own data in the right format Dataset example, format description are in the data directory.

How to participate in this project

Current tasks

  1. Updating news feed
  2. One module to collect social network data
  3. Trend analysis based on social network posts
  4. Evergreen news classification

Help to resolve one of current issues

  1. Check if there is an open issue that you'd like to solve
  2. If you have your own idea or see a bug, add a new issue (instructions below)
  3. Make fork from this project, make changes and add them with new pull request.

Add an issue

  1. Add bugs or smth that has to be finished to Issues with bug tag.
  2. If you have questions about functionality or code ask in Issues withquestion tag.
  3. If you have some ideas about new functions, suggest it in Issues with enhancement tag.

What else can I do

  1. Take part in the discussion of this project or your own ideas with our Discord community WellnessDataClub.
  2. Use this project as a base for your own open source product. We now work with news, you csn choose another data type :)
  3. Become a part of our another project OpenMask
An evaluation toolkit for voice conversion models.

Voice-conversion-evaluation An evaluation toolkit for voice conversion models. Sample test pair Generate the metadata for evaluating models. The direc

30 Aug 29, 2022
Lyrics generation with GPT2-based Transformer

HuggingArtists - Train a model to generate lyrics Create AI-Artist in just 5 minutes! 🚀 Run the demo notebook to train 🚀 Run the GUI demo to test Di

Aleksey Korshuk 65 Dec 19, 2022
A method to generate speech across multiple speakers

VoiceLoop PyTorch implementation of the method described in the paper VoiceLoop: Voice Fitting and Synthesis via a Phonological Loop. VoiceLoop is a n

Facebook Archive 873 Dec 15, 2022
iSTFTNet : Fast and Lightweight Mel-spectrogram Vocoder Incorporating Inverse Short-time Fourier Transform

iSTFTNet : Fast and Lightweight Mel-spectrogram Vocoder Incorporating Inverse Short-time Fourier Transform This repo try to implement iSTFTNet : Fast

Rishikesh (ऋषिकेश) 126 Jan 02, 2023
Unsupervised intent recognition

INTENT author: steeve LAQUITAINE description: deployment pattern: currently batch only Setup & run git clone https://github.com/slq0/intent.git bash

sl 1 Apr 08, 2022
Pipeline for fast building text classification TF-IDF + LogReg baselines.

Text Classification Baseline Pipeline for fast building text classification TF-IDF + LogReg baselines. Usage Instead of writing custom code for specif

Dani El-Ayyass 57 Dec 07, 2022
Biterm Topic Model (BTM): modeling topics in short texts

Biterm Topic Model Bitermplus implements Biterm topic model for short texts introduced by Xiaohui Yan, Jiafeng Guo, Yanyan Lan, and Xueqi Cheng. Actua

Maksim Terpilowski 49 Dec 30, 2022
An assignment on creating a minimalist neural network toolkit for CS11-747

minnn by Graham Neubig, Zhisong Zhang, and Divyansh Kaushik This is an exercise in developing a minimalist neural network toolkit for NLP, part of Car

Graham Neubig 63 Dec 29, 2022
Telegram AI chat bot written in Python using Pyrogram

Aurora_Al Just another Telegram AI chat bot written in Python using Pyrogram. A public running instance can be found on telegram as @AuroraAl. Require

♗CσNϙUҽRσR_MҽSƙEƚҽҽR 1 Oct 31, 2021
One Stop Anomaly Shop: Anomaly detection using two-phase approach: (a) pre-labeling using statistics, Natural Language Processing and static rules; (b) anomaly scoring using supervised and unsupervised machine learning.

One Stop Anomaly Shop (OSAS) Quick start guide Step 1: Get/build the docker image Option 1: Use precompiled image (might not reflect latest changes):

Adobe, Inc. 148 Dec 26, 2022
Official PyTorch implementation of SegFormer

SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers Figure 1: Performance of SegFormer-B0 to SegFormer-B5. Project page

NVIDIA Research Projects 1.4k Dec 29, 2022
Multilingual Emotion classification using BERT (fine-tuning). Published at the WASSA workshop (ACL2022).

XLM-EMO: Multilingual Emotion Prediction in Social Media Text Abstract Detecting emotion in text allows social and computational scientists to study h

MilaNLP 35 Sep 17, 2022
EMNLP 2021 paper "Pre-train or Annotate? Domain Adaptation with a Constrained Budget".

Pre-train or Annotate? Domain Adaptation with a Constrained Budget This repo contains code and data associated with EMNLP 2021 paper "Pre-train or Ann

Fan Bai 8 Dec 17, 2021
PyWorld3 is a Python implementation of the World3 model

The World3 model revisited in Python Install & Hello World3 How to tune your own simulation Licence How to cite PyWorld3 with Bibtex References & ackn

Charles Vanwynsberghe 248 Dec 14, 2022
Product-Review-Summarizer - Created a product review summarizer which clustered thousands of product reviews and summarized them into a maximum of 500 characters, saving precious time of customers and helping them make a wise buying decision.

Product-Review-Summarizer - Created a product review summarizer which clustered thousands of product reviews and summarized them into a maximum of 500 characters, saving precious time of customers an

Parv Bhatt 1 Jan 01, 2022
Code and data accompanying Natural Language Processing with PyTorch

Natural Language Processing with PyTorch Build Intelligent Language Applications Using Deep Learning By Delip Rao and Brian McMahan Welcome. This is a

Joostware 1.8k Jan 01, 2023
A2T: Towards Improving Adversarial Training of NLP Models (EMNLP 2021 Findings)

A2T: Towards Improving Adversarial Training of NLP Models This is the source code for the EMNLP 2021 (Findings) paper "Towards Improving Adversarial T

QData 17 Oct 15, 2022
Beyond Masking: Demystifying Token-Based Pre-Training for Vision Transformers

beyond masking Beyond Masking: Demystifying Token-Based Pre-Training for Vision Transformers The code is coming Figure 1: Pipeline of token-based pre-

Yunjie Tian 23 Sep 27, 2022
Beautiful visualizations of how language differs among document types.

Scattertext 0.1.0.0 A tool for finding distinguishing terms in corpora and displaying them in an interactive HTML scatter plot. Points corresponding t

Jason S. Kessler 2k Dec 27, 2022
This project converts your human voice input to its text transcript and to an automated voice too.

Human Voice to Automated Voice & Text Introduction: In this project, whenever you'll speak, it will turn your voice into a robot voice and furthermore

Hassan Shahzad 3 Oct 15, 2021