1 XWindows apps: emacs, xkwic LING 5200 Computational Corpus Linguistics Martha Palmer February 9, 2006
LING 5200, 2006 BASED on Kevin Cohen’s LING Emacs emacs –nw Control x, control c – exit (C-x,C-c) Control x, control s – save (C-x, C-s) Control x, control v – visit (C-x, C-v) Appropos
LING 5200, 2006 BASED on Kevin Cohen’s LING Emacs – Hour 12 in book emacs –nw Control x, b – switch to a new buffer, Control x, Control b – show all buffers, Control x, 1 – just show one window, Control g – ignore the last command, Control h – help (works on verbs?)
LING 5200, 2006 BASED on Kevin Cohen’s LING Preparing to run xkwic: modifying your.cshrc Don't forget to make a back-up copy of your.cshrc file before editing it.
LING 5200, 2006 BASED on Kevin Cohen’s LING Preparing to run xkwic: modifying your.cshrc ls –a Create an alias for cp to make it prompt you before blowing away a file alias cp 'cp –i'
LING 5200, 2006 BASED on Kevin Cohen’s LING Echo command Don't forget to make a back-up copy of your.cshrc file before editing it. You can check the value of an environment variable by using the echo command. Try it now: Enter echo $TGREP_CORPUS. What do you see? You shouldn't see anything, because you haven't defined the TGREP_CORPUS variable. If you do see something, ask for help.
LING 5200, 2006 BASED on Kevin Cohen’s LING Add to.cshrc – See Lab 4 # xkwic stuff setenv CWBHOME /corpora2/imscorpus setenv CORPUS_REGISTRY $CWBHOME/registry setenv MANPATH $CWBHOME/man:$MANPATH setenv UIDPATH "/usr/local/ims-cwb/lib/ X11/uid/ %N/%U" # tgrep stuff #setenv TGREP_CORPUS /corpora/treebank2/tbl_075/tgrepabl/brwn_cmb.c rp setenv TGREP_CORPUS /corpora/treebank2/tgrepabl/wsj_mrg.crp
LING 5200, 2006 BASED on Kevin Cohen’s LING The PATH variable One very important environment variable is the PATH variable. You can view the current value of your path variable by typing echo $PATH. As you can see, you already have a value defined. We're going to change it. Open your.cshrc file with a text editor ( emacs.cshrc or pico -w.cshrc. Find a line that looks something like this:
LING 5200, 2006 BASED on Kevin Cohen’s LING The PATH variable (cont.) set path=($HOME/bin /usr/local/bin /usr/local/etc /usr/local/lang/bin /usr/ucb /bin /usr/bin /usr/sbin /usr/local/ssh/bin /usr/local/TeX/bin /usr/local/mh/bin /usr/local/elm/bin /usr/local/metamail/bin /usr/local/gnu/bin /usr/ucb /usr/openwin/bin /usr/local/X11/bin /usr/ccs/bin /etc. )
LING 5200, 2006 BASED on Kevin Cohen’s LING Adding PATH’s Now you'll define some new environment variables in your.cshrc file. There are two ways to do it. One would be to copy the following lines into your.cshrc file, either by hand or by copying and pasting off of this web page. The other would be by tailing my.cshrc ( /home/mpalmer/.cshrc ), and appending the output to your.cshrc (hint: >> ). Don't forget to make a back-up copy of it first, and don't forget to source.cshrc afterwards!
LING 5200, 2006 BASED on Kevin Cohen’s LING A PATH for xkwic Now enter the string /usr/local/ims-cwb/bin before the period that precedes the closing parenthesis, so that it looks something like this: set path=($HOME/bin /usr/local/bin /usr/local/etc /usr/local/lang/bin /usr/ucb /bin /usr/bin /usr/sbin /usr/local/ssh/bin /usr/local/TeX/bin /usr/local/mh/bin /usr/local/elm/bin /usr/local/metamail/bin /usr/local/gnu/bin /usr/ucb /usr/openwin/bin /usr/local/X11/bin /usr/ccs/bin /etc /usr/local/ims- cwb/bin. )
LING 5200, 2006 BASED on Kevin Cohen’s LING Running xkwic Save your file, source it, and check the value of your path variable again. You should see /usr/local/ims-cwb/bin in it now (in addition to the rest of the stuff that was there before). You're now ready to run xkwic! Start it by entering xkwic at the command line.
LING 5200, 2006 BASED on Kevin Cohen’s LING Fire it up To start xkwic: $babel> xkwic & First step: select a corpus
LING 5200, 2006 BASED on Kevin Cohen’s LING Select a corpus
LING 5200, 2006 BASED on Kevin Cohen’s LING Select a corpus BNC is lemmatized… …Brown and WSJ aren't
LING 5200, 2006 BASED on Kevin Cohen’s LING Select a corpus and a search pattern 1. Select the BNC corpus by clicking on the question-mark next to the Search Space text field. 2. Search for the word research with the query [word = "research"]. How many results do you get?
LING 5200, 2006 BASED on Kevin Cohen’s LING Word attribute
LING 5200, 2006 BASED on Kevin Cohen’s LING Output of a search: KWIC
LING 5200, 2006 BASED on Kevin Cohen’s LING Select a corpus and a search pattern 1. Select the BNC corpus by clicking on the question-mark next to the Search Space text field. 2. Search for the word research with the query [word = "research"]. How many results do you get? 3. Search for the lemma research with the query [lemma = "research"]. How many results do you get? Why the difference?
LING 5200, 2006 BASED on Kevin Cohen’s LING Lemma attribute output Inflected forms Case differences
LING 5200, 2006 BASED on Kevin Cohen’s LING Regular expressions in attributes of a position
LING 5200, 2006 BASED on Kevin Cohen’s LING Searching with POS tags 1. Search for tokens of research that are not verbs with the query [lemma = "research" & pos != "V.*"]. How many results do you get? 2. Modify the display so that you can see the POS of all words: File -> Display Attributes -> Concordance -> Positional Attributes; highlight "word" and "pos", click "update" and "Dismiss". What are two non-verb POS tags that research occurs with?
LING 5200, 2006 BASED on Kevin Cohen’s LING POS attribute
LING 5200, 2006 BASED on Kevin Cohen’s LING
LING 5200, 2006 BASED on Kevin Cohen’s LING I am SOOO frustrated…
LING 5200, 2006 BASED on Kevin Cohen’s LING Basic unit of xkwic: the position Attributes of a position: Word POS Lemma (BNC) Searching for "positions" by attribute…
LING 5200, 2006 BASED on Kevin Cohen’s LING Multiple attributes of a position [word = "research" & pos = "NN1"]
LING 5200, 2006 BASED on Kevin Cohen’s LING Multiple attributes of a position [word = "research" & pos = "NN1"] Ampersand to connect the two attributes
LING 5200, 2006 BASED on Kevin Cohen’s LING Multiple attributes of a position [word = "research" & pos = "NN1"] Single pair of square brackets around all attributes of the single position
LING 5200, 2006 BASED on Kevin Cohen’s LING Negation [word = "research" & pos != "NN1"] = means "is" or "does match" != means "isn't" or "doesn't match"
LING 5200, 2006 BASED on Kevin Cohen’s LING Regular expressions in attributes of a position Wildcard:. Character classes: [word = "[Tt]he"] Grouping Alternation: | Quantifiers: Kleene star, Kleene plus
LING 5200, 2006 BASED on Kevin Cohen’s LING Sequences of positions [lemma = "research"] [word = "the"] Each position gets its own set of square brackets
LING 5200, 2006 BASED on Kevin Cohen’s LING Sequences of positions [lemma = "research"] [word = "the"] A space between the positions
LING 5200, 2006 BASED on Kevin Cohen’s LING Regular expressions over positions Wildcard: [] Any single position Quantifier: * [lemma = "research"] []* [word = "funding"]
LING 5200, 2006 BASED on Kevin Cohen’s LING Resources – Laura is bugging me to make a CU Corpora page… Like this corpora/cas-home.html corpora/cas-home.html TGREP corpora/cas-tut-tgrep.html
LING 5200, 2006 BASED on Kevin Cohen’s LING Xkwic resources CQP home page: stuttgart.de/projekte/CorpusWorkbench/ stuttgart.de/projekte/CorpusWorkbench/ CQP User's Manual: stuttgart.de/projekte/CorpusWorkbench/ CQPUserManual/HTML/ (html version) stuttgart.de/projekte/CorpusWorkbench/ CQPUserManual/HTML/