Size: a a a

Natural Language Processing

2021 January 13

E

Elena in Natural Language Processing
Марк
Ага, такая же мысль была
вы главное когда сделаете
источник

E

Elena in Natural Language Processing
эксперимент, нам расскажите потом
источник

E

Elena in Natural Language Processing
а то мы тут советуем, советуем и не знаем, правильно советуем или нет :)
источник

М

Марк in Natural Language Processing
Elena
а то мы тут советуем, советуем и не знаем, правильно советуем или нет :)
Спасибо за рекомендации!Сейчас пока все на стадии брейншторма, результатами обязательно поделюсь
источник

FF

Futorio Franklin in Natural Language Processing
При подсчёте слов по временам может "фонить" прямая речь или цитаты
источник

IK

Irina Krotova in Natural Language Processing
Марк
Привет! Нужно научить классификатор определять время новости (новость о прошлом или о будущем). Посоветовали использовать Natasha - у глаголов можно будет вытянуть время, но тут могут возникнуть подводные камни с разными формами образования времен. Например: По прогнозам аналитиков, ожидается рост выручки в 1,61 раза или обманутые дольщики смогут получить помощь от государства. Посоветуйте, плз,  в каком направлении можно двигаться
Привет! Помимо того, что посоветовали, я бы ещё подумала над формулировкой задачи (в зависимости от того, для чего потом используется классификация). Вряд ли тексты реальных новостей можно четко разделить на две категории, т.к. очень часто сам текст строится по принципу "сначала рассказываем о событии, потом о возможных последствиях". Условно говоря "учёные изобрели 10 разных вакцин, поэтому в ближайшее время удастся привить половину населения планеты", "за Иванова прогосовало 146% населения, так что он остаётся на второй срок". Именно новостные заметки, а не различную аналитику/мнения экспертов, пишут обычно на основе информационных поводов и прошедших событий. Не получится ли, что там везде в среднем преобладает прошедшее время? Возможно, нужно классифицировать не весь текст, а отдельные предложения/абзацы (если нужно выделить все прогнозы) или заголовки.

Если делать классификатор на основе граммем или решать эвристиками (количество глаголов в определённом времени в тексте), я бы брала не ярги, а pymorphy (в ярги, если я правильно помню, везде он используется)/mystem/rnnmorph, и размечала время на настоящее/непрошедшее/прошедшее (в НКРЯ и у mystem такая же разметка).
источник

М

Марк in Natural Language Processing
Irina Krotova
Привет! Помимо того, что посоветовали, я бы ещё подумала над формулировкой задачи (в зависимости от того, для чего потом используется классификация). Вряд ли тексты реальных новостей можно четко разделить на две категории, т.к. очень часто сам текст строится по принципу "сначала рассказываем о событии, потом о возможных последствиях". Условно говоря "учёные изобрели 10 разных вакцин, поэтому в ближайшее время удастся привить половину населения планеты", "за Иванова прогосовало 146% населения, так что он остаётся на второй срок". Именно новостные заметки, а не различную аналитику/мнения экспертов, пишут обычно на основе информационных поводов и прошедших событий. Не получится ли, что там везде в среднем преобладает прошедшее время? Возможно, нужно классифицировать не весь текст, а отдельные предложения/абзацы (если нужно выделить все прогнозы) или заголовки.

Если делать классификатор на основе граммем или решать эвристиками (количество глаголов в определённом времени в тексте), я бы брала не ярги, а pymorphy (в ярги, если я правильно помню, везде он используется)/mystem/rnnmorph, и размечала время на настоящее/непрошедшее/прошедшее (в НКРЯ и у mystem такая же разметка).
Про предложения согласен. Что касается постановки задачи, то на первом этапе нужно будет реализовать для ограниченного набора событий ( например банкротства, изменение фин. показателей )
источник

AZ

Andrey Zakharov in Natural Language Processing
Марк
Про предложения согласен. Что касается постановки задачи, то на первом этапе нужно будет реализовать для ограниченного набора событий ( например банкротства, изменение фин. показателей )
а разметка уже есть хоть небольшая?
источник

IK

