Indonesian corpus linguistics toolkit

SemanText

01

Compile the corpus

Four ways to bring texts in

The corpus is the collection of texts you analyze. Use one or more of the four tabs in step 01:

Keyword

Enter search terms and choose Collect texts. By default SemanText collects text URLs from Bing NewsRSS, then retrieves each page at the edge (up to 25 per round). Aggregator, tag, and index pages are excluded before fetching, since they never contain a full text. Use the optionalFrom and To date fields to keep only texts published inside that range; both bounds are optional, so leaving them empty harvests without any date filter. Texts without a usable date are always retained and counted in the results note.

Search providers (free, no signup)

The keyword tab can discover text URLs through either no-cost backend:

  • Bing News (default): RSS feed, no key, works from Cloudflare's edge.
  • Google News: RSS search feed, no key. Items carry a title, publisher, and publication date, so result rows are enriched even when the publisher page lacks metadata.

URL list

Paste text URLs, one per line, and choose Collect texts. The first 25 URLs are processed per round; repeat to add more.

CSV upload

Upload one or more corpus files in the SemanText CSV format. Files are merged locally; there is no upload to a server. The expected columns are Datetime, Title, Text, URL, TextID, Publication.

Raw text

Paste text directly, or upload .txt files. Each submission becomes a single text and is limited to 100,000 tokens; the token counter under the box shows your position and blocks submissions over the limit. Date-like tokens such as6/9/2026 are kept intact by the tokenizer.

02

Read the overview

Texts, tokens, sources

Step 02 shows your corpus:

  • Texts: number of texts in the corpus.
  • Tokens: total word tokens across the corpus.
  • Sources: distinct publications or sources present.

The table below the metrics lists every document with its publication date, title, source, URL, and scraping status. UseExport corpus CSV to save the whole corpus.

Scraping statuses

  • ok: the page's main text was extracted.
  • blocked: the site refused access (bot gate, HTTP 403/429) or returned a JavaScript shell.
  • empty: the page loaded but contained no extractable text.
  • error: the request failed (for example, a network error).
03

Run analysis

Three tools, all running in your browser

Word frequency

Choose the number of top words and selectRun. Punctuation is removed, Indonesian stopwords are filtered using the built-in stopword list, and the result is shown as a ranked table and bar chart. Date-like tokens such as6/9/2026 are preserved as single tokens.

N-gram analysis

Set n (2 to 8) and select Run to get the most frequent multi-word sequences.

Concordance (KWIC)

Enter a keyword and select Run to see every occurrence with its left and right context. Matching is case-insensitive and word-based: searching presidendoes not match presidential.

04

Export

Results as CSV

Every analysis tool offers an Export CSV button that downloads the current result. Exports include:

  • mostfrequentwords_by_semantext.csv
  • n_gram_by_semantext.csv
  • concordance_by_semantext.csv
  • corpus_by_semantext.csv (full corpus, re-importable)

The corpus export uses the columnsDatetime, Title, Text, URL, TextID, Publication, so it can be merged again later with the CSV upload tab.

05

Privacy, ethics, and limits

Read before scraping at scale

  • Analysis stays local. Frequency, n-gram, and concordance computation never leave your browser.
  • Harvest politely. SemanText retrieves pages sequentially with a browser-like user agent. Respect therobots.txt of each site, attribute every source, and be mindful of copyright and Indonesian press-law norms when reusing harvested text. Harvested corpora are research artifacts: keep the original URLs so sources stay verifiable.
  • Free-tier caps. The free deployment handles about 100,000 requests per day, with at most 25 text fetches per harvest round.