NLP: Approach towards text summarization on a mobile device

Hi, in recent while I have been researching a lot ( a reply I did while researching ) and learning about text summarization and NLP in general. But everything that I have read and implemented have been around gigs of either word embeddings or huge pretrained models. I am not expert in ML by any means so I have no idea how to go about doing this feasibly on a mobile device. I know there is always an option of creating hosting these huge files on a server but it would be awesome if it’s possible without it because one of my goals is to make internet not a necessary for my project.

Any help regarding this would be very appreciated as I am totally clueless how to go about how I should approach this. :innocent:

@Sid Welcome to Tensorflow Forum!

I understand your enthusiasm for bringing Text Summarization and NLP to mobile devices. It’s a challenging but exciting goal! Here are some options you can try:

Options like Longformer or MobileBERT are specifically designed for mobile devices and can be stored and run on-device. You can even train them on your device if needed.

Develop custom rules to identify key sentences or keywords and generate summaries based on these criteria. Libraries like TFLite or ONNX can help optimize this process for mobile deployment.

Techniques like TF Extractive Summarization can identify important sentences using statistical features like sentence frequency or term importance (IDF or TF).

Utilize platforms like Google AI Platform to run your custom summarization code and models without managing your own server infrastructure. This way, you only need temporary internet access during model updates or initial deployment.

Libraries like AllenNLP or spaCy offer smaller pre-trained models or rule-based summarization algorithms suitable for mobile devices. You might need internet access for initial download but can operate offline afterward.

Consider the trade-off between the desired summary quality and the available resources on your target mobile device.

Assess whether your device can handle the processing power and memory demands of your chosen model or algorithm.
Prioritize approaches that support full offline operation if internet access is completely unavailable.

Let us know if any of the above approches work well for you !