У меня вопрос по поводу "модуль 'textacy' не имеет атрибута 'Doc'"
Не удается найти модуль 'textacy' не имеет атрибута 'Doc' Я пытаюсь извлечь глагольные фразы из spacy, но такой библиотеки нет. Пожалуйста, помогите мне, как я могу извлечь глагольные фразы или фразы прилагательного, используя spacy. Я хочу сделать полный мелкий разбор.
def extract_named_nouns(row_series):
"""Combine nouns and non-numerical entities.
Keyword arguments:
row_series -- a Pandas Series object
"""
ents = set()
idxs = set()
# remove duplicates and merge two lists together
for noun_tuple in row_series['nouns']:
for named_ents_tuple in row_series['named_ents']:
if noun_tuple[1] == named_ents_tuple[1]:
idxs.add(noun_tuple[1])
ents.add(named_ents_tuple)
if noun_tuple[1] not in idxs:
ents.add(noun_tuple)
return sorted(list(ents), key=lambda x: x[1])
def add_named_nouns(df):
"""Create new column in data frame with nouns and named ents.
Keyword arguments:
df -- a dataframe object
"""
df['named_nouns'] = df.apply(extract_named_nouns, axis=1)
from __future__ import unicode_literals
import spacy,en_core_web_sm
import textacy
from textacy import io
#using spacy for nlp
nlp = en_core_web_sm.load()
sentence = 'The author is writing a new book.'
pattern = r'<VERB>?<ADV>*<VERB>+'
doc = textacy.Doc.load(sentence, metadata=metadata, lang='en_core_web_sm')
# doc = textacy.corpus.Corpus(sentence, lang='en_core_web_sm')
lists = textacy.extract.pos_regex_matches(doc, pattern)
for list in lists:
print(list.text)
модуль 'textacy' не имеет атрибута 'Doc'
1 ответ
Попробуйте следующие примеры здесь: https://chartbeat-labs.github.io/textacy/getting_started/quickstart.html
Это должно быть так просто, как:
doc = textacy.make_spacy_doc("The author is writing a new book.", lang='en_core_web_sm')
Вместо этого вы можете просто использовать spacy (без textacy) со встроенным Matcher ( https://spacy.io/usage/rule-based-matching).
spacy_lang = textacy.load_spacy_lang("en_core_web_en")
docx_textacy = spacy_lang(sentence)