/DataGenerator-CPP

Classification dataset generator library for high level Nlp tasks

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Data Generator

Video Lectures

For Developers

You can also see Java, C, Python, Cython, Js, Swift, or C# repository.

Requirements

CPP

To check if you have compatible C++ Compiler installed,

  • Open CLion IDE
  • Preferences >Build,Execution,Deployment > Toolchain

Git

Install the latest version of Git.

Download Code

In order to work on code, create a fork from GitHub page. Use Git for cloning the code to your local or below line for Ubuntu:

git clone <your-fork-git-link>

A directory called DataGenerator-CPP will be created. Or you can use below link for exploring the code:

git clone https://github.com/starlangsoftware/DataGenerator-CPP.git

Open project with CLion IDE

To import projects from Git with version control:

  • Open CLion IDE , select Get From Version Control.

  • In the Import window, click URL tab and paste github URL.

  • Click open as Project.

Result: The imported project is listed in the Project Explorer view and files are loaded.

Compile

From IDE

After being done with the downloading and opening project, select Build Project option from Build menu.

Detailed Description

AnnotatedDataSetGenerator

DataSet yaratmak için AnnotatedDataSetGenerator sınıfı önce üretilir.

AnnotatedDataSetGenerator(String directory, String pattern, InstanceGenerator instanceGenerator)

Ardından generate metodu ile DataSet yaratılır.

DataSet generate()

InstanceGenerator

DataGeneratorlerin InstanceGeneratorlere ihtiyacı vardır. Bunlar bir tek kelimeden bir Instance yaratan sınıflardır.

Instance generateInstanceFromSentence(Sentence sentence, int wordIndex)

NER problemi için NerInstanceGenerator, FeaturedNerInstanceGenerator ve VectorizedNerInstanceGeneratorsınıfı

ShallowParse problemi için ShallowParseInstanceGenerator, FeaturedShallowParseInstanceGenerator ve VectorizedShallowParseInstanceGenerator sınıfı

WSD problemi için SemanticInstanceGenerator, FeaturedSemanticInstanceGenerator ve VectorizedSemanticInstanceGenerator sınıfı

Morphological Disambiguation problemi için FeaturedDisambiguationInstanceGenerator sınıfı

Example Generated DataSet

Word Sense Disambiguation Task

The following Table shows the sample text represented with sense labels and three possible features, namely the root form of the word, the part of speech (POS) tag of the word, and a boolean feature for checking the capital case.

Word Root Pos Capital ... Tag
Yüzündeki yüz Noun True ... yüz3
ketçap ketçap Noun False ... ketçap1
lekesi leke Noun False ... leke2
yüzdükten yüz Verb False ... yüz2
sonra sonra PCAbl False ... sonra1
çıkmış çık Verb False ... çık10
. . Punctuation False ... .1

Named Entity Recognition Task

The following Table shows the sample text represented with tag labels and three possible features, namely the root form of the word, the part of speech (POS) tag of the word, and a boolean feature for checking the capital case.

Word Root Pos Capital ... Tag
Türk Türk Noun True ... ORGANIZATION
Hava Hava Noun True ... ORGANIZATION
Yolları Yol Noun True ... ORGANIZATION
bu bu Pronoun False ... NONE
Pazartesi'den Pazartesi Noun True ... TIME
itibaren itibaren Adverb False ... NONE
İstanbul İstanbul Noun True ... LOCATION
Ankara Ankara Noun True ... LOCATION
güzergahı güzergah Noun False ... NONE
için için Adverb False ... NONE
indirimli indirimli Adjective False ... NONE
satışlarını sat Noun False ... NONE
90 90 Number False ... MONEY
TL'den TL Noun True ... MONEY
başlatacağını başlat Noun False ... NONE
açıkladı açıkla Verb False ... NONE
. . Punctuation False ... NONE

Shallow Parse Task

The following Table shows the sample text represented with chunk labels and three possible features, namely the root form of the word, the part of speech (POS) tag of the word, and a boolean feature for checking the capital case.

Word Root Pos Capital ... Tag
Türk Türk Noun True ... ÖZNE
Hava Hava Noun True ... ÖZNE
Yolları yol Noun True ... ÖZNE
Salı Salı Noun True ... ZARF TÜMLECİ
günü gün Noun False ... ZARF TÜMLECİ
yeni yeni Adjective False ... NESNE
indirimli indirimli Adjective False ... NESNE
fiyatlarını fiyat Noun False ... NESNE
açıkladı açıkla Verb False ... YÜKLEM
. . Punctuation False ... HİÇBİRİ