Finally, we will do some simple analysis – ranking of words. Write a function word_ranking(corpus, n, sort_index) which takes input parameters corpus (type list), n (type int), and sort_index (type int) and returns a list containing tuples of words and their frequencies in the top n of words. Here, corpus is a list of sentences. n is the number of ranked words to return. The resulting list should then be sorted based on the sort_index; sort_index = 0 should sort the list of tuples in ascending alphabetical order, while sort_index = 1 should sort the list of tuples by the frequencies in descending order. All other numeric values for sort_index should return an empty list (don't need to consider non-integer inputs). For example, we have: corpus = ['hi hi hi hi', 'hello hello say bye', 'bye bye'] n = 3 sort_index = 1   The function should return:   [('hi', 4), ('bye', 3), ('hello', 2)]   While sort_index = 0 should return:   [('bye', 3), ('hello', 2), ('hi', 4)]

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Finally, we will do some simple analysis – ranking of words. Write a function word_ranking(corpus, n, sort_index) which takes input parameters corpus (type list), n (type int), and sort_index (type int) and returns a list containing tuples of words and their frequencies in the top n of words. Here, corpus is a list of sentences. n is the number of ranked words to return. The resulting list should then be sorted based on the sort_index; sort_index = 0 should sort the list of tuples in ascending alphabetical order, while sort_index = 1 should sort the list of tuples by the frequencies in descending order. All other numeric values for sort_index should return an empty list (don't need to consider non-integer inputs). For example, we have:

corpus = ['hi hi hi hi', 'hello hello say bye', 'bye bye']
n = 3
sort_index = 1

 

The function should return:

 

[('hi', 4), ('bye', 3), ('hello', 2)]

 

While sort_index = 0 should return:

 

[('bye', 3), ('hello', 2), ('hi', 4)]

 

 

You can assume n would be selected such that exactly n ranked words will be matched.

Expert Solution
steps

Step by step

Solved in 2 steps with 3 images

Blurred answer
Knowledge Booster
Binary numbers
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education