emToken - Tokeniser
About the tool
What is this tool for? What does it do?
The tool determines sentence- and word boundaries in an input text. This task is not at all self-explanatory if there are abbreviations followed by person names, since a period followed by a word starting with an initial capital usually signals sentence boundary.
What is an input text?
It is plain text in UTF-8 encoding.
What is the output?
It is text segmented into sentences and words.
An example of the segmentation:
Input:
A kutya váratlanul ugatni kezdett. Ettől úgy megijedt dr. Thorotzkay Alfréd, hogy hanyatt esett az aszfalton.
Felesége, aki egyébként a BKV Zrt.-nél dolgozik, egyből rohant hozzá, amint ezt megtudta.
Output:
<s><w>A</w><ws> </ws><w>kutya</w><ws></ws><w>váratlanul</w><ws> </ws><w>ugatni</w><ws></ws><w>kezdett</w><c>.</c></s><ws> </ws>
<s><w>Ettől</w><ws> </ws><w>úgy</w><ws> </ws><w>megijedt</w><ws> </ws><w>dr.</w><ws> </ws><w>Thorotzkay</w><ws> </ws><w>Alfréd</w><c>,</c><ws> </ws><w>hogy</w><ws> </ws><w>hanyatt</w><ws> </ws><w>esett</w><ws> </ws><w>az</w><ws> </ws><w>aszfalton</w><c>.</c></s><ws> </ws><s><w>Felesége</w><c>,</c><ws> </ws><w>aki</w><ws> </ws><w>egyébként</w><ws> </ws><w>a</w><ws> </ws><w>BKV</w><ws></ws><w>Zrt.-nél</w><ws> </ws><w>dolgozik</w><c>,</c><ws></ws><w>egyből</w><ws> </ws><w>rohant</w><ws> </ws><w>hozzá</w><c>,</c><ws> </ws><w>amint</w><ws> </ws><w>ezt</w><ws> </ws><w>megtudta</w><c>.</c></s>
<s> ... </s> tags mark sentence boundaries, <w> ... </w> tags word boundaries, <c> ... </c> punctuation, while <ws> ... </ws> tags mark the boundaries of space and other whitespace characters.
For developers:
Source |
Sourcecode: https://github.com/dlt-rilmta/quntoken
binary: https://github.com/dlt-rilmta/quntoken/releases/latest |
Source language | C++ and Python 3 |
Input | Plain text in UTF-8 encoding |
Output | XML or JSON |
Execution |
./quntoken [-f FORMAT] FILE
Default output format is xml. Other possible formats:: xml, json. |
Licence | GNU GPLv3 |