facebookresearch / DrQA

Reading Wikipedia to Answer Open-Domain Questions
Other
4.48k stars 898 forks source link

get Document from Interative.py #67

Closed samdash closed 6 years ago

samdash commented 6 years ago

I am looking to invoke doc_db api get_doc_text(self, doc_id): from interactive.py and add it to the table row below , can you let me know what needs to be changed ?

def process(query, k=1):
    doc_names, doc_scores = ranker.closest_docs(query, k)
    table = prettytable.PrettyTable(
        ['Rank', 'Doc Id', 'Doc Score']
    )
    for i in range(len(doc_names)):
        table.add_row([i + 1, doc_names[i], '%.5g' % doc_scores[i]])
    print(table)
samdash commented 6 years ago

Solved :)

vaibhavgeek commented 6 years ago

Can you answer how did you solve your query?

samdash commented 6 years ago
from drqa import retriever
def fetch_text(doc_id):
    db = retriever.DocDB()
    db.__init__('/Users/XXX/Documents/MachineLearning/mydb')
    return db.get_doc_text(doc_id)
def process(query, k=1):
    doc_names, doc_scores = ranker.closest_docs(query, k)
    table = prettytable.PrettyTable(
        ['Rank', 'Doc Id', 'Doc Score']
    )
    for i in range(len(doc_names)):
        table.add_row([i + 1, doc_names[i], '%.5g' % doc_scores[i]])
    print(table)
    logger.info(fetch_text(doc_names[0]))

something like above