Size: a a a

Natural Language Processing

2020 July 30

SJ

Scatm J in Natural Language Processing
Всем привет. Можете подсказать, почему при добавлении неизвестной фамилии в словарь Наташи, результат парсинга с этой фамилией никак не меняется?
источник

SJ

Scatm J in Natural Language Processing
Просто изначально беру все, что Наташа нашла с типом "PER" и уже оттуда пытаюсь извлечь фамилию и имя. К примеру, с именем "Анатолий Стахиев" - все хорошо, а вот с "Стахиев Анатолий" как-то не очень. Как вообще это пофиксить можно?
источник

IS

I Sh in Natural Language Processing
А где можно посмотреть какие-либо обоснованные подходы к выбору размера словаря при тренировке BPE-токенизатора?
источник

YB

Yuri Baburov in Natural Language Processing
I Апрельский
ребят, а подскажите, пожалуйста, в doccano отношения между спанами можно размечать? в примерах я не увидел, но вероятно через какой-то хак можно. вопрос в удобстве этого хака? может кто сталкивался?
напрямую -- нет, но можешь сделать как в LinkGrammar, где отмечаются левые узлы дуги и правые узлы дуги тегами типов дуг с плюсом и минусом.
word1 <-----------(A)-----------> word5
=>
word1 <----(A-) ------- (A+) ----> word5    
=>
... word1(A-) word2 word3 word4 word5(A+) ...
источник

I

I Апрельский... in Natural Language Processing
Yuri Baburov
напрямую -- нет, но можешь сделать как в LinkGrammar, где отмечаются левые узлы дуги и правые узлы дуги тегами типов дуг с плюсом и минусом.
word1 <-----------(A)-----------> word5
=>
word1 <----(A-) ------- (A+) ----> word5    
=>
... word1(A-) word2 word3 word4 word5(A+) ...
спасибо. не очень наглядно, конечно, и ошибку допустить, опечатавшись проще. но вариант!
хотя, видимо, я попробую inception
источник

I

I Апрельский... in Natural Language Processing
@yuri_baburov Юр, а ты ведь все знаешь? может еще подскажешь, чем можно деревья грепать?

вот есть у меня connl-u датка, я хочу найти в ней такие документы, в которых глагол связан с местоимением. я раньше юзал Stanford NLP, который на Яве. но верится, что есть что-то на питоне уже.

смотрю вот сюда сейчас: https://github.com/szymonlopaciuk/dep_tregex_mod но что-то смущает меня популярность репозитория.
источник

EM

Eugene Molodkin in Natural Language Processing
а в NLTK нет того что нужно?
источник

I

I Апрельский... in Natural Language Processing
Eugene Molodkin
а в NLTK нет того что нужно?
сколько не искал — не находил. возможно, я как-то умудрился проглядеть. в тоже время не скажу, что не старался.
если покажите, то буду рад :)
источник

I

I Апрельский... in Natural Language Processing
такое вот использовал, когда это еще станзой не звалось: https://stanfordnlp.github.io/stanza/client_usage.html#using-tokensregex-semgrex-and-tregex-with-the-client
источник

YB

Yuri Baburov in Natural Language Processing
I Апрельский
@yuri_baburov Юр, а ты ведь все знаешь? может еще подскажешь, чем можно деревья грепать?

вот есть у меня connl-u датка, я хочу найти в ней такие документы, в которых глагол связан с местоимением. я раньше юзал Stanford NLP, который на Яве. но верится, что есть что-то на питоне уже.

смотрю вот сюда сейчас: https://github.com/szymonlopaciuk/dep_tregex_mod но что-то смущает меня популярность репозитория.
а тебе надо нетранзитивно или транзитивно связанные? мне кажется, это снаачала выльется в custom code на питоне из 5 строчек, правда, потом он наверное разрастётся (noun_chunks в spacy большой и страшный, типа https://github.com/explosion/spaCy/blob/5ce02c1b17eb72ade2c1577461c9a4f0213635aa/spacy/lang/en/syntax_iterators.py#L8 ). а вот загрузить conllu можно через либу https://pypi.org/project/conllu/ .
источник

I

I Апрельский... in Natural Language Processing
да это я правило просто для примера привел. так-то мне нужны другие — и посвободнее)). так что своего велосипеда хочется избежать.
источник

ck

cnstntn kndrtv in Natural Language Processing
@ibelyalov если тебе хочется semgrexp, tregex как Stanford NLP, то в Spacy это есть.
источник

ck

cnstntn kndrtv in Natural Language Processing
spaCy/dependencymatcher.pyx at master · explosion/spaCy · GitHub
https://github.com/explosion/spaCy/blob/master/spacy/matcher/dependencymatcher.pyx
источник

I

I Апрельский... in Natural Language Processing
cnstntn kndrtv
@ibelyalov если тебе хочется semgrexp, tregex как Stanford NLP, то в Spacy это есть.
интересно! хоть и не люблю спейси, но ради этого дать шанс.
источник

ck

cnstntn kndrtv in Natural Language Processing
Документации я не нашел. Но вроде всё так же как в Stanford.
Для своих нужд перевел connl-u в граф networkx и там уже кручу что-то, так оказалось удобнее и возможностей больше.
источник

YB

Yuri Baburov in Natural Language Processing
I Апрельский
да это я правило просто для примера привел. так-то мне нужны другие — и посвободнее)). так что своего велосипеда хочется избежать.
языков для графового поиска много, но они не приживаются как-то. а деревья редко нужно грепать. я знаю только jq ( https://stedolan.github.io/jq ) , который тебе подойдёт ( https://stackoverflow.com/questions/18592173/select-objects-based-on-value-of-variable-in-object-using-jq ), но мне не нравится, как это всё выглядит.
источник

I

I Апрельский... in Natural Language Processing
cnstntn kndrtv
Документации я не нашел. Но вроде всё так же как в Stanford.
Для своих нужд перевел connl-u в граф networkx и там уже кручу что-то, так оказалось удобнее и возможностей больше.
источник

I

I Апрельский... in Natural Language Processing
Yuri Baburov
языков для графового поиска много, но они не приживаются как-то. а деревья редко нужно грепать. я знаю только jq ( https://stedolan.github.io/jq ) , который тебе подойдёт ( https://stackoverflow.com/questions/18592173/select-objects-based-on-value-of-variable-in-object-using-jq ), но мне не нравится, как это всё выглядит.
по идеи можно сконвертить в жсон дерево и через jq. в тоже время я так и не запомнил синтаксис этого jq, так что не готов экспериментировать
источник

I

I Апрельский... in Natural Language Processing
@cnstntn_kndrtv про networkx любопытно. а какие у тебя там запросы? и как там вообще запросы делать?
источник

ck

cnstntn kndrtv in Natural Language Processing
I Апрельский
@cnstntn_kndrtv про networkx любопытно. а какие у тебя там запросы? и как там вообще запросы делать?
Перевел синт.дерево в граф, направленный и с именованными ребрами, в дату нод сложил всякие фичи из парсера.
И дальше к этому применяю запрос - есть ли путь между 2 нодами длиной не меньше К шагов, включающий ребро с именем Х. Теоретически можно указывать не напрямую 2 ноды, а что-то типа Нода.дата.Пос=Сущ
Там всё почти есть в networkx, часть пришлось дописать.
источник