How to Use ApexNLP: Your Guide to Event Creation

Mar 7, 2021 | Data Science

Creating events with natural language processing has never been easier than with ApexNLP, a powerful deterministic rule-based system. This tool is designed to recognize and normalize various formats of event expressions seamlessly. Whether you’re scheduling that family dine-out or organizing piano lessons, ApexNLP makes the process incredibly user-friendly.

Overview

ApexNLP is not just another datetime parser. Instead, it combines the joys of natural language processing with event creation, allowing you to track complex schedules like:

  • Family Dine Out on the 2nd Friday of every month at 6-9 PM
  • Meet John on Monday at the Mall
  • Tennis on Mondays, Tuesdays, Fridays at 10 AM
  • Paying bills day repeats on the 3rd Tuesday of each month
  • Piano lessons Tuesdays and Thursdays at 5-6 PM from 12/1 to 2/23
  • Meeting with John tomorrow every day until 12.10.2018

But how does it work? Think of ApexNLP like a translator on a bustling international road of languages. Instead of translating from one language to another, it translates your everyday expressions into structured event data. For example, when you say “Lunch at noon for 30 minutes,” ApexNLP knows to turn that into:

title : Lunch, location : , startDateTime : 2017-04-13 12:00, endDateTime : 2017-04-13 12:30, isAllDay : false, recurrence : null

Installation

To get started with ApexNLP, you need to add the required repositories and libraries in your project:

groovy
repositories {
    maven {
        url  http://dl.bintray.com/6thsolution/apexnlp
    }
}

dependencies {
    // ApexNLP core library
    compile com.sixthsolution.apex:apex:0.1.0-alpha1
    // NLP for English
    compile com.sixthsolution.apex:english-nlp:0.1.0-alpha1
    // ThreeTen
    compile org.threeten:threetenbp:1.3.3
}

Note: If you’re using Android, remember to replace the ThreeTen dependency with ThreeTenABP.

Example Usage

Here’s how you can implement ApexNLP in your Android application:

javapublic class ExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Apex.init(new Apex.ApexBuilder()
                    .addParser(en, new EnglishParser())
                    .build());
    }

    public class ExampleActivity extends Activity {
        public Event getEvent(String sentence) {
            return Apex.nlp(en, sentence);
        }
    }
}

Troubleshooting

When using ApexNLP, you might encounter some challenges. Here are some common issues and their solutions:

  • If you’re not getting the expected event output, double-check your input sentence for correctness and clarity. Misinterpretations can often stem from unclear language.
  • If you are experiencing integration issues, make sure all dependencies are correctly included and that there are no version conflicts with your IDE.
  • For missing functionalities or direct trouble with the library, refer to the [GitHub Issues](https://github.com/6thsolution/ApexNLP/issues) page for discussions and fixes from the community.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox