Spaces:
Runtime error
Runtime error
import wikipedia | |
import spacy | |
def get_wiki_query(query): | |
try: | |
### spacy code | |
# Load the English model | |
nlp = spacy.load("en_core_web_sm") | |
# Parse the sentence | |
doc = nlp(query) | |
# Entity path (people, evenrs, books) | |
entities_components = [entity_substring.text for entity_substring in doc.ents] | |
if len(entities_components) > 0: | |
subject_of_the_query = "" | |
for substrings in entities_components: | |
subject_of_the_query = subject_of_the_query + substrings | |
if subject_of_the_query == "": | |
print("Entity query not parsed.") | |
return subject_of_the_query | |
else: | |
first_noun = next((t for t in doc if t.pos_ in {"NOUN", "PROPN"}), None).text | |
print("Returning first noun from the query.") | |
return first_noun | |
except Exception as e: | |
print("Failed parsing a query subject from query", query) | |
print(e) | |
def fetch_wikipedia_page(wiki_query): | |
try: | |
matched_articles = wikipedia.search(wiki_query) | |
if len(matched_articles) > 0: | |
used_article = matched_articles[0] | |
page_content = wikipedia.page(used_article, auto_suggest=False) | |
return page_content.content | |
else: | |
return "" | |
except Exception as e: | |
print("Could not fetch the wikipedia article using ", wiki_query) | |
print(e) | |