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 references 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 spreadsheet (2) form the range A1:A10, which is filled with the words of 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 | 1_id | |||||
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 spreadsheet (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 | 1_id | |||||
12 |
We add word class tags to the cells of A1:A10, resulting in spreadsheet (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 | 1_id | |||||
12 |
Now that every word has a word class tag, we can begin creating phrase structure. Let's start by adding ADJP structures. This requires that we first insert cells to the left of ADJ word tags, resulting in spreadsheet (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 | 1_id | |||||
12 |
We can now fill the empty cells created in spreadsheet (5) with the ADJP tag, resulting in spreadsheet (6). Note that the second instance of ADJP has extra marking (“;@3”). This is because two ADJP instances are occurring consecutively that need to be distinct. Aside from ensuring distinctness, number choice for such extra marking is not important. Nevertheless, it is helpful to follow some convention. The convention followed in spreadsheet (6) includes ‘;@n’ for an n-th sister node. That “;@3” is an n-th sister node will become clear from spreadsheet (7) onwards.
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | D | The | |||||
2 | ADJP | ADJ | quick | ||||
3 | ADJP;@3 | 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 | 1_id | |||||
12 |
We next insert cell structure for a subject noun phrase, resulting in spreadsheet (7).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | D | The | |||||
2 | ADJP | ADJ | quick | ||||
3 | ADJP;@3 | 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 | 1_id | |||||
12 |
We next fill the subject noun phrase cell structure created in spreadsheet (7) with the NP-SBJ tag, resulting in spreadsheet (8). Note how 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;@3 | 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 | 1_id | |||||
12 |
We next insert cell structure for a second noun phrase, resulting in spreadsheet (9).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@3 | 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 | 1_id | |||||
12 |
We next fill the noun phrase cell structure created in spreadsheet (9) with the NP tag, resulting in spreadsheet (10).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@3 | 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 | 1_id | |||||
12 |
We next insert cell structure for a preposition phrase, resulting in spreadsheet (11).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@3 | 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 | 1_id | |||||
12 |
We next fill the preposition phrase cell structure created in spreadsheet (11) with the PP-CLR tag, resulting in spreadsheet (12).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@3 | ADJ | brown | |||
4 | NP-SBJ | N | fox | ||||
5 | VBP;~Ipr | jumps | |||||
6 | PP-CLR | P-ROLE | over | ||||
7 | PP-CLR | NP | D | the | |||
8 | PP-CLR | NP | ADJP | ADJ | lazy | ||
9 | PP-CLR | NP | N | dog | |||
10 | PUNC | . | |||||
11 | ID | 1_id | |||||
12 |
We next insert cell structure for a matrix clause, resulting in spreadsheet (13).
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | NP-SBJ | D | The | ||||
2 | NP-SBJ | ADJP | ADJ | quick | |||
3 | NP-SBJ | ADJP;@3 | ADJ | brown | |||
4 | NP-SBJ | N | fox | ||||
5 | VBP;~Ipr | jumps | |||||
6 | PP-CLR | P-ROLE | over | ||||
7 | PP-CLR | NP | D | the | |||
8 | PP-CLR | NP | ADJP | ADJ | lazy | ||
9 | PP-CLR | NP | N | dog | |||
10 | PUNC | . | |||||
11 | ID | 1_id | |||||
12 |
We next fill the matrix clause cell structure created in spreadsheet (13) with the IP-MAT tag, resulting in the completed tree information of spreadsheet (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;@3 | ADJ | brown | ||
4 | IP-MAT | NP-SBJ | N | fox | |||
5 | IP-MAT | VBP;~Ipr | jumps | ||||
6 | IP-MAT | PP-CLR | P-ROLE | over | |||
7 | IP-MAT | PP-CLR | NP | D | the | ||
8 | IP-MAT | PP-CLR | NP | ADJP | ADJ | lazy | |
9 | IP-MAT | PP-CLR | NP | N | dog | ||
10 | IP-MAT | PUNC | . | ||||
11 | ID | 1_id | |||||
12 |
We obtain (15) when the completed tree information of spreadsheet (14) is presented in traditional bracketed (Penn/CorpusSearch) format. Note that this bracketed presentation of the tree information keeps consecutive constituents with the same node tag distinct. Consequently, any extra marking for distinct nodes, like “ADJP;@3” introduced in spreadsheet (6), is no longer required.
The completed tree information of spreadsheet (14) can also be presented as the graphical tree (16).