sillsdev / sillsdev/silnlp

Auto-sentence breaker

Open
#258 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
39
Forks
7
Avg merge
1d 9h
Merged PRs (30d)
5

Description

Is this even possible? Can we with minimal a priori knowledge can we separate sentences in all languages in all scripts enough so that when combined with a Gale-Church sentence Aligner, we can get decent training and translation data within our 200 token maximum? It doesn't have to be perfect - and splitting up sentences more than they should be may be ok. The main issues are - what will we find in different languages in terms of sentence ending punctuation?

First proposal idea:

  • Have knowledge of the sentence terminating characters per script
  • Analyze the incoming text to determine the script (or use the script code in the language code)
  • Follow some basic rule-based knowledge:
  • Are there abbreviations in other scripts that also use the sentence terminating character? (D. L. Moody, etc.). If we know a bit about the types of things we could find, we may be able to develop some statistics-rule based determination for sentence breaks
  • Use ebible data to test out algorithms

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the proposed rules, the utoken rules referenced in the issue, and the Gale-Church sentence aligner context. Use ebible data to evaluate sentence breaking across scripts, including sentence-ending punctuation, abbreviations, brackets, and the 200-token limit. Done means a tested approach that produces usable sentence-alignment data, though the issue does not name files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.