sillsdev / sillsdev/silnlp

Combine short segments into larger ones for better translation quality

Open
#240 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

This may be especially helpful in proverbs and psalms.
This is pealed off from https://github.com/sillsdev/silnlp/issues/250

Combine multiple short segments into 1 for training
  • Assume segments are contiguous if the last segment of their id's increment by 1 and the other portion of their ID is the same.
  • Combine contiguous segments into one segment first to make complete sentences and then to just extend the segment as long as the source and target lengths are < max_tokens.
Combine multiple short segments into 1 for pretranslation
  • Assume contiguous segments as above
  • Combine segments by the 100%, 80% rule as above, giving preference to making complete sentences
  • Translate both the segments independently and combined
  • Split by running Gale-church on the independently and combined pretranslations (there may be a much better algorithm based on cognates, etc. since most of the words will be exactly the same)

@ddaspit - what do you think?

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

The issue names no files, tests, or entry points. Start by locating the training and pretranslation pipelines, then determine how segment IDs, token limits, complete sentences, and Gale-Church splitting are represented; the work is done when contiguous short segments can be combined for both workflows and the resulting pretranslations can be split again.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
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.