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
The model is designed to train a single and large neural network in order to predict correct translation by reading the given sentence.

Neural Machine Translation communication system The model is basically direct to convert one source language to another targeted language using encode

Nishant Banjade 7 Sep 22, 2022
The PyTorch based implementation of continuous integrate-and-fire (CIF) module.

CIF-PyTorch This is a PyTorch based implementation of continuous integrate-and-fire (CIF) module for end-to-end (E2E) automatic speech recognition (AS

Minglun Han 24 Dec 29, 2022
A Practitioner's Guide to Natural Language Processing

Learn how to process, classify, cluster, summarize, understand syntax, semantics and sentiment of text data with the power of Python! This repository contains code and datasets used in my book, Text

Dipanjan (DJ) Sarkar 1.5k Jan 03, 2023
Knowledge Oriented Programming Language

KoPL: 面向知识的推理问答编程语言 安装 | 快速开始 | 文档 KoPL全称 Knowledge oriented Programing Language, 是一个为复杂推理问答而设计的编程语言。我们可以将自然语言问题表示为由基本函数组合而成的KoPL程序,程序运行的结果就是问题的答案。目前,

THU-KEG 62 Dec 12, 2022
Count the frequency of letters or words in a text file and show a graph.

Word Counter By EBUS Coding Club Count the frequency of letters or words in a text file and show a graph. Requirements Python 3.9 or higher matplotlib

EBUS Coding Club 0 Apr 09, 2022
Code for EMNLP 2021 main conference paper "Text AutoAugment: Learning Compositional Augmentation Policy for Text Classification"

Code for EMNLP 2021 main conference paper "Text AutoAugment: Learning Compositional Augmentation Policy for Text Classification"

LancoPKU 105 Jan 03, 2023
Visual Automata is a Python 3 library built as a wrapper for Caleb Evans' Automata library to add more visualization features.

Visual Automata Copyright 2021 Lewi Lie Uberg Released under the MIT license Visual Automata is a Python 3 library built as a wrapper for Caleb Evans'

Lewi Uberg 55 Nov 17, 2022
Tensorflow Implementation of A Generative Flow for Text-to-Speech via Monotonic Alignment Search

Tensorflow Implementation of A Generative Flow for Text-to-Speech via Monotonic Alignment Search

Ankur Dhuriya 10 Oct 13, 2022
PyTorch code for EMNLP 2019 paper "LXMERT: Learning Cross-Modality Encoder Representations from Transformers".

LXMERT: Learning Cross-Modality Encoder Representations from Transformers Our servers break again :(. I have updated the links so that they should wor

Hao Tan 838 Dec 19, 2022
This is a general repo that helps you develop fast/effective NLP classifiers using Huggingface

NLP Classifier Introduction This project trains a bert model on any NLP classifcation model. And uses the model in make predictions on new data using

Abdullah Tarek 3 Mar 11, 2022
aMLP Transformer Model for Japanese

aMLP-japanese Japanese aMLP Pretrained Model aMLPとは、Liu, Daiらが提案する、Transformerモデルです。 ざっくりというと、BERTの代わりに使えて、より性能の良いモデルです。 詳しい解説は、こちらの記事などを参考にしてください。 この

tanreinama 13 Aug 11, 2022
使用pytorch+transformers复现了SimCSE论文中的有监督训练和无监督训练方法

SimCSE复现 项目描述 SimCSE是一种简单但是很巧妙的NLP对比学习方法,创新性地引入Dropout的方式,对样本添加噪声,从而达到对正样本增强的目的。 该框架的训练目的为:对于batch中的每个样本,拉近其与正样本之间的距离,拉远其与负样本之间的距离,使得模型能够在大规模无监督语料(也可以

58 Dec 20, 2022
Converts text into a PDF of handwritten notes

Text To Handwritten Notes Converts text into a PDF of handwritten notes Explore the docs » · Report Bug · Request Feature · Steps: $ git clone https:/

UVSinghK 63 Oct 09, 2022
Pangu-Alpha for Transformers

Pangu-Alpha for Transformers Usage Download MindSpore FP32 weights for GPU from here to data/Pangu-alpha_2.6B.ckpt Activate MindSpore environment and

One 5 Oct 01, 2022
Sequence model architectures from scratch in PyTorch

This repository implements a variety of sequence model architectures from scratch in PyTorch. Effort has been put to make the code well structured so that it can serve as learning material. The train

Brando Koch 11 Mar 28, 2022
Creating a chess engine using GPT-3

GPT3Chess Creating a chess engine using GPT-3 Code for my article : https://towardsdatascience.com/gpt-3-play-chess-d123a96096a9 My game (white) vs GP

19 Dec 17, 2022
Grapheme-to-phoneme (G2P) conversion is the process of generating pronunciation for words based on their written form.

Neural G2P to portuguese language Grapheme-to-phoneme (G2P) conversion is the process of generating pronunciation for words based on their written for

fluz 11 Nov 16, 2022
Examples of using sparse attention, as in "Generating Long Sequences with Sparse Transformers"

Status: Archive (code is provided as-is, no updates expected) Update August 2020: For an example repository that achieves state-of-the-art modeling pe

OpenAI 1.3k Dec 28, 2022
Funnel-Transformer: Filtering out Sequential Redundancy for Efficient Language Processing

Introduction Funnel-Transformer is a new self-attention model that gradually compresses the sequence of hidden states to a shorter one and hence reduc

GUOKUN LAI 197 Dec 11, 2022
Residual2Vec: Debiasing graph embedding using random graphs

Residual2Vec: Debiasing graph embedding using random graphs This repository contains the code for S. Kojaku, J. Yoon, I. Constantino, and Y.-Y. Ahn, R

SADAMORI KOJAKU 5 Oct 12, 2022