Question: Python homework question. 1. Create a class InvertedIndex to act as an abstract data type for the inverted index data structure. It should include the

Python homework question.

1. Create a class InvertedIndex to act as an abstract data type for the inverted index data structure. It should include the following member functions/support these operation on its data:

A normalize(term) method that takes a str object stored in term and returns a stemmed version of that word suitable for a key in the inverted index

An add term(term, docID): method that adds the unnormalized str object term to the index if need be and records that the document with integral docID contains that term

An add document(document, id) method that takes a document as a str object with integral id and adds a tokenized, normalized version of the document to the inverted index. Stopwords in the document are not indexed.

A build index(corpus) method that takes a corpus as a list of documents and uses add document as necessary to build the index. A documents ID is its index in the list corpus , so the first document has ID 0, next 1, and so on.

An object of type InvertedIndex should support the operator [term] for term lookup. In other words, if object ii was constructed via ii = Inverted Index() and a suitable index built, then

ii[bread] would return the list of document IDs containing the search term bread. Hint: magic methods

By default, if a term is not in the index, it should return the empty list [].

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!