Esempio n. 1
0
def get():
    dir = join_path(SOURCES_DIR, FACTRU_DIR)
    if exists(dir):
        return dir

    path = join_path(SOURCES_DIR, basename(FACTRU_URL))
    download(FACTRU_URL, path)
    unzip(path, SOURCES_DIR)
    rm(path)

    return dir
Esempio n. 2
0
def get():
    path = join_path(SOURCES_DIR, WIKINER_FILENAME)
    if exists(path):
        return path

    download(WIKINER_URL, path)
    return path
Esempio n. 3
0
def get():
    path = join_path(SOURCES_DIR, LENTA_FILENAME)
    if exists(path):
        return path

    download(LENTA_URL, path)
    return path
Esempio n. 4
0
def get():
    dir = join_path(SOURCES_DIR, GAREEV_DIR)
    if not exists(dir):
        raise NotImplementedError(
            'Email Rinat Gareev <*****@*****.**> ask for dataset, '
            'tar -xvf rus-ner-news-corpus.iob.tar.gz, '
            'rm rus-ner-news-corpus.iob.tar.gz, '
            'mv rus-ner-news-corpus.iob data/sources')
    return dir
Esempio n. 5
0
def call_vast(*args):
    vast = join_path(get_dir(__file__), 'third', 'vast.py')
    output = subprocess.check_output(('python', vast) + args + ('--raw', ))
    output = output.decode('utf8')
    try:
        return json.loads(output)
    except json.decoder.JSONDecodeError:
        # from destroy --raw is ignored
        return output
Esempio n. 6
0
def txt_path(id, dir, set):
    return join_path(dir, set, 'book_%s.txt' % id)
Esempio n. 7
0
def list_ids(dir, set):
    for filename in list_dir(join_path(dir, set)):
        match = re.match(r'^book_(\d+)\.txt$', filename)
        if match:
            yield match.group(1)
Esempio n. 8
0
def test_load():
    dir = join_path(DATA_DIR, NE5_DIR)
    guess = list(Ne5Source.load(dir))
    assert guess == ETALON
Esempio n. 9
0
def ann_path(id, dir):
    return join_path(dir, '%s.ann' % id)
Esempio n. 10
0
def test_load():
    dir = join_path(DATA_DIR, GAREEV_DIR)
    guess = list(GareevSource.load(dir))
    assert guess == ETALON
Esempio n. 11
0
def test_load():
    path = join_path(DATA_DIR, WIKINER_FILENAME)
    guess = list(WikinerSource.load(path))
    assert guess == ETALON
Esempio n. 12
0
def get():
    return join_path(SOURCES_DIR, BSNLP_DIR)
Esempio n. 13
0
def spans_path(id, dir, set):
    return join_path(dir, set, 'book_%s.spans' % id)
Esempio n. 14
0
def load_id(id, dir):
    path = join_path(dir, '%s.txt.iob' % id)
    lines = load_lines(path)
    return parse_conll(lines)
Esempio n. 15
0
def test_load():
    dir = join_path(DATA_DIR, BSNLP_DIR)
    guess = list(BsnlpSource.load(dir))
    assert guess == ETALON
Esempio n. 16
0
def get():
    return join_path(SOURCES_DIR, GAREEV_DIR)
Esempio n. 17
0
from nerus.path import (join_path, get_dir)
from nerus.load import (load_norm, load_raw)
from nerus.const import DEEPPAVLOV
from nerus.span import Span

DATA_DIR = join_path(get_dir(__file__), 'data')
# cat data/dumps/lenta.raw.jsonl.gz | gunzip | head -1 | gzip > nerus/tests/data/test.raw.jsonl.gz
# cat data/dumps/lenta.jsonl.gz | gunzip | head -1 | gzip > nerus/tests/data/test.jsonl.gz
RAW = join_path(DATA_DIR, 'test.raw.jsonl.gz')
NORM = join_path(DATA_DIR, 'test.jsonl.gz')

SPANS = [
    Span(start=36, stop=52, type='PER'),
    Span(start=82, stop=88, type='LOC'),
    Span(start=149, stop=160, type='ORG'),
    Span(start=172, stop=181, type='PER'),
    Span(start=251, stop=260, type='LOC'),
    Span(start=262, stop=270, type='LOC'),
    Span(start=272, stop=280, type='LOC'),
    Span(start=283, stop=301, type='LOC'),
    Span(start=313, stop=324, type='LOC'),
    Span(start=383, stop=389, type='LOC'),
    Span(start=560, stop=568, type='ORG')
]


def test_load_raw():
    record = next(load_raw(RAW))
    assert record.find(DEEPPAVLOV).spans == SPANS

Esempio n. 18
0
def objects_path(id, dir, set):
    return join_path(dir, set, 'book_%s.objects' % id)
Esempio n. 19
0
def test_load():
    dir = join_path(DATA_DIR, FACTRU_DIR)
    guess = list(FactruSource.load(dir, sets=[FACTRU_DEVSET]))
    assert guess == ETALON
Esempio n. 20
0
def test_load():
    path = join_path(DATA_DIR, LENTA_FILENAME)
    guess = list(LentaSource.load(path))
    assert guess == ETALON
Esempio n. 21
0
def get():
    return join_path(SOURCES_DIR, NE5_DIR)
