Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uttesh/exude

Simple java library to filter the stopping,stemming words from input data or file and link
https://github.com/uttesh/exude

Last synced: about 6 hours ago
JSON representation

Simple java library to filter the stopping,stemming words from input data or file and link

Awesome Lists containing this project

README

        

# exude demo

[![Maven Central](https://img.shields.io/maven-central/v/com.uttesh/exude.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.uttesh%22%20AND%20a:%22exude%22)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.uttesh/exude/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.uttesh/exude/)
[![Build Status](https://travis-ci.org/uttesh/exude.svg)](https://travis-ci.org/uttesh/exude)

This is simple library for removing/filtering the stopping,stemming words from the text data, this library is in very basic level of development need to work on for later changes.

This is the part of maven repository now,Directly add in pom following.


com.uttesh
exude
0.0.4


How to use exude Library



Download latest version of exude download

Features:

* Filter stopping words from given text/file/link
* Filter stemming words from given text/file/link
* Get swear words from given text/file/link

How Exude library works:

Step 1: Filter the duplicate words from the input data/file.
Step 2: Filter the stopping words from step1 filtered data.
Step 3: Filter the stemmer/swear words from step2 filtered data using the Porter algorithm which is used for suffix stripping.

exude process sequence flow:

![demo](https://raw.github.com/uttesh/exude/master/docs/process/flow.png)

Environment and dependent jar file


1. Minimum JDK 1.6 or higher
2. Apache Tika jar (which is used to parse the files for the data extraction)

Sample code:

Sample Text Data

String inputData = "Kannada is a Southern Dravidian language, and according to Dravidian scholar Sanford Steever, its history can be conventionally divided into three periods; Old Kannada (halegannada) from 450–1200 A.D., Middle Kannada (Nadugannada) from 1200–1700 A.D., and Modern Kannada from 1700 to the present.[20] Kannada is influenced to an appreciable extent by Sanskrit. Influences of other languages such as Prakrit and Pali can also be found in Kannada language.";
String output = ExudeData.getInstance().filterStoppings(inputData);
System.out.println("output : "+output);

Sample File Data

String inputData = "any file path";
String output = ExudeData.getInstance().filterStoppings(inputData);
System.out.println("output : "+output);

Sample Link Data

String inputData = "https://en.wikipedia.org/wiki/Rama";
String output = ExudeData.getInstance().filterStoppings(inputData);
System.out.println("output : "+output);

Get swear words from data/file/link

String inputData = "enter text with bad words";
String output = ExudeData.getInstance().getSwearWords(inputData);
System.out.println("output : "+output);

New Feature:

1. Keep the duplicate words after the filterStoppings

Sample Text Data

String inputData = "testing testing testing the keep keep the the duplicate data data in result";
String output = ExudeData.getInstance().filterStoppingsKeepDuplicates(inputData);
System.out.println("output : "+output);

contributions
=============

Credit apache tika which is used to parse the files for the data extraction.

Exude library Developer : uttesh.com


License

(The Apache License)

Copyright (c) 2018 Uttesh Kumar T.H.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.