A spreadsheet consists of a table of cells arranged into columns and rows. The columns are normally represented by letters, “A”, “B”, “C”, etc., while the rows are normally represented by numbers, “1”, “2”, “3”, etc. A single cell can be referenced by its column and row. For example, A5 represents the cell containing the value jumps in table (2) below.
Additionally, spreadsheets have the concept of a range as a grouping of cells. For example, the first ten cells in the first column of (2) form the range “A1:A10”, which is filled with the words of the example sentence (1). Note that each consecutive word fills a single cell of a distinct consecutive row. Also, note that punctuation is treated like a word. Finally, there is cell A11 to tell us that cell B11 contains an ID for the sentence.
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | The | ||||||
2 | quick | ||||||
3 | brown | ||||||
4 | fox | ||||||
5 | jumps | ||||||
6 | over | ||||||
7 | the | ||||||
8 | lazy | ||||||
9 | dog | ||||||
10 | . | ||||||
11 | ID | example | |||||
12 |
We need to add word class tag information to the words of (2). We first insert cells to the left of A1:A10, so that the contents of A1:A10 become B1:B10, and A1:A10 become empty cells, as in (3). There is now room for adding word class tags.
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | The | ||||||
2 | quick | ||||||
3 | brown | ||||||
4 | fox | ||||||
5 | jumps | ||||||
6 | over | ||||||
7 | the | ||||||
8 | lazy | ||||||
9 | dog | ||||||
10 | . | ||||||
11 | ID | example | |||||
12 |
We add word class tags to the cells of A1:A10, resulting in (4).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | D | The | |||||
2 | ADJ | quick | |||||
3 | ADJ | brown | |||||
4 | N | fox | |||||
5 | VBP;~Ipr | jumps | |||||
6 | P-ROLE | over | |||||
7 | D | the | |||||
8 | ADJ | lazy | |||||
9 | N | dog | |||||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
Now that every word has a word class tag, we can start creating phrase structure. In particular, let's start by adding ADJP structures. This requires that we first insert cells to the left of the ADJ word tags, resulting in (5).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | D | The | |||||
2 | ADJ | quick | |||||
3 | ADJ | brown | |||||
4 | N | fox | |||||
5 | VBP;~Ipr | jumps | |||||
6 | P-ROLE | over | |||||
7 | D | the | |||||
8 | ADJ | lazy | |||||
9 | N | dog | |||||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
We can now fill the empty cells created in (5) with the ADJP tag, resulting in (6). Note that the second instance of ADJP is given an index (“;@2“). This is because two ADJP instances are occurring consecutively that need to be distinct. Aside from ensuring distinctness, the chosen numbering is not important.
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | D | The | |||||
2 | ADJP | ADJ | quick | ||||
3 | ADJP;@2 | ADJ | brown | ||||
4 | N | fox | |||||
5 | VBP;~Ipr | jumps | |||||
6 | P-ROLE | over | |||||
7 | D | the | |||||
8 | ADJP | ADJ | lazy | ||||
9 | N | dog | |||||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
We next insert cell structure for a subject noun phrase, resulting in (7).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | D | The | |||||
2 | ADJP | ADJ | quick | ||||
3 | ADJP;@2 | ADJ | brown | ||||
4 | N | fox | |||||
5 | VBP;~Ipr | jumps | |||||
6 | P-ROLE | over | |||||
7 | D | the | |||||
8 | ADJP | ADJ | lazy | ||||
9 | N | dog | |||||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
We next fill the subject noun phrase cell structure created in (7) with the NP-SBJ tag, resulting in (8). There is no indexing with NP-SBJ because all consecutive instances of NP-SBJ (A1:A4) belong to the same phrase.
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@2 | ADJ | brown | |||
4 | NP-SBJ | N | fox | ||||
5 | VBP;~Ipr | jumps | |||||
6 | P-ROLE | over | |||||
7 | D | the | |||||
8 | ADJP | ADJ | lazy | ||||
9 | N | dog | |||||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
We next insert cell structure for a second noun phrase, resulting in (9).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@2 | ADJ | brown | |||
4 | NP-SBJ | N | fox | ||||
5 | VBP;~Ipr | jumps | |||||
6 | P-ROLE | over | |||||
7 | D | the | |||||
8 | ADJP | ADJ | lazy | ||||
9 | N | dog | |||||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
We next fill the noun phrase cell structure created in (9) with the NP tag, resulting in (10).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@2 | ADJ | brown | |||
4 | NP-SBJ | N | fox | ||||
5 | VBP;~Ipr | jumps | |||||
6 | P-ROLE | over | |||||
7 | NP | D | the | ||||
8 | NP | ADJP | ADJ | lazy | |||
9 | NP | N | dog | ||||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
We next insert cell structure for a preposition phrase, resulting in (11).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@2 | ADJ | brown | |||
4 | NP-SBJ | N | fox | ||||
5 | VBP;~Ipr | jumps | |||||
6 | P-ROLE | over | |||||
7 | NP | D | the | ||||
8 | NP | ADJP | ADJ | lazy | |||
9 | NP | N | dog | ||||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
We next fill the preposition phrase cell structure created in (11) with the PP-CLR-DIR tag, resulting in (12).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@2 | ADJ | brown | |||
4 | NP-SBJ | N | fox | ||||
5 | VBP;~Ipr | jumps | |||||
6 | PP-CLR-DIR | P-ROLE | over | ||||
7 | PP-CLR-DIR | NP | D | the | |||
8 | PP-CLR-DIR | NP | ADJP | ADJ | lazy | ||
9 | PP-CLR-DIR | NP | N | dog | |||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
We next insert cell structure for a matrix clause, resulting in (13).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@2 | ADJ | brown | |||
4 | NP-SBJ | N | fox | ||||
5 | VBP;~Ipr | jumps | |||||
6 | PP-CLR-DIR | P-ROLE | over | ||||
7 | PP-CLR-DIR | NP | D | the | |||
8 | PP-CLR-DIR | NP | ADJP | ADJ | lazy | ||
9 | PP-CLR-DIR | NP | N | dog | |||
10 | PUNC | . | |||||
11 | ID | example | |||||
12 |
We next fill the matrix clause cell structure created in (13) with the IP-MAT tag, resulting in the completed tree information of (14).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | IP-MAT | NP-SBJ | D | The | |||
2 | IP-MAT | NP-SBJ | ADJP | ADJ | quick | ||
3 | IP-MAT | NP-SBJ | ADJP;@2 | ADJ | brown | ||
4 | IP-MAT | NP-SBJ | N | fox | |||
5 | IP-MAT | VBP;~Ipr | jumps | ||||
6 | IP-MAT | PP-CLR-DIR | P-ROLE | over | |||
7 | IP-MAT | PP-CLR-DIR | NP | D | the | ||
8 | IP-MAT | PP-CLR-DIR | NP | ADJP | ADJ | lazy | |
9 | IP-MAT | PP-CLR-DIR | NP | N | dog | ||
10 | IP-MAT | PUNC | . | ||||
11 | ID | example | |||||
12 |
The completed tree information of (14) in traditional bracketed (Penn/CorpusSearch) format is (15). Note that the bracketing keeps consecutive constituents with the same node tag distinct, so that the node indexing introduced in (6) is no longer required.
The completed tree information of (14) can be represented as the graphical tree (16).