Esempio n. 22
0
from nerus.path import (join_path, get_dir)
from nerus.const import GAREEV_DIR
from nerus.span import Span
from nerus.sources.gareev import (GareevMarkup, GareevSource)

DATA_DIR = join_path(get_dir(__file__), 'data')
ETALON = [
    GareevMarkup(
        text=
        'МОСКВА , 21 июня . / БИЗНЕС-ТАСС / . Группа НЛМК заняла второе место в рейтинге 35 наиболее конкурентоспособных сталелитейных компаний мира . Рейтинг составлялся World Steel Dynamics , ведущей международной исследовательской компанией , на основе оценки 23 параметров , включая расширение мощностей , близость к растущим рынкам сбыта и покупателям , производство продукции с высокой добавленной стоимостью , рентабельность , технологические инновации и другие . Об этом говорится в сообщении НЛМК . World Steel Dynamics высоко оценил такие преимущества НЛМК как низкие производственная себестоимость , самообеспеченность сырьем , высокие финансовые показатели , близость к рынкам сбыта , ценовая политика , деятельность компании в области социальной и экологической ответственности и безопасности труда . В рейтинге World Steel Dynamics НЛМК с 2007 года занимает стабильные позиции среди 6 крупнейших мировых металлургических компаний по уровню конкурентоспособности . Компания World Steel Dynamics является одним из авторитетных исследовательских центров в области металлургии и мировым лидером в области информационных продуктов , отражающих развитие черной металлургии в мире . Сотрудники WSD регулярно анализируют и публикуют исследования мировых цен на металлопрокат , всех составляющих производственных затрат в черной металлургии , факторов , определяющих спрос и предложение на стальном рынке , а также исследования финансовых показателей компаний-производителей стали в мире . В фокусе WSD постоянно находятся стратегические для черной металлургии вопросы . Сотрудники фирмы регулярно участвуют в специализированных исследованиях , проводимых в интересах различных заказчиков , предоставляют частные консультации , осуществляют консультационные услуги по вопросам инвестиций в ценные бумаги компаний черной металлургии . НЛМК – международная вертикально интегрированная металлургическая компания . Предприятия НЛМК расположены в России , Европе и США . Мощности по производству жидкой стали компании превышают 15 млн тонн в год . Выручка НЛМК в 2011 году составила 11,7 млрд долларов , рентабельность по показателю EBITDA составила 19,5 проц . Акции НЛМК торгуются в России на фондовой площадке РТС-ММВБ , а также в форме глобальных депозитарных акций на Лондонской фондовой бирже .',
        spans=[
            Span(start=21, stop=32, type='ORG'),
            Span(start=44, stop=48, type='ORG'),
            Span(start=162, stop=182, type='ORG'),
            Span(start=492, stop=496, type='ORG'),
            Span(start=499, stop=519, type='ORG'),
            Span(start=553, stop=557, type='ORG'),
            Span(start=816, stop=836, type='ORG'),
            Span(start=837, stop=841, type='ORG'),
            Span(start=978, stop=998, type='ORG'),
            Span(start=1192, stop=1195, type='ORG'),
            Span(start=1495, stop=1498, type='ORG'),
            Span(start=1830, stop=1834, type='ORG'),
            Span(start=1919, stop=1923, type='ORG'),
            Span(start=2047, stop=2051, type='ORG'),
            Span(start=2159, stop=2163, type='ORG'),
            Span(start=2204, stop=2212, type='ORG'),
            Span(start=2264, stop=2289, type='ORG')
        ])
]
Esempio n. 23
0
# coding: utf-8
from __future__ import unicode_literals

from nerus.path import (join_path, get_dir)
from nerus import load_nerus
from nerus.markup import Markup
from nerus.span import Span

DATA_DIR = join_path(get_dir(__file__), 'data')
NERUS = join_path(DATA_DIR, 'test.jsonl.gz')

ETALON = Markup(
    text=
    'Вице-премьер по социальным вопросам Татьяна Голикова рассказала, в каких регионах России зафиксирована наиболее высокая смертность от рака, сообщает РИА Новости. По словам Голиковой, чаще всего онкологические заболевания становились причиной смерти в Псковской, Тверской, Тульской и Орловской областях, а также в Севастополе. Вице-премьер напомнила, что главные факторы смертности в России — рак и болезни системы кровообращения. В начале года стало известно, что смертность от онкологических заболеваний среди россиян снизилась впервые за три года. По данным Росстата, в 2017 году от рака умерли 289 тысяч человек. Это на 3,5 процента меньше, чем годом ранее.',
    spans=[
        Span(start=36, stop=52, type='PER'),
        Span(start=82, stop=88, type='LOC'),
        Span(start=149, stop=160, type='ORG'),
        Span(start=172, stop=181, type='PER'),
        Span(start=251, stop=260, type='LOC'),
        Span(start=262, stop=270, type='LOC'),
        Span(start=272, stop=280, type='LOC'),
        Span(start=283, stop=301, type='LOC'),
        Span(start=313, stop=324, type='LOC'),
        Span(start=383, stop=389, type='LOC'),
        Span(start=560, stop=568, type='ORG')
    ])


# Should work in isolation (just requirements/main.txt)
def test_load_nerus():
Esempio n. 24
0
def get():
    return join_path(SOURCES_DIR, FACTRU_DIR)
Esempio n. 25
0
def txt_path(id, dir):
    return join_path(dir, '%s.txt' % id)