Irina Krotova in Natural Language Processing
Марк
Про предложения согласен. Что касается постановки задачи, то на первом этапе нужно будет реализовать для ограниченного набора событий ( например банкротства, изменение фин. показателей )
Ага, я бы тогда вообще отобрала какую-то одну крупную категорию текстов (например, всё про банкротство), и посмотрела, какие там встречаются формулировки, как бы человек такие тексты сортировал. И определяла время не всех глаголов, а только того, который относится к событию непосредственно. Кажется, тут можно даже не на уровне предложения, а на уровне словосочетания посмотреть ("станет банкротом/объявили банкротом"). Самое простое - разбить текст по запятым и в отрезке с ключевым словом/названием события определять время у глагола.
источник

IK

Irina Krotova in Natural Language Processing
Возможно, как бейзлайн подойдет :)
источник

М

Марк in Natural Language Processing
Andrey Zakharov
а разметка уже есть хоть небольшая?
Неа)
источник

IK

Irina Krotova in Natural Language Processing
Если разметки нет, можно похожими правилами разметить данные, просмотреть и потом уже тренировать классификатор.
источник

KS

Konstantin Smith in Natural Language Processing
Olga Gracheva
Привет! Не так давно занимаюсь библиотекой natasha, необходимо лемматизировать словосочетания. Если лемматизировать пословно, то выходит ерунда, например, "соленая карамель" становится "соленый карамель". Я знаю точно,что словосочетания в духе "мид россии" при этом через span.normalize нормализуются корректно. А нет ли такого решения в наташе/еще где-то для всех словосочетаний?
В SDK Pullenti есть нормализация именных групп (существительное с прилагательными) и более сложных конструкций ("законом, принимаемым..." => "закон, принимаемый") - используйте функцию GetTextValue или GetTextValueOfMetaToken с ключом GetTextAttr.FirstNounGroupToNominative статического класса Pullenti.Ner.Core.MiscHelper. Или вызывайте функцию GetNormalCaseText() у создаваемых именных групп NounPhraseToken.
источник

AW

Alex Wortega in Natural Language Processing
Часто так бывает что код на питоне медленный.
Причем не просто медленный, а ооооочень медленный. Что мы делаем в таких случаях?
Правильно, идем к любителям карри и спрашиваем: Dear freind how to run my python code on gpu?
На что он отвечает - изи

https://www.geeksforgeeks.org/running-python-script-on-gpu/
Ну или если короче

from numba import jit, cuda
@jit(target ="cuda")
источник

AW

Alex Wortega in Natural Language Processing
Кстати мне помогло ускориться
источник

GF

Grigory Frantsuzov in Natural Language Processing
Alex Wortega
Часто так бывает что код на питоне медленный.
Причем не просто медленный, а ооооочень медленный. Что мы делаем в таких случаях?
Правильно, идем к любителям карри и спрашиваем: Dear freind how to run my python code on gpu?
На что он отвечает - изи

https://www.geeksforgeeks.org/running-python-script-on-gpu/
Ну или если короче

from numba import jit, cuda
@jit(target ="cuda")
серьезно? а cpython?
источник

AW

Alex Wortega in Natural Language Processing
Grigory Frantsuzov
серьезно? а cpython?
Он не умеет на карточке запускаться
источник

AW

Alex Wortega in Natural Language Processing
У меня просто опять беды с размерами м приходится кидаться костылями
источник

ЕЗ

Евгений Зубов... in Natural Language Processing
Alex Wortega
Часто так бывает что код на питоне медленный.
Причем не просто медленный, а ооооочень медленный. Что мы делаем в таких случаях?
Правильно, идем к любителям карри и спрашиваем: Dear freind how to run my python code on gpu?
На что он отвечает - изи

https://www.geeksforgeeks.org/running-python-script-on-gpu/
Ну или если короче

from numba import jit, cuda
@jit(target ="cuda")
Это для каких операций актуально? Наверняка же не во всех случаях ускорение на практике есть? Можете опытом поделиться, что в вашем случае сработало)
источник

AK

Alexander Kukushkin in Natural Language Processing
Когда есть циклы
источник