Size: a a a

Natural Language Processing

2017 February 23

EV

Egor V. in Natural Language Processing
Приходится использовать томиту, потому что необходимы отношения между сущностями.
источник

DV

Dima Veselov in Natural Language Processing
А-а-а.
источник

DV

Dima Veselov in Natural Language Processing
Можешь попробовать http://rusvectores.org/ru/similar (там модели можно скачать и использовать через gensim)
источник

DV

Dima Veselov in Natural Language Processing
Если тебе нужна какая-то специальная категория слов.
источник

EV

Egor V. in Natural Language Processing
Пока только даты, места и персоналии.
источник
2017 February 28

MC

Michael Chertushkin in Natural Language Processing
всем привет! прошу прощения, если мой вопрос покажется некорректным. как вы обычно делаете named entity recognition для русских текстов, но не с дефолтными грамматиками (типа location, date, etc) а с кастомными (типа отдел, контракт, договор, и т.д.)? на данный момент я хочу попробовать вот это: https://github.com/bureaucratic-labs/natasha
источник

DV

Dima Veselov in Natural Language Processing
Привет.
Можно написать свои грамматики, например: http://natasha.readthedocs.io/ru/latest/grammars/#id4 (немного неактуальный пример, т.к. грамматики для адресов уже есть, но суть в общем-то такая же)
Если есть примеры данных - скидывай, будем разбираться (:
источник
2017 March 01

DV

Dima Veselov in Natural Language Processing
источник

DV

Dima Veselov in Natural Language Processing
Если кто-то не следит за развитием natasha - появилось разрешение кореференции для персон, топонимов и организаций, с более-менее приемлемым качеством
источник

DV

Dima Veselov in Natural Language Processing
violet = ABBYY Compreno, pink = PullEnti, результат на второй дорожке factRuEval-2016
источник

AK

Alexander Kukushkin in Natural Language Processing
Видел www.pullenti.ru/DownloadFile.aspx?file=FactRuEval.pdf ? Там написано, что Aquamarine это Promt http://www.promt.ru/press/news/57586/ , тоже какой-то комерческий продукт, можно добавить в сравнение
источник
2017 March 03

DV

Dima Veselov in Natural Language Processing
Видел, c promt получается так:
источник

DV

Dima Veselov in Natural Language Processing
источник
2017 March 19

|

||||| in Natural Language Processing
Привет! Я по поводу yargy. Мне нужно извлекать номер телефона как именную сущность, и я пытаюсь задавать словарь, содержащий числа. Но числа из грамматики не определяются в строке (а буквы при этом определяются!). Можешь подсказать, что делаю не так?

Задаю правило таким образом:

NUMBER_GRAMMAR_1 = {
   'labels': [
       dictionary({'7', '8', 'h'}),
   ],
}

tel_number = Grammar('Tel_Number', [
   NUMBER_GRAMMAR_1,
])
источник

DV

Dima Veselov in Natural Language Processing
Привет. Номера телефонов умеет разбирать токенизатор:
>>> from yargy import Parser, Grammar
>>> from yargy.labels import gram
>>>
>>> text = 'звонить по +7(883)-332-32-42'
>>> grammar = Grammar(None, [
...     {
...         'labels': [
...             gram('PHONE'),
...         ]
...     }
... ])
>>>
>>> parser = Parser([grammar])
>>> matches = parser.extract(text)
>>> grammar, tokens = next(matches)
>>> tokens[0].value
'+7(883)-332-32-42'

Цифры в тексте переводятся в int / range (в зависимости от ситуации), поэтому dictionary не отрабатывает, но можно делать так:
from yargy.labels import in_

PHONE_COUNTRY_PREFIX = {
   'labels': [
       in_([7, 8]),
   ],
}

...
источник

AK

Alexander Kukushkin in Natural Language Processing
Для телефонов ещё есть https://github.com/daviddrysdale/python-phonenumbers , смотри PhoneNumberMatcher
источник
2017 March 20

|

||||| in Natural Language Processing
Dima Veselov
Привет. Номера телефонов умеет разбирать токенизатор:
>>> from yargy import Parser, Grammar
>>> from yargy.labels import gram
>>>
>>> text = 'звонить по +7(883)-332-32-42'
>>> grammar = Grammar(None, [
...     {
...         'labels': [
...             gram('PHONE'),
...         ]
...     }
... ])
>>>
>>> parser = Parser([grammar])
>>> matches = parser.extract(text)
>>> grammar, tokens = next(matches)
>>> tokens[0].value
'+7(883)-332-32-42'

Цифры в тексте переводятся в int / range (в зависимости от ситуации), поэтому dictionary не отрабатывает, но можно делать так:
from yargy.labels import in_

PHONE_COUNTRY_PREFIX = {
   'labels': [
       in_([7, 8]),
   ],
}

...
Здорово, не знал про токенизатор, спасибо большое!
источник

|

||||| in Natural Language Processing
Спасибо за ссылку! Правда, у меня гораздо более простая задача — определить, есть ли в тексте номер телефона — и тянуть отдельную либу ради этого не хочется :)
источник

VP

Vlad Pastushenko in Natural Language Processing
|||||
Спасибо за ссылку! Правда, у меня гораздо более простая задача — определить, есть ли в тексте номер телефона — и тянуть отдельную либу ради этого не хочется :)
Тогда можно и регекспом обойтись
источник
2017 March 23

|

||||| in Natural Language Processing
Привет. Ещё вопрос: что нужно сделать, чтобы не выводилось сообщение Total grammars count?
источник