<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6536960326300527592</id><updated>2011-11-12T09:31:03.602Z</updated><category term='театр'/><category term='linear unit grammar'/><category term='simulation'/><category term='abstract'/><category term='sonnet'/><category term='reflections'/><category term='мысли'/><category term='мюзиклы'/><category term='видео'/><category term='english'/><category term='process'/><category term='programming'/><category term='CxG'/><category term='просто'/><category term='бродвей'/><category term='идея'/><category term='music'/><category term='language'/><category term='kharms'/><category term='parsing'/><category term='syntax'/><category term='ellipsis'/><category term='парсер'/><category term='ambiguity'/><category term='constructor'/><category term='nlp'/><category term='information structure'/><category term='наука'/><category term='язык'/><category term='pragmatics'/><category term='placeholders'/><category term='книги'/><category term='applicative'/><category term='coordination'/><category term='фото'/><category term='fun'/><category term='semantics'/><category term='topic-focus'/><category term='russian'/><category term='chess'/><category term='eng'/><title type='text'>Sepulkarium</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>100</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4742901412696068502</id><published>2011-11-12T09:22:00.000Z</published><updated>2011-11-12T09:31:03.669Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='constructor'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><title type='text'>Test-driven parsing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;I use &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development"&gt;Test-Driven Development&lt;/a&gt; for my natural language parser, in a very orthodox way. And now that I do it, I see that what I had before is just test-first development, not quite test-driven.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I try to do something new&amp;nbsp;in my parser every day. But very often in the evening I see that I won't manage to get the tests pass today. But, if I insert a little hack here and there, then maybe... And, if mocking really helps, I do it, but not without consequences.&amp;nbsp;I add another test, that doesn't pass because of the mocking. Usually I just take the sentence and add a small variation to it and, of course, to its translation (e.g. I can change a tense, a noun person, the word order). After that I may go to sleep untroubled: the new test belongs to the next day, and I have plenty of time to think how to parse in a more generic way. If this time is not sufficient, I can mock further and create one more test. After a series of those variation tests, I get a satisfactory algorithm and quite a coverage. That's how it goes.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This mocking-all-the-time approach seems to be quite a fruitful way to get the things done. Now I really understand those agile guys saying "keep it simple and never change anything without a test". I never can think of all the possibilities, and there's no right way to do things yet.&amp;nbsp;If I implement a nice beautiful logic based on just one sentence, then the next sentence will inevitably prove this code wrong, or too inflexible, or just plain inconvenient. But when I mock things several times, the mocking logic tends to get more and more generic and finally doesn't look like mocking at all, while still being flexible and convenient.&amp;nbsp;Many mocks have already been transformed into serious logic, many others still wait for it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;By the way, it's not about unit-testing at all. Of 175 tests I have right now only 4 are unit tests. They test the longest common subsequence algorithm that I need for &lt;a href="http://sepulkarium.blogspot.com/2011/07/ellipsis.html"&gt;ellipsis&lt;/a&gt; and which I had to implement myself. There are also 17 parsing tests which check the internal semantic representation produced after parsing. They are useful to keep an eye on the semantics, but their expected output also tends to change insignificantly quite often. Then it's just tedious to update the tests. So I prefer to write translation tests, because&amp;nbsp;their expectations are a golden standard. I could completely change the architecture of the parser without ever touching them.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4742901412696068502?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4742901412696068502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4742901412696068502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4742901412696068502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4742901412696068502'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2011/11/test-driven-parsing.html' title='Test-driven parsing'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4736510866812580948</id><published>2011-11-08T19:13:00.001Z</published><updated>2011-11-08T19:13:35.783Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='constructor'/><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><title type='text'>NLP using graphs, actually</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;The reason for complete&amp;nbsp;&lt;a href="http://sepulkarium.blogspot.com/2011/10/nlp-using-graphs.html"&gt;rewrite&lt;/a&gt;&amp;nbsp;was simple:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Это &amp;nbsp;отвлекло &amp;nbsp; нас от &amp;nbsp; нашего спора.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;That distracted us &amp;nbsp;from our &amp;nbsp; &amp;nbsp;argument.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;Every word makes a contribution to the parsing state by saying that it participates in a number of constructions, and provides some attributes for each of them. So a contribution consists of pairs of constructions and attribute sets. I'll call such pairs &lt;a href="http://www.merriam-webster.com/dictionary/mite"&gt;mites&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;i&gt;That&lt;/i&gt;&amp;nbsp;(&lt;i&gt;это&lt;/i&gt;) is capable to add&amp;nbsp;&lt;i&gt;noun&lt;/i&gt;&amp;nbsp;attributes to&amp;nbsp;&lt;i&gt;nom&lt;/i&gt;(inative) and&amp;nbsp;&lt;i&gt;acc&lt;/i&gt;(usative) constructions, and these mites contradict each other.&amp;nbsp;&lt;i&gt;Distracted&lt;/i&gt;&amp;nbsp;(&lt;i&gt;отвлекло&lt;/i&gt;) is a transitive verb, therefore it defines&amp;nbsp;&lt;i&gt;head&lt;/i&gt;&amp;nbsp;for&amp;nbsp;&lt;i&gt;nom&lt;/i&gt;&amp;nbsp;and&amp;nbsp;&lt;i&gt;acc&lt;/i&gt;&amp;nbsp;constructions. But these two mites don't contradict each other, they're both very welcome.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;Earlier, I unified mites as soon as they came, and I only kept the results of the unification, not the mites themselves. After the word&amp;nbsp;&lt;i&gt;that&lt;/i&gt;, there were&amp;nbsp;&lt;i&gt;nom&lt;/i&gt;&amp;nbsp;and&amp;nbsp;&lt;i&gt;acc&lt;/i&gt;&amp;nbsp;constructions with&amp;nbsp;&lt;i&gt;noun&lt;/i&gt;&amp;nbsp;defined, and&amp;nbsp;&lt;i&gt;nom&lt;/i&gt;&amp;nbsp;was (randomly) chosen as active. Active constructions had higher priority, and therefore the verb's&amp;nbsp;&lt;i&gt;nom&lt;/i&gt;&amp;nbsp;mite was integrated first. Two&amp;nbsp;&lt;i&gt;nom&lt;/i&gt;&amp;nbsp;mites were unified, and the&amp;nbsp;&lt;i&gt;nom&lt;/i&gt;&amp;nbsp;construction with both&amp;nbsp;&lt;i&gt;head&lt;/i&gt;&amp;nbsp;and&amp;nbsp;&lt;i&gt;noun&lt;/i&gt;&amp;nbsp;defined linked the values of these attributes semantically. That's all great. But what to do with&amp;nbsp;&lt;i&gt;acc&lt;/i&gt;?&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;You can't just unify it as well, because there's already a&amp;nbsp;&lt;i&gt;nom&lt;/i&gt;&amp;nbsp;construction and it contradicts&amp;nbsp;&lt;i&gt;acc&lt;/i&gt;&amp;nbsp;in its first mite. So you have to drop either of the mites completely and leave the other. In this sentence, it made sense to drop the&amp;nbsp;&lt;i&gt;acc.noun&lt;/i&gt;&amp;nbsp;mite  — the accusative alternative of&amp;nbsp;&lt;i&gt;that&lt;/i&gt;. The&amp;nbsp;&lt;i&gt;acc.head&lt;/i&gt;&amp;nbsp;mite would survive and unify nicely with the real object that comes next —&amp;nbsp;&lt;i&gt;us&lt;/i&gt;. But that's a hack and that didn't work when the first&amp;nbsp;&lt;i&gt;это&lt;/i&gt;&amp;nbsp;was in fact accusative. A more right way would be to preserve both&amp;nbsp;&lt;i&gt;acc&lt;/i&gt;&amp;nbsp;mites but only mark the second one as active. That clearly required per-mite active status, not per-construction.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;So now I don't remove any mites automatically when processing word contributions, they all survive. The matter is, are they active or not. Active mites are guaranteed to be non-contradicting. Only active mites about the same construction are unified and passed to this construction, it then may make some semantic changes based on that information.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;When another word comes, the&amp;nbsp;parser solves a constraint satisfaction task on graphs. Some of the new mites are chosen to be active, the old mites may change their active status to accommodate that. The reanalysis tries to&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li style="text-align: justify;"&gt;minimize the number of active constructions&lt;/li&gt;&lt;li style="text-align: justify;"&gt;to maximize the number of mites in those constructions (more mites mean more information)&lt;/li&gt;&lt;li style="text-align: justify;"&gt;prefer more recent mites&lt;/li&gt;&lt;li style="text-align: justify;"&gt;to prefer semantically more plausible variants&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;Surprisingly, it works, though twice as slow as before. And the algorithm now seems so clean and logical that I can't find anything to remove! But I definitely should optimize, as I just get bored waiting for long 10 seconds until 171 tests pass.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4736510866812580948?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4736510866812580948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4736510866812580948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4736510866812580948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4736510866812580948'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2011/11/nlp-using-graphs-actually.html' title='NLP using graphs, actually'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-8734029580309249550</id><published>2011-10-31T20:50:00.000Z</published><updated>2011-10-31T20:52:12.274Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='coordination'/><title type='text'>Great was their and my amazement!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Let's start with a simple noun phrase: &lt;i&gt;my amazement&lt;/i&gt;. My parser analyzes it as follows.&amp;nbsp;The word &lt;i&gt;my&lt;/i&gt; creates a frame with type &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;ME&lt;/span&gt; and contributes &lt;i&gt;possessor&lt;/i&gt; attribute to &lt;i&gt;possessive&lt;/i&gt; construction. The word &lt;i&gt;amazement&lt;/i&gt; creates a frame with type &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;AMAZE&lt;/span&gt; and contributes &lt;i&gt;head&lt;/i&gt; attribute to the same&amp;nbsp;&lt;i&gt;possessive&lt;/i&gt; construction. Now that both &lt;i&gt;head&lt;/i&gt; and &lt;i&gt;possessor&lt;/i&gt; attributes are defined, the construction links them with &lt;i&gt;arg1&lt;/i&gt; attribute:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-8O6sUEDPx94/Tq8HbIX7mII/AAAAAAAADZs/IL_yblNWwE4/s1600/myAmazement.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-8O6sUEDPx94/Tq8HbIX7mII/AAAAAAAADZs/IL_yblNWwE4/s1600/myAmazement.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;A.type=ME&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;B.type=AMAZE&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;B.arg1=A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/-WoTSoil6eRw/Tq8Ha26n_6I/AAAAAAAADZg/T_kTBncSqec/s1600/theirAmazement.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-WoTSoil6eRw/Tq8Ha26n_6I/AAAAAAAADZg/T_kTBncSqec/s1600/theirAmazement.png" /&gt;&lt;/a&gt;It's quite similar with &lt;i&gt;their amazement&lt;/i&gt;:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-WoTSoil6eRw/Tq8Ha26n_6I/AAAAAAAADZg/T_kTBncSqec/s1600/theirAmazement.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;A.type=THEY&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;B.type=AMAZE&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;B.arg1=A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now let's parse &lt;i&gt;their and my amazement&lt;/i&gt;. The semantics I want to get is this:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/-P8jjVum7yPk/Tq8HaajkkNI/AAAAAAAADZc/dIq_I2JIseU/s1600/bothAmazement.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-P8jjVum7yPk/Tq8HaajkkNI/AAAAAAAADZc/dIq_I2JIseU/s1600/bothAmazement.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;A.type=THEY&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;B.type=ME&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;C.member1=A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;C.conj=and&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;C.member2=B&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;D.type=AMAZE&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;D.arg1=C&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I want &lt;i&gt;their&lt;/i&gt;, &lt;i&gt;my&lt;/i&gt; and &lt;i&gt;amazement&lt;/i&gt; to preserve their functionality. This means that&amp;nbsp;after &lt;i&gt;their and my&lt;/i&gt; there should be a &lt;i&gt;possessive&lt;/i&gt; construction whose &lt;i&gt;possessor&lt;/i&gt; points to the conjunction frame &lt;i&gt;C&lt;/i&gt;. So it's the word &lt;i&gt;and&lt;/i&gt; which should do this, there are no other candidates.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Currently &lt;i&gt;and&lt;/i&gt; puts the parser into a special state. In this state, every subsequent contribution is intercepted and analyzed whether it can be a conjunct. A contribution can be the right operand of coordination if there was a similar contribution to the left of it (similar in the same sense as with &lt;a href="http://sepulkarium.blogspot.com/2011/07/ellipsis.html"&gt;ellipsis&lt;/a&gt;). When a similar contribution is found, the parser takes both left and right contributions and merges them. In this particular case, the left contribution had&amp;nbsp;&lt;i&gt;possessive.possessor=A&lt;/i&gt;, the right one&amp;nbsp;&lt;span class="Apple-style-span" style="color: #222222; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"&gt;—&lt;/span&gt;&amp;nbsp;&lt;i&gt;possessive.possessor=B&lt;/i&gt;. While merging, a new frame &lt;i&gt;C&lt;/i&gt; is introduced, a composite over &lt;i&gt;A&lt;/i&gt; and &lt;i&gt;B&lt;/i&gt;. Now the &lt;i&gt;possessor&lt;/i&gt; attribute of the merged &lt;i&gt;possessive&lt;/i&gt; construction points to &lt;i&gt;C&lt;/i&gt; instead of &lt;i&gt;A&lt;/i&gt; or &lt;i&gt;B&lt;/i&gt;. The updated contribution is applied to the parsing state, so that then, when &lt;i&gt;amazement&lt;/i&gt; comes, the result will be precisely as wanted. That's it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This is the core idea. In my parser, conjuncts don't connect constituents or any static structure. They connect contributions, i.e. the changes made to the parsing state. Merging two changes results in one merged change. It's quite powerful and allows for some interesting things like non-constituent coordination. But that's another story.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-8734029580309249550?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/8734029580309249550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=8734029580309249550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8734029580309249550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8734029580309249550'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2011/10/great-was-their-and-my-amazement.html' title='Great was their and my amazement!'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-8O6sUEDPx94/Tq8HbIX7mII/AAAAAAAADZs/IL_yblNWwE4/s72-c/myAmazement.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-518749323590390386</id><published>2011-10-25T10:36:00.000+01:00</published><updated>2011-10-25T10:36:47.687+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><title type='text'>NLP using graphs</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;Could natural language parsing be a task on graphs? Maybe, at least partly.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now, during parsing, every word contributes to some constructions. Some of these contributions are mutually exclusive. For example, in Russian a noun typically can't be nominative and accusative at the same time. So this noun's contributions for &lt;i&gt;nom&lt;/i&gt; and &lt;i&gt;acc&lt;/i&gt; constructions are incompatible.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Different words also may have contradicting contributions. Two nouns in the same clause can't both be accusative even if their forms are compatible with such an alternative (i.e. they both contribute to &lt;i&gt;acc&lt;/i&gt; construction).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So here's the idea. Consider a graph whose vertices are formed by each construction contribution for each word. And where those contributions contradict each other in any way, there's an edge. The task is then to find a maximal subset of vertices which are not connected to each other.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;There are, of course, other constraints. The resulting graph should make sense from the semantic viewpoint. The subset should be constructed incrementally and conservatively: if the parser can proceed without reanalysis of the already built structures, it should do so. Finally, this graph task has a very limited scope, e.g. it doesn't apply in different clauses.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;That's just an idea. Currently my parser doesn't track individual contributions per construction, it just unifies them eagerly. But the test data suggests that might change.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-518749323590390386?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/518749323590390386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=518749323590390386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/518749323590390386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/518749323590390386'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2011/10/nlp-using-graphs.html' title='NLP using graphs'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-8961808351506651311</id><published>2011-07-16T11:15:00.001+01:00</published><updated>2011-07-16T11:15:01.468+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ellipsis'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><title type='text'>Ellipsis</title><content type='html'>&lt;div style="text-align: justify;"&gt;One of the great things about constructions is that you can do cool things with them which are not so easy with other parsing techniques. One example is ellipsis, when you may just omit any number of words if they are the same as in the previous clause:&lt;/div&gt;&lt;div style="width:100%;overflow:auto;"&gt;&lt;pre&gt;&lt;br /&gt;По   мнению  одних дальше следовало 7, по   мнению  других — 8&lt;br /&gt;PREP opinion some  next   went      7  PREP opinion others — 8&lt;br /&gt;&lt;i&gt;In the opinion of some, a 7 went next; but in opinion of others an 8 did&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;To translate this correctly, several things should be done. The parser should recognize that "&lt;span class="Apple-style-span"  style="font-family:arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="line-height: 24px; font-size:small;"&gt;—&lt;/span&gt;&lt;/span&gt;" actually stands for &lt;i&gt;went next&lt;/i&gt;. The semantic model should somehow incorporate this as well as the meta-knowledge that this &lt;i&gt;went next&lt;/i&gt; is actually not specified explicitly (otherwise the generator would produce &lt;i&gt;but in opinion of others an 8 went next&lt;/i&gt;). Finally, the generator should be able to replace the full verb phrase with &lt;i&gt;did&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Parser&lt;/h3&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;There's clearly some parallelism here. After processing &lt;i&gt;in opinion of others &lt;/i&gt;the parser should already know that this is similar to &lt;i&gt;in the opinion of some&lt;/i&gt;. The same happens with &lt;i&gt;8&lt;/i&gt;, which is similar to &lt;i&gt;7&lt;/i&gt;. Now the parser should fill in the dash gap with the missing information taken from the previous clause. This means it should have access to all actions it performed during processing of went next, and it should repeat them.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, there are two problems. One is how to find similar fragments given that they consist of different words. The other is how to be aware of the earlier activity of the parser and be able to reproduce it in new contexts. The problems are quite tightly connected: it's the earlier activity where you search for something similar. And no surprise that both problems are solved by one means, which is, keeping the change log.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Every change in the parsing state is kept in a log. Luckily, the construction architecture is very suitable for this. Remember, each word tells the parser which constructions it participates in and which of them are mutually incompatible. It also contributes arguments to the constructions: specifying a &lt;i&gt;noun&lt;/i&gt; of a &lt;i&gt;nom&lt;/i&gt;(inative) construction is completely different from contributing a &lt;i&gt;head&lt;/i&gt; (verb). Based on this information, the parser resolves the possible conflicts, determines the winning constructions and executes the code attached to them which makes the changes to the semantic model.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The log consists of the contributions each word has made. And by allowing constructions to have access to this log, the parser can tackle the two problems posed by ellipsis:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;h4&gt;1. Similarity&lt;/h4&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;7&lt;/i&gt; and &lt;i&gt;8&lt;/i&gt; are different words, but the contributions they make are quite similar: they invoke the same constructions (&lt;i&gt;nom&lt;/i&gt;, &lt;i&gt;gen&lt;/i&gt;, &lt;i&gt;acc&lt;/i&gt;, ... — all cases) but provide different arguments to them: one creates a frame whose type is &lt;i&gt;7&lt;/i&gt;, another — the same with &lt;i&gt;8&lt;/i&gt;. So I infer that two contributions are similar if they contribute to the same construction and supply same kinds of arguments.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;h4&gt;2. Repetition&lt;/h4&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The parser knows it's processing ellipsis. It knows where the ellipsis starts (&lt;i&gt;in opinion of others&lt;/i&gt;) and ends (&lt;i&gt;8&lt;/i&gt;). It has found the similar fragments in the previous clause (&lt;i&gt;in the opinion of some&lt;/i&gt; and &lt;i&gt;7&lt;/i&gt;). Now it just has to look at the contribution history, find everything in between those two similar fragments and insert it between &lt;i&gt;in opinion of others&lt;/i&gt; and &lt;i&gt;8&lt;/i&gt;. The copying happens upon encountering &lt;i&gt;8&lt;/i&gt; after "—", and the own contribution of &lt;i&gt;8&lt;/i&gt; is nicely integrated into the environment set by the copied history (e.g. it completes the &lt;i&gt;noun&lt;/i&gt; of &lt;i&gt;nom&lt;/i&gt; construction, whose &lt;i&gt;head&lt;/i&gt; was set by copied &lt;i&gt;went&lt;/i&gt;).&lt;/div&gt;&lt;h3&gt;Intermediate representation&lt;/h3&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;OK, now we have two &lt;i&gt;went next&lt;/i&gt; situations, but only one of them was fully expressed in Russian. And we should do the same in translation. So we have to mark the copy in a special way. In the semantic model we have no contributions, we have only frames and assignments to their properties. Hence we should mark the effects of the copied contributions, i.e. the assignments they add. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For this I've introduced a notion of &lt;i&gt;scope&lt;/i&gt; into the semantic model. A scope is just a frame that plays a special role during parsing. Which special role — depends on the frame and its attributes. Important is that it's activated at one moment and deactivated at another moment, with arbitrarily many assignments made in between. In the semantic log this is written as &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;[X] ... [/X]&lt;/span&gt; where &lt;i&gt;X&lt;/i&gt; is the scope frame and ... stands for the assignments. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I plan to use scopes for many more things, mostly of meta-linguistic kind: separating paragraphs, reflecting the markup, etc. Using it with ellipsis is simple. You just create a frame, say its &lt;i&gt;type&lt;/i&gt; is &lt;i&gt;ellipsis&lt;/i&gt;, activate it, do the whole contribution copying process (which surely adds some assignments) and deactivate it. Thus you get the nice clear separation of what's said and what's inferred:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.type=OPINION&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#1.opinion_of=A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.type=SOME&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.arg1=B&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#1.time=PAST&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C.type=COME_SCALARLY&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C.order=AFTER&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C.arg1=D&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;D.type=7&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;D.number=true&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#1.but=#2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;--&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.type=OPINION&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#2.opinion_of=A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.type=OTHERS&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.arg1=B&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;C.type=ellipsis&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;[C]&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;D.type=COME_SCALARLY&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;D.order=AFTER&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;[/C]&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;D.arg1=E&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;E.type=8&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;E.number=true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;h3&gt;Generator&lt;/h3&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Getting the generator to work is not interesting at all. It's just a matter of adding another condition, given that I mock the generation throughout anyway.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;After writing all this I've suddenly thought that well, this is great, but possibly unnecessary. Maybe the right way is not to replicate the history but just mark the whole second clause situation as ellipsis, parse only what's in the text, attach it somewhere and assume that the inference engine (mocked) should be responsible for inferring the &lt;i&gt;went next&lt;/i&gt; part. But I don't have enough data yet to make a choice.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-8961808351506651311?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/8961808351506651311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=8961808351506651311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8961808351506651311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8961808351506651311'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2011/07/ellipsis.html' title='Ellipsis'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-8246632621599485471</id><published>2011-05-08T14:20:00.001+01:00</published><updated>2011-05-08T14:21:27.597+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='english'/><category scheme='http://www.blogger.com/atom/ns#' term='kharms'/><title type='text'>Lost in translation simulation</title><content type='html'>&lt;div style="text-align: justify;"&gt;That I don't write about my parser doesn't mean I don't write it. I just can't be bothered to write both. Most of the time I prefer coding. And I can't say there's a lack of interesting problems. For example, here's a part of the 12th sentence:&lt;/div&gt;&lt;br /&gt;&lt;div style="width:100%;overflow:auto;"&gt;&lt;pre&gt;по мнению одних дальше следовало 7, по мнению других - 8&lt;br /&gt;&lt;i&gt;In the opinion of some, a 7 went next; but in opinion of others an 8 did&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;There are many interesting things here. Just look at this nice little ellipsis (the dash before &lt;i&gt;8&lt;/i&gt;)! But what worries me the most is English. Or just my English. I've found that I don't know it enough to understand why the translation looks as it looks and how I'm supposed generate this translation. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Take the articles for example:&lt;i&gt; &lt;b&gt;a&lt;/b&gt; 7 went next; &lt;b&gt;an &lt;/b&gt;8 did. &lt;/i&gt;Why on earth are the numbers indefinite? Are there many sevens and is it just one of them? I don't get it. But it's all over the translation. Only in the &lt;a href="http://sepulkarium.blogspot.com/2010/12/parsing-and-questions.html"&gt;first sentence&lt;/a&gt; &lt;i&gt;7 or 8&lt;/i&gt; are without articles, in every other place they're indefinite.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Then, compare &lt;i&gt;In &lt;b&gt;the&lt;/b&gt; opinion of some&lt;/i&gt; with &lt;i&gt;in opinion of others&lt;/i&gt;. The main difference is the article again. Is the opinion of some more definite than the opinion of the others? Does it just sound better that way? Of course, I've hacked all that, but I'm still uncomfortable.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And, by the way, just if anyone cares, &lt;a href="https://github.com/donnerpeter/Constructor"&gt;here&lt;/a&gt; it is: lots of hacks and some ideas.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-8246632621599485471?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/8246632621599485471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=8246632621599485471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8246632621599485471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8246632621599485471'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2011/05/lost-in-translation-simulation.html' title='Lost in translation simulation'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5072291359268463850</id><published>2011-04-30T01:00:00.001+01:00</published><updated>2011-04-30T01:00:00.803+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ambiguity'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><title type='text'>Disambiguation by constructions</title><content type='html'>&lt;div style="text-align: justify;"&gt;A word may have many senses and a good parser must choose the right one. Which is the right one? This is often obvious from the context. When you see an ambiguous word alone (e.g. &lt;i&gt;cooks&lt;/i&gt;), you can tell nothing about its meaning. But if you see it in context, you may start guessing its syntactic and/or semantic behavior (&lt;i&gt;our cooks have prepared the dinner &lt;/i&gt;vs. &lt;i&gt;Mary cooks fish&lt;/i&gt;). Surrounding words greatly help in determining the part of speech, and many disambiguation algorithms take advantage of that.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;But who on earth cares about the parts of speech? Well, many do, for example, parsers, both statistical and declarative, employ this information for building all kinds of structures. But anyway, that's an intermediate thing used for the own convenience of those parsers. For the ultimate text analysis tasks parts of speech are not important at all. The meaning is what is important, not them. So why bother at all? I'm currently trying to live without the intermediate part-of-speech level in my parser, and so far it works. How?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Consider &lt;i&gt;cooks&lt;/i&gt; again. It can participate in the following constructions:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;she cooks&lt;/li&gt;&lt;li&gt;cooks fish&lt;/li&gt;&lt;li&gt;cooks when something happens&lt;/li&gt;&lt;li&gt;cooks well&lt;/li&gt;&lt;li&gt;the cooks&lt;/li&gt;&lt;li&gt;sad cooks&lt;/li&gt;&lt;li&gt;cooks that came from Germany&lt;/li&gt;&lt;li&gt;and so on&lt;/li&gt;&lt;/ol&gt;Of those, 1-4 are "verbal", they refer to the same meaning of &lt;i&gt;cooks&lt;/i&gt;, the process of cooking. And in fact they can all occur together in one sentence: &lt;i&gt;She cooks fish very well when she's not tired&lt;/i&gt;. 5-7, on the other hand, are "nominal", they describe the people who cook for a living. They are also mutually compatible and at the same time totally incompatible with 1-4.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Let's now say there are no nouns, verbs and so on, there are only constructions. Upon encountering &lt;i&gt;cooks&lt;/i&gt;, the parser notes all the constructions possible with this word (at least 1-7 from above). It also marks some of them (1-4) as incompatible with others (5-7). Then another word comes, for example, &lt;i&gt;fish&lt;/i&gt;. It also generates tons of constructions, some of them also mutually incompatible (&lt;i&gt;fish&lt;/i&gt; can be a noun or a verb as well). Importantly, one of them is the familiar Transitive (number 2 in the list). It's been suggested by both words, and it clearly wins over the others which were suggested only by one of the two words.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now the constructions which are incompatible with this Transitive can be pruned: both "nominal" for &lt;i&gt;cooks&lt;/i&gt; and "verbal" for &lt;i&gt;fish&lt;/i&gt;. And the Transitive is promoted and may now contribute to the meaning of the entire text. (e.g. Cook.patient=Fish). Disambiguation complete.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Positive side: it's very simple and I don't have to create boring data structures for different parts of speech with all those cases, inclinations, numbers, genders, etc. Negative side: every word now has to know of all contexts it can occur in. Both adjectives and nouns have to specify that they participate in &lt;i&gt;Adjective+Noun &lt;/i&gt;construction. That's quite unusual in rule-based parsing where people try to hand-code as little redundancy as possible. Anyway, &lt;i&gt;unusual&lt;/i&gt; doesn't mean &lt;i&gt;bad&lt;/i&gt;, I'm not very much against redundancy, and I really like the overall simplicity.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5072291359268463850?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5072291359268463850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5072291359268463850' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5072291359268463850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5072291359268463850'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2011/04/disambiguation-by-constructions.html' title='Disambiguation by constructions'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5457088457121945856</id><published>2011-04-12T13:01:00.000+01:00</published><updated>2011-04-12T11:10:03.793+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><category scheme='http://www.blogger.com/atom/ns#' term='sonnet'/><category scheme='http://www.blogger.com/atom/ns#' term='kharms'/><title type='text'>Parsing and questions</title><content type='html'>&lt;div style="text-align: justify;"&gt;The usual declarative sentences are considered simple by formal semantics. In fact they are not, but anyway they're the simplest what there is. They even deceive people to believe that the first-order logic is adequate for expressing their meaning. &lt;i&gt;John loves Mary&lt;/i&gt; is &lt;i&gt;loves(john, mary)&lt;/i&gt;. Simple. It gets more interesting with quantifiers, especially when there is more than one (can you spot an ambiguity in &lt;i&gt;Every man loves some woman?&lt;/i&gt;), but that's not my point. Remember, this was the first Kharms' sentence:&lt;/div&gt;&lt;div style="width:100%;overflow:auto;"&gt;&lt;pre&gt;Удивительный случай случился со   мной: я вдруг    забыл, что  идет раньше - 7 или 8&lt;br /&gt;Amazing      case   happened with me    I suddenly forgot what goes earlier  7 or  8&lt;br /&gt;&lt;i&gt;An amazing thing happened to me today, I suddenly forgot what comes first - 7 or 8&lt;/i&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And the part of it remaining uncommented is the very last one, starting with &lt;i&gt;what&lt;/i&gt;. It looks suspiciously like a question. I can imagine saying to myself &lt;i&gt;What comes first &lt;span class="Apple-style-span"   style=" font-style: normal;  line-height: 23px; font-family:arial, sans-serif;font-size:small;"&gt;—&lt;/span&gt; 7 or 8? Damn, I forgot that!&lt;/i&gt; Yes, that's definitely a question. So, we have to step outside the comfortable world of declarative sentences and enter the darkness of what the advanced topics of formal semantics are about: interrogatives. Man, they even have a semester &lt;a href="http://www.cs.rutgers.edu/~ccshan/questions/"&gt;seminar&lt;/a&gt; on questions, only questions and nothing but questions!&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;But a quick look at their analyses is sufficient for me to realize that I don't like them. I don't want to implement that for the first 10 years (well, maybe less: they provide some code in Haskell), and then spend the rest of my life analyzing the resulting sets-of-sets-of-possible-worlds kinds of structures just to understand that it only means &lt;i&gt;What comes first?&lt;/i&gt;. I don't seek an absolute truth, for me the simpler the structure, the closer it is to the surface, the better. Of course, if it still is acceptable as a true interlingua.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;That said, I don't have much choice on how to represent the question from above. It's a clause containing a verb and a subject, and all these three entities are unusual in their own ways.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The unusual thing about verb is that it consists of two words - &lt;i&gt;come first&lt;/i&gt;. Actually, it's a more generic verb &lt;i&gt;come X&lt;/i&gt;, where &lt;i&gt;X&lt;/i&gt; can be of any scalar value: &lt;i&gt;first&lt;/i&gt;, &lt;i&gt;next&lt;/i&gt;, &lt;i&gt;previous&lt;/i&gt;, &lt;i&gt;last&lt;/i&gt;, &lt;i&gt;42th&lt;/i&gt;, etc.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The subject is also unusual since it's &lt;i&gt;what&lt;/i&gt;, a typical &lt;i&gt;wh&lt;/i&gt;-word which many questions start with. It also comes with variants at the end of the clause - &lt;i&gt;7 or 8&lt;/i&gt;. I consider this a special construction, characteristic of questions. Those &lt;i&gt;7&lt;/i&gt; and &lt;i&gt;8&lt;/i&gt; are just listed in the semantics as the &lt;i&gt;variants&lt;/i&gt; slots of the &lt;i&gt;what&lt;/i&gt; frame.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Finally, the clause is unusual since it has to mark in some way its questionness. It would also be nice if it could specify which part of the clause is asked about (here it's the subject &lt;i&gt;what&lt;/i&gt;). These two things are solved by one means: the situation corresponding to this clause has a &lt;i&gt;questioned&lt;/i&gt; attribute pointing to &lt;i&gt;what&lt;/i&gt;. Simple.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Finally, there should be a way of linking the question clause to the verb it depends on: &lt;i&gt;forgot&lt;/i&gt;. It would be also nice to distinguish between the different things one can forget: real things (&lt;i&gt;I forgot my cell phone&lt;/i&gt;), facts (&lt;i&gt;I forgot that 2x2=4&lt;/i&gt;), some values &lt;i&gt;(I forgot the area of Africa&lt;/i&gt;) and, finally, the answers to the questions &lt;i&gt;(I forgot what comes first&lt;/i&gt;). At least two of these variants employ clauses: facts and questions. Luckily, a fact's clause definitely won't have &lt;i&gt;questioned&lt;/i&gt; attribute, while in our case it will definitely be there.  So indeed, we can just say that &lt;i&gt;forgot&lt;/i&gt;'s &lt;i&gt;theme&lt;/i&gt; is the whole situation corresponding to the question and seems to be sufficient for the current purposes.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, now I'm finally ready to present the semantics built for the complete sentence. Well, almost ready. There remains that &lt;i&gt;or&lt;/i&gt; in &lt;i&gt;7 or 8&lt;/i&gt;. That's a conjunct, and, as conjuncts are my favorite and very interesting phenomena, I'll discuss them later in great detail. So, the interlingual representation for the first Sonnet sentence is this: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.property=AMAZING&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.type=THING&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.given=false&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.type=HAPPEN&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#1.time=PAST&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.arg1=A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.experiencer=C&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C.type=ME&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#1.elaboration=#2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;--&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.type=ME&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.manner=SUDDENLY&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.type=FORGET&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#2.time=PAST&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.arg1=A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.theme=#3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;--&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#3.questioned=A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#3.time=PRESENT&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.type=COME_SCALARLY&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.order=EARLIER&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.arg1=A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C.type=7&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C.number=true&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.variants=D&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;D.member=C&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;D.conj=or&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;E.type=8&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;E.number=true&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;D.member=E&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5457088457121945856?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5457088457121945856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5457088457121945856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5457088457121945856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5457088457121945856'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/12/parsing-and-questions.html' title='Parsing and questions'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-8007153530952157112</id><published>2011-03-30T23:00:00.000+01:00</published><updated>2011-03-30T23:00:00.201+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='simulation'/><category scheme='http://www.blogger.com/atom/ns#' term='kharms'/><title type='text'>New model</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify; "&gt;What happens when you hear a sentence? Nobody knows for sure, but there are some guesses on the market. Many people think you build a logical formula, and do something with it (perhaps, store it and use for inference). However, I find huge logical expressions terribly hard to analyze, and as I surely need some analysis to translate correctly, this idea doesn't suit me.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;So I prefer to think in terms of objects and relations between them. Luckily, I don't have to invent anything, since &lt;a href="http://www.psychology.emory.edu/cognition/barsalou/onlinepapers.html"&gt;some psychologists&lt;/a&gt; have similar ideas. They argue that during sentence comprehension people don't operate with abstract logical symbols, but mentally simulate the input, and this is what we call meaning. You hear &lt;i&gt;The eagle in the sky&lt;/i&gt;, you imagine an eagle in the blue sky with few clouds and airplanes, and it's natural that the eagle in this picture has wide-spread wings, and not, say, folded. &lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;Many experiments seem to support this theory. But actually that doesn't matter: I don't care that much what really happens in the brain. What I care about are ideas that may be useful for parsing. And I find the idea of mental simulations quite useful. The words don't have to determine the meaning, they act like cues which invoke the memories of previous situations where you met them. These memories are put together and a new situation is simulated. The situation may involve objects or actions that are not mentioned at all, but they'll be highly accessible in the following discourse, without a complex logical inference. The important things that the hearer learned through simulation are stored in the memory for future retrieval, also as parts of other simulations.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;This is a completely informal theory. That's great because I may treat it in any way useful to me. In particular, I assume the simulation engine to be a black box that communicates with the parser and generator via &lt;a href="http://en.wikipedia.org/wiki/Frame_(artificial_intelligence)"&gt;frames&lt;/a&gt;. Frames are just objects, with attributes and values. Values may be strings or other frames. The parser creates cues like &lt;i&gt;Frame A has attribute 'actor' pointing to frame B&lt;/i&gt; or &lt;i&gt;Frame C is described as 'man'&lt;/i&gt;. And the notation is:&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.actor=B&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C.type=man&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;The parser gives such cues to the simulator as soon as it encounters new words. It also receives feedback which may help choosing between several competitive parses. But it doesn't know what the simulator does internally, it only sees those frames and attributes. That allows me to mock the simulator in any way I want. In the end, my main object of interest is parsing, so I leave a well-behaving simulator to someone else.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;The target language generator has access to both the sequence of the cues fed by the parser to the simulator, and to the simulator itself. The cue sequence is needed to provide as close translation as possible, so that what was said in the source will be more or less the same as what was generated. The simulator is needed to ensure that the information inferred from the cues in both languages is similar as well. The simulation results may also be used in cases when the generator needs something not explicitly specified in the source but obligatory in the result, for example, pronoun gender, when translating from Finnish to Russian.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;So far, the model is quite simple. A discourse is a sequence of (numbered, &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#1&lt;/span&gt;,&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#2&lt;/span&gt;,...) situations. Each situation has a sequence of constraints on frames (referred to by variables: &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A,B,C&lt;/span&gt;,...) and their attribute values. Situations are also variables, and also have properties that may be assigned.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For example, let's consider the first part of Kharms' &lt;a href="http://sepulkarium.blogspot.com/2010/10/translating-kharms.html"&gt;Sonnet&lt;/a&gt;: &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;An amazing thing happened to me today, I suddenly forgot.... &lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It's currently analyzed as:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;----- Situation #1 -----&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.property=AMAZING&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.type=THING&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A.given=false&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.type=HAPPEN&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#1.time=PAST&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.arg1=A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.experiencer=C&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C.type=ME&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#1.elaboration=#2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;----- Situation #2 -----&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new'; "&gt;A.type=ME&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.manner=SUDDENLY&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.type=FORGET&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;#2.time=PAST&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.arg1=A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;B.theme=#3&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;----- Situation #3 -----&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new'; "&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-8007153530952157112?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/8007153530952157112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=8007153530952157112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8007153530952157112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8007153530952157112'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2011/03/new-model.html' title='New model'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4768853483516378897</id><published>2011-02-09T09:34:00.001Z</published><updated>2011-02-09T09:34:00.428Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='reflections'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Declarative programming</title><content type='html'>&lt;div style="text-align: justify;"&gt;If you have a problem and think "I'll describe everything as data in a nice declarative way (maybe even XML)", now you have two problems.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Seriously, unless you can prove your software will never be extended, don't program declaratively. (I'm speaking mostly to myself here but if this helps anyone else, you're welcome). The reason is obvious: declarative description is very pretty and concise as long as it's simple. But usually it becomes extremely complex to change things a bit if that bit isn't foreseen from the beginning. And the real world is always like that. I've written quite a few frameworks and declarative parsers and there hasn't been any one where I didn't regret that when adding new functionality.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Simple things should be simple, complex things should be possible &lt;a href="http://en.wikiquote.org/wiki/Alan_Kay"&gt;(c)&lt;/a&gt;. With declarative code they usually end up being impossible. Even if they're possible, the efforts you spend are huge, and it looks like a hack. Just look at &lt;a href="http://ant-contrib.sourceforge.net/tasks/tasks/if.html"&gt;Ant&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Alternatives? Write code that does something, not the one that creates some structures which are then stored, sorted, converted into other structures, stored and sorted again and then finally some completely different code does something based on these structures. Just do it as straightforwardly as possible. Execute the code instead of creating data objects. Code invocation may in fact look quite DSLish (even in Java), so the not-so-big-if-any lengthiness will definitely pay off in the long run when you have to change the foundations. And it's muuuch easier to debug this way.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The moral: when writing data instead of code, think again. And again. And again.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4768853483516378897?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4768853483516378897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4768853483516378897' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4768853483516378897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4768853483516378897'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2011/02/declarative-programming.html' title='Declarative programming'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5156244260213972265</id><published>2010-10-17T16:23:00.000+01:00</published><updated>2010-10-17T13:27:46.517+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='kharms'/><title type='text'>Translating Kharms</title><content type='html'>&lt;div style="text-align: justify;"&gt;My approach to NLU is to take some real sample of Natural Language and make computer Understand it. Since I don't want the result to be controversial and debatable, I take something that everyone would agree upon, a 'golden standard'. In my case the program should translate a text in the very way that some human has already done this. For them being short, I took &lt;a href="http://www.petrenko.ru/lib/story.php?x=3&amp;amp;t=208"&gt;one&lt;/a&gt; of Daniil Kharms's short stories &lt;a href="http://www.sevaj.dk/kharms/stories/sonnet.htm"&gt;translated&lt;/a&gt; into English. The program parses a text, computes its semantic representation, translates it into the target language concepts and generates the target text based solely on that transfer result.&lt;br /&gt;&lt;br /&gt;The problems begin straight away. Here's the first sentence:&lt;/div&gt;&lt;div style="width:100%;overflow:auto;"&gt;&lt;pre&gt;&lt;br /&gt;Удивительный случай случился со   мной: я вдруг    забыл, что  идет раньше - 7 или 8&lt;br /&gt;Amazing      case   happened with me    I suddenly forgot what goes earlier  7 or  8&lt;br /&gt;&lt;i&gt;An amazing thing happened to me today, I suddenly forgot what comes first - 7 or 8&lt;/i&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Problem&lt;/b&gt;: Everyone translating Russian into English immediately stumbles upon articles. Russian doesn't have them, so they have to be added. One can note that they somehow relate to the information structure: the new material is usually (but not always) indefinite, the given one  - definite. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Solution&lt;/b&gt;: For the anaphora resolution purposes, a smart parser should anyway take a record of discourse referents and the generator could mark the newly introduced ones as indefinite. For a start that'll do, until we find a counterexample. So, the &lt;i&gt;case=thing&lt;/i&gt; is a new discourse referent, and we add &lt;i&gt;An&lt;/i&gt; before it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Problem&lt;/b&gt;: This is absolutely crazy, but human-made translations abound with those and my purpose is to imitate them. In the Russian text, we are only told the amazing thing happened, but in English it was &lt;i&gt;today&lt;/i&gt;. Not suprisingly, &lt;a href="http://www.agavaart.com/eng/article.php?arid=38&amp;amp;PHPSESSID=5b9e273bf694"&gt;another translation&lt;/a&gt; of the same story doesn't have it. But anyway, it's in the 'gold standard' so the program should somehow be able to generate it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution&lt;/b&gt;: Of course, the translator may have added this by random, but I always first try to find something in the source text until I surrender. Here, my solution is that actually the Russian story has an anecdotal flavor. And this &lt;i&gt;today&lt;/i&gt; adds the same flavor, since (perhaps) without it the English counterpart doesn't have it. Therefore, Russian parser has to specify the flavor explicitly in the semantics so that the generator can use this information later.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Problem&lt;/b&gt;: The colon, which separates two clauses of the sentence. Nothing's wrong with it except that it's translated as a comma. So I had to find a deep meaning for it which allegedly should be expressed using a comma in English.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Solution&lt;/b&gt;: The second clause seems to elaborate on something from the first clause. I'd say it's the semantically empty &lt;i&gt;thing&lt;/i&gt; about which the reader now is told more. So, apparently the colon actually expresses an &lt;i&gt;elaboration&lt;/i&gt; dependency between &lt;i&gt;thing&lt;/i&gt; and the second clause, and what we should preserve in the deep semantics is this dependency, not the colon itself.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Problem&lt;/b&gt;: Due to the parsing algorithm, once the verb (&lt;i&gt;happened&lt;/i&gt;) has come after the subject (&lt;i&gt;thing&lt;/i&gt;), the latter is deactivated: it's not available for forming syntactic relations with the words coming after the verb. This seems reasonable because discontinuous subjects are not very frequent in Russian, and always marked (e.g. by a special intonation). But nevertheless in this case the subject should form the elaboration relation with what follows the colon.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Solution&lt;/b&gt;: Look at it from the semantic point of view. We're told that an amazing thing happened. Naturally, we're interested what kind of thing it was. So, the verb's semantic handler should be taught to understand such luring constructions and wait for a colon followed by a clause, which is one of the ways of expressing elaboration in Russian.&lt;br /&gt;&lt;br /&gt;Let's deal with the rest of this sentence's problems later.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5156244260213972265?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5156244260213972265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5156244260213972265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5156244260213972265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5156244260213972265'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/10/translating-kharms.html' title='Translating Kharms'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4723460207520588251</id><published>2010-08-18T11:20:00.006+01:00</published><updated>2010-08-18T15:48:40.029+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='placeholders'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><title type='text'>Placeholders aka left-corner parsing</title><content type='html'>&lt;div style="text-align: justify;"&gt;From the parsing perspective, some words have much more far-reaching consequences than the other ones. Take English articles, for example. They don't only denote the definiteness or indefiniteness, they also give a broad hint that a noun is coming. So, having encountered an article, a smart parser may immediately create a placeholder node for noun (and also specify its definiteness). When the noun comes, instead of creating its own structure it'll just fit into the existing placeholder.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Once an noun placeholder is constructed, a parser may immediately attach it where it's is needed. If there is an ambiguous verb or preposition, attaching that noun as an argument can help choosing the right alternative and thus reduce the working memory consumption.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://books.google.com/books?id=pYanyVy49dgC&amp;amp;lpg=PR11&amp;amp;ots=jn1lErUssO&amp;amp;dq=hawkins%20performance%20theory&amp;amp;lr&amp;amp;pg=PR11#v=onepage&amp;amp;q&amp;amp;f=false"&gt;Hawkins&lt;/a&gt; argues that such placeholders play an important role in the syntax. He shows for many languages that their word order is in many cases optimized for such placeholders to be constructed and integrated as early as possible. That helps minimizing the amount of the nodes awaiting integration at any moment in parsing.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In German and Russian, the NP placeholder creators (determiners and adjectives respectively) also carry case markers. Therefore case is known for the placeholders, which also aids faster verb disambiguation (e.g. &lt;i&gt;in&lt;/i&gt;+Dative denotes location, while &lt;i&gt;in&lt;/i&gt;+Accusative denotes direction in German).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Verb placeholders also seem to exist. For example, in Japanese, where the verb comes at the very end of the sentence, there is &lt;a href="http://www.springerlink.com/content/tl4172516g8w7011/"&gt;no sign&lt;/a&gt; that a sequence of the argument noun phrases causes any processing difficulties. I conclude that these noun phrases get integrated into some structure as they appear. When a verb comes, it just quickly iterates through this structure and assigns to the accumulated noun phrases their semantic roles. The rich case marking of Japanese helps the arguments to be stored efficiently and not to interfere with each other while awaiting for the verb. I think that the structure I'm talking about can safely be called a verbal (or clausal) placeholder.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It gets more interesting in other languages. On surface German is a verb-second language. A nice processing explanation would be that there is no verb placeholder, and the first constituent hangs active in the memory until a verb actually appears. So the verb should appear immediately to reduce the memory usage. In most relative clauses, on the other hand, the verb comes at the end, and &lt;a href="http://books.google.com/books?id=Wb4LbtmN2Y4C&amp;amp;lpg=PP1&amp;amp;ots=0D3KRqgKgi&amp;amp;dq=bader%20bayer&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false"&gt;no processing problems&lt;/a&gt; arise even if there are lots of NP/PP dependents before it. Incidentally, all these clauses have to be introduced by a some complementizer. When there is no complementizer, the verb comes second just as if it were a main clause. All this makes me think that the complementizer just creates the verb placeholder which enables the verb to be postponed.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In English, the verb never comes too late, so the need for a placeholder is doubtful. Russian is difficult in this respect, because normally the verb is close to the beginning but it can easily move to the end for focalization purposes. I'm not aware of any experimental data, but I personally don't feel too much overburdened by multiple intermediate NPs and PPs in this case. So I have no idea about when a verbal placeholder is created in Russian: always, never, only in case of too many subsequent NPs and PPs, or only in some specific context (e.g. the one that forces focalization).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4723460207520588251?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4723460207520588251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4723460207520588251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4723460207520588251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4723460207520588251'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/08/placeholders-aka-left-corner-parsing.html' title='Placeholders aka left-corner parsing'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2817877629120487027</id><published>2010-07-26T12:20:00.000+01:00</published><updated>2010-07-26T12:24:18.296+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><title type='text'>Frames, constructs and the log</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5u-pQ6-C6-4/TE1uFeF0WqI/AAAAAAAADUA/3PVBZVD5C30/s1600/johnLovesMary.png"&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Some time has passed. My ideas of the internal representation of natural language have changed. Here are the new ones.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Every word in the input is taken as a whole and all the information about it is stored in a single &lt;i&gt;frame&lt;/i&gt;. The frame may have different aspects: morphological, syntactic, semantic, discourse, etc. The aspect names are called &lt;i&gt;roles&lt;/i&gt;, the objects corresponding to these roles are called &lt;i&gt;constructs&lt;/i&gt;. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The lexical ambiguities are handled frame-internally. In case it's syntactically ambiguous, it has several possible syntactic constructs. A polysemous word may have different semantic constructs. The frame should eventually choose one construct for each role, and the chosen constructs have not to contradict with each other. Here's how a frame for the famously ambiguous &lt;i&gt;bank&lt;/i&gt; could look like:&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_5u-pQ6-C6-4/TE1tsTqCkiI/AAAAAAAADT4/risfb17eYLE/s1600/bank.png"&gt;&lt;img src="http://3.bp.blogspot.com/_5u-pQ6-C6-4/TE1tsTqCkiI/AAAAAAAADT4/risfb17eYLE/s400/bank.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498171328047518242" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 321px; height: 190px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Once frames with embedded constructs appear in the model, they remain activated for some time and may perform various actions. They may add constructs to their own or another frame. They may establish links to constructs of other roles in the same frame. Or they may create connections to other frames. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Establishing a connection between frames means creating a new frame whose child frames are the ones that are connected. The new frame may also have several aspects. For example, in the usual &lt;i&gt;John loves Mary&lt;/i&gt; two extra frames are created to link the predicate with the subject and the object respectively. These frames host two constructs both: one representing syntactic relation, another - semantic one (in &lt;i&gt;experiencer&lt;/i&gt;, &lt;i&gt;state&lt;/i&gt; and &lt;i&gt;theme&lt;/i&gt; terms):&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_5u-pQ6-C6-4/TE1uFeF0WqI/AAAAAAAADUA/3PVBZVD5C30/s1600/johnLovesMary.png"&gt;&lt;img src="http://1.bp.blogspot.com/_5u-pQ6-C6-4/TE1uFeF0WqI/AAAAAAAADUA/3PVBZVD5C30/s400/johnLovesMary.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498171760345111202" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 214px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;As I've already &lt;a href="http://sepulkarium.blogspot.com/2010/01/operational-textmeaning-model.html"&gt;stated&lt;/a&gt;, not only the final structure is important, but also the sequence in which it was constructed. For this, a simple program-like log can be used:&lt;/div&gt;&lt;br /&gt;&lt;pre&gt;frame: syn=noun, sem=JOHN&lt;br /&gt;frame: syn=verb;transitive, sem=love&lt;br /&gt;frame ^2 ^1: syn=subject+predicate, sem=experiencer+state&lt;br /&gt;frame: syn=noun, sem=MARY&lt;br /&gt;frame ^3 ^1: syn=predicate+object, sem=state+object&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Each line here talks about some new frame. The frame's children are referred to as &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;^x&lt;/span&gt; where &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;x&lt;/span&gt; is how many lines back was the one talking about the mentioned frame. &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;^1&lt;/span&gt; means the previous line, &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;^2&lt;/span&gt; - the one before the previous. When a frame is created, it has no aspects. Their subsequent assignments are reflected in the log.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This log reflects the dynamics of the parsing process and can thus be used in the applications where the order of operations is important, like machine translation.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2817877629120487027?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2817877629120487027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2817877629120487027' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2817877629120487027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2817877629120487027'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/07/frames-constructs-and-log.html' title='Frames, constructs and the log'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5u-pQ6-C6-4/TE1tsTqCkiI/AAAAAAAADT4/risfb17eYLE/s72-c/bank.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4568253397488561991</id><published>2010-05-21T12:54:00.003+01:00</published><updated>2010-05-21T13:11:40.699+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='russian'/><title type='text'>The horrors of the Russian language</title><content type='html'>Two quite simple phenomena, typical in everyday speech:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Он сам пришел&lt;/i&gt; (he himself came)&lt;/div&gt;&lt;div&gt;&lt;i&gt;Мы все пошли гулять&lt;/i&gt; (we all went to walk)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Everything's fine until you try to understand the functions of &lt;i&gt;сам&lt;/i&gt; and &lt;i&gt;все&lt;/i&gt;. First, their meaning is quite hard to describe. As for the second one, I still don't have an idea what does &lt;i&gt;все&lt;/i&gt; add to this sentence and how does it differ from &lt;i&gt;Мы пошли гулять&lt;/i&gt;. I suspect that there must be the same difference in English translation, but can't state it clearly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Furthermore, the syntactic behavior is completely weird. It looks as if &lt;i&gt;все&lt;/i&gt; was an optional syntactic modifier of &lt;i&gt;мы&lt;/i&gt;. But if we change the case, we'll get a very strange construction:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;У нас (у) самих ничего нет&lt;/i&gt; (we ourselves don't have anything).&lt;/div&gt;&lt;div&gt;&lt;i&gt;До нас (до) всех дошло известие &lt;/i&gt;(to us (to) all has come the news).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This optional preposition doubling makes no sense to me, and I don't know how to describe that in both phrase structure and dependency grammar rules. What modifies what in this case?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4568253397488561991?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4568253397488561991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4568253397488561991' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4568253397488561991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4568253397488561991'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/05/horrors-of-russian-language.html' title='The horrors of the Russian language'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3391554789336683851</id><published>2010-02-13T22:20:00.000Z</published><updated>2010-02-13T22:26:00.405Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='constructor'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><title type='text'>Charts and clouds</title><content type='html'>&lt;div style="text-align: justify;"&gt;As &lt;a href="http://privatewww.essex.ac.uk/~doug/"&gt;Doug Arnold&lt;/a&gt; pointed out, attacking trees and looking for a replacement isn't new. It has already been done, so I didn't actually invent anything revolutionary. The &lt;a href="http://sepulkarium.blogspot.com/2010/02/cloud-of-constructions.html"&gt;construction cloud&lt;/a&gt; is actually a well known structure called chart, as in &lt;a href="http://en.wikipedia.org/wiki/Chart_parser"&gt;chart parsing&lt;/a&gt;. The chart is designed for keeping all possible parse variants in a compact way to ease backtracking and reparse. And my cloud does exactly this and in a very similar fashion.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;One difference is what kind of information is stored in the chart. In the classical approach, it's a bunch of records like "there may be an NP constituent from word 3 to word 7". No internal structure of these constituents is stored. If someone needs the complete tree, it can be computed on demand, since all of the daughter phrases are also present in the chart. And you're lucky if there's only one variant of such subtree.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cloud is a collection of records like "constructions X, Y and Z may form a construction T". Since constructions don't tend to have a deep hierarchy, each of them stores its children. We don't have to compute the subtree on demand. But the subtree rarely covers the whole sentence. Therefore the task is to find a subset of all constructions such that it covers the input and its constructions don't contradict each other.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Another difference is that usually chart is tightly connected with the parser. A &lt;a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.131.3502&amp;amp;rep=rep1&amp;amp;type=pdf"&gt;typical chart parser&lt;/a&gt; computes all the results in parallel, storing every possible intermediate constituent in the chart. On the other hand, I'm into single-variant serial parsing with error recovery. Of course, nothing prevents from implementing that kind of parser with phrase-structure-based chart: just drive one variant instead of all. One of the reasons I prefer dependency-like constructions over constituents is that free word order languages appear to be easier to describe in terms of constructions.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3391554789336683851?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3391554789336683851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3391554789336683851' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3391554789336683851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3391554789336683851'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/02/charts-and-clouds.html' title='Charts and clouds'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-6165278658070162637</id><published>2010-02-10T20:17:00.003Z</published><updated>2010-02-11T08:30:13.194Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='constructor'/><title type='text'>But why cloud?</title><content type='html'>&lt;div style="text-align: justify; "&gt;Once upon a time I was &lt;a href="http://sepulkarium.blogspot.com/2010/02/trees-in-nl-parser.html"&gt;having&lt;/a&gt; &lt;a href="http://sepulkarium.blogspot.com/2010/02/what-else-is-wrong-with-trees.html"&gt;problems&lt;/a&gt; with trees. I decided I prefer &lt;a href="http://sepulkarium.blogspot.com/2010/02/cloud-of-constructions.html"&gt;construction cloud&lt;/a&gt; instead of them. Here's why.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;Like the &lt;a href="http://urss.ru/cgi-bin/db.pl?lang=ru&amp;amp;blang=ru&amp;amp;page=Book&amp;amp;list=8&amp;amp;id=36902"&gt;syntactic groups&lt;/a&gt; grammar, construction cloud accommodates phrase structure and dependency grammars. A construction relating 2 words can be thought of as a dependency relation between them, with the rare exception that this 'dependency' can participate in another construction, as with &lt;i&gt;Prepositional&lt;/i&gt; and &lt;i&gt;Genitive&lt;/i&gt; from the &lt;a href="http://sepulkarium.blogspot.com/2010/02/cloud-of-constructions.html#example"&gt;example&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;Construction cloud also doesn't object to discontinuous constructions. If the parser managed to build it from the text, then it's acceptable.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;Unlike the phrase structure, dependency and categorial grammars, it's possible for a construction to have more than one parent. This allows overlapping of various kinds, including, for example, having separate constructions for syntactic agreement, semantic relatedness and prosodical cues to information structure.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;From the programmer's perspective, it's much easier to maintain the list of attachable constructions during the parsing process. They are not buried deep inside the tree anymore, but stored together in a flat list. Being immutable, they are easy to cache for future reparse. Rollback in case of reanalysis is also simple: just look at the constructions ending before the reparse point to restore the context. Finally, nobody prevents you from having constructions from several parse variants in the same cloud simultaneously.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;Isn't it convincing?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-6165278658070162637?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/6165278658070162637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=6165278658070162637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6165278658070162637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6165278658070162637'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/02/but-why-cloud.html' title='But why cloud?'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2314077919791670094</id><published>2010-02-09T16:45:00.017Z</published><updated>2010-02-11T08:30:44.722Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='constructor'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='CxG'/><title type='text'>Cloud of constructions</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span&gt;&lt;span&gt;What I propose to use as the parser representation instead of trees is a collection of constructions. I call it a cloud.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Base constructions are words. When several constructions (e.g. words) tend to go together and comprise something meaningful in the semantics, they form a composite construction and become its arguments, or children. Composite constructions may also be children of even higher-order constructions, although not very often.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="example"&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Consider &lt;i&gt;I see a little silhouetto of a man&lt;/i&gt; as an example. Each word is a construction, so it's already in the cloud. &lt;i&gt;I+see&lt;/i&gt; form a construction whose meaning is to specify &lt;i&gt;see&lt;/i&gt;'s subject as &lt;i&gt;I&lt;/i&gt;. Similar things happen with &lt;i&gt;see+silhouetto&lt;/i&gt;, though this time it's an object. Both &lt;i&gt;a&lt;/i&gt; and &lt;i&gt;little&lt;/i&gt; provide us with additional information about &lt;i&gt;silhouetto&lt;/i&gt;: it's indeterminate and, well, &lt;i&gt;little&lt;/i&gt;. Again, indeterminacy is added to &lt;i&gt;man&lt;/i&gt; in &lt;i&gt;a+man&lt;/i&gt; construction. The preposition &lt;i&gt;of+man&lt;/i&gt; form a prepositional construction, which then itself forms a genitive construction with &lt;i&gt;silhouetto&lt;/i&gt;. The result can be nicely visualized:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5u-pQ6-C6-4/S3LOOMveOII/AAAAAAAADQI/9c3gaB52K_c/s1600-h/silhouetto.png" style="text-decoration: none;"&gt;&lt;img src="http://3.bp.blogspot.com/_5u-pQ6-C6-4/S3LOOMveOII/AAAAAAAADQI/9c3gaB52K_c/s400/silhouetto.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5436634443523438722" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 149px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Isn't this looking like a strangely-colored cloud?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Of course, the composite constructions don't need to have exactly 2 arguments. For example, &lt;i&gt;the more X the more Y&lt;/i&gt; construction has 6 arguments, 4 of which are constant words. &lt;i&gt;X is Y to Z&lt;/i&gt; (as in &lt;i&gt;John is hard to convince&lt;/i&gt;) has 5 arguments with 3 slots (actually 4: &lt;i&gt;is&lt;/i&gt; also isn't fixed, it's replaceable with &lt;i&gt;was&lt;/i&gt;).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And yes, clouds are &lt;a href="http://sepulkarium.blogspot.com/2010/02/but-why-cloud.html"&gt;better&lt;/a&gt; than trees.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2314077919791670094?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2314077919791670094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2314077919791670094' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2314077919791670094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2314077919791670094'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/02/cloud-of-constructions.html' title='Cloud of constructions'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5u-pQ6-C6-4/S3LOOMveOII/AAAAAAAADQI/9c3gaB52K_c/s72-c/silhouetto.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5568893967923781256</id><published>2010-02-09T09:49:00.008Z</published><updated>2010-02-10T21:57:54.306Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><title type='text'>What else is wrong with the trees?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I've already &lt;/span&gt;&lt;a href="http://sepulkarium.blogspot.com/2010/02/trees-in-nl-parser.html"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;explained&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; why I don't like using trees as an intermediate parser representation. Here's why I don't want to use them as the final parser representation, i.e. for capturing the syntactic structure of a text.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;1. Double attachment&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;i&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I wrote a letter to my friend&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;. Did I write something (a letter) to my friend or was it the letter to my friend that I wrote? I have no idea. Both alternatives seem plausible to me. So why should I make some unmotivated choice if I can have 'to my friend' attached to both 'wrote' and 'letter'? But the result won't be a tree.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/i&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;2. Overlapping&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;German &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;zum&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; means &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;zu&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; (preposition) + &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;dem&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; (dative definite article). If the tree has separate slots for prepositions and articles (e.g. PP and DP heads), this word would go to both, which is not tree-like.&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Welsh has &lt;/span&gt;&lt;a href="http://privatewww.essex.ac.uk/~louisa/newpapers/nomvolcoord.pdf"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;single constituent&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; subject-verb agreement. For example, in the Welsh translation of (very "natural") &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I and my brother saw ourselves&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;, &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;saw&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; agrees with singular &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;, whilst &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;ourselves&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; agrees with the plural compound &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I and my brother&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;. If we think that the agreed items should be directly connected in the syntactic structure (not necessarily true, but would be nice), then &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;saw&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; should be directly connected both with &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; (agreement) and &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I and my brother&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; (subject).&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;div style="text-align: justify;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;However, Doctor, I'll stay here&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;. IMHO any text should be analyzed as is. In particular, the punctuation should be processed in the same way as the words, since it's part of the text and is subject to grammatical rules of the language called Written English. But &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;however&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; at the beginning of a clause requires a comma after itself. The title of the &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Doctor&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; being addressed, also requires to be surrounded by commas. So, where does the comma between &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;however &lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;and &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Doctor&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; belong? If you ask me, it belongs to both places, and this again isn't tree-like.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;3. Discontinuous constituents&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Actually, there's nothing wrong about them from programmer's perspective. But both the &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Phrase_structure_rules"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;phrase-structure&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; and &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Dependency_grammar"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;dependency&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; grammars prohibit discontinuous constituents. They don't allow the lines connecting their nodes to cross for some theoretical reasons.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;So, for me trees are also not very convincing as the 'ideal' syntactic representation. But is there an alternative? Yes, and not a single one.  &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Attribute_value_matrix"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Attribute-value matrices&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;, for example. Or &lt;/span&gt;&lt;a href="http://sepulkarium.blogspot.com/2009/11/construction-grammar.html"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;constructions&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;. But that's another &lt;a href="http://sepulkarium.blogspot.com/2010/02/cloud-of-constructions.html"&gt;story&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5568893967923781256?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5568893967923781256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5568893967923781256' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5568893967923781256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5568893967923781256'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/02/what-else-is-wrong-with-trees.html' title='What else is wrong with the trees?'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-6776538201009078159</id><published>2010-02-08T11:11:00.002Z</published><updated>2010-02-10T21:58:06.407Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><title type='text'>Trees in NL parser</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Consider you're a parser analyzing the famous &lt;i&gt;The horse raced past the barn fell&lt;/i&gt;. Additionally, you're operating in an incremental left-to-right fashion, considering single active parse variant at each moment. Independently of the theory, you'll probably combine &lt;i&gt;the horse&lt;/i&gt; and &lt;i&gt;past the barn&lt;/i&gt; into some kind of units, say NP1 and PP2. Before you see the last word, you'll probably consider that NP1 is the subject of the finite verb &lt;i&gt;raced&lt;/i&gt;, and PP2 is its adjunct. But then the &lt;i&gt;fell&lt;/i&gt; comes. At this moment, you'll understand that the single active parse variant you have is  wrong, return to &lt;i&gt;raced&lt;/i&gt; and reanalyze it as a passive participle (&lt;i&gt;The horse [that was] raced past the barn fell&lt;/i&gt;). This is all &lt;a href="http://en.wikipedia.org/wiki/Garden_path_sentence"&gt;well known&lt;/a&gt; and boring.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;What's not boring is the implications for a computational parser operating in a similar way. First, it should be able somehow to restore its state right after NP1 and reparse from there, choosing the passive participle alternative of &lt;i&gt;raced&lt;/i&gt;. Second, it would be nice not to reparse the PP2 again. This word sequence will anyway produce the same result and function as an adjunct, though now in the relative clause.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Since we're going to store the parsing state and analyze it in various ways (e.g. find slots to fill), we'd better store it as a data. What kind of data? The standard answer is, an (incomplete) tree. I'll show that's not convenient.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Let's consider &lt;b&gt;mutable&lt;/b&gt; trees first. Nodes can be added or removed in such trees to any positions at any time. Therefore to store anything we need first to copy it completely and put aside, so that subsequent changes in the active tree aren't reflected in the copy. This applies both to parser state after NP1 and to the i'd-like-it-cached PP2. But we don't want to copy the parser state at each moment just in case we'll have to backtrack to here in future: we'll run out of memory very soon.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;An alternative approach I see is not to copy anything, but to log thoroughly every change you make to the tree in an undoable manner. When a need for backtracking arises, we could just go back through the log undoing every single change and restart. This solves the state-saving problem, but doesn't offer caching for what's undone. We'll have to reparse PP2 anew.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;So, mutable trees don't appear to be useful for our particular parser. Let's look at the &lt;b&gt;immutable&lt;/b&gt; trees. Their nodes are created once and fixed forever. No nodes can be added or removed. The only way to attach a constituent to a tree is to produce a new tree with the constituent already in the right place. The parts of the old tree not directly dominating the attachment place can be reused in the new tree, everything else has to be recreated. Luckily, the reused part is usually much bigger, so not very much memory is consumed. So, we could easily just save current parsing state at each moment without fear. And we can also cache the PP2 before reparse since no one can hurt it anymore, it's immutable.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;But all this is not for free. You should keep track of all the places in the partial tree where it's possible to attach. For example, in '&lt;i&gt;I gave the ...'&lt;/i&gt; there are 2 slots awaiting to be filled: the noun after &lt;i&gt;the&lt;/i&gt; and second argument of &lt;i&gt;gave&lt;/i&gt;. In the tree they should be somehow represented, and at least one of them won't be on the top level.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The slots to be filled may also not be marked explicitly. In &lt;i&gt;I saw a girl with a telescope&lt;/i&gt; the PP with a telescope part may be attached either to noun &lt;i&gt;girl&lt;/i&gt; or to the verb &lt;i&gt;saw&lt;/i&gt;. Since it's not required by any of them, the parser should walk down the whole tree and find all the constituents touching the right side, and then trying to combine them with the PP. Moreover, psycholinguists &lt;a href="http://en.wikipedia.org/wiki/Sentence_processing#Garden_path_model"&gt;observe&lt;/a&gt; that most often such an adjunct PP is attached to the downmost suitable constituent. Probably it's easier that way for humans, but this would be very resource-consuming operation in the computational parser.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Finally, the attaching place may even be located not on the right boundary at all. It's the infrequent but still important case of discontinuous constituents, usually occurring in the free word order languages like Russian, Latin or &lt;a href="http://en.wikipedia.org/wiki/Warlpiri_language"&gt;Walpiri&lt;/a&gt;. English also has such examples:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;The question &lt;/i&gt;has been asked&lt;i&gt;, if there's life on Mars&lt;/i&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;"Tomorrow," &lt;/i&gt;he said&lt;i&gt;, "I'll return"&lt;/i&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Yesterday&lt;span class="Apple-style-span" style="font-style: normal;"&gt;, however,&lt;/span&gt; they left.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;In the first example, we should attach the subordinate clause &lt;span class="Apple-style-span" style="font-style: italic;"&gt;if there's life on Mars&lt;span class="Apple-style-span" style="font-style: normal;"&gt; to the NP &lt;/span&gt;the question&lt;span class="Apple-style-span" style="font-style: normal;"&gt;, which doesn't touch the right boundary at all. The tree we have at that moment is something like&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;[S: [NP: the question] [VP: has been asked]]&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;and represents a complete grammatical sentence. So, do we have to search the whole tree to find the constituent to attach to? Nonsense. But I have no idea on what the reasonable attachment strategy should be, that uses immutable trees and covers the presented data.&lt;br /&gt;&lt;br /&gt;Of course, all these problems are solvable. It's just me that doesn't want to implement those solutions due to their clumsiness, complexity and possible bug-riddenness. I'd better just use another intermediate parsing representation for the serial parser. Which one? That's another &lt;a href="http://sepulkarium.blogspot.com/2010/02/cloud-of-constructions.html"&gt;story&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-6776538201009078159?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/6776538201009078159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=6776538201009078159' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6776538201009078159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6776538201009078159'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/02/trees-in-nl-parser.html' title='Trees in NL parser'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-358742337848903026</id><published>2010-01-17T10:10:00.000Z</published><updated>2010-01-17T10:11:59.429Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='CxG'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Operational Text=&gt;Meaning model</title><content type='html'>The model has several levels, though they are almost completely different from &lt;a org="" wiki=""&gt;Melchuk's&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Level 1&lt;/b&gt;: text/phonology.&lt;br /&gt;The parser receives it as an input and then produces&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Level 2&lt;/b&gt;: &lt;a href="http://sepulkarium.blogspot.com/2009/11/construction-grammar.html"&gt;constructions&lt;/a&gt;.&lt;br /&gt;The contiguous text is separated into constructions of all sizes, from morphological to complex syntactical ones. Basic constructions are (mostly) word stems, complex constructions combine the simpler ones. The structure is most probably a tree though not necessarily. Each construction may have information structure. Constructions are ordered and considered to be executable in that order. Being executed, they give us&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Level 3&lt;/b&gt;: semantics: a &lt;a href="http://sepulkarium.blogspot.com/2009/12/natural-language-programming.html"&gt;program&lt;/a&gt;.&lt;br /&gt;In some general-purpose (programming) language with well-defined semantics and model. The model probably consists of local variables (max. 4-7), salient context and general memory, which is organized as a graph of frames and represents the listener's knowledge of the world. The language is imperative, object-oriented and almost lacks any control flow, being very linear. The basic instructions are frame creation and assignments to local variables or frame slots. If we execute this semantics program, we'll get&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Level 4&lt;/b&gt;: change in the frame structure in the memory.&lt;br /&gt;Which means change in the listener's knowledge of the world. Actually, the change may be greater than we expect looking at the semantics program. Every its simple instruction may cause significant changes that are not directly encoded in that program. This is what we call pragmatics.&lt;br /&gt;&lt;br /&gt;We've done! Though it's worth noting that the built frames might well encode a sequence of actions (e.g. cooking recipe), which can also be executed via interpretation and result in real listener's actions in the real world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-358742337848903026?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/358742337848903026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=358742337848903026' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/358742337848903026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/358742337848903026'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2010/01/operational-textmeaning-model.html' title='Operational Text=&gt;Meaning model'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3815373766393102333</id><published>2009-12-30T21:41:00.001Z</published><updated>2010-01-02T22:16:11.171Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='information structure'/><title type='text'>Separate sentence meaning</title><content type='html'>&lt;div style="text-align: justify;"&gt;Many natural language semantic formalisms are dividing the meaning into predicates and their arguments. They may be called different names, but &lt;i&gt;John loves Mary&lt;/i&gt;'s representation is anyway something like &lt;i&gt;LOVES(John, Mary).&lt;/i&gt; Almost everyone seems to agree that this captures this sentence's meaning quite well, though details of representation may vary significantly.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;What's wrong with it? Imagine this idea being uttered in different contexts (bold indicates logical stress):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(1) Who loves Mary? &lt;b&gt;John&lt;/b&gt; loves Mary.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(2) Whom loves John? John loves &lt;b&gt;Mary&lt;/b&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(3) Does John like Mary? John &lt;b&gt;loves&lt;/b&gt; Mary.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(4) &lt;b&gt;Alice&lt;/b&gt; loves &lt;b&gt;Bob&lt;/b&gt;, &lt;b&gt;John&lt;/b&gt; loves &lt;b&gt;Mary&lt;/b&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(5) Why is John so happy? John &lt;b&gt;loves Mary&lt;/b&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(6) John loves Mary. &lt;i&gt;//the very beginning of a text&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(7) Do you know who loves Mary? It's &lt;b&gt;John&lt;/b&gt;!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;After hearing any of these 7 examples the listener knows that &lt;i&gt;LOVES(John, Mary)&lt;/i&gt;. But does it mean that in each example there's a sentence with that meaning? Actually, only (6) has exactly that meaning, while in the other examples it's split across two clauses in various ways.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A natural definition of sentence semantics would be the difference between listener's knowledge before and after hearing the sentence. In this case, the meanings of &lt;i&gt;John loves Mary&lt;/i&gt; are completely different, because we hear this clause with different background knowledge:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(1) &lt;span class="Apple-style-span"  style="color:#666666;"&gt;We know &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;LOVES(X, Mary).&lt;/span&gt; X := John&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(2) &lt;span class="Apple-style-span"  style="color:#666666;"&gt;We know &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;LOVES(John, X).&lt;/span&gt; X := Mary&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(3) &lt;span class="Apple-style-span"  style="color:#666666;"&gt;We know &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;X(John, Mary)&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt; and even wonder if &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;X=LIKES&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;.&lt;/span&gt; But &lt;i&gt;X := LOVES&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(4) &lt;span class="Apple-style-span"  style="color:#666666;"&gt;We know &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;LOVES(X, Y).&lt;/span&gt; X := John, Y := Mary&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(5) &lt;span class="Apple-style-span"  style="color:#666666;"&gt;We know &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;X(John).&lt;/span&gt; X := λy LOVES(y, Mary)&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(6) &lt;span class="Apple-style-span"  style="color:#666666;"&gt;We know nothing.&lt;/span&gt; &lt;i&gt;LOVES(John, Mary)&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(7) &lt;span class="Apple-style-span"  style="color:#666666;"&gt;We know &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#666666;"&gt;LOVES(X, Mary).&lt;/span&gt; X := John&lt;/i&gt;. &lt;span class="Apple-style-span"  style="color:#999999;"&gt;//same as (1)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;We now see 6 very different semantics for just one sentence, pronounced with different intonation. And only (6) is canonical, where we just have no background (although the listener probably knows John and Mary). So it appears that the traditional logical approach describes just the sentences that start a text/discourse. But there are very few of them compared to the number of all the sentences in the language! What's the point of analyzing only a small fraction of the material?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, to describe a sentence meaning, you should always pay attention to what the reader/listener knew before conceiving it. Otherwise you just can't call it &lt;i&gt;sentence &lt;/i&gt;meaning. Isn't that obvious? Fortunately, there are modern dynamic semantics approaches that seem to understand the problem. It's just a pity that for such a long time it wasn't widely appreciated.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3815373766393102333?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3815373766393102333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3815373766393102333' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3815373766393102333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3815373766393102333'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/12/separate-sentence-meaning.html' title='Separate sentence meaning'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3769946848295573642</id><published>2009-12-26T12:37:00.003Z</published><updated>2009-12-26T12:57:47.002Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pragmatics'/><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><title type='text'>Natural language programming</title><content type='html'>&lt;div style="text-align: justify;"&gt;Programming languages (PL) are for computers, natural languages (NL) — for humans. Computers execute programs, we execute texts. So perhaps it would be useful for NL processing to look for more inspiration in PL processing? I don't mean syntax which seems much more complicated in NL. I'm talking about semantics and pragmatics.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In NL, semantics is the literal meaning of what's written, and pragmatics is how a human will actually understand it in discourse, what the response will be, which changes will the text cause in the world. There's something similar in PL. Semantics is about how each construction (assignment, addition, loop, etc.) is executed. It's usually found in the language specification and can be formalized. Pragmatics, OTOH, is what the program does, is it quick-sort, tic-tac-toe game or Linux. PL pragmatics explores how the separate statement meanings are working together to get the job done.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;PL semantics is clearly defined and expressible in terms of the same PL (assuming it's &lt;a href="http://en.wikipedia.org/wiki/Turing_completeness"&gt;Turing-complete&lt;/a&gt;). There are plenty of interpreters and compilers proving this. At the same time, PL pragmatics is different, it can't be captured by means of any PL. Generally speaking, you can't tell by looking at a program, what it does. You even &lt;a href="http://en.wikipedia.org/wiki/Halting_problem"&gt;can't tell&lt;/a&gt; if it'll ever stop. Nevertheless, there are &lt;a href="http://www.eclipse.org/"&gt;static&lt;/a&gt; &lt;a href="http://netbeans.org/"&gt;code&lt;/a&gt; &lt;a href="http://findbugs.sourceforge.net/"&gt;analysis&lt;/a&gt; &lt;a href="http://www.jetbrains.com/idea/"&gt;tools&lt;/a&gt; that do capture some pragmatic aspects of a program and they actually help to find some bugs.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, if we believe &lt;a href="http://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis"&gt;Church and Turing&lt;/a&gt;, then there are two news for NLP. The good one is that NL semantics can be fully defined in the terms of that NL, by human beings. And the bad one is that you can write tons of papers analyzing the hidden meanings and ideas in &lt;a href="http://www.william-shakespeare.info/script-text-hamlet.htm"&gt;Hamlet&lt;/a&gt; and never come up with a complete description. It's pragmatics.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3769946848295573642?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3769946848295573642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3769946848295573642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3769946848295573642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3769946848295573642'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/12/natural-language-programming.html' title='Natural language programming'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-9050462552215212212</id><published>2009-12-06T13:15:00.003Z</published><updated>2009-12-06T14:02:49.002Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='topic-focus'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='information structure'/><title type='text'>Information structure in music</title><content type='html'>&lt;div style="text-align: justify;"&gt;The Vocal-Master once told me that the more popular and catchier a melody is, the more repetitions one can find in it. Take &lt;a href="http://www.last.fm/music/The+Royal+Philharmonic+Orchestra/_/Memory+%28from+%22Cats%22%29"&gt;Memory&lt;/a&gt; or &lt;a href="http://www.last.fm/music/Frank+Sinatra/_/My+Way"&gt;My Way&lt;/a&gt; or &lt;a href="http://www.last.fm/music/ABBA/_/Dancing+Queen"&gt;Dancing Queen&lt;/a&gt; as an example: almost every phrase is a repetition of one of the previous phrases with some variations. Similarity helps memorizing the song, variation helps not to get bored.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In fact, all the melodies I can think of contain repetition and variation in every phrase. But what strikes me is that it resembles the natural language &lt;a href="http://en.wikipedia.org/wiki/Topic-comment"&gt;information structure&lt;/a&gt; very much. Repetition is a kind of Topic (old, given, assumed information), and variation resembles Focus (new, highlighted parts of the sentence). A difference is that the music hasn't any devices to express reference except for repetition, while sentence Topic may not be seen in the discourse before. It may be an indirect or anaphoric reference (&lt;i&gt;A phone rang. A nice female &lt;u&gt;voice&lt;/u&gt; asked who &lt;u&gt;she&lt;/u&gt;'s talking to&lt;/i&gt;), or a real-world entity that 'everyone knows' (&lt;i&gt;&lt;u&gt;The president&lt;/u&gt; visited England&lt;/i&gt;). But I still see a great deal similarity. Both music and discourse are developing in time, introducing new themes and information. What was new in one sentence, becomes given in another one; we can repeat what once was a variation.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The music theory, of course, &lt;a href="http://www.palette-mct.com/manual_eng/period.html"&gt;knows a lot&lt;/a&gt; of various ways of developing melody. Music even has phrases and sentences, questions and exclamations. Moreover, &lt;a href="http://www.sciencedaily.com/releases/2007/09/070927121101.htm"&gt;music and language are processed by the same brain systems&lt;/a&gt; and there are theories of &lt;a href="http://vesicle.nsi.edu/users/patel/Patel_2003_Nature_Neuroscience.pdf"&gt;syntactic processing in music&lt;/a&gt;. It may even have &lt;a href="http://graham.main.nc.us/~bhammel/MUSIC/muslang.html"&gt;semantics&lt;/a&gt;! Seems that it's only me who didn't suspect this language-music relation until recently.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-9050462552215212212?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/9050462552215212212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=9050462552215212212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/9050462552215212212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/9050462552215212212'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/12/information-structure-in-music.html' title='Information structure in music'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3325524011138526213</id><published>2009-11-15T12:08:00.003Z</published><updated>2009-11-15T12:53:16.098Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='CxG'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Construction grammar</title><content type='html'>The &lt;a href="http://en.wikipedia.org/wiki/Construction_grammar"&gt;subj&lt;/a&gt; (CxG) is exactly &lt;a href="http://sepulkarium.blogspot.com/2009/11/communicative-fragments-in-example.html"&gt;what I had in mind&lt;/a&gt;. In short:&lt;br /&gt;&lt;br /&gt;&lt;li&gt;There's no language-specific unit in the brain, the language ability is due to common cognitive units.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Basic notion in the language is a construction (a template text fragment). No one has defined it but everyone uses.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Both the speaker and the hearer operate in terms of constructions, not words. Unlike other prominent theories.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Children &lt;a href="http://www.constructions-online.de/articles/specvol1/689"&gt;learn specific constructions&lt;/a&gt; first, &lt;a href="http://www.pnas.org/content/106/41/17284.abstract?sid=b4cc7c70-62ff-415b-972c-aac883770ae2"&gt;abstracting&lt;/a&gt; them into more general rules afterwards.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Lexical items which are often used in similar contexts &lt;a href="http://www.constructions-online.de/articles/345"&gt;tend to grammaticalize&lt;/a&gt; into new constructions as language evolves.&lt;br /&gt;&lt;br /&gt;Construction approach seems very promising to me, though I see at least two weaknesses in it, to which I haven't found an adequate answer so far:&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Why learning new languages becomes &lt;a href="http://en.wikipedia.org/wiki/Critical_period#First_language_acquisition"&gt;much harder&lt;/a&gt; after puberty. Is it a degradation in common cognitive abilities? What's different with second language learners? Why do Japanese speakers miss 3d singular -s in English ('he like driving')?&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;CxG accounts only for positive data, and doesn't explain why exactly the ungrammatical samples are so (or not so) ungrammatical. A vague &lt;a href="http://www.pnas.org/content/106/41/17284.abstract?sid=b4cc7c70-62ff-415b-972c-aac883770ae2"&gt;explanation&lt;/a&gt; that one gets used to a specific way of expressing an idea and all the other ways are not so habitual hence more difficult to produce/analyze, doesn't satisfy me very much. It may be equally difficult (or easy) from &lt;a href="http://www.amazon.co.uk/Efficiency-Complexity-Grammars-John-Hawkins/dp/0199252688"&gt;processing&lt;/a&gt; perspective. E.g. adjectives in English would have come after the noun with no clear performance disadvantage. Semantics could also be clear, like in 'he go cinema'.&lt;br /&gt;&lt;br /&gt;Another explanation could be an &lt;a href="http://en.wikipedia.org/wiki/Occam's_razor"&gt;Occam's Razor&lt;/a&gt;. In all ungrammatical examples I've seen, there is a grammatical counterpart. So, the brain could think, why should the same meaning be produced in this strange way while there's another well-established one, and mark the 'strange way' as an ungrammatical.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;The question remains, how to create a parser based on constructions, and how to induce those constructions from a corpus. And, as usual, what that parser should produce as the result.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3325524011138526213?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3325524011138526213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3325524011138526213' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3325524011138526213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3325524011138526213'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/11/construction-grammar.html' title='Construction grammar'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-9011381478362146119</id><published>2009-11-09T19:07:00.006Z</published><updated>2009-11-09T20:03:01.674Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><title type='text'>Communicative fragments by example</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.gumer.info/bibliotek_Buks/Linguist/Gasp/07.php"&gt;Communicative fragments&lt;/a&gt; (CF) are presented as overlapping template sequences that cover the text. They consist of fixed parts (e.g. words) and placeholders which may be filled by certain expressions. A &lt;a href="http://www.gutenberg.org/dirs/9/8/982/982.txt"&gt;limerick&lt;/a&gt; example:&lt;/div&gt;&lt;br /&gt;&lt;i&gt;There was an Old Man in a pew,&lt;br /&gt;Whose waistcoat was spotted with blue;&lt;br /&gt;But he tore it in pieces,&lt;br /&gt;To give to his nieces,--&lt;br /&gt;That cheerful Old Man in a pew.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The resulting fragments will be:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;there was&lt;/i&gt; X[NP] &lt;i&gt;in&lt;/i&gt; Y[NP] -&gt; Clause&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;//variables are uppercase&lt;br /&gt;//sample placeholder constraints are in brackets&lt;br /&gt;//NP=Noun Phrase&lt;br /&gt;//substituted template forms a clause&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;an&lt;/i&gt; X[NP, Starts with a vowel] -&gt; NP&lt;br /&gt;&lt;i&gt;old&lt;/i&gt; X[NP] -&gt; NP&lt;br /&gt;&lt;i&gt;man&lt;/i&gt; -&gt; NP&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;//one-word fragment&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;X[NP] &lt;i&gt;in&lt;/i&gt; Y[NP] -&gt; NP&lt;br /&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;//no one has promised that CF will form a tree&lt;br /&gt;//cf. the first fragment&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;a&lt;/i&gt; X[NP, Starts with a consonant] -&gt; NP&lt;br /&gt;&lt;i&gt;pew&lt;/i&gt; -&gt; NP&lt;br /&gt;X[NP] &lt;i&gt;whose&lt;/i&gt; Y[NP] Z[Clause, finite] -&gt; NP&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;//V=Verb&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;//note a non-projective construct&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;was&lt;/i&gt; X[Participle] -&gt; Clause&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;//a rule for passive&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;spotted with&lt;/i&gt; X[Adj] -&gt; Participle&lt;br /&gt;&lt;i&gt;but&lt;/i&gt; X[Clause] -&gt; Clause&lt;br /&gt;X[NP] &lt;i&gt;tore&lt;/i&gt; Y[NP] -&gt; Clause&lt;br /&gt;X[=tear] &lt;i&gt;in pieces&lt;/i&gt; -&gt; Clause&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;//any form of 'tear'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;X[Clause] &lt;i&gt;to&lt;/i&gt; Y[Clause, infinitive] -&gt; Clause&lt;/div&gt;&lt;div&gt;X[=give] &lt;i&gt;to&lt;/i&gt; X[NP] -&gt; Clause, finite&lt;br /&gt;&lt;i&gt;his&lt;/i&gt; X[NP] -&gt; NP&lt;br /&gt;&lt;i&gt;that&lt;/i&gt; X[NP] -&gt; NP&lt;br /&gt;&lt;i&gt;cheerful&lt;/i&gt; X[NP] -&gt; NP&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;That's a way of parsing: considering syntax as a set of CF patterns where every pattern contains at least one lexical entry that triggers the rule. It should be also much easier to extract such a set from a corpus than to induce a typical generative grammar with movements. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It isn't specified if anything can occur between template components assuming that everything can. Hence free word order languages are supported, but English syntax rules are weakened very much, allowing ungrammatical sentences. So there needs to be a tight parser integration constraining the fragments' freedom.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-9011381478362146119?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/9011381478362146119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=9011381478362146119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/9011381478362146119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/9011381478362146119'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/11/communicative-fragments-in-example.html' title='Communicative fragments by example'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2175545873291355326</id><published>2009-11-06T20:48:00.003Z</published><updated>2009-11-06T20:53:16.927Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Forget about the typical student job</title><content type='html'>An announcement on Psychology department notice board.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5u-pQ6-C6-4/SvSMaAa6UZI/AAAAAAAADMU/F2k8F-3DOJU/s1600-h/Bild032.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 256px;" src="http://1.bp.blogspot.com/_5u-pQ6-C6-4/SvSMaAa6UZI/AAAAAAAADMU/F2k8F-3DOJU/s320/Bild032.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5401096231541428626" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2175545873291355326?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2175545873291355326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2175545873291355326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2175545873291355326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2175545873291355326'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/11/forget-about-typical-student-job.html' title='Forget about the typical student job'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5u-pQ6-C6-4/SvSMaAa6UZI/AAAAAAAADMU/F2k8F-3DOJU/s72-c/Bild032.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-160443116322279713</id><published>2009-11-02T22:42:00.003Z</published><updated>2009-11-02T23:00:00.632Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><title type='text'>All syntax problems...</title><content type='html'>...can be solved by another level of constituency. Except, of course, for the problem of too many layers of constituency.&lt;br /&gt;&lt;br /&gt;At least, in &lt;a href="http://en.wikipedia.org/wiki/Minimalism_(syntax)"&gt;Minimalism&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bbsonline.org/Preprints/OldArchive/bbs.grodzinsky.html"&gt;&lt;img src="http://www.bbsonline.org/Preprints/OldArchive/Figures/grodzinsky.28.gif"/&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-160443116322279713?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/160443116322279713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=160443116322279713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/160443116322279713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/160443116322279713'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/11/all-syntax-problems.html' title='All syntax problems...'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2405137472482272095</id><published>2009-10-25T14:37:00.001Z</published><updated>2009-10-25T17:36:23.440Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><category scheme='http://www.blogger.com/atom/ns#' term='applicative'/><title type='text'>A solution for John</title><content type='html'>It appears that I've been too pessimistic &lt;a href="http://sepulkarium.blogspot.com/2009/10/shallow-vs-structural-analysis.html"&gt;claiming&lt;/a&gt; that I can't assemble the meaning of '&lt;i&gt;John has two sisters&lt;/i&gt;' from the word meanings. &lt;a href="http://homepages.inf.ed.ac.uk/jbos/comsem/book1.html"&gt;Blackburn&amp;amp;Bos&lt;/a&gt; have taught me:&lt;br /&gt;&lt;br /&gt;John: λv (v JOHN)&lt;br /&gt;has: λsubj λobj (subj (λs (obj s id)))&lt;br /&gt;two: λn λy λv (v (∃S (|S|=2 &amp;amp; ∀x∊S (n x y))))&lt;br /&gt;sisters: λx λy SISTER(x,y)&lt;br /&gt;&lt;br /&gt;Let's evaluate:&lt;br /&gt;&lt;br /&gt;(two sisters) = λy λv (v (∃S (|S|=2 &amp;amp; ∀x∊S SISTER(x,y))))&lt;br /&gt;(has John) = λobj (obj JOHN id)&lt;br /&gt;((has John) (two sisters)):&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;∃S (|S|=2 &amp;amp; ∀x∊S SISTER(x,JOHN))&lt;br /&gt;&lt;br /&gt;Note that this semantics also doesn't assume that John has &lt;a href="http://sepulkarium.blogspot.com/2009/10/asking-right-questions.html"&gt;only&lt;/a&gt; 2 sisters, so it really looks like an appropriate one.&lt;br /&gt;&lt;br /&gt;So, the applicative text structure is restored in its rights. Although I don't much like this kind of solution, because the semantics of '&lt;i&gt;has&lt;/i&gt;' and '&lt;i&gt;two&lt;/i&gt;' are too dependent of the fact that SISTER predicate takes 2 arguments. I'd have to change them both to express '&lt;i&gt;John has two dogs&lt;/i&gt;', thus making '&lt;i&gt;two&lt;/i&gt;' (and every other numeric quantifier) ambiguous in semantics. But it's still better than nothing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2405137472482272095?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2405137472482272095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2405137472482272095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2405137472482272095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2405137472482272095'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/10/solution-for-john.html' title='A solution for John'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-7744621842164179648</id><published>2009-10-23T08:33:00.000+01:00</published><updated>2009-10-23T11:33:56.182+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pragmatics'/><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><title type='text'>Asking right questions</title><content type='html'>When I &lt;a href="http://sepulkarium.blogspot.com/2009/10/shallow-vs-structural-analysis.html"&gt;said&lt;/a&gt; that semantics of &lt;i&gt;'John has two sisters'&lt;/i&gt; was |{ x | SISTER(x, JOHN) }|=2, I wasn't quite correct. In fact there's nothing in the text that preventing John to have 5 or 42 sisters. It's the &lt;a href="http://en.wikipedia.org/wiki/Gricean_maxims#Maxim_of_Quantity"&gt;Maxim of Quality&lt;/a&gt; which may limit the sister count to 2. Being not an absolute rule, this maxim can be easily &lt;a href="http://en.wikipedia.org/wiki/Gricean_maxims#Flouting_the_Maxims"&gt;flouted&lt;/a&gt; and the sentence &lt;b&gt;could&lt;/b&gt; actually mean that John has more than 2 sisters in a right context.&lt;br /&gt;&lt;br /&gt;Things get even more interesting if we just add one word: &lt;i&gt;John has two beautiful sisters&lt;/i&gt;. There just isn't a default meaning here! John may have 2 sisters that are beautiful, but he may have 2 beautiful sisters and another 3 who are not so beautiful.&lt;br /&gt;&lt;br /&gt;The question is, what should computer do in such situations. Should it apply pragmatic knowledge and disambiguate everything immediately after syntactic analysis using whole context? Or should it maintain an intermediate semantic representation and give it to some pragmatics module who could infer everything from the semantics? I clearly prefer modularization, i.e. the latter possibility. Of course I don't suppose any sequentiality, the modules may run in parallel interactively.&lt;br /&gt;&lt;br /&gt;If we separate semantics from pragmatics, the representation problem arises again, even harder now. The semantic structure should be very generic, it should be interpretable in all the ways that were possible with the original text (minus the resolved lexical/syntactic ambiguities). And at the same time there should be no way of understanding it in any other way. If we just replace = with &gt;= in the &lt;i&gt;John has two sisters&lt;/i&gt; meaning, the pragmatics module still won't be able to apply the Quality Maxim. Such a meaning could well be produced from &lt;i&gt;John has at least two sisters&lt;/i&gt; which is unambiguous with respect to sister count. So it still should be some kind of =2, but in a form open for interpretation. What a format could it be? I don't know. Yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-7744621842164179648?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/7744621842164179648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=7744621842164179648' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/7744621842164179648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/7744621842164179648'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/10/asking-right-questions.html' title='Asking right questions'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-8787709762364608170</id><published>2009-10-22T12:45:00.000+01:00</published><updated>2009-10-22T15:45:40.746+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><title type='text'>Shallow vs. structural analysis</title><content type='html'>Let's look at a very simple sentence, namely '&lt;i&gt;John has two sisters&lt;/i&gt;'. I'm now  interested in its semantics, or, more precisely, its computer representation. The truth condition is actually very simple, it says that the number of those who happen to be sisters of John equals to 2:&lt;br /&gt;&lt;br /&gt;|{ x | SISTER(x, JOHN) }|=2&lt;br /&gt;&lt;br /&gt;(let the uppercase letters denote some semantic meaning here).&lt;br /&gt;&lt;br /&gt;A question arises, how can we assemble this semantics from meanings of sentence components? The constituent structure for this sentence would be:&lt;br /&gt;&lt;br /&gt;[&lt;sub&gt;S&lt;/sub&gt;[&lt;sub&gt;NP&lt;/sub&gt;John] [&lt;sub&gt;VP&lt;/sub&gt;has [&lt;sub&gt;QP&lt;/sub&gt;two sisters]]]&lt;br /&gt;&lt;br /&gt;The dependency structure:&lt;br /&gt;&lt;br /&gt;John &lt;- has -&gt; two -&gt; sisters&lt;br /&gt;&lt;br /&gt;The beloved one, &lt;a href="http://sepulkarium.blogspot.com/2008/12/time-flies-like-arrow-ambiguity.html"&gt;applicative&lt;/a&gt; structure:&lt;br /&gt;&lt;br /&gt;(has John (two sisters))&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Lexical_functional_grammar"&gt;Lexical Functional Grammar&lt;/a&gt;-style:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;| PRED 'has'&lt;br /&gt;|&lt;br /&gt;| SUBJ | PRED 'John'&lt;br /&gt;|&lt;br /&gt;| OBJ | PRED 'sisters'&lt;br /&gt;|     | SPEC | NUM 2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In any of these variants &lt;i&gt;has&lt;/i&gt; has two arguments: &lt;i&gt;John&lt;/i&gt; and the combined &lt;i&gt;two sisters&lt;/i&gt;. So it appears that we should combine the word meanings in this order, getting something like &lt;i&gt;f(HAS,&amp;nbsp;JOHN,&amp;nbsp;g(2, SISTER))&lt;/i&gt;. And this formula should somehow be equivalent to &lt;i&gt;|{x&amp;nbsp;|&amp;nbsp;SISTER(x,&amp;nbsp;JOHN)}|=2&lt;/i&gt;. The question is, what are &lt;i&gt;f&lt;/i&gt; and &lt;i&gt;g&lt;/i&gt;? I see no direct structural answer. The best variant I've come to is that we should change the structure, replace it with another one which contains only one predicate:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;HAS_N_SISTERS(Who,N)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;which would translate to&lt;br /&gt;&lt;br /&gt;&lt;i&gt;|{ x | SISTER(x, Who) }|=N&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This can be generalized a bit (take sibling instead of sister), but not further. A similar sentence '&lt;i&gt;John has two dogs&lt;/i&gt;' would have a different semantics, e.g. &lt;i&gt;|{x&amp;nbsp;|&amp;nbsp;DOG(x)&amp;nbsp;&amp;amp;&amp;nbsp;BELONGS(x,&amp;nbsp;John)}|=2&lt;/i&gt;. A two-place 'sister'-like 'dog' predicate would be funny.&lt;br /&gt;&lt;br /&gt;So it seems that all the structures I know of are of no use with this sentence. That's one of the reasons I prefer shallow parsing based on patterns with wildcards: it appears to map better onto semantics. And a probable sad consequence is that the applicative structure, though being so beautiful, will remain unapplied.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-8787709762364608170?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/8787709762364608170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=8787709762364608170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8787709762364608170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8787709762364608170'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/10/shallow-vs-structural-analysis.html' title='Shallow vs. structural analysis'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-981333164198597844</id><published>2009-10-21T22:45:00.003+01:00</published><updated>2009-10-21T22:48:38.955+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><title type='text'>What Science Underlies Natural Language Engineering?</title><content type='html'>Quote:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;&lt;br /&gt;A superficial look at the papers presented in our main conferences reveals that the vast majority of them are engineering papers, discussing engineering solutions to practical problems. Virtually none addresses fundamental issues in linguistics.&lt;br /&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mitpressjournals.org/doi/pdf/10.1162/coli.2009.35.4.35409"&gt;Couldn't have said it better&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-981333164198597844?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/981333164198597844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=981333164198597844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/981333164198597844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/981333164198597844'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/10/what-science-underlies-natural-language.html' title='What Science Underlies Natural Language Engineering?'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-6604639709464604209</id><published>2009-10-20T16:51:00.007+01:00</published><updated>2009-10-21T17:54:41.534+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linear unit grammar'/><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Linear Unit Grammar</title><content type='html'>Predominant natural language syntax theories usually deal with one sentence, which is carefully selected to be well-formed, so called 'grammatical'. But the live language seems to be different, more complex, especially the spoken one. It contains lots of repetitions, false starts, hesitations, reformulations, speaker changes and so on.&lt;br /&gt;&lt;br /&gt;I therefore like meeting theories aiming to describe spoken discourse 'as is' instead of labelling it as an incorrect. One of those theories is &lt;a href="http://books.google.com/books?id=N06w_O28yC8C&amp;amp;lpg=PR1&amp;amp;ots=NadZ9rWEO-&amp;amp;dq=linear%20unit%20grammar&amp;amp;pg=PR1#v=onepage&amp;amp;q=&amp;amp;f=false"&gt;Linear Unit Grammar&lt;/a&gt; by John Sinclair and Anna Mauranen.&lt;br /&gt;&lt;br /&gt;The main notion here is 'chunk'. It's a fuzzy pre-theoretical concept, with no precise definition. Basically it's a linear fragment of input signal (text, speech, etc.) which people tend to comprehend all at once. It may be unfinished. Usually it's formed of closely connected words like a noun phrase with adjectives (&lt;i&gt;a small dog&lt;/i&gt;) or verb with its obligatory arguments (&lt;i&gt;to love Mary&lt;/i&gt;). Relative clauses, of course, form separate chunks. Moreover, the auxiliary words (like '&lt;i&gt;that&lt;/i&gt;' in '&lt;i&gt;the dog that loves Mary&lt;/i&gt;') are separated from anything else and go to single-word chunks. The chunks are very small, their size rarely exceeds 5 words.&lt;br /&gt;&lt;br /&gt;Here's a sample chunking made by me from a &lt;a href="http://quod.lib.umich.edu/cgi/c/corpus/corpus?c=micase;cc=micase;view=transcript;id=OFC270MG048"&gt;spoken English corpus&lt;/a&gt;. The analyzed fragment is:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;so an example of this s- s- second rule i mean the second rule probably is the easiest one to look at cuz you have the, the f- the the four-six-seven type of relationship&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I divide it according to my intuition only. Whenever I have doubts, I put a chunk boundary. And so the result will be:&lt;br /&gt;&lt;br /&gt;1. so&lt;br /&gt;2. an example of this&lt;br /&gt;3. s- s-&lt;br /&gt;4. second rule&lt;br /&gt;5. i mean&lt;br /&gt;6. the second rule&lt;br /&gt;7. probably&lt;br /&gt;8. is&lt;br /&gt;9. the easiest one&lt;br /&gt;10. to look at&lt;br /&gt;11. cuz&lt;br /&gt;12. you have the&lt;br /&gt;13. the f-&lt;br /&gt;14. the&lt;br /&gt;15. the four-six-seven type&lt;br /&gt;16. of relationship&lt;br /&gt;&lt;br /&gt;Sinclair &amp;amp; Mauranen classify the chunks into organizational fragments (1,5,11) and message fragments (the others). These groups are also divided into subgroups according to organizational function or message completeness. There's a non-deterministic algorithm that translates any kind of text into a well-formed one. In this example it would be something like '&lt;i&gt;an example of this second rule is probably the easiest one to look at cuz you have the four-six-seven type of relationship&lt;/i&gt;'.&lt;br /&gt;&lt;br /&gt;That's a bit surprising! How can anyone claim that 'grammatical sentences are unnatural, let's analyze the real ones' and then analyze spoken discourse by first making it grammatical? The answer is that the authors in fact don't aim to compete with major syntactic theories, they strive to co-exist with them, at least in the beginning. The described algorithm may be just a first step in complex language analysis. Authors also suggest chunking could help in second language teaching/learning.&lt;br /&gt;&lt;br /&gt;What I personally like about Linear Unit Grammar is precisely the chunking. It's so simple! And, in contrast to &lt;a href="http://www.gumer.info/bibliotek_Buks/Linguist/Gasp/07.php"&gt;Gasparov's approach&lt;/a&gt; when the text is divided into communicative fragments, the LUG chunks are contiguous and non-overlapping. Therefore the LUG chunking can be done by simple regular expressions, or Markov processes. A great part of the syntax lies inside chunks so there's no need to analyze it the same way as the 'bigger' structures like clause subordination. &lt;a href="http://www.nltk.org/"&gt;NLTK&lt;/a&gt; seems to provide chunking out of the box, so I guess I gotta try it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-6604639709464604209?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/6604639709464604209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=6604639709464604209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6604639709464604209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6604639709464604209'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/10/linear-unit-grammar.html' title='Linear Unit Grammar'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-8100796309496634929</id><published>2009-06-06T11:13:00.004+01:00</published><updated>2009-06-06T11:25:50.126+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='abstract'/><title type='text'>Rhyming as an error correction method</title><content type='html'>In ancient times there was no written language and every story was transferred orally. Of course, when you retell a story you change it in some way because you don't remember the exact wordings, it's only the meaning that matters. Hence after several generation the story could change in an unrecognizable way. Even if a person tries to remember the words themselves, the human memory isn't ideal, so there still will be some changes which may even render some text fragments meaningless.&lt;br /&gt;&lt;br /&gt;It's different with poetry. In addition to the plot, here's one more factor which should be preserved on retelling: the rhyme. And with this additional restriction, it's in fact much harder to alter the story to a large extent. Maybe that's why a lot of epic literature is preserved in a poetic form? Just speculations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-8100796309496634929?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/8100796309496634929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=8100796309496634929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8100796309496634929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8100796309496634929'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/06/rhyming-as-error-correction-method.html' title='Rhyming as an error correction method'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-1779586223215801205</id><published>2009-03-22T07:56:00.002Z</published><updated>2009-10-25T17:42:38.986Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><category scheme='http://www.blogger.com/atom/ns#' term='topic-focus'/><title type='text'>Topic-Focus articulation</title><content type='html'>As it is known, every sentence can be divided into two logical parts. One (Topic) is what the sentence is about, another (Focus) is what the sentence actually says about its Topic. Topic is usually something given or presupposed to be given, Focus is something new or emphasized. To me the Topic seems like data from the knowledge base whilst the Focus seems like an operation on this data, a function on the Topic. Since Topic-Focus opposition is one of the most important distinctions for me in the text structure, I can't omit it from the functional representation.&lt;br /&gt;&lt;br /&gt;We know one thing that can separate anything from anything in functional composition: a &lt;a href="http://sepulkarium.blogspot.com/2009/03/lambda-abstraction-in-text-structure.html"&gt;Lambda abstraction&lt;/a&gt;. So we'll use it also to separate Topic from Focus.&lt;br /&gt;&lt;br /&gt;Let's introduce a special auxiliary function (actually it's more like a macro) SENT, which will take both Topic and Focus as its arguments and then apply function-Focus to argument-Topic, probably marking them in some special problem-dependent way. Thus every sentence would look like a call of SENT function with Focus and Topic arguments.&lt;br /&gt;&lt;br /&gt;Example sentence:&lt;br /&gt;&lt;br /&gt;Father loves son. &lt;br /&gt;&lt;br /&gt;Its core functional structure:&lt;br /&gt;&lt;br /&gt;(loves father son)&lt;br /&gt;&lt;br /&gt;By default Topic is 'father', Focus is 'loves son'.&lt;br /&gt;&lt;br /&gt;(SENT (λx loves x son) father)&lt;br /&gt;&lt;br /&gt;We can stress FATHER, promoting it to the Focus and 'loves son' - to the Topic:&lt;br /&gt;&lt;br /&gt;(SENT (λx x father) (λy loves y son))&lt;br /&gt;&lt;br /&gt;Here we have two abstractions. If we suppose that SENT does nothing besides applying its first argument (Focus) to its second argument (Topic), we'll get&lt;br /&gt;&lt;br /&gt;((λx x father) (λy loves y son))&lt;br /&gt;&lt;= replace x =&gt;&lt;br /&gt;((λy loves y son) father)&lt;br /&gt;&lt;= replace y =&gt;&lt;br /&gt;(loves father son)&lt;br /&gt;&lt;br /&gt;We can stress SON:&lt;br /&gt;&lt;br /&gt;(SENT (λx x son) (λy loves father y))&lt;br /&gt;which can be replaced by shorter&lt;br /&gt;(SENT (λx x son) (loves father))&lt;br /&gt;&lt;br /&gt;We can stress LOVES:&lt;br /&gt;&lt;br /&gt;(SENT loves father son)&lt;br /&gt;&lt;br /&gt;Here the Topic consists of two entities rather than one. This is perfectly normal, we'll just apply 'loves' to 'father', and then the result - to 'son'. We'll get ((loves father) son) which is by definition of currying equal to the core structure.&lt;br /&gt;&lt;br /&gt;I don't know yet how to represent multiple parallel contrastive sequences, like 'Father loves son, while mother hates him'. But such an approach feels promising to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-1779586223215801205?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/1779586223215801205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=1779586223215801205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/1779586223215801205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/1779586223215801205'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/03/topic-focus-articulation.html' title='Topic-Focus articulation'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-7575071864286902178</id><published>2009-03-22T07:29:00.004Z</published><updated>2009-10-25T17:43:32.103Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nlp'/><title type='text'>Lambda abstraction in text structure</title><content type='html'>Just like Chomsky, we'll introduce exactly one transformation. From Lambda calculus it's known like Lambda abstraction. Let's say (λx E1 E2) is an application of function (λx E1) to E2, and the result of this application will be E3 which is E1 with all occurrences of x replaced with E2. Abstraction is a reverse operation. Having a complex expression E3 where E2 occurs, we'll replace the occurrences of E2 with x and append λx to the beginning. Of course, any variable name could be in place of x.&lt;br /&gt;&lt;br /&gt;This abstraction may be used when there are several functions applied on one argument. The most frequent example here is predicate coordination:&lt;br /&gt;&lt;br /&gt;They stopped and looked across the river.&lt;br /&gt;&lt;br /&gt;Here we have both 'stopped' and 'looked' applied to 'they'. Plain functional composition can't apply two functions to one argument simultaneously, so we'll need something that can. Let's suppose that 'and' function does it. It receives several component functions, merges them somehow and produces a single function as a result. This function will be a Composite, meaning that its action on an argument basically would be to apply all components to that argument. Here the merged functions will be 'stopped' and '(λx looked x across (the river))'. The second one will receive the argument and put it into correct position in its argument structure. So the result will be&lt;br /&gt;&lt;br /&gt;((and stopped (λx looked x across (the river))) they)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-7575071864286902178?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/7575071864286902178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=7575071864286902178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/7575071864286902178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/7575071864286902178'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2009/03/lambda-abstraction-in-text-structure.html' title='Lambda abstraction in text structure'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-877897541963030555</id><published>2008-12-16T20:45:00.003Z</published><updated>2008-12-16T21:31:57.679Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eng'/><category scheme='http://www.blogger.com/atom/ns#' term='наука'/><title type='text'>NLParser architecture</title><content type='html'>A typical NLP program faces lots of tasks. They include tokenization, lemmatization, dealing with word order, resolving ambiguities, building some structure, etc. The parser suggested here will deal with only one of those problems: word order. The task will be to convert token stream to the simplest structure, independent of it. It appears that functional composition is a perfect example of such a structure. For the sentence 'A kiss is a terrible thing to waste' this structure will look like&lt;br /&gt;&lt;br /&gt;(is (a kiss) ((to waste) (a (terrible thing))))&lt;br /&gt;&lt;br /&gt;or, in a more usual notation:&lt;br /&gt;&lt;br /&gt;is(a(kiss))(to(waste)(a(terrible(thing))))&lt;br /&gt;&lt;br /&gt;This would be the result of parser: just an expression, where some functions are invoked being passed another invocations' results as arguments. Functions can be of any kind, it depends of an interpreter. The parser may not only combine the tokens it gets into function calls, but also insert some auxiliary functions, e.g. to mark the missing word order info. In free word order languages like Russian where some meanings are expressed solely by word order this will be the case.&lt;br /&gt;&lt;br /&gt;Basically the parser will deal with two interpreters. One will be syntactic, where the result of '(terrible thing)' will be almost the same as simple 'thing' (a noun phrase). This result will be used by parser itself, to help constructing the functional tree. The parser will known about all the possible values he syntactic interpreter could produce.&lt;br /&gt;&lt;br /&gt;The syntactic evaluator will probably produce single result for any functional composition, i.e. it will not support alternative word meanings. The parser will probably concurrently support several different functional compositions until it can make a choice. It should also be able to rollback any choice it had made and reparse from that moment based on new information, if at some moment all the interpretations it has prove to be false.&lt;br /&gt;&lt;br /&gt;The second evaluator will be of semantic nature, problem-dependent and replaceable. It will appear to the parser as a black box. It will be also invoked by the parser, but only to see whether an application (A B) will produce any results, i.e. it will have some semantic sense. The other thing we could do with anything is to compare by equality. So we'll see whether the results of two different compositions are in fact the same. For example, with several adjectives accompanying one noun it often doesn't matter in which order they go, so '(green (colorless ideas))' and '(colorless (green ideas))' will produce the same result in such tasks. This would mean that our parser won't have to maintain these two variants, one of them will be sufficient.&lt;br /&gt;&lt;br /&gt;At each moment the parser is going to produce new function application, say, having A and B, to bind them via (A B), it evaluates '(A B)' syntactically and semantically. If both results are good, then the tree '(A B)' will certainly live further. In other cases, the parser has to choose the most promising variants from the set it has (remember, it maintains several concurrent trees). The variant that has only syntactic interpretation (but no semantic) will be better than the semantic-only variant. The variant having no interpretations will also have no chance of survival. Some psycholinguists say this is really similar to what the human brains do.&lt;br /&gt;&lt;br /&gt;That's it, in short. The only thing left is to invent some semantics interpreter and implement this parser.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-877897541963030555?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/877897541963030555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=877897541963030555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/877897541963030555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/877897541963030555'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/12/nlparser-architecture.html' title='NLParser architecture'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-6922529911987742267</id><published>2008-12-11T20:17:00.004Z</published><updated>2008-12-11T20:49:03.552Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eng'/><category scheme='http://www.blogger.com/atom/ns#' term='наука'/><title type='text'>Academic officers: top-down contextual ambiguity resolution</title><content type='html'>'The officers taught at the academy'. This sentence appears unambiguous to us until we are presented with an upgraded version: 'The officers taught at the academy were very demanding'. Functional structures for them will be:&lt;br /&gt;&lt;br /&gt;(1) ((at (taught (the officers))) (the academy))&lt;br /&gt;(2) ((were ((at (taught (the officers))) (the academy))) (very demanding))&lt;br /&gt;&lt;br /&gt;These structures share common part, namely the whole first sentence. But this common part should be evaluated to different results: in (1) it would be complete clause - sentence, while in (2) it's only a noun phrase. So it appears that the first sentence should actually have two valid interpretations, but we've already understood it unambiguously!&lt;br /&gt;&lt;br /&gt;This can be resolved by implying that the whole construction should always have clause type. So when we assume 'taught' having two alternatives and calculate the (1) expression value with both, we could safely remove the noun phrase since it can't be final result. This top-level clausal implication can be even explicated by introducing one more function here, whose name could be '.' (dot). The only thing for it to do could be just to filter clauses out of all its argument's alternatives. But there's another way.&lt;br /&gt;&lt;br /&gt;Let's assume that every functional language expression has only one interpretation. It's simple and it looks like humans do the same. So when (1) is considered in its standalone version, it will be unambiguously a clause. But then it appears that the sentence is not finished, and we get 'were' applied to this complex expression, which can't take clauses as arguments. So we now have to evaluate (1) in a different way, knowing now that its context requires it to be noun phrase. It should be not hard to find another alternative of 'taught' that will suit these new requirements: a passive participle.&lt;br /&gt;&lt;br /&gt;At the top, a clause type will be expected, on other levels it will depend on a particular function. Function 'were' will want a noun phrase (and so will 'at' and 'the' do), the resulting function '(were ...)' will need a gerund ('very demanding'). &lt;br /&gt;&lt;br /&gt;Technically, the evaluator has to get the context requirements from somewhere. We can't calculate the expression result part-by-part, starting with '(the officers)' and then applying other functions to it, we should have the whole expression in our hands. It also means that functions don't take arguments as eagerly computed values any more, they take arguments as data instead and evaluate that data by themselves in a right context. Hello, LISP's macros.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-6922529911987742267?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/6922529911987742267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=6922529911987742267' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6922529911987742267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6922529911987742267'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/12/academic-officers-top-down-contextual.html' title='Academic officers: top-down contextual ambiguity resolution'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4917300046411632255</id><published>2008-12-10T17:29:00.005Z</published><updated>2008-12-10T19:01:00.654Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eng'/><category scheme='http://www.blogger.com/atom/ns#' term='наука'/><title type='text'>Time flies like an arrow: an ambiguity resolution example</title><content type='html'>Let's suppose we have to analyze a well-known ambiguous phrase 'Time flies like an arrow'. Here all three first words can be sentence predicates. Presented as a function composition, these alternatives will look as follows (in LISP notation, with function separated from its argument by space, both inside parentheses):&lt;br /&gt;&lt;br /&gt;(1) 'Time' is a verb: ((like (an arrow)) (time flies))&lt;br /&gt;(2) 'Flies' is a verb: ((like (an arrow)) (flies time))&lt;br /&gt;(3) 'Like' is a verb: ((like (time flies)) (an arrow))&lt;br /&gt;&lt;br /&gt;All of these applicative representations are self-disambiguating. Let's list the lexical word ambiguities. 'Time' can be either singular noun or a verb, 'flies' - plural noun or a singular third-person finite verb, 'like' - a verb or an adverb.&lt;br /&gt;&lt;br /&gt;The result of '(an arrow)' occurring in all three alternatives is always the same, it means some object (it may be ambiguous, but the context doesn't provide more information, and the fact it's inanimate noun should satisfy us now).&lt;br /&gt;&lt;br /&gt;We see 'time' being applied to 'flies' in the first and third variants. The result is ambiguous, it's either an order to time some flies (e.g. measure the time of their flight) or a description of some flies (maybe they fly through time from future to past).&lt;br /&gt;&lt;br /&gt;If we exchange the function-argument roles, we get '(flies time)' from the second variant. Here the situation is better: 'flies' as noun doesn't have actants, therefore can't be a function, so only its verb-alternative remains. The latter also can't be applied to verbs in any way, so 'time' is noun there now, and '(flies time)' has clause type.&lt;br /&gt;&lt;br /&gt;As for the '(like (an arrow))' construction, of course 'like' here can be an adverb describing the similarity of something to an arrow, but it can also be a verb. It can't be a usual narrative sentence predicate, since then it would require a subject, which should be passed to it as first argument by parser. And '(an arrow)' can't be this subject since it's 3d person singular requiring the verb to end with 's'. But 'like' here can still be imperative or infinitive verb. Both can't be applied then to clause '(flies time)', which disambiguates the second variant completely, giving the usual proverb about time which is flying too fast.&lt;br /&gt;&lt;br /&gt;The verb 'like' also has only one direct object, which will be filled by '(an arrow)', so the resulting construction can't be applied to '(time flies)': we remember, it's either an imperative clause, or a noun phrase. This leaves only adverbial alternative for 'like'. It can modify only clause, so '(time flies)' must be really an imperative clause. Congratulations, we've disambiguated (1). We have to measure the flight time of some flies, and do this in a precise way, like an arrow, whatever this could mean.&lt;br /&gt;&lt;br /&gt;Only the third variant is left. Here 'like' is applied to '(time flies)' and the result is applied to '(an arrow)' then. Imperative variant of '(time files)' can't be an argument of both verb and noun variants of 'like', and the noun 'like' doesn't have actants. This leaves us with verb 'like' eating noun phrase '(time flies)', which can be its subject when the verb is finite or its object when the verb is imperative or infinitive. An attempt to eat also '(an arrow)' then removes the non-evident imperative and infinitive alternatives, making this interpretation also unambiguous. We will know that all the future-to past flies are fond of some arrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4917300046411632255?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4917300046411632255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4917300046411632255' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4917300046411632255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4917300046411632255'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/12/time-flies-like-arrow-ambiguity.html' title='Time flies like an arrow: an ambiguity resolution example'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2642214574083554343</id><published>2008-12-06T03:37:00.002Z</published><updated>2008-12-06T03:38:04.963Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='язык'/><category scheme='http://www.blogger.com/atom/ns#' term='наука'/><title type='text'>Статейко</title><content type='html'>&lt;a href="http://docs.google.com/Doc?id=dhgzms6p_15hgn82td3"&gt;Проект статьи&lt;/a&gt; про представление текста в виде композиции функций&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2642214574083554343?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2642214574083554343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2642214574083554343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2642214574083554343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2642214574083554343'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/12/blog-post.html' title='Статейко'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-6207150223742955096</id><published>2008-09-16T21:20:00.000+01:00</published><updated>2008-09-16T21:21:23.008+01:00</updated><title type='text'>Новороссийск - фан</title><content type='html'>&lt;a href="http://picasaweb.google.com/gromopetr/kJUXlI#"&gt;photos&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-6207150223742955096?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/6207150223742955096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=6207150223742955096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6207150223742955096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6207150223742955096'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/09/blog-post.html' title='Новороссийск - фан'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-9003001163400104338</id><published>2008-06-15T22:30:00.002+01:00</published><updated>2008-06-16T09:34:59.457+01:00</updated><title type='text'>Comments</title><content type='html'>Поездили по Германии. &lt;a href="http://picasaweb.google.com/gromopetr/GermanyJune08"&gt;Rezultoj&lt;/a&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-9003001163400104338?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/9003001163400104338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=9003001163400104338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/9003001163400104338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/9003001163400104338'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/06/comments.html' title='Comments'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3915663472581194961</id><published>2008-05-30T14:20:00.004+01:00</published><updated>2008-05-30T14:37:22.556+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='просто'/><title type='text'>Развод</title><content type='html'>Приходит мне смска. Написано, что вот, абонентская служба Билайна вас беспокоит, ваш номер заблокирован, перезвоните на такой-то телефон нам в Билайн для поправки ситуации. Проверяю телефон, вроде, звонит, на него тоже звонят, все нормально. Ну и забил.&lt;br /&gt;&lt;br /&gt;Через несколько часов звонок с неизвестного номера. Представительный голос. "Это Билайн. Вы смс получали о том-то и том-то? Позвоните, пожалуйста, по указанному телефону, а то вас заблокируют. Тут у нас сервер накрылся, надо вас перерегистрировать, и т.п". Последнее звучит несколько подозрительно, гуглю, ничего похожего не нахожу. Так и быть, звоню. Не менее представительный голос рассказывает еще раз про сервер, спрашивает серию мобилки, дальше процедура будет идти чисто автоматически, надо набирать на телефоне всякие циферки, перемежая их решеточками. Ну я набираю, жмя периодически Enter, и смотря, что там на экране. &lt;br /&gt;&lt;br /&gt;Когда, наконец, вижу слова "введите номер абонента, которому хотите перевести деньги", сообщаю, что номер не прошел, благотворительностью заниматься не люблю, поэтому увы, продолжать не буду. Сначала товарищ отнекивался, потом фактически признал, сказал, что не от хорошей жизни занимается, надо же как-то зарабатывать. Дальше мы довольно мило пообщались на тему степени убедительности развода (таки достаточно убедительно, да). Ну и вот.&lt;br /&gt;&lt;br /&gt;Интересно, что при общении товарищ достаточно точно назвал сумму на моем счете. Вот и вопрос, откуда он ее узнал. Уж не завелся ли на тель-афоне шпион, посылающий что-нибудь куда-нибудь? И как бы его удалить?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3915663472581194961?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3915663472581194961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3915663472581194961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3915663472581194961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3915663472581194961'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/05/blog-post.html' title='Развод'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4551987980808899615</id><published>2008-04-19T15:06:00.002+01:00</published><updated>2008-04-19T15:18:43.447+01:00</updated><title type='text'>Вредно</title><content type='html'>Тесты - это зло. Когда я привык их иметь, я отвык думать. Понятия подменились, и вместо того, чтобы стремиться к правильной программе, я стремлюсь к зеленым тестам. При этом я, конечно, стремлюсь и к хорошему покрытию программы этими тестами, что в сумме дает вроде как то, что и надо. Но все равно ощущения странные.&lt;br /&gt;&lt;br /&gt;Поскольку тесты обычно есть, я не боюсь ничего менять, надеясь на них. Когда покрытие хорошее, это еще может сойти с рук, а вот когда оно хромает, это фатально. Могу случайно сломать что-нибудь совсем, даже не заметив. Потом, когда до меня это доходит, понимаю, что если б я хоть чуть-чуть подумал, ничего бы не случилось.&lt;br /&gt;&lt;br /&gt;Причем когда из-за моих изменений ломается что-нибудь незатестрированное в чужом коде, я даже не испытываю мук совести.&lt;br /&gt;&lt;br /&gt;Но только благодаря наличию тестов (имхо) в Идее можно после каждого релиза все переписывать, надеясь на лучшее. И вообще, тесты - это хорошо. Значит, следуя классическому рецепту, перед изменением мира надо изменить себя. Например, научиться иногда думать. Хоть это и сабж.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4551987980808899615?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4551987980808899615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4551987980808899615' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4551987980808899615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4551987980808899615'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/04/blog-post.html' title='Вредно'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-474329115994948578</id><published>2008-02-07T18:20:00.000Z</published><updated>2008-02-07T19:18:58.385Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>Промо</title><content type='html'>Давно хотел собрать в одно место всякие небольшие показательные мюзикловые видео, по которым можно составить впечатление о шоу целиком. Дабы потом можно было желающих в это одно место посылать. И вот.&lt;br /&gt;&lt;br /&gt;Tanz der Vampire (Jim Steinman &amp; Michael Kunze). Конечно же, &lt;a href="http://www.youtube.com/watch?v=oL7NObf2Crs"&gt;Tanzsaal&lt;/a&gt; со Стивом Бартоном.&lt;br /&gt;&lt;br /&gt;Норд-Ост (Иваси). &lt;a href="http://english.nordost.ru/multimedia/video/page/0/file/104/Nord-Ost_Excerpts.avi"&gt;Нарезка&lt;/a&gt; из тур-версии (трафик).&lt;br /&gt;&lt;br /&gt;Billy Elliot (Elton John). &lt;a href="http://www.youtube.com/watch?v=NaH4zaUYUUU"&gt;Нарезка&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Rebecca (Sylvester Levay &amp; Michael Kunze). &lt;a href="http://www.youtube.com/watch?v=6om7shFnNy0"&gt;Нарезка&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Whistle Down The Wind (Andrew Lloyd Webber &amp; Jim Steinman). Тут отрывков из шоу в нормальном качестве нет, да и постановки неважнецкие, поэтому два концертных видео. &lt;a href="http://www.youtube.com/watch?v=hrcrIUlWoao"&gt;Tire tracks and broken hearts&lt;/a&gt; с юбилейного концерта Лорда в исполнении Бонни Тайлер. Клип &lt;a href="http://www.youtube.com/watch?v=rFAYXzaQnU4"&gt;A kiss is a terrible thing to waste&lt;/a&gt;, поет Meat Loaf.&lt;br /&gt;&lt;br /&gt;Elisabeth (Sylvester Levay &amp; Michael Kunze). Нарезка под &lt;a href="http://www.youtube.com/watch?v=qGnl-SLKDB4"&gt;Mijn Leven Is Van Mij&lt;/a&gt; из голландской постановки с Пиушкой Дауэс.&lt;br /&gt;&lt;br /&gt;Chess (Benny Andersson, Bjorn Ulvaeus, Tim Rice). Нифига. Только странная &lt;a href="http://www.youtube.com/watch?v=i2ZldMuqWFQ"&gt;штука&lt;/a&gt; с одного из концертов.&lt;br /&gt;&lt;br /&gt;Rent (Jonathan Larson). Из шоу опять же ничего, остается &lt;a href="http://www.youtube.com/watch?v=mN3xsCxxGdA"&gt;пара&lt;/a&gt; &lt;a href="http://www.youtube.com/watch?v=czWse8Nk-HA"&gt;трейлеров&lt;/a&gt; к фильму.&lt;br /&gt;&lt;br /&gt;Mozart! (Sylvester Levay &amp; Michael Kunze) &lt;a href="http://www.youtube.com/watch?v=znPH1GMVKo0"&gt;Нарезка&lt;/a&gt; из венгерской постановки.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-474329115994948578?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/474329115994948578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=474329115994948578' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/474329115994948578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/474329115994948578'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/02/blog-post_07.html' title='Промо'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5314701359824107498</id><published>2008-02-04T10:14:00.000Z</published><updated>2008-02-04T10:26:39.749Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='парсер'/><title type='text'>Афихеть</title><content type='html'>В Идее есть лимитированная поддержка AOP. Там есть небольшой язычок для описания мест в коде, его парсер писал я примерно с год назад. По ходу написания случайно изобрел парсер-комбинаторы, потом понял, что код получается не очень читабельным, и совсем не дебаживаемым. После основного написания периодически выяснялось, что язычок умеет чуть больше, чем я, приходилось этот парсер подхачивать, в итоге он приобрел совсем жуткий вид. &lt;br /&gt;&lt;br /&gt;И вот когда, наконец, в релизе еще один юзер заметил еще одну неподдерживаемую фичу в языке, я таки решил посмотреть, как же такую неоднозначную грамматику парсят сами создатели. Скачал исходники, нашел там парсер их Джавы, и... Что я вижу? Классы PrefixParser и InfixParser, метод ExprParser#parse с параметром-приоритетом, ну и вааще. Итого, они используют Пратта! При этом в коде он нигде не упоминается, но это типичный он. Ну, чуть измененный, притом не так, как у меня... Возможно, они его сами изобрели. Возможно, нет. Не знаю. Но сам факт!&lt;br /&gt;&lt;br /&gt;Ложка дегтя. Так они парсят только Жаву. Сам аоп парсится обычным рекурсивным спуском.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5314701359824107498?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5314701359824107498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5314701359824107498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5314701359824107498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5314701359824107498'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/02/blog-post.html' title='Афихеть'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2762100297762148556</id><published>2008-01-05T19:24:00.000Z</published><updated>2008-01-05T20:06:19.433Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='идея'/><category scheme='http://www.blogger.com/atom/ns#' term='парсер'/><title type='text'>Развлекся</title><content type='html'>Есть у нас в Идее язык по имени QL, эдакая упрощенная версия SQL, диалекты которой используются в EJB и Hibernate. На вид несложный, однако в парсере периодически приходится туговато. Парсер, естественно, написан рекурсивным спуском, двумя с половиной разными людьми, и выглядит достаточно страшно. Я, в качестве добровольного каникулярного развлечения, попытался написать то же самое с использованием &lt;a href="http://sepulkarium.blogspot.com/2007/12/blog-post_29.html"&gt;Праттовского&lt;/a&gt; метода. Тожесамовость измеряется duck-критерием: есть 141 тест, и на них нужно выдавать такое же дерево, что и старый парсер. В код старого парсера я смотрел нечасто, поэтому то, что незатестировано, соответственно, не воспроизведено.&lt;br /&gt;&lt;br /&gt;Занял этот процесс полтора рабочих дня (хороших таких дня, когда практически никто не отвлекает). При этом в середине я очередной раз осознал, что интерфейс мне не нравится, и в очередной раз переписал фреймворк, теперь он работает чуть по-другому, чем описано в предыдущем посте. И вот итоги.&lt;br /&gt;&lt;br /&gt;Код парсера занимает меньше места: 1032 строки в старом против 620 в новом. При этом есть 14 стандартных постфиксных субпарсера и 21 инфиксный, все они выражаются здесь одной строчкой, в оригинальном парсере - побольше (строчек 5 в среднем, я думаю).&lt;br /&gt;&lt;br /&gt;Читать новый парсер и проще и сложнее одновременно. Сложнее потому, что он необычен, непривычен, и потому, что нужно очень хорошо себе представлять стек исполнения во время парсинга многих токенов. В рекурсивном спуске обычно хватает названия метода, парсящего текущий нетерминал, и, может быть, каких-нибудь флажковых параметров. Здесь периодески нужно знать, какие узлы слева уже построились, и при построении каких узлов процесс парсинга вызывался рекурсивно. Самая жестокая моя проверка в этой области звучит так: если наш токен парсится первым в этом стековом фрейме, в следующем слева от нас есть запятая, перед которой мы распарсили декларацию переменной, то идентификатор мы парсим как TypeReference. А иначе (тоже не всегда) - как ReferenceExpression.&lt;br /&gt;&lt;br /&gt;Теперь почему читать проще. Потому что поток управления проще. Интереса ради я сравнил количество управляющих ключевых слов, которые смог придумать. Итак:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;keyword       old       new &lt;br /&gt;------------------------------&lt;br /&gt;if            &gt;107      57&lt;br /&gt;else if       28        1&lt;br /&gt;else          12        6&lt;br /&gt;while (все)   16        15&lt;br /&gt;while (true)  3         11 (типа простой цикл)&lt;br /&gt;break         6         11&lt;br /&gt;for (java 5)  0         3&lt;br /&gt;return        65        35&lt;br /&gt;&lt;br /&gt;Переменные    47        37&lt;br /&gt;Вызовы mark() 28        13&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Максимальный уровень блочной вложенности в новом парсере 4, в старом - 7 (к счастью, только в одном месте, в среднем же примерно одинаково).&lt;br /&gt;&lt;br /&gt;Вообще, конечно, Пратту такое и не снилось. Он статью писал вообще-то даже не про парсеры, а про языки. Что если придумать язык, который таким вот парсером парсится легко и без проблем, то и человеку он будет совсем понятным. А когда нетерминалы не определяются одним-единственным токеном однозначно, то это есть плохо и непонятно. Отсюда мораль - QL - это не самый понятный для человека язык (согласен, особенно joins).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2762100297762148556?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2762100297762148556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2762100297762148556' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2762100297762148556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2762100297762148556'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2008/01/blog-post.html' title='Развлекся'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2604148401772992690</id><published>2007-12-29T08:44:00.000Z</published><updated>2007-12-29T10:39:26.183Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='идея'/><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><category scheme='http://www.blogger.com/atom/ns#' term='наука'/><title type='text'>Как писать парсеры</title><content type='html'>Обычно парсеры языков программирования пишутся в виде грамматики, которая либо скармливается потом генератору, либо уже представляет собой код с использованием парсер-комбинаторов. К сожалению, если язык сложен, грамматика его тоже непроста. А сложным, надо сказать, становится любой язык, когда в него нужно добавить разумную обработку ошибок и восстановление после таковых, и при этом выдать какое-то достаточно вменяемое синтаксическое дерево на выходе. Ровно это необходимо для хорошей поддержки языка в IDE.&lt;br /&gt;&lt;br /&gt;Поэтому в &lt;a href="http://www.jetbrains.com/idea/"&gt;самой знакомой мне IDE&lt;/a&gt; парсеры пишутся обычно руками, рекурсивным спуском, скучно, занудно и однообразно (чего стоит один практически идентичный код, раскопированный для каждой бинарной операции). Восстановление после ошибок тогда получается достаточно несложно.&lt;br /&gt;&lt;br /&gt;Так вот, не рекурсивным спуском единым жив человек. Уже почти устоялось API для другого метода, придуманного когда-то &lt;a href="http://portal.acm.org/citation.cfm?id=512931"&gt;Праттом&lt;/a&gt;, примененного &lt;a href="http://javascript.crockford.com/tdop/tdop.html"&gt;Крокфордом&lt;/a&gt;, до боли напоминающего вдохновленный языком &lt;a href="http://en.wikipedia.org/wiki/Forth_%28programming_language%29"&gt;Forth&lt;/a&gt; метод &lt;a href="http://www.apmath.spbu.ru/ru/info/tuzov/"&gt;Тузова&lt;/a&gt;, наконец, дошедшего до меня и творчески переработанного. Про это API и расскажу.&lt;br /&gt;&lt;br /&gt;Итак, по старинной фортовской привычке мы начинаем с объявления данных кодом. Данные у нас - это поток токенов от лексера, вот они-то и будут кодом. У каждого токена будет свой собственный маленький кодик, вот такого вида:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;interface TokenParser {&lt;br /&gt;  boolean parseToken(PrattBuilder builder);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;ПраттБилдер (лучшие варианты названия принимаются) - это интерфейс к системе, он - наше все, двигает лексер, хранит промежуточные состояния, строит дерево и запускает токенпарсеры. Построен он поверх идейского PsiBuilder'а и обладает сходной приятной функциональностью по прозванию маркеры. Маркер - это очень легкая штука, позволяющая запомнить место в потоке токенов. Потом к этому месту можно будет откатиться, либо создать новый узел дерева с началом в нем.&lt;br /&gt;&lt;br /&gt;С каждым токеном ассоциируется еще и число, приоритет. Самый главный метод праттбилдера носит скромное название parse, принимает одно число, и идет последовательно, каждый раз для текущего лексерного токена вызывая его токенпарсеры, пока приоритеты токенов строго больше числа-параметра либо пока какой-нибудь токенпарсер не вернет false. Сами токенпарсеры внутри себя могут делать что угодно, сдвигать лексер насколько угодно (в том числе путем вызова билдеровского parse рекурсивно), но не в их власти откатиться раньше токена, для которого их вызвали. Билдер всегда помнит место, в котором вызвали его parse, и умеет создавать узлы дерева, начинающиеся там.&lt;br /&gt;&lt;br /&gt;Это была фортовская часть. Теперь к Пратту. Самый частый вариант токенпарсера, DefaultTokenParser, реализован заветами этого товарища, и умеет различать два случая вызова себя и делегировать всю работу одному из двух подпарсеров - соответствующих своих аргументов конструктора. Первый случай, "свежачок", когда токен встретился сразу же в билдеровском parse, слева от него ничего еще нет, у Пратта это зовется nud, у меня пока - PrefixParser (better name needed!!!). Второй случай, когда слева уже что-то есть, и там даже построился узел дерева с определенным типом, у Пратта - led, у меня пока - ProceedingParser (oh name...). Первое используется, когда по токену можно понять, какую конструкцию он начинает (унарная префиксная операция), второй - какую конструкцию он продолжает (инфиксная бинарная операция или много чего еще) или закачивает (унарная постфиксная операция). &lt;br /&gt;&lt;br /&gt;У токена нечасто определены оба компонента, самый очевидный пример токена, умеющего и начинать и продолжать - "+" или "-". Если nud или led нужен, но отсутствует, генерируется ошибка. Токен, который мы анализировали, нам уже неинтересен, мы с него все, что хотели, получили, поэтому перед вызовом подпарсеров лексер сдвигается вперед. Оба подпарсера возвращают тип узла, который надо построить от стартового маркера до текущего места. Обычно алгоритм разбора токенпарсера по умолчанию получаются следующим: вызываем nud первого токена, а потом, пока не посинеем, вызываем led у текущих токенов.&lt;br /&gt;&lt;br /&gt;Пример простого нуда на псевдоязыке: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;unary(IElementType type, int priority) = fun (builder) -&gt;&lt;br /&gt;     builder.parse(priority);&lt;br /&gt;     return type&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;И еще проще:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;tokenElement(IElementType type) = fun (builder) -&gt;&lt;br /&gt;     return type&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Пример простого леда (бинарная левоассоциативная операция) почти дословно такой же: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;binary(IElementType type, int priority) = fun (leftType, builder) -&gt;&lt;br /&gt;     builder.parse(priority);&lt;br /&gt;     return type&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Постфиксная операция еще проще:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;postfix(IElementType type) = fun (leftType, builder) -&gt;&lt;br /&gt;     return type&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Распарсить простые выражения можно теперь с помощью весьма лаконичного кода:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;NUMBER: priority=10, nud=tokenElement(NUMBER_LITERAL)&lt;br /&gt;IDENTIFIER: priority=10, nud=tokenElement(QNAME)&lt;br /&gt;&lt;br /&gt;"(": priority=10, nud=fun (builder: PrattBuilder) -&gt; &lt;br /&gt;    builder.parse(0);&lt;br /&gt;    builder.assertToken(")");&lt;br /&gt;    return PARENTHESES&lt;br /&gt;&lt;br /&gt;".": priority=9, led=binary(QNAME, 9)&lt;br /&gt;"!": priority = 8, nud=unary(NEGATION, 8)&lt;br /&gt;&lt;br /&gt;"+","-": priority=8, &lt;br /&gt;      nud=unary(ARITHMETIC_UNARY, 8), &lt;br /&gt;      led=binary(ARITHMETIC_BINARY, 6)&lt;br /&gt;"*","/": priority=7, led=binary(ARITHMETIC_BINARY, 7)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Парсер, например, для сокращенного определения класса в Java лучше выражается через просто токенпарсеры:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;"public", "static", etc.: priority = -100, &lt;br /&gt;  tokenParser = fun (builder) -&gt; &lt;br /&gt;    builder.advance(); &lt;br /&gt;    return true;&lt;br /&gt;"class": priority=-100, &lt;br /&gt;  tokenParser = fun (builder) -&gt;&lt;br /&gt;    builder.finishPrefix(MODIFIER_LIST);&lt;br /&gt;    builder.advance();&lt;br /&gt;    builder.assertToken(IDENTIFIER);&lt;br /&gt;    if (builder.assertToken(EXTENDS)) {&lt;br /&gt;      builder.advance();&lt;br /&gt;      builder.parse(9);&lt;br /&gt;    }&lt;br /&gt;    builder.assertToken("{");&lt;br /&gt;    builder.parse(-90);&lt;br /&gt;    builder.assertToken("}");&lt;br /&gt;    return JAVA_CLASS&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Это уже достаточно напоминает рекурсивный спуск. В принципе, мне сей метод видится как гармоничное сочетание разбора сверху, снизу и стека приоритетов операторов. В каждом месте программист вправе выбрать, что лучше в данном конкретном случае.&lt;br /&gt;&lt;br /&gt;В данный момент на праттовской основе (только, увы, в синтаксисе Java) в достаточной степени написан парсер для языка шаблонов FreeMarker, и процесс мне нравится. Парсер получается более прямолинейный, проверок условий в нем намного меньше, чем в обычном рекурсивном спуске. Это можно рассматривать как паттерн Visitor, он же полиморфизм, мы вместо делания многочисленных проверок на тип вызываем абстрактный метод у самого типа.&lt;br /&gt;&lt;br /&gt;Из достоинств еще можно упомянуть модулярность. Можно теоретически взять и поменять парсер или приоритет у токена. Что важнее, можно легко начать парсить не сначала, а из любой середины, почти с любого токена, что открывает неплохие возможности для инкрементального репарса.&lt;br /&gt;&lt;br /&gt;Главный недостаток - меньшая понятность. Суть рекурсивного спуска понятна сразу, потом только начинаешь увязать в конкретных бесчисленных флажках, циклах, условиях и маркерах, но это уже детали реализации конкретного парсера. Тут флажков, циклов, условий и маркеров поменьше, но зато основная идея ясна не сразу, непрозрачна. И конкретные числа несколько мешают восприятию.&lt;br /&gt;&lt;br /&gt;Еще особенность, уж не знаю, достоинство или недостаток. При написании парсера надо думать. Этот парсер не совсем похож на грамматику, и не пишется на автомате, глядя на таковую. Скорее всего, такие парсеры тоже можно генерировать по грамматике, для этого надо только погрузиться в соответствующую науку. Но это уже совсем другая история.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2604148401772992690?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2604148401772992690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2604148401772992690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2604148401772992690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2604148401772992690'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/12/blog-post_29.html' title='Как писать парсеры'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5414278262359803622</id><published>2007-12-22T21:33:00.000Z</published><updated>2007-12-22T21:52:22.672Z</updated><title type='text'>Запруды</title><content type='html'>Ну вот как можно заниматься наукой в такой антисемитской обстановке? Вводная: нужно написать программу, которая бы делала из одних строк на произвольном языке другие по определенным правилам. Произвольный язык подразумевает под собой юникод, в частном случае хотя бы кириллицу. &lt;br /&gt;&lt;br /&gt;Сначала, уже давно, выяснилось, что маковская консоль эту кириллицу, если и поддерживает, то для этого надо совершить какие-то магические пассы в большом количестве. Тем самым приходилось тестить камлевскую программу на каких-то нереальных нерусских абстрактных последовательностях символов. Потом программа подросла, возмужала, и захотелось ей скармиливать уже что-то более реальное. Скармливать-то оно скармливалось, только в консоли в ответ рисовало вопросики.&lt;br /&gt;&lt;br /&gt;Пришлось пользоваться враждебным Эклипсом, под которым есть камль-плугин, который умеет в собственной эклипсовской консоли (с, о счастье, настраиваемой кодировкой!) писать output программы. Круто. После пары часов траха с эклипсом и настройки подхвата им стандартных и не очень (OUnit) библиотек, наконец, удалось скомпилить и запустить прогу из трех исходных файлов, и тут настал окончательный сокрушительный удар судьбы. Камль не поддерживает юникод. То есть, абсолютно. Символьный тип в нем занимает один байт. А моей проге по большому счету все равно, из чего состоят обрабатываемые ею последовательности, главное, чтобы это что-то членилось на составные части предсказуемым образом. А если в строке записаны символы из UTF-8 или еще чего похуже, то члениться она в абстрактной камлевой программе будет уже способом, несовместимым с общепризнанным.&lt;br /&gt;&lt;br /&gt;Видимо, на камле надо ставить крест в данной конкретной задаче. Да, под него есть юникодовая библиотека, я ее даже поставил себе, даже попытался на нее все переделать, но теперь программа уже знает, что ей даются строки в  UTF-8. И это не очень гармонирует с замыслом. Да и просто все это элементарно неудобно. Варианты камля, компилящиеся в .NET некузявы по причине того, что у меня мак. Вот.&lt;br /&gt;&lt;br /&gt;Можно все писать на Scheme. Забавный язычок такой, интересно было бы с ним поэкспериментировать. Правда, IDE для него, хоть и сильно удобнее камлевого топлевела, все же смущает MDIшностью своего интерфейса. Еще я так до сих пор не до конца привык к динамической типизации. И, что самое главное, под имеющуюся у меня Схему нет большого количества библиотек общего назначения. В жизни вообще нужно не очень много утилит, но вот SortedSet и SortedMap были бы неплохи. Да и просто Set тоже... В чистом виде я их под Схему не нашел.&lt;br /&gt;&lt;br /&gt;Библиотеки в избытке есть в JDK, но на Жаве я писать в принципе не хочу. Так что самый пока приемлемый вариант - это Scala. Надо будет поразбираться с эклипсовским ее плагином, пока идейский не дорос... Пока что не очень понял, как там тесты легко и просто писать, найденный мной пример легким и простым не назовешь никак. Ну и вообще, многословный язык, по сравнению с камлем, хаскелем или лиспом, хоть и сильно лучше жавы. Плохо все.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5414278262359803622?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5414278262359803622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5414278262359803622' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5414278262359803622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5414278262359803622'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/12/blog-post.html' title='Запруды'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2919054439965351307</id><published>2007-12-03T20:19:00.000Z</published><updated>2007-12-03T20:41:46.120Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><title type='text'>peter-mac:~ peter$</title><content type='html'>В субботу на НЛП-семинаре рассказывали нам про то, как работает система машинного перевода ПроМТ. Собственно, ничего особо неожиданного не случилось: для каждого направления перевода есть много-много заданных вручную правил, как переводить в данном направлении конкретные слова и словосочетания. Правила для последних чаще всего имеют вид шаблонов, то бишь, содержат переменные. В общем, ничего особо концептуального. Работать отлично это, видимо, не способно по определению, но можно добиться более-менее сносных результатов, что мы и имеем.&lt;br /&gt;&lt;br /&gt;Процесс организован следующим образом. Сидит лингвист, смотрит на какой-нибудь неправильный промтовый перевод, размышляет. Придумывает новое правило, которое все разом возьмет и полечит. Идет к программисту, объясняет правило, программист это дело кодит. Далее есть 18М тестовых текстов (или текстовых тестов?), на которых прогоняются старый и новый варианты, и просматриваются отличия (hopefully их немного). Если отличия случились в плохую сторону, лингвист идет думать дальше, иначе изменения принимаются.&lt;br /&gt;&lt;br /&gt;Если я все правильно понял, весело быть программистом в ПроМТе. Сидишь, никого не трогаешь, приходят к тебе красивые девушки и рассказывают про правила какого-нибудь экзотического языка. Кругозор, понимаешь, расширяют. Кайф!&lt;br /&gt;&lt;br /&gt;Правила работают на словах и их сочетаниях, поэтому при вводе правил надо эти слова, что логично, вводить. Причем во всех словоформах. Получается, что надо вводить целое множество похожих слов (множество сие зовется парадигмой). Так вот, есть у них умная экспертная система, которой достаточно ввести какую-нибудь основную словоформу, и она с большой вероятностью правильно дозаполнит остальные. Что, конечно же, весьма облегчает работу по улучшению ПроМТа. Система экспертна, то бишь, насколько я помню из экзамена по специальности, представляет собой длинную последовательность правил вида if-then.&lt;br /&gt;&lt;br /&gt;Расследование показало, что при добавлении какого-нибудь нового языка к системе подсаживается специально обученная группа экспертов, которые долго думают, а потом ее расширяют так, чтобы она нормально угадывала парадигмы и из этого языка. А именно, дописывают еще пару сотен правил. Возникает резонный вопрос - а нафига? Можно же сделать еще более умную систему, которая будет сама на основе примеров выводить те самые правила, которые сейчас в нее забиваются руками! Причем именно для данной задачи (вывод парадигмы) это, по идее, должно быть достаточно просто. И, по счастливому совпадению, это ровно та задача, про которую я туплю уже некоторое время. Так что вот, надо решать.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2919054439965351307?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2919054439965351307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2919054439965351307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2919054439965351307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2919054439965351307'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/12/peter-mac-peter.html' title='peter-mac:~ peter$'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4469041643941670427</id><published>2007-11-22T07:49:00.000Z</published><updated>2007-11-22T07:53:41.571Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='просто'/><title type='text'>Табличко</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5u-pQ6-C6-4/R0U05kWFMGI/AAAAAAAABVM/OdgirmamEjE/s1600-h/Bild007.jpg"&gt;&lt;img  src="http://3.bp.blogspot.com/_5u-pQ6-C6-4/R0U05kWFMGI/AAAAAAAABVM/OdgirmamEjE/s200/Bild007.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5135569113699397730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Мобильнотелефонные камеры - это зло, но самое главное видно.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4469041643941670427?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4469041643941670427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4469041643941670427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4469041643941670427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4469041643941670427'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/11/blog-post_22.html' title='Табличко'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5u-pQ6-C6-4/R0U05kWFMGI/AAAAAAAABVM/OdgirmamEjE/s72-c/Bild007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-820040189425218417</id><published>2007-11-04T17:43:00.000Z</published><updated>2007-11-04T18:07:46.371Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Минута на размышление</title><content type='html'>Нурали Латыпов, "Основы интеллектуального тренинга. Минута на размышление". Книга про то, как мы думаем, и как этот процесс можно улучшить. Предполагается, что прочитав эту книгу, человек, если не улучшит его, то, по крайней мере, поймет, как это надо делать. Основной метод очень прост, я с ним полностью согласен, и относится он вообще ко всему в этой жизни: чтобы научиться что-то делать, надо это делать. Чаще думайте, друзья мои, и будет вам счастье.&lt;br /&gt;&lt;br /&gt;Только вот кроме этого все как-то достаточно туманно. Ну да, бывает ТРИЗ, синектика и ландаматика. Надо их всех освоить и применять. Искать, что же это такое, предлагается самому. Ну по ТРИЗу у меня некоторое количество книг понакачано. По слову "ландаматика" гугль выдает 5 результатов на русском языке, ничего концептуального. Синектики и то больше. Правда, вряд ли я все это изучу. Лениво как-то, с ТРИЗом пытался уже. Так и буду дальше мыслить по старинке, нетворчески...&lt;br /&gt;&lt;br /&gt;Много наездов на российское образование, дескать, учит оно запоминать кучу сведений, а вот творчески их использовать не учит. И надо учить детей сразу творчеству. Дальше много текста, который вроде как призван описать, что же именно надо делать, только по прочтении в голове не остается вообще ничего. Интересно, камль способствует развитию творческого мышления?&lt;br /&gt;&lt;br /&gt;Достаточное количество веселых баек из истории науки про всяких Эйнштейнов и прочих Резерфордов, как у них все было творчески. Некоторые байки взяты даже не из "Физики шутят", и я их даже раньше не знал. Спасибо автору. &lt;br /&gt;&lt;br /&gt;Также спасибо за развеяние ложного ощущения, что я достаточно знаю про всякие экзотические искусственные языки. Оказалось, не все. Бывает язык Диал, по идее отражающие наиболее универсальные универсалии Универсума. Название происходит от слова "диалектика". Такое вот чудо создали в 80х в МИФИ, и с тех пор о нем никто не слышал. Ну, почти никто. Гугль вот крайне немного про него слышал. Зато в том же МИФИ есть &lt;a href="http://ura.mephist.ru/Ideology.html"&gt;УРА&lt;/a&gt; - Университет Русского Альтруизма. Виртуальный. В интернете выложены разные лекции по разным экзотическим курсам, вроде Теории Универсалий или этого самого диала. Попробовал почитать то и другое, как-то не пошло. Мозг успешно сопротивляется философским текстам. А жаль. Ведь если выучить диал, то, по мнению создателей, будешь изрекать исключительно творческие вещи.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-820040189425218417?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/820040189425218417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=820040189425218417' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/820040189425218417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/820040189425218417'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/11/blog-post.html' title='Минута на размышление'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-1088220844380246392</id><published>2007-10-20T13:04:00.000+01:00</published><updated>2007-10-20T13:55:58.140+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Теория юмора</title><content type='html'>Когда-то в детстве я прочитал "Мистер смех" Беляева про человека, который а) пропытался разобраться, почему мы смеемся, и б) плохо кончил. Первая часть меня заинтересовала. Чуть больше года назад на &lt;a href="http://dirty.ru"&gt;dirty&lt;/a&gt; была ссылка на исследование Мирослава Войнаровского &lt;a href="http://psi-logic.narod.ru/steb/steb.htm"&gt;"Алгоритм юмора"&lt;/a&gt;. Почитал, оказалось интересно. Правдоподобно. Да и на парочку идей про языки навело. А несколько дней назад на том же dirty была ссылка уже на &lt;a href="http://www.humortheory.com/russian/humor_theory.html"&gt;"Теорию юмора"&lt;/a&gt; Константина Глинки. Конечно, я не смог удержаться.&lt;br /&gt;&lt;br /&gt;Автор изучил кучу литературы по этому вопросу (в том числе "Алгоритм Юмора"), которая типа не все объясняет, и попытался все это обобщить и свести в единую теорию, которая объясняет все, что предыдущие пытались, но не смогли. И вроде как даже у него это более-менее получилось. Функция у юмора получилась сугубо этологическая - поднять свой социальный статус. Посему юмор вне общества смешон намного реже, чем в оном.&lt;br /&gt;&lt;br /&gt;В итоге автор вывел достаточно простую формулу, по которой можно посчитать, насколько сильно будешь смеяться от анекдота. Выглядит она как "ЭЮ = ЛС * С/Тр + ФН", где буквы означают соответственно Эффект Юмора, Личную Сопричастность, Сложность, Время (Т) решения, Фон Настроения. За подробностями в первоисточник, а я тут покритикую.&lt;br /&gt;&lt;br /&gt;Во-первых, недоверие у меня к формулам, описывающим мыслительные процессы, в которых встречаются арифметические операции. Ну не работает моск так. Ну да ладно, видимо, таки моск не обязан все эти действия выполнять, а просто так получается. То есть, данная формула описывает просто некоторое эмпирическое соотношение, типа закона Ома. В таком случае хорошо бы понять, а почему же это так. Закон Ома, помнится мне, выводится из более низкоуровневых уравнений Максвелла. Тут тоже было бы неплохо что-нибудь из чего-нибудь вывести. Автор получил эту формулу исключительно умозрительным путем. Типа, "если у нас изначально хорошее настроение, то мы посмеемся, а вот в глубокой депрессии смешно нам не будет; ага, похоже на то, что надо прибавить Фон Настроения". И так вот про все.&lt;br /&gt;&lt;br /&gt;Во-вторых, не очень ясно, что такое ЛС. Личная Сопричастность, да, я помню. Только вот в примерах предлагаются, например, такие ее значения (по убыванию, от +1 до -1):&lt;br /&gt;Персонаж(и) анекдота имеют ко мне непосредственное отношение. (+1)&lt;br /&gt;Активно недолюбливаю таких людей, или один из персонажей анекдота – мой герой.&lt;br /&gt;Я хорошо понимаю поступки и мотивацию героев.&lt;br /&gt;Герои анекдота мне безразличны. (0)&lt;br /&gt;Не стоило так шутить о достойных людях.&lt;br /&gt;Оскорбительный, кощунственный анекдот. (-1)&lt;br /&gt;&lt;br /&gt;Мне кажется, или сопричастность здесть есть только при положительных значениях, а при отрицательных начинается какая-то эмоциональная оценка собственно анекдота, то есть, вотчина результирующего ЭЮ? Зато, по-моему, это весьма похоже на влияние на социальный ранг. И в примерах похоже: смеяться над Брежневым было модно и статусоповышательно, и поэтому ЛС высок, смеяться над Хоннекером эквипенисуально, а над слепой девушкой прикалываются только асоциальные элементы, и ЛС отрицателен. &lt;br /&gt;&lt;br /&gt;Вопрос в том, какое же это именно влияние на ранг. Я могу придумать несколько вариантов. Во-первых, реальное или потенциальное (предвкушаемое). На то, чтобы представлять собой первое, претендует, собственно, ЭЮ (что не совсем похоже на правду). Во-вторых, ранг слушателя, рассказчика или жертвы. Эти три параметра не различаются никак. Точнее, два последних по идее связаны (обычно жертву унижают, за счет этого возвышая себя), а вот отличить слушателя от рассказчика не мешало бы. Хотя бы потому, что Тр (время решения загадки) в случае рассказчика подозрительно напоминает 0, на который делить не очень кошерно.&lt;br /&gt;&lt;br /&gt;Кроме того, в процессе вывода формулы вместо С/Тр фигурировала величина УРЗ (Удовольствие от Разгадывания Загадки), имевшая знак. Даже была попытка показать,  что при отрицательной ЛС и отрицательном УРЗ шутка оказывается все равно смешной. Лично я эту попытку понял достаточно слабо. А потом пропостулировалось, что УРЗ=С/Тр, и тем самым знаковость пропала.&lt;br /&gt;&lt;br /&gt;Итого. Читать стоит, очень интересно и понятно, живой язык. Причем с немалым количеством юмора при изложении. Юмор этот немаркирован, поэтому воспринимается по чистой случайности (не включаются механизмы анализа по типу "сейчас будет смешно"), и не всегда понятно, специально так написано, или не очень. Например, долго ржал над тем, что если у читателя на каких-то примерах формула не сошлась, то "попытайтесь проанализировать, чем это вызвано: а) вы не уверены, что удалось произвести оценки объективно, б) вы действовали второпях или в) вами руководило подсознательное желание дискредитировать предлагаемую теорию".&lt;br /&gt;&lt;br /&gt;И все равно мне непонятно, почему мне сегодня было очень смешно, когда мне по аське совершенно нерелевантно сообщили "я купила новые джинсы!"...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-1088220844380246392?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/1088220844380246392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=1088220844380246392' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/1088220844380246392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/1088220844380246392'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/10/blog-post_20.html' title='Теория юмора'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5969431465456679835</id><published>2007-10-16T19:57:00.000+01:00</published><updated>2007-10-16T20:45:56.899+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><title type='text'>Теморема</title><content type='html'>Долгое время раздумывал я, что свободный порядок слов и  интонация в русском языке даны не просто так, а для того, чтобы ими пользоваться. А именно, если человек поменял порядок слов на менее стандартный или выделил голосом какое-нибудь слово (о чем, кстати, в письменном тексте хрен догадаешься), то он, скорее всего, имел что-то в виду. Значит, при анализе надо эту метаинформацию подцепить и где-нибудь сохранить. Вот и думал я про всякие страшные схемы того, как в семантическом дереве к каждой ноде прицеплять число, насколько сильно автор ее выделил. И зело мне это не нравилось. И вообще, конкретные числа в программе - это зло. Кроме, конечно, 239 и 42.&lt;br /&gt;&lt;br /&gt;Другая проблема. Во всяких там попсовых языках, которые все считают нужным учить, есть такая вещь, как артикль. Выражает она обычно, кроме грамматических категорий в виде родов, падежей и чисел, еще и семантическую, а именно, степень определенности. Ну все знают, артикли бывают определенные, а бывают неопределенные. Во всяких эсперантах бывают только определенные. А вот в куче других языков артиклей нет. В финском там или в русском, например. Тем не менее, указать на определенность обычно бывает полезно. По хорошему, любое "определенное" слово - это ссылка либо на другой участок текста (анафора), либо наружу, в реальный мир (дейксис). Самый очевидный вид ссылок - это местоимения, но для полного понимания текста нужно еще, оказывается, уметь найти референта огромного количества самых разных слов, в основном, существительных.&lt;br /&gt;&lt;br /&gt;Посему русско-финские языки используют артиклезаменители. Как это устроено в финском, пока не знаю, а в русском эти средства называются туманным словом "контекст". Самый простой вариант, когда слово охарактеризовано как "этот" или "некий", тут все понятно. Только вот часто ли мы так говорим? Лично я - не очень. А если поразмыслить, то получится (по крайней мере, у меня получилось), что степень определенности выражается как раз порядком слов и логическими ударениями. И вот тут мозг начинает медленно распухать от того, что эти два и так не самых легкоопределимых параметра влияют на аж две такие важные вещи.&lt;br /&gt;&lt;br /&gt;И тут наступает облегчение. Выясняется, что еще одна пара понятий, которые я уж года два как считал введенными филологами для своих личных гуманитарных целей, оказывается, имеет глубокий смысл и для меня, в этом конкретном контексте. Это тема и рема высказывания. Тема - это субъект, топик высказывания, то, что связывает его с предысторией, информация, уже известная получателю сообщения. Рема - то, зачем нужно высказывание, то, что оно добавляет к знаниям получателя, новая информация, некий факт-предикат про тему. Как правило, в известных мне языках тема предшествует реме. Как правило, рема в них же может выделяться интонационно. В "я еду завтра" тема - "я еду", а рема - "завтра". В "завтра я еду" тема - "завтра я", рема - "еду". "Завтра еду Я!", тема="завтра кто-то едет", рема="не кто-то, а таки я". В "я ЕДУ завтра" тема="я что-то там делаю завтра", а рема="еду, а вовсе даже не иду". &lt;br /&gt;&lt;br /&gt;А еще в теме обычно как раз встречаются определенные артикли, они же ссылки, в реме же определяются новые объекты. Можно посравнивать "в комнату вошел старик", и "старик вошел в комнату" с разными интонациями, и понять, что в одних случаях мы ссылаемся на какого-то известного персонажа, называемого в основном "старик", в других - на него же, называемого как угодно, просто характеризуемого для разнообразия по одному из своих свойств, а иногда мы вводим в повествование нового героя, можно сказать, создаем объект, на который потом ссылаться будем. Опять же, комнату тоже можно рассматривать как тему и рему, да даже и "вошел" (хотя это уже посложнее).&lt;br /&gt;&lt;br /&gt;Отсюда мораль: теморемовая структура должна быть очень сильно зашита в семантическое представление. И тогда не нужно изобретать произвольные числа, характеризующие степень логической ударенности и измененности порядка слов, да и артикли вполне успешно обработаются.&lt;br /&gt;&lt;br /&gt;Воть, такая вот простая мысль. А сколько времени понадобилось для осознания...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5969431465456679835?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5969431465456679835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5969431465456679835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5969431465456679835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5969431465456679835'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/10/blog-post.html' title='Теморема'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-968175348605164557</id><published>2007-10-14T09:01:00.000+01:00</published><updated>2007-10-14T09:42:23.860+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Rastlose Tage</title><content type='html'>Кончилось "Моральное животное" Райта. Совершенно замечательная вещь, приятная, безусловно, рекомендуется к прочтению. Иногда становится скучновато, когда поведение сапиенса исследуется на примере поведения одной конкретной низкоранговой низкопримативной особи из 19 века по имени Чарльз Дарвин, но тем не менее. К тому же теперь я про эту особь знаю сильно больше. Заставляет задуматься. Теперь довольно часто анализирую свое и чужое поведение, понимая чуть больше, почему оно именно такое. Иногда даже стал более терпим к чужим недостаткам. Воть.&lt;br /&gt;&lt;br /&gt;"Голая обезьяна" Десмонда Морриса. Очень провокационная книга, по этологии, разумеется. Особенно для своего времени: вышла в 60х годах. Автор типа исследует поведение одного вида приматов, который он, по внешнему виду, назвал голой обезьяной. Шерсти-то нет, значит, голая. Идея хорошая, воплощение не очень. Много спорных утверждений, никак не подкрепленных, очень телеологичный стиль изложения всяких естественноотборных вещей. Последнее свойственно всем книгам на данную тему, но здесь оно выражено особенно сильно, мне не всегда удавалось перевести утверждения об адаптациях из "чтобы было А, понадобилось Б" в "случилось Б и выяснилось, что это увеличивает адаптацию, а потом случилось и А, и это увеличило адаптацию еще больше", или хотя бы "А не может без Б, поэтому, когда случилось А, каким-то образом (?) наступило и Б".&lt;br /&gt;&lt;br /&gt;Иногда совсем какая-то фигня наблюдается. Типа, исследуем, какие животные больше нравятся голой обезьяне. Опрашиваем детей в зоопарках. И выясняется, что девочки очень любят лошадок, особенно находясь в возрасте порядка 10 лет, потом любовь идет на убыль. И аффтар начинает жечь: лошадки - это такие жывотные, на которых сидят, раздвинув ноги, и при этом во время скачки совершуют какие-то небольшие ритмичные телодвижения. Ну и, спрашивается, что? И при чем тут десятилетние девочки? Фрейдизм... Хорошо хоть автор сам обстебал другую мысль из той же серии, что мы не любим змей потому, что это ядовитые фаллические символы.&lt;br /&gt;&lt;br /&gt;Эту книгу, кстати, читал Никонов перед написанием "Апгрейда обезьяны". В последнем очень много заимствований из "Голой обезьяны", иногда переходящих чуть ли не в копипейст. Еще тот же Райт в "Моральном животном" ее поминал как хорошую книгу для своего времени, только очень нестрогую. Собственно, ровно такое впечатление она у меня и оставила.&lt;br /&gt;&lt;br /&gt;Дальше. Белоногов сотоварищи, "Компьютерная лингвистика и перспективные информационные технологии", 2004 год. Пока что самая интересная книга по данной теме из виденных мной. Ее идеи отличаются от ортодоксальных, и при этом похожи на мои. Сначала я вообще тихо фигел, читая свои собственные придуманные чуть ли не несколько дней назад мысли и думая, что, блин, как же полезно учить матчасть-то, оказывается. Потом понял, что все-таки авторы имели в виду чуть-чуть другое, хотя и все равно во многом совпадающее, а вычитываю я, как и любой читатель, не то, что написано, а то, что хочется вычитать, о чем думается в настоящее время.&lt;br /&gt;&lt;br /&gt;А мысли-то очень простые. Пословный анализ с переводом - это зло, потому что слово без контекста далеко не всегда имеет хоть какой-то смысл. В моем понимании единицей текста надо считать коммуникативный фрагмент - нечто слабоопределимое, но зато правдоподобное. У Белоногова все намного определеннее, но, имхо, менее перспективно, поскольку менее общо: он считает единицами текста устойчивые словосочетания, даже с оговоркой, что у него это слово подразумевает значительно больше того, что так обычно называется. А может, наши понимания и совпадают, только пока что лично мне это неочевидно. &lt;br /&gt;&lt;br /&gt;А в остальном - просто-таки полное согласие. Не нужно пытаться все сделать какими-то сложными алгоритмами, часто проще сделать простой алгоритм, работающий с большой базой паттернов и действующий по аналогии с уже известными вещами, в ней записанными. И морфологию, и синтаксис, и даже семантику можно вполне анализировать и синтезировать по аналогии. В книге даже приводятся описания, как именно это делать. Вот здесь опять начинаются расхождения: авторы слишком много знают про языки. Они у них и индоевропейские, и для поиска аналогии достаточно найти известные слова, кончающиеся так же... Либо это такое упрощение жизни, либо они знают какие-то лингвистические универсалии, которых не знаю я. Я бы искал (и буду искать! уже почти нашел) какие-нибудь общие подпоследовательности, и на их основе что-то думать...&lt;br /&gt;&lt;br /&gt;Подход к предлогам тоже не мой. Предлоги в книге - это просто слова такие маленькие, которые как-то связывают слова большие и имеют определенные грамматические ограничения. Традиционный такой филологизм. Все жду&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-968175348605164557?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/968175348605164557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=968175348605164557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/968175348605164557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/968175348605164557'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/10/rastlose-tage.html' title='Rastlose Tage'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3202382552676407645</id><published>2007-09-25T15:27:00.000+01:00</published><updated>2007-09-25T15:52:43.619+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><title type='text'>Гаааваряаат, мы юкси-какси...</title><content type='html'>После вчерашнего долгого выяснения, кто такой &lt;a href="http://fi.wikipedia.org/wiki/Kaarle_Kustaa"&gt;Kaarle Kustaa&lt;/a&gt;, и потом вдумчивого чтения соответствующих заметок в Википедии на финском, эстонском, испанском и идо, подумалось, что Википедия - это ж замечательное место для изучения языка. Статьи есть на разных языках, при этом в них рассказывается примерно одно и то же. Надо только подобрать статью так, чтобы на знакомом языке было написан не меньше, чем на незнакомом. И все, билингвистическое изучение рулит. А иначе хрен найдешь на финском что-нибудь с дословным переводом на русский. Самое близкое, что я видел - это Калевала такая в Петрозаводске продавалась. Но она не дословная была...&lt;br /&gt;&lt;br /&gt;И вообще, нужна правильная программа для обучения языку. Которая бы сначала показывала б тебе какой-нибудь текст на иностранном языке, в котором немногие незнакомые слова выводились бы из контекста, либо в крайнем случае подсказывались системой, а потом бы она просила перевести какие-нибудь простые выражения с русского на другой. И вообще, нужно показывать как можно больше выражений на другом языке, просто чтобы человек запомнил основные паттерны. А то образование финского генитива запоминанием и применением правил, имхо, хрен выучишь. А эти "как можно больше выражений" система должна создавать сама из слов, которые человек уже типа знает, иногда вводя новые. Потом, прося перевести с русского, система должна контролировать знания и соответственно менять то, что требуется, приспосабливаться к нуждам. Паттерны в идеале берутся из должным образом проанализированного корпуса текстов. Потом в эти паттеры подставляются известные слова на место тех, что были в оригинале в корпусе. И система должна бы еще бы и понять, в каких случаях можно подставлять, а в каких - нет. Чтобы получилось выражение, валидное с точки зрения носителя языка.&lt;br /&gt;&lt;br /&gt;Семантика... Тоже нужна, да. Быть может, она действительно описывается каким-то формальным языком, типа даже Тузовского, только этим текст не исчерпывается. Мы же помним, что для перевода нужно как-то формализовать эффект, который текст производит на читателя, причем даже на разных читателей с разным бэкграундом. А эффект производит не только и не столько семантика, а и какие-то знакомые словосочетания, напоминающие о каком-нибудь Пушкине, или глубокая мораль текста ("всему свое место" в случае сказки про курочку Рябу). Так что при анализе нужно в качестве промежуточного представления иметь даже не язык, описывающий семантику, а некий набор инструкций, которые, будучи примененными к человеку, произведут тот же эффект, что и текст. Инструкции от "вспомнить про Пушкина" до "подумать, что всему свое место" через "создать объект Джизус и сделать так, чтобы он послушал, что некто я (надо бы зарезолвить) не сильно в восторге от происходящего". Сие есть инвариант текста. А потом надо изобресть текст на таргетном языке с тем же эффектом. Короче, ничего нового.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3202382552676407645?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3202382552676407645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3202382552676407645' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3202382552676407645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3202382552676407645'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/09/blog-post_25.html' title='Гаааваряаат, мы юкси-какси...'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4751891949167500076</id><published>2007-09-22T10:47:00.000+01:00</published><updated>2007-09-22T15:52:30.394+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Про моральных жывотных вкратце</title><content type='html'>Чтобы минимизировать энергетические потери на выяснение отношений, животный мир давно придумал иерархию для социальных животных. Один раз устанавливается, и не очень часто меняется порядок доминирования, и особи имеют ранг, от альф до омег.&lt;br /&gt;&lt;br /&gt;Самке обычно дорого обходится заведение потомства, ребенка надо носить, потом еще и поддерживать. У человека совсем жуть, ибо поддерживать его надо весьма долго. Многие годы жизни самок уходят на это. Посему самка, как большая ценность, скорее всего без самца не останется. Ему же чисто теоретически нужны минимальные усилия: сунул, вынул, и бежать - поэтому именно самцы конкурируют за право оплодотворить самку и дать своим генам новую жизнь. А самки выбирают. &lt;br /&gt;&lt;br /&gt;Поскольку дети человека беспомощны, а самка сама вряд ли справится, то, если ее не поддерживать, дети вымрут. Поэтому эволюции выгодно сделать так, чтобы отцы своих детей воспитывали вместе с самками, увеличить их долю реусрсного вклада в воспитание потомства. Выгодно также и привязать отцов к матерям и взаимно, отсюда любофф.&lt;br /&gt;&lt;br /&gt;Мужская сексуальная измена - это, конечно, обидно, но если он при этом остается в семье и продолжает вкладывать ресурсы в ребенка, то терпимо. Поэтому женщины нервничают больше, когда узнают, что он искренне полюбил другую, ибо тогда ресурсов уже фиг дождешься. Мужчинам же сексуальная жизнь их партнерш зело важна, ежели согрешит с другим, то придется воспитывать не свои гены, а это как-то невыгодно. А любовь... Что любовь? Люби кого хошь, спи только со мной. И все это на глубоко инстинктивном уровне.&lt;br /&gt;&lt;br /&gt;При этом все гены стремятся выжить, и соответственно влияют на поведение особи. Для мужчин возможны стратегии про сунул-вынул, и про верного отца (с всевозможными промежуточными вариантами). Для женщин - выбора родителя одного из этих двух типов.&lt;br /&gt;&lt;br /&gt;Надо сказать, что ранг примерно для того и сушествует, чтобы самкам было легче выбирать. Все просто - чем выше ранг, тем, скорее всего, лучше гены, здоровее и пробивнее будет потомство. Все ведь потому, что альфы пробивные, пробиваются, берут себе самок, размножаются, и их гены альфовости более успешны. А омеги просто сидят и симунят себе тихонько в уголке...&lt;br /&gt;&lt;br /&gt;Чем выше ранг самца, тем больше самок готовы отдаться ему здесь и сейчас, ему нет нужды тратить на каждую много времени и ресурсов, поэтому такие самцы предпочитают стратегию сунул-вынул. Самки в любом случае предпочитают этих самцов. Они могут пытаться претендовать на родительский уход со стороны самца или забить, либо надеясь воспитать ребенка самостоятельно, либо найдя самца-омегу, который, ничего не подозревая, вырастит не своего ребенка. В первом случае самца надо тестировать достаточно тщательно, а будет ли он хорошим отцом, а не убежит ли, во втором же надо максимально быстро затащить его в постель.&lt;br /&gt;&lt;br /&gt;Самцы, вообще-то, конечно бросаются по жизни на все движущееся, но иногда тоже выбирают. И уж тем более тщательно выбирают самку, детей которой они будут воспитывать лично. Остальные связи на стороне - если выживут, то хорошо, если нет, то и не очень-то и хотелось, а уж если я отдаю столько лет жизни и ресурсов на воспитание, то уж лучше там были бы хорошие гены. Ну и лучше бы это были именно мои дети, поэтому та, кого я выбираю, не должна иметь потрепанный промискуитетный вид, а должна вести себя скромно и воспитанно, сначала думая, и только потом трахаясь.&lt;br /&gt;&lt;br /&gt;Критерий хорошести генов самки - красота. Поэтому самец, если у него есть выбор, за кем ухаживать (таковой выбор есть обычно у альф, а конечный выбор, напомню, все равно за самкой), будет ухаживать за более красивой. Поэтому, чтобы иметь шансы окрутить альфу, надо быть красивой. Или по крайней мере, так полагать. Посему женщины, считающие себя красивыми, приоретной считают стратегию пытаться заполучить альфу в семью. Делают для этого максимально скромный вид. Те же, кто считает себя так себе, пытаются хотя бы гены добыть, и для этого носят юбки покороче, косметики побольше и т.п. Они же больше всего и страдают от того, что "все мужики сволочи", потому что мужики ведь тоже естественно отбирались и знают, что при таком поведении после сунул-вынул можно и бежать, жена найдется и получше (если уже не нашлась).&lt;br /&gt;&lt;br /&gt;И называется такое разное отношение мужчин к женщинам дихотомией "мадонна/шлюха", работающей очень четко (по крайней мере, в себе я такое очень давно заметил). Бывают женщины для любви, а бывают - для секса на один раз. Воть. Такой вот жизненный вывод.&lt;br /&gt;&lt;br /&gt;Конечно, все это не совсем соответствует реальности, есть еще некоторые наслоения культуры да и просто каких-то других особенностей поведения, но статистически все весьма похоже.&lt;br /&gt;&lt;br /&gt;Короче, книга жжот. И это еще только малая часть. Остальное, может, тоже надо будет для лучшего понимания попересказывать, но попозже.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4751891949167500076?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4751891949167500076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4751891949167500076' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4751891949167500076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4751891949167500076'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/09/blog-post_22.html' title='Про моральных жывотных вкратце'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-6989756873982192632</id><published>2007-09-17T17:58:00.000+01:00</published><updated>2007-09-17T18:08:18.127+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Этология форева</title><content type='html'>Вот, читаю литературу по сабжу. Всякую разную. Например, про саблезубых сосисок. Но больше всего, естественно, самые интересные ее воплощения (они же самая попса) - про человека. Например, "Трактат о любви, как её понимает жуткий зануда" Протопопова. Однозначно рекомендую, крайне увлекательно. На что реагируют мужчины и женщины при выборе партнера, как они помечают территорию, как вообще происходит их общение, при чем тут обезьяны и многое другое. Временами пробирает на дикий хохот. И ведь правдоподобно же!&lt;br /&gt;&lt;br /&gt;Или вот сегодня начал "Моральное животное" Роберта Райта. Тоже многообещающе, но посерьезнее. Нам расскажут про то, как мораль возникла средствами естественного отбора в животном мире, что это не только культурный феномен. И что человека - это все равно жывотное. Пока что я прочитал совсем чуть-чуть, до весьма вдохновляющей фразы "Даже Чарльз Дарвин был животным".&lt;br /&gt;&lt;br /&gt;Короче, &lt;a href="http://ethology.ru"&gt;ethology.ru&lt;/a&gt; рулит.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-6989756873982192632?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/6989756873982192632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=6989756873982192632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6989756873982192632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6989756873982192632'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/09/blog-post_17.html' title='Этология форева'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-1676082230528819809</id><published>2007-09-08T19:38:00.000+01:00</published><updated>2007-09-08T19:42:56.322+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='просто'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>Пафос</title><content type='html'>Новый способ получения удовольствия от мюзикла. Нужно его слушать, при этом играя что-нибудь (видимо, мелодию песни или аккомпанемента) на пианине. Хотя бы одним пальцем. Во-первых, тренируется абсолютный слух и скорость позиционирования на нужную ноту. А побочный эффект - что ощущения почему-то примерно как на живом спектакле в каком-нибудь Штуттгарте. И хочется бросить все и бежать к стейдждору.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-1676082230528819809?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/1676082230528819809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=1676082230528819809' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/1676082230528819809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/1676082230528819809'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/09/blog-post.html' title='Пафос'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-6826167568964188641</id><published>2007-08-31T09:19:00.000+01:00</published><updated>2007-08-31T09:20:59.317+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='просто'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><category scheme='http://www.blogger.com/atom/ns#' term='фото'/><title type='text'>А мне понравилось</title><content type='html'>Понравилась пикаса, загрузил туда еще фоток, из апрельских странствований по Европам. &lt;br /&gt;&lt;a href="http://picasaweb.google.ru/gromopetr/EuropeApril07"&gt;вот&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-6826167568964188641?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/6826167568964188641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=6826167568964188641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6826167568964188641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6826167568964188641'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/blog-post_31.html' title='А мне понравилось'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5889446324289378716</id><published>2007-08-27T14:19:00.000+01:00</published><updated>2007-08-27T14:20:25.504+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><category scheme='http://www.blogger.com/atom/ns#' term='фото'/><title type='text'>Фотки</title><content type='html'>Немного, но что есть. &lt;a href="http://picasaweb.google.ru/gromopetr/NYCAugust0702"&gt;Фотки&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5889446324289378716?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5889446324289378716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5889446324289378716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5889446324289378716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5889446324289378716'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/blog-post_27.html' title='Фотки'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3278555056575574750</id><published>2007-08-26T20:23:00.000+01:00</published><updated>2007-08-26T21:31:50.740+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>NYC 9&amp;10</title><content type='html'>Не очень концептуальные дни, на самом деле. В понедельник просто гулял, встретил еще раз Рокфеллеров (не без умысла, надо сказать, совсем скучно было), потом вернулся в хостел, поспал, пошел на Рент. Да, накануне я купил на него билет, и даже не лотерейный. Просто они и так по воскресеньям за полцены продаются, и были весьма неплохи, третий ряд...&lt;br /&gt;&lt;br /&gt;Главное впечатление на Ренте не от Рента, а от себя. У меня совершенно четко наступил передоз, иногда даже скучно было. Правда, и зал в этот раз реагировал несколько послабее (и толпа у стейдждора поменьше была), так что, видимо, не только передоз виноват. А вообще, за неделю в Ренте ничего особо не изменилось. Чуть-чуть другой каст, другие две бомжихи и другая Морин (Kelly Karbacz). У этой Морин голос получше, игра похуже, истерики меньше, внешне больше напоминает Менцель.&lt;br /&gt;&lt;br /&gt;Автографы Марка (Рэпп), Мими (Tamyra Gray) и, собственно, Морин. Паскаля опять не было. По-моему, он возгордился. При том, что играет хреноватенько, опопсел окончательно.&lt;br /&gt;&lt;br /&gt;Во вторник с утра лил дождь, ровно такой, чтобы под ним было некомфортно гулять (лил, а не капал), и такой, чтобы все не вылилось до вечера. Было грустно, идея прощальной прогулки канула. И какого черта, чем понтовее здание, тем понтовее покрытие тротуара перед ним, вот нет бы асфальт положить, или хотя бы стандартные бетонные плиты... Нет, им обязательно какой-нибудь мрамор надо. По которому моя обувь скользит. Очень сильно. Ненавижу понты.&lt;br /&gt;&lt;br /&gt;С горем пополам доскользил до эппл-стора, в последний раз посидел в тамошнем халявном нете, потом пошел покупать все заказанное. В итоге выяснилось, что макбуков, нужных Киру, у них есть только на стенде, пришлось срочно решать покупать макбук дороже. Сумко для этого макбука, носочки для пеговского айпода... Потом в том же сторе долго под удивленными взглядами распаковывал красивую коробочку от макбука, доставал оттуда все лишнее, переупаковывал, инициализировал сам макбук, качал из нета туда всякую фигню, и дальше медленно направился в аэропорт. Коробку оставил где-то в метро. В урну она не лезла. Интересно, они ее потом обследовали на предмет взрывного устройства...&lt;br /&gt;&lt;br /&gt;В аэропорту нашел розетку, зарядил ноут. Полюбовался на воробушков, летающих по этому самому аэропорту, прямо в зоне ожидания уже непосредственно перед входом в самолет. Потом, в полете, читал с ноута (удобнее, чем с покета оказалось) накачанную фигню. Фигня вполне соответствовала обстановке, не располагала к размышлениям, была веселой, некоторые соседи даже нервничали от моих смешков. На коленях его было держать вполне удобно, грелся несильно. Правда, я и держал его не очень долго, в итоге все равно заснул. Ну и это, хоум, свит хоум.&lt;br /&gt;&lt;br /&gt;Итого. Если на Бродвей зачем-то и ехать, то только на Рент (ну, при сильном желании еще на Викед и Спринг), и на (офф-)*бродвей (где-то я это уже писал). 12 спектаклей за 9 дней - это перебор. Больше в Нью-Йорке делать (по крайней мере мне) в основном нечего.&lt;br /&gt;&lt;br /&gt;Театры там какие-то... как метро, функциональные. Причем это относится к старым театрам, новые, которые чисто внешне как раз без всякой лепнины, намного приятнее в обращении. Вот я все время жаловался на отсутствие фойе. Это концептуальная жалоба, ибо именно поэтому перед театрами всегда (а не только на Ренте) организуется огромная очередь из желающих, но не пускаемых, ибо некуда, зал типа еще не готов. Ну и вообще неопрятно как-то.&lt;br /&gt;&lt;br /&gt;Бесплатно раздаются плейбилловские программки, где есть куча рекламы, каст (с предысторией каждого участника) и список песен. Платно докупаемые программки по обычно 20$ не рулят, они тонкие, фоток мало, про каст ничего, тексты тоже не очень интересные. Некоторые платные программки продаются вместе с минималистическими рюкзачками. Рентовский рюкзачок я подарил, остались у меня Коруслайновый и Спринговый.&lt;br /&gt;&lt;br /&gt;Развита культура хождения к стейдждору. Если в Европе это редкость, и там собираются обычно самые-самые извращенцы, то тут - все, кому не лень. Максимальные толпы в Европе я видел на Вистле в Лондоне и на Ребекке в Вене. Здесь стейдждор даже огораживается мобильным заборчиком, и есть специальный человек, который за этот заборчик не пускает, он же командует внутрь: "Следующий".&lt;br /&gt;&lt;br /&gt;А в целом классно съездил, мне понравилось. Теперь надо думать, куда же дальше. Вроде, все злачные места уже объездил. Ну, может, Будапешт еще когда, но это когда еще... Сначала им проникнуться надо. А то вот Рент и в Лондоне обещают с октября, в суперсовременной переделке... Чем не повод?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3278555056575574750?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3278555056575574750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3278555056575574750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3278555056575574750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3278555056575574750'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/nyc-9.html' title='NYC 9&amp;10'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-9132393111431767565</id><published>2007-08-20T16:26:00.000+01:00</published><updated>2007-08-26T21:30:40.999+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>NYC 8</title><content type='html'>Утром прогулка на восток от централ-парка. Конкретно, до Ист-Ривера. Дальше хотелось бы по мосту Квинсборо на остров Рузвельта, но как-то я сразу не заметил пешеходного входа туда. И правильно сделал, как выяснилось. Потом заметил трамвайчег (канатную дорогу) на этот самый остров, на ней и поехал. Пошлялся по острову, узнал, что по мосту Квинсборо туда можно попасть, разве что дойдя до середины и прыгнув оттуда с парашютом. Вот ненавижу такие мосты над сушей, на которую не попасть. Чтобы попасть бесплатно на остров, нужно по этой квинсборе дойти до конца, до Квинса, пройти метров 500 на север, и пройти по другому мосту. Как-то долго получается. А остров миленький. Практически нет машин, симпатично, зелено. Интересно, это элитный район?&lt;br /&gt;&lt;br /&gt;Далее очередной офф-бродвей. Кот в мешке, как обычно. Причем не простой кот, а квантовый, потому что его не было даже в проекции, когда я ехал сюда. Просто мне понравилось LovePerfectChange, с ним приятно проассоциировался театр, в котором также идет еще и вот это: My mother's Italian, my father's Jewish and I'm in therapy. Моноспектакль, не мюзикл (я ваще офигел!). В течение полутора часов главный герой - Стив (Paul Kreppel) - рассказывает историю своей жизни. Происходит это все типа в кабинете у психотерапевта (да, популяная это у меня профессия в этой поездке). Это уже третий такой специалист в жизни Стива. Первого он посещал три года, потом спросил "ну а когда же я вылечусь? прогресс-то есть?", тот, поразмышляв, ответил, что "наверное, жизнь - это не для всех". Ко второму Стив ходил год, и тот в течение этого года не вымолвил ни слова. Когда же Стив по прошествии года поинтересовался, а почему, тот ответил "я не понимаю английского" по-испански. И вот третий... Доктор Ассоли. По крайней мере, Стив искренне надеется, что фамилия Asshole произносится именно так.&lt;br /&gt;&lt;br /&gt;Вот. Это дает некоторое представление о шоу. Смешно вообще-то. Некоторые шутки лучше, некоторые хуже, некоторые с бородой, некоторые даже интеллектуальны. Товарищ очень умело изображает разные голоса, в лицах представляет всю свою семью, вплоть до собаки, стебется над Кошером, политкорректностью (но крайне политкорректно), играет немножко на фонЕ. Веселое и доброе шоу, не претендующее на глубину мысли.&lt;br /&gt;&lt;br /&gt;Дальше просто гулял под дождичком до Юнион-сквер и обратно. Вот это даже можно назвать сквером... Не то, что Таймс-one. Ну кому могло прийти в голову назвать пересечение двух улиц под очень острым углом и еще трех параллельных стритов поперек сквером? Сквер, друзья мои, это квардрат. А тут бабочка, скорее, получается какая-то. Ну да ладно.&lt;br /&gt;&lt;br /&gt;Вечером еще один офф-бродвей, хотя по местоположению он бродвеистее всего остального, что я здесь видел. The Fantasticks. World's longest running musical. Одну из ролей играет автор текста под псевдонимом Thomas Bruce. А автор там не простой, а Том Джонс... Правда, я про него в основном знаю, что он спел однажды Vaults of Heaven, и что у него диапазон похож на мой, поэтому надо брать с него пример, но все равно приятно было знать, что вот этот старичок - это Том Джонс. Да он еще и жжог, вдобавок, в роли Старого Актера, вместе со своим напариником, Человеком, который умирает (Robert L. Oliver).&lt;br /&gt;&lt;br /&gt;История проста. Есть Девушка (Julie Craig), есть Юноша (Nick Sprangler). Конечно же, любят они друг друга. Только вот злые отцы (Martin Vidnovic, John Deyle) возвели стену между их садами, чтоб их разлучить (исполнитель роли стены тоже жжог, да). И вот, чтобы молодые соединились в экстазе, требуется еще Рассказчик, он же Эль Гайо (Burke Moses), и два вышеупомянутых актера... Очень весело, и в конце концов наступает таки хэппи-энд. Это все первый акт. Во втором, в лучших традициях Сондхайма, наступает реальная жизнь, и все оказывается не таким и прекрасным. Вьюнош страдает от столкновения с миром, Девушко пытается охмурить Эль Гайо... И грустно. В конце все равно хэппи-энд, но он уже более философский.&lt;br /&gt;&lt;br /&gt;Оркестр из пианино и арфы. Минимум декораций (помост, занавес, все остальное (включая актеров) по мере надобности достается из специального ящика). Исполнители без микрофонов. Обстановка камернее некуда, и энмерной ее делать не надо, она идеально подходит под мюзикл. Актеры молодцы. Ну что еще сказать? Офф-бродвей рулит. Вообще, в Нью-Йорк надо ехать на Рент, возможно, Викед со Спрингом, и на офф-бродвей. Возможно, еще на офф-офф-бродвей, но там я так и не был. И вряд ли уже побываю.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-9132393111431767565?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/9132393111431767565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=9132393111431767565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/9132393111431767565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/9132393111431767565'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/nyc-8.html' title='NYC 8'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-8741337194917021179</id><published>2007-08-18T22:41:00.001+01:00</published><updated>2007-08-26T21:26:49.885+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>NYC 7</title><content type='html'>Впервые нормально выспался, без пробуждений во всякие экзотические времена типа 2 или 4 утра. Наконец-то приспособился. Самое забавное, что в среду надо будет начинать приспосабливаться обратно. Еще с недельку...&lt;br /&gt;&lt;br /&gt;Утром, надеюсь, в последний раз тктс, где определились планы на тот вечер и следующий день. Потом посещение выставки The Human Body (прикольно! как там все, оказывается, сложно! а как рак выглядииит... бррр. не хочу) и прогулка по Бруклинскому мосту.&lt;br /&gt;&lt;br /&gt;And now the end is near, and so I face my final "Curtains". Ну шоу как шоу. Иногда даже смешно. А в целом не вставило. В касте, оказывается, Джилл Пейс. Я ее, правда, не знаю, но имел шанс узнать, удели я больше внимания "Женщине в Белом". Ну да, неплохая такая Джилл Пейс. Но в целом хотелось спать. Может, это передоз уже наступает, восьмое все же уже шоу (планируется 12). Возможно еще, что не впечатлило из-за непонимания, они там очень нечетко говорили, почти все. Так что про большую часть шуток я узнавал исключительно по реакции зала.&lt;br /&gt;&lt;br /&gt;Рядом со мной сидела некая разговорчивая бабушка, в антракте рассказывала мне, что это шоу так себе, надо сходить еще на какое-нибудь (кому вы это рассказываете?), вот например Фантом (видел в Лондоне) или там Мамма Мия (видел в Москве)... Потом я ей сказал, что самым лучшим виденным мной на Бродвее является Рент, она в ответ замахала руками, сказала, что это вульгарно, там всякие нехорошие слова говорят и все такое. Интересно, это она про shit и fucking? Если да, то ничем не могу помочь.&lt;br /&gt;&lt;br /&gt;Интересно, кстати, почему, стоит мне только открыть рот, меня тут же спрашивают, откуда я? Неужели у меня такой сильный акцент? Вот уж не предполагал, думал, с этим-то у меня все более-менее в порядке.&lt;br /&gt;&lt;br /&gt;Вечером были Мизерабли. Их тут называют ласково ЛеМис. В четвертый раз я смотрел этот мюзикл (рекорд), и как-то с каждым разом все хуже и хуже. Не вставило как-то. Почти по поводу всего каста есть мелкие и не очень придирки, что портит все впечатление. Причем каст субботневечерний, то есть, наилучший, без замен... Ну начнем.&lt;br /&gt;&lt;br /&gt;Вальжана играет некто Сарыч (Drew Sarich). Актер хороший, только вот играет он не Вальжана, а весь свой предыдущий послужной список. Вальжан с длинными волосами - это сильно. Когда они вначале, на каторге, еще и спутаны и нечесаны, выглядит он как типичный Хайд. Потом вид становится благообразнее, и внешне он уже напоминает какого-то Джизуса, при этом ведет себя совершенно как Джудас. При этом он очень молодо выглядит, предыдущей его ролью был один из студентов в тех же Мизераблях. А молодость Вальжану не присуща. По идее.&lt;br /&gt;&lt;br /&gt;Расследование показало, что я Сарыча видел в роли Иуды в Амштенновской видеоверсии Джизуса. Неплох, действительно.&lt;br /&gt;&lt;br /&gt;Жавер (Robert Hunt) хороший. Добрый только слишком. И возникает когнитивный диссонанс между его видом и текстом, который он поет.&lt;br /&gt;&lt;br /&gt;Анжольрас - одно из двух знакомых имен в касте, Макс фон Эссен. Ну типичный такой Альфред. Только уверенный в себе и спокойный, как слон. Но все-таки убедительности ему не хватает, не верится, что такой мог возглавить революцию. Харизмы мало. И Do you hear the people sing с One day more завалил.&lt;br /&gt;&lt;br /&gt;Козетта. Ужоснах. Причем как маленькая (Carly Rose Sonenclar), так и большая (Ali Ewoldt). У маленькой визгливый голос и жуткий акцент, у большой очень сильное и надоедливое вибрато, и очень высокий голос, причем, кажется, даже академический. Бьет по ушам. Когда они с Мариусом (у которого тоже высокий голос) поют дуэтом, хочется смеяться и убежать подальше одновременно.&lt;br /&gt;&lt;br /&gt;Кстати, о Мариусе (Adam Jacobs). По модулю голоса неплох. Как и все студенты, молод (они все гораздо моложе, чем в других постановках, подростки практически). Самоуверен. В начале A heart full of love так смело, распахнув руки, пошел к Козетте, что в зале были смешки. А казалось бы, романтический момент...&lt;br /&gt;&lt;br /&gt;Тенардье супруги (Chip Zien, Ann Harada). Ну они мне нигде никогда не нравились, так что тут ничего нового. Хотя... Наверное, здешние все же получше будут. Чуть-чуть. Посмешнее&lt;br /&gt;&lt;br /&gt;Фантина. Редкое исключение, ни одной претензии. Ну впрочем, чего еще можно ожидать от Леи нашей Салонги. Замечательная Фантина. Но лучше б она все равно Эпониной была...&lt;br /&gt;&lt;br /&gt;Эпонина (Megan McGinnis) тоже вполне ничего, иногда чуть занудновата. Внешне похожа на главную героиню из "Кошмара перед Рождеством".&lt;br /&gt;&lt;br /&gt;Вообще очень политкорректный каст. В каждой выделенной группе (рабочие, проститутки, матросы, студенты, банда Тенардье) есть ровно один негр (про рабочих не уверен, возможно, больше). Но все главные персонажи - белые.&lt;br /&gt;&lt;br /&gt;Внешне все выглядит почти как в Лондоне, ну какие-то мелочи другие. Оркестровки другие, совсем, иногда приятнее, иногда нет, в целом менее монументальные. Забавно слышать Do you hear the people sing на акустической гитаре.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-8741337194917021179?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/8741337194917021179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=8741337194917021179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8741337194917021179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8741337194917021179'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/nyc-7.html' title='NYC 7'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3467091292609413203</id><published>2007-08-18T22:31:00.000+01:00</published><updated>2007-08-26T21:22:08.796+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>NYC 6</title><content type='html'>С утра в тктсе купил билеты на Curtains днем следующего дня. Поехал в Квинс, посещать второе обязательное мероприятие любой поездки (вместе с музеем естественной истории) - музей науки. Тут это называется по-другому, да и неконцептуально. Маленькое, в основном учит детей мыть руки на примере изображений микробов, ну и все такое. Детей, кстати, дофига. Мне, конечно, понравилось, но все равно слишком мало.&lt;br /&gt;&lt;br /&gt;Далее сидел в тамошнем парке, читал, думал. О судьбах языка, разумеется. Может быть, когда-нибудь и напишу, что придумал... Хотя неконцептуально. Сверху покапало, посверкало. Вернулся в центр. Тут тоже покапало, причем так, что пришлось зайти под крышу. Крышей совершенно случайно оказался книжный магазин, где я купил оставшиеся 3 заказанные диска. Ну почему я тут пока не встретил нормального большого дискового магазина? Все в книжных приходится покупать...&lt;br /&gt;&lt;br /&gt;Второе офф-бродвейское шоу, Sessions. Кот в мешке. Я про него ничего не знал, когда заказывал онлайн билеты. Вааще ничего. Ну кроме аннотации. Ну есть психоаналитик (Matthew Shepard), у него некоторое количество поциентов, каждый со своими проблемами, ну и у него самого есть проблемы, которые он обсуждает уже со своим психоаналитиком. Собственно, после просмотра ничего большего сам не могу сказать: это действительно замечательно описывает сюжет. Кроме того, мне понравилось очень. Как-то все так просто, по-домашнему, камерно, иногда весело, иногда грустно, всегда трогательно. Играют хорошо. Особенно когда психоанализируют самого главного героя. Тут они явно из Кордебалета слизали концепцию, что откуда-то сзади зрительного зала доносится голос (Ed Reynolds Young), а его обладателя мы не видим даже на поклонах. Или из ЧГК слизали... Ху ноуз... Рекомендую.&lt;br /&gt;&lt;br /&gt;Единственное место, где программка своя, не плейбилловская стандартная.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3467091292609413203?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3467091292609413203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3467091292609413203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3467091292609413203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3467091292609413203'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/nyc-6.html' title='NYC 6'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3482145411510973702</id><published>2007-08-18T22:08:00.000+01:00</published><updated>2007-08-26T21:19:45.424+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>NYC 5</title><content type='html'>Это было так давно... Позавчера... Но мы это помним. А может быть, не помним. Но будем вспоминать.&lt;br /&gt;&lt;br /&gt;Ну какая же поездка без музея естественной истории? Особенно если он там есть. В Нью-Йорке он есть, так что, положение обязывает, пришлось зайти. Понравилось. Музей большой, экспонатов много, все по делу. Не то, что в Вене. Скорее, как в Лондоне. Только в Лондоне мне все равно понравилось больше. Тут очень сильный уклон в этнографию, что к естественной истории в моем понимании имеет мало отношения. Но зато посмотрел на всякие костюмы народов мира.&lt;br /&gt;&lt;br /&gt;После музея сижу я в централ-парке, отдыхаю, и тут слышу: "Фантастика!". Поворачиваюсь, и вижу тетеньку, которой, собственно, давеча искал такси в аэропорту, кое потом меня и довезло. Тетенька выгуливает ребятенка, девочку в колясочке. Мило поговорили. Выяснилось, что девочка не простая, а то ли дочь, то ли внучка Джона Рокфеллера четвертого, подрабатывающего сенатором в парламенте. А тетенька - родственница некая, ее задача - обучать эту Перси русскому. Вот так вот. Теперь расстояние по знакомым от меня до Клинтона - 3. Правда, думается мне, оно и раньше было 3 (мы с Друзем знаем друг друга, он наверняка знает какого-нибудь мощного политика, ну и вот и оно).&lt;br /&gt;&lt;br /&gt;Вечером был Wicked. Шел я туда с настроением (произносится с отвращением) "фу, попса, мюзикл по фанфику". Театр, в кои-то веки, оказался нормальным, с фойе (даже больше, чем надо), большим и современным. Мюзикл весьма популярен. Билеты я заказывал, кажется, недели за 3, и на некоторые дни их просто не было. Ну вот на четверг были. Я и заказал наилучшие. Когда я увидел свое место, я понял, почему они были... Наилучшими были билеты на ряд L второго балкона. Когда мне показывали мое место, делали это примерно в таких выражениях: вон лестницу видите? и вон там на саамом верху одно место? вот, оно ваше. Придя наверх, я увидел, что не все так плохо, оказывается, есть еще даже ряд М, только его снизу видно не было. Но все равно я обиделся, и смотрел шоу, удобно расположившись на ступеньках чуть ниже. Зато обзор оттуда потрясающий.&lt;br /&gt;&lt;br /&gt;Собственно, сам мюзикл приятно удивил. Сюжет оказался не такой попсой, как в пересказе некоторых. Вообще Баум, конечно, молодец, но не совсем. Волков мне больше нравится, серьезнее у него все. Вот и у Магуайра тоже получилось серьезнее, чем у Баума. И подача правильная.&lt;br /&gt;&lt;br /&gt;Музыка... Ну что уж тут поделать... Но некоторые мелодии приятны. Эльфаба (Lisa Brescia) из неоснового состава жгла, Глинда (Kendra Kassebaum) тоже была вполне адекватна. Прелесть какая дурочка. Ой, нет, скорее... Ну и дура! А под конец поумнела, тоже адекватно. Ну остальные как остальные... Красивые декорации, я только не понял, почему они представляют собой различные детали часов.&lt;br /&gt;&lt;br /&gt;Ушел в приятном расположении духа. Взял автографы у Глинды, Эльфабы и Волшебника (Lenny Wolpe).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3482145411510973702?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3482145411510973702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3482145411510973702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3482145411510973702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3482145411510973702'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/nyc-5.html' title='NYC 5'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2345814973305786102</id><published>2007-08-16T15:15:00.000+01:00</published><updated>2007-08-26T21:16:48.294+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>NYC 4</title><content type='html'>Что-то у меня со сном не в порядке здесь. Никак не могу перестроиться. Вот в этот день проснулся в 5 и заснуть больше не мог. Что печалило, если учесть большие планы на этот день.&lt;br /&gt;&lt;br /&gt;Собственно, планы не то, чтоб большие, но до вечера. Сначала до 11 нужно в порт, где находится касса tkts, продающая билеты на вечерние спектакли со скидкой с 11 утра (на Таймс-сквер тктс продает их только с 15). В кассе за 60 баксов узнал, что вечером иду на Spring Awakening, на балкон. Побродил по окрестностям, посмотрел на вертолеты, посмотрел на цену экскурсии, пошел дальше. Дошел до книжного магазина, порадовался, увидев там в компе Whistle down the wind, огорчился, узнав, что заказывать надо специально, и это долго будет. С горя купил в том же магазине 7 из 10 заказанных мне дисков. Думаю теперь, как это все домой везти. Походил вокруг места башен-близнецов, ознакомился с проектами памятников. Прошелся по берегу Гудзона. плавно перетекающего в берег гавани. Вот первое место в Нью-Йорке, где мне понравилось. Пейзаж не исчерпывается небоскребами, зелени немало. Надо еще по централ-парку походить, там должно быть тоже приятно.&lt;br /&gt;&lt;br /&gt;(только что чувак за соседним имаком долго искал там интернет. показал ему Сафари, продемонстрировал, что гугль работает на примере поиска "239". он так обрадовался)&lt;br /&gt;&lt;br /&gt;Ну погулял чуть-чуть, пришла пора возвращаться в центр. Сел в метропоезд, порадовался тому, какой он нетипичный - чистый, даже с лампочковой визуализацией станций, на которых останавливается... Смотрю, радуюсь. Потом осознаю, что что-то там одна и та же лампочка долго мигает. Типа, стоим мы. Уже минут 10. А у меня через полчаса мероприятие. По перрону какие-то полицейские с кем-то еще в спецодежде ходят... Потом по громкой связи машинист что-то про emergency рассказывает... Короче, меня достало, и я пошел оттуда. Побежал вернее. Искать другую станцию на другой линии. По дороге обматерил этот поезд, этого машиниста, это метро, эти улицы с пробками, этих людей, попадающихся по дороге, эти машины, делающие то же самое, этот город, эту страну, эту станцию неметрошных поездов, куда я по ошибке забежал (потратив еще полтора бакса), этот поезд на другой линии, что тоже тронулся только через минуты три после моего входа, то, что он локальный, шел со всеми остановками, что линию проложили вдоль восьмой авеню, а не девятой... В общем, я успел (что странно), но осадок остался.&lt;br /&gt;&lt;br /&gt;А спешил я в Вестсайдский театр, где меня ждало первое офф-бродвейкое шоу I love you, you're perfect, now change. Театр мне понравился, в отличие от остальных, в нем не ощущается исключительно утилитарное назначение, Например, там есть фойе... И вообще он маленький, камерный такой, а мне с децтва все маленькое нравилось... Спектакль тоже замечателен. Не устаю поражаться Экспектации, коя, слушая мюзиклы, умеет не только музыку воспринимать, а и слова. Если б она мне не превозносила этот мюзикл, я б в жизни туда не пошел. Многое бы потерял.&lt;br /&gt;&lt;br /&gt;Сюжета, собственно, практически и нет. Просто набор юмористических зарисовок из жизни пары, от первого свидания и до похорон. Весело. Музыка неконцептуальна, если ее воспринимать отдельно, что я и делал. Это как в БайДживсе... Оркестр на две персоны: роялист (классное слово) и скрипачка (Kim Duglas Steiner, Patti Ditzel - какие-то оба немцы) - находится наверху сцены, на втором этаже. На первом четыре актера разыграывают сценки, постоянно меняясь ролями. Очень симпатично. Двое (Jim Stanek, Karyn Quckenbush) из этих четырех (еще Amy White, Bryan McElroy) даже жжут.&lt;br /&gt;&lt;br /&gt;Больше написать что-то сложно, просто: мне понравилось. Рекомендую. Только не слушать, а смотреть, хотя бы потому что в песнях (кажется, на диске только они) далеко не все, там полно диалогов. Да и картинка довольно часто необходима для понимания.&lt;br /&gt;&lt;br /&gt;Пошел еще погулял, взобрался на Эмпайр-Стейт-Билдинг, на 86 и 102 этажи. Последнее для эстетов, вид примерно такой же, только за стеклом и в маленькой комнатке. Как третий этаж Эйфелевой башни. Только народу тоже мало. Стоишь и смотришь... Ощущение, будто играешь в СимСити. Во всех остальных высотах, где я был, его не было, там город не похож. А тут такие же в точности небоскребы, такие же машинки, оффтобусики...&lt;br /&gt;&lt;br /&gt;А тем временем и Спринг подоспел. Выяснилось, что там знакомые все лица. В моей окрестности сидела куча народа из той же утренней очереди в тктсе. Мило поговорили. Далее, альбомчег мне продал тот же товарищ, что накануне сделал это же с Кордебалетом. Тоже мило поговорили по этому поводу. Крисом звать. Работа у него такая, ходить и всем продавать альбомчеги про разные мюзиклы.&lt;br /&gt;&lt;br /&gt;Кстати, возле театра со Спрингом стоит некая церковь, и она как раз звонила, когда я подходил к театру. Долго думал, почему мне эта мелодия знакома. Потом понял и стал подпевать: there's no business like show business...&lt;br /&gt;&lt;br /&gt;Сам Спринг мне понравился. Правда, первые полтора акта я скучал, но потом просек фишку, и возрадовался. А фишка там в том, что это не стандартная американская комедия о подростковом сексе, а нечто более глубокое про неправильность пуританского воспитания молодежи в Германии конца 19 века. Ну вот нефиг не рассказывать детям, откуда они берутся. Они потом так удивляются, забеременев!&lt;br /&gt;&lt;br /&gt;Музыка вполне себе ничего в контексте картинки, исполнители бесятся не хуже рентовских. Некоторые зрители, видимо, випы, сидят прямо на сцене, по бокам, практически среди действия. Незанятые в данной сцене актеры частенько сидят там же. На заднем плане оркестр. Порадовало, что на пианине иногда играет специально обученный дирижер, а иногда - просто один из мальчиков из собственно каста, причем неплохо играет.&lt;br /&gt;&lt;br /&gt;Все, что ли?..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2345814973305786102?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2345814973305786102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2345814973305786102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2345814973305786102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2345814973305786102'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/nyc-4.html' title='NYC 4'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-7194460072569451092</id><published>2007-08-16T15:01:00.000+01:00</published><updated>2007-08-26T21:13:28.589+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>NYC 3</title><content type='html'>Ну совсем неконцептуальный день. Проснулся поздно, дошел до прозрачного куба, потом поехал на Брайтон. Приобрел опыт общения с нью-йоркским метро. Ужас просто. Хотя когда попривыкнешь, становится терпимо. А так... Грязно, противно, крыски бегают, неюзабильно, жарко периодически, автоматы карточки мои не едят, а с наличных дать достаточно большую сдачу отказываются. А еще поезда останавливаются на разных станциях, некоторые пропускают. Иногда хрен разберешь по указателям, куда идти, чтоб попасть в нужное направление. На одной станции вообще весело было. На нужное направление можно было попасть только войдя с улицы через правильный вход. Конечно, я об этом узнал только уже заплатив за вход. Пришлось проехать одну остановку в ненужном направлении, а там уже был переход внутри станции.&lt;br /&gt;&lt;br /&gt;А на Брайтоне прикольно... Русских много, с характерным одесским акцентом... Правда, впечатление тут же испортила попытка купить Нести в магазинчике. Только я его взял с полки и попытался понять, где тут касса, как тут же ко мне подлетела некая бойкая бабушка, и, крича, что я пытался стащить эту несчастную бутылку, вырвала ее у меня из рук и водрузила на место. Охранник у входа сказал ей, что все ОК, но я все равно обиделся и ушел покупать в другое место. Кстати, их там найти не очень тривиально. Везде продают исключительно какую-нибудь фигню.&lt;br /&gt;&lt;br /&gt;После Брайтона вернулся в центр. Посмотрел на лотерейную продажу билетов на Рент. Надо заняться, там шансы больше половины, кажется. И выглядит прикольно. И места хорошие...&lt;br /&gt;&lt;br /&gt;Потом пошел на A Chorus Line. "Кордебалет", то бишь. Неплохо. Но и не прекрасно. Так, средне. Лучше фильма. Хотя бы тем, что от фильма у меня было полное впечатление "и это они называют мюзиклом? песен раз два три и обчелся". Оказывается, песни там все же есть, и их раза в два больше, чем в фильме. Еще там есть хореография, тоже больше, чем в фильме. Зак (Grant Turner) здесь не великий и ужасный, как Майкл Дуглас, а просто свой парень, танцор, с несколько отеческими интонациями. Даже не знаю, что лучше. Ларри (Nick Adams) практически не видно. Остальные... Ну остальные как остальные, ничего особенного.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-7194460072569451092?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/7194460072569451092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=7194460072569451092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/7194460072569451092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/7194460072569451092'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/nyc-3.html' title='NYC 3'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5408156952010023364</id><published>2007-08-14T18:05:00.001+01:00</published><updated>2007-08-26T21:12:11.868+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>NYC 2</title><content type='html'>Неконцептуальный день. Утром погулял по централ парку чуть-чуть, зашел в Эппл стор, откуда посидел в нете нахаляву. Вчера за макбуком. сегодня за иМаком. Потом еще погулял по окрестностям, посмотрел на небоскребы (такое чувство, что американцы их разводят от того, что им больше нечего показать туристам), посетил выставку про стулья музея искусства и дизайна, вернулся в централ парк, посидел там (доолго), пошел на Рент. Рент рулил.&lt;br /&gt;&lt;br /&gt;Для начала надо кого-нибудь убить. Из гранатомета в упор, желательно. И есть подозрение, что это Крис Коламбус. Ибо кто еще мог так подавить Рэппа, что фильмовский Марк меня только и делал, что раздражал. А на самом деле он ведь может жечь, что и доказал. Правда, фильм все равно очень неплох... Но по порядку.&lt;br /&gt;&lt;br /&gt;Начинается все с очереди в театр. Ни за чем не стоят, просто пришли пораньше, а двери закрыты. Метров двести очередь. Потом сцена. Ну разбросана по ней фигня какая-то, прямо там же сидят музыканты (5 штук), справа стоит какая-то высокая (метров 10) хрень, типа, нагромождение стульев, столов, статуй, других вещей непонятного назначения, в сюжете не участвует никак, видимо, создает атмосферу.&lt;br /&gt;&lt;br /&gt;На сцену выходит Роджер. Адам Паскаль. Его встречают такими аплодисментами, что ужоснах. Я думал, это в России есть привычка ходить больше на актеров, чем на спектакль, ан нет. Так даже Светина на "Тени" не приветствовали. Роджер берет гитару, издает пару звуков, садится. Выходит Марк. Энтони Рэпп. Аплодисментов не меньше. Одновременно с Марком выходит весь остальной каст, распределяется по разным углам сцены. Шоу начинается.&lt;br /&gt;&lt;br /&gt;Паскаль как-то на удивление неактивен. Наверное, у него роль такая. А может, не в духе. В общем, я от него большего ожидал, особенно после просмотра Чессов. Кстати, внешне он больше напоминает Американца, чем Роджера из фильма.&lt;br /&gt;&lt;br /&gt;Заглавная песня дает, как обычно, неслабый заряд драйва. Тут он подкрепляется еще и тем, что на сцене есть весь каст, и в инструментальных проигрышах все они по-всячески бесятся. Зал в восторге.&lt;br /&gt;&lt;br /&gt;Энджел (Justin Johnston) - не совсем крут(а). Просто неплох(а). Барабанит хорошо. Голос такой высокий-высокий...&lt;br /&gt;&lt;br /&gt;Коллинз (Troy Horne) - милейшее создание. Подозрительно знакомый внешний вид, видимо, такая прическа - необходимая часть роли, как шарф Марка. Ну Коллинз как Коллинз в остальном, сложно что-то вспомнить.&lt;br /&gt;&lt;br /&gt;Замечательный Бенни (D'Monroe), как и все негры, весьма энергичен. С каким энтузиазмом он рассказывает You'll see boys!. При последнем слове подозрительно смотрит на Энджела и пытается приподнять его дедморозовскую шубку, убедиться в справедливости этого слова. Голос слабоват.&lt;br /&gt;&lt;br /&gt;Мими (Tamyra Gray) классная. Иногда чем-то на Масю похожа. Поведение очень кошачье, особенно в Out Tonight - Another Day. +100 за интонацию перед I should tell you: "You? Me... You? Me... Mimi...".&lt;br /&gt;&lt;br /&gt;Морин (Nicolette Hart). По заводности не уступает Рэппу. Они вдвоем (ну и музыканты еще), кажется, ловят наибольший кайф от шоу. Выступление сделано совершенно шикарно. Кстати, там, в отличие от Франкфурта (и, кажется, фильма), бэк-вокалисток нет (ну как богема может себе такое позволить?), поэтому Leap of faith и т.п. врубаются самой Морин нажатием кнопочки на специальном ящике рядом с ней. &lt;br /&gt;&lt;br /&gt;А задница у Идины Менцель в фильме все равно лучше.&lt;br /&gt;&lt;br /&gt;Джоанна (Merle Dandridge) средней симпатичности, полнейшее попадание в образ отпетой лесбиянки. И как они танцуют с Марком! Никакой фильм с его видеорядом не сравнится! Ревность к Морин у нее тоже хорошо выходит.&lt;br /&gt;&lt;br /&gt;А в похоронах Энджела с Франкфуртом все равно никто не сравнится. Здесь же просто выходят Мими, Марк, Морин, вспоминают всякие случаи из жизни сабжа, а потом выходит Коллинз и в виде надгробной речи просто поет I'll cover you (reprise).&lt;br /&gt;&lt;br /&gt;Как-то не осознавал, что Марк здесь не просто носится со всеми и рассказывает историю, что у него тоже жизнь есть, при этом глубоко несчастная. Рэпп дал это понять, спасибо ему за это.&lt;br /&gt;&lt;br /&gt;Второй акт слабее первого, пафосит там только начало (Seasons of love) и уже ближе к концу, начиная с What you own. Но зато как! Уровень эмоций на уровне. Я так подпевал в Seasons of love, кажется, даже Рэпп заметил.&lt;br /&gt;&lt;br /&gt;Паскаль хреново играет на гитаре. В Your Eyes он сыграл нечто намного примитичнее, чем во всевозможных студийных записях.&lt;br /&gt;&lt;br /&gt;А после конца... Я долго стоял в очереди за сувенирами (да, у меня теперь еще одна рентовская футболка есть), думал, что стейдждор нужно отложить до следующего раза (да, хочу), выхожу наконец из театра, а там... Такого я еще не видел. Вся улица перед стейдждором запружена зрителями, все стоят, ждут. Выходит Рэпп, тут начинаются вопли на весь Бродвей, все фоткают, протягивают программки, он подписывает. Потом то же с Морин, Мими и Джоан. Остальные не замечены. Видимо, таки вышли раньше. А раздача автографов длилась по меньшей мере полчаса. Я, кстати, не взял. Во-первых, хрен пробъешься сквозь эту толпу восторженных поклонниц, а во-вторых, при таком количестве взявших это уже попса какая-то получается, нафиг надо. Удовлетворился фотками.&lt;br /&gt;&lt;br /&gt;Главное впечатление - все очень круто, так держать. Но во Франкфурте все равно круче. Не знаю почему, но ощущения были сильнее. Кстати, а ведь когда-то давно заходил какой-то разговор о мировом туре, который чуть ли не до Питера должен был доехать... И где? У него даже сайт уже умер. Печально. Так было бы прикольно...&lt;br /&gt;&lt;br /&gt;Вот. Надо еще раз сходить. Либо в субботу, либо в понедельнег. Либо в воскресенье, как выяснилось.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5408156952010023364?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5408156952010023364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5408156952010023364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5408156952010023364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5408156952010023364'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/nyc-2.html' title='NYC 2'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-1594350855410389967</id><published>2007-08-13T16:34:00.000+01:00</published><updated>2007-08-26T21:07:07.113+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>NYC, day 1</title><content type='html'>На самолете до Хельсинки какое-то совершенно офигительное количество товарищей летело на самом деле в Нью-Йорк. Не ожидал.&lt;br /&gt;&lt;br /&gt;Самолет до Нью-Йорка большой. До сих пор на таких не летал. Неуютно чувствую себя, когда в одном ряду со мной еще 9 человек. Кормит Финэйр, как и обещал Женя (кстати, пролетали мы над Исландией), ужасно. Когда я когда-то на нем летел из Франкфурта в Хельсинки, мне понравилось. В рейсе до Нью-Йорка еды было столько же, только на 8 часов вместо трех. Обычно я есть не хочу, но тут из принципа проголодался. Развлекали нас радио, по которому ничего интересного не нашел, и фильмами. Двумя. В течение первого я худо-бедно поспал, на втором не получилось. Пришлось слушать мюзиклы по супертехнологии, не требующей ничего, кроме памяти и воображения.&lt;br /&gt;&lt;br /&gt;Прилетел. От необходимости понимания, как добраться до города, был избавлен. Довезли на такси. Платой было участие в получасовом поиске этого такси.&lt;br /&gt;&lt;br /&gt;Хостел забавный. Номер - это однокомнатная квартира с замечательными кухней и ванной, и с 11 койками во всем остальном пространстве. Две из них на антресолях, и вообще даже не койки, а просто матрацы на полу. На каждой койке надпись типа "Peter, this is going to be your bed :)".&lt;br /&gt;&lt;br /&gt;Спринга почему-то не было, посему дошел до Спамалота, купил самый плохой билет (других не было, да и этот по 60 баксов), посмотрел. Не внушило. Ну несколько неплохих песенок, ну иногда смешно было. Интересно, как это чудо в Лондоне идет, если там часть сюжета строится на том, что оно идет на Бродвее. А менять Бродвей на Уэст-Энд как-то по ритму и рифме не покатит...  А вообще, спать ввечеру уже хотелось неслабо. И узнал, каково это - смотреть спектакль с верхнего ряда меццанина, когда область видимости ограничена, и надо то пригибаться, то вставать, чтобы что-то увидеть.&lt;br /&gt;&lt;br /&gt;Хотя... Все же не такая плохая вещь. Может, если ее с нормального места смотреть, и лучше парсить текст, то покатило бы... И Леди Озера (Marin Mazzie) молодец.&lt;br /&gt;&lt;br /&gt;Безумно достала шутка про I'm not dead yet. Ну ладно, один раз это еще можно стерпеть, даже песню про это можно послушать, хоть она и странная, но когда это становится главной шуткой шоу... Это уж слишком.&lt;br /&gt;&lt;br /&gt;Кстати, визу электрон у меня приняли. Клево.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-1594350855410389967?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/1594350855410389967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=1594350855410389967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/1594350855410389967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/1594350855410389967'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/nyc-day-1.html' title='NYC, day 1'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3345876915396548561</id><published>2007-08-10T09:34:00.000+01:00</published><updated>2007-08-10T09:42:18.128+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Куздрая глока</title><content type='html'>Жжот Гаспаров, однозначно. Во-первых, в продолжение предыдущего развивается тема, что язык - это не набор правил, а набор готовых паттернов и аналогий между ними. Приводятся  эти самые паттерны для слова "рук", типа, это не родительный падеж множественного числа, а то, что бывает в "сбыть с рук", "без двух рук" и т.п. Конечно же, не обошлось без глокой куздры. Кстати, Гаспаров утверждает, что не видел ее ни в одном произведении Щербы, которому приписывается авторство, и, видимо, пошло это все из "Слова о словах" Успенского, в котором типа утверждается, что Щерба это все на лекции рассказывал. Так что может это и не Щерба вовсе. Но все равно уже боян. Ну так вот. Дальше надо цитировать.&lt;br /&gt;&lt;br /&gt;"Когда я представляю себе выражение 'глокая куздра ... будланула', в моем сознании возникает не чисто грамматическая, абстрактная идея об одушевленном субъекте женского рода, совершившем некое однократное действие, но более конкретизированный и осязаемый, жанрово и тематически окрашенный образ. Форма 'будланула' вызывает непосредственную ассоциацию с такими известными мне словоформами (и потенциальными выражениями, в состав которых эти словоформы входят в моем опыте), как 'толканула', 'шуганула', 'долбанула', 'звезданула', 'гвозданула', 'пизданула'."&lt;br /&gt;&lt;br /&gt;Лингвист, блин. В научных текстах я пока подобного не встречал. Ну да ладно. Кстати, сама куздра у Гаспарова ассоциируется с некоей брутальной сельской девушкой. А у меня - с каким-нибудь крупным рогатым жывотным. Вот так все индивидуально.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3345876915396548561?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3345876915396548561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3345876915396548561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3345876915396548561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3345876915396548561'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/blog-post_10.html' title='Куздрая глока'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-585990833773157890</id><published>2007-08-09T19:17:00.000+01:00</published><updated>2007-08-09T19:56:40.878+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Как из камня сделать пар?</title><content type='html'>На сколько я книг забил за это время... Прямо обидно за авторов. Но что поделать, не могу я их нормально воспринимать. Тут и два Гумбольдта, и Постовалова про него же, и порядок с хаосом в развитии социальных систем, метасостояния какие-то, психологическая герменевтика Брудного... &lt;br /&gt;&lt;br /&gt;Не забил я на сына самой популярной женщины в мире. Билл Гейтс, "Дорога в будущее". Умный он все-таки. Но читать все равно занудно было. Большую часть текста он рассказывает, как прикольно будет жить в будущем. Слава роботам, в общем. Причем, поскольку он умный, звучит все достаточно реалистично, что-то уже сбылось. А вот что-то, типа нормальной работы с естественным языком в течение 10 лет (книга вышла в 95м) - уже не сбылось. Но по этому вопросу он сам себе противоречит, в другом месте прозрел, что в ближайшие лет 50 и не светит... В оставшееся от светлого будущего место он для домохозяек объясняет, что такое компьютер, как оно все примерно работает, и как можно (афегеть!) написать письмо, и через 5 минут ваш друг в Африке его получит. Наконец, в оставшемся чуть-чуте начинается интересно. А именно, история его жизни. Как все начиналось, как он Бейсик продавал, как с Эпплом и Айбиэмом договаривались и ссорились, как развивался компьютерный рынок в течение жизни аффтара, и как надо было вовремя угадать, чем надо заниматься. Воть. Почитать вполне себе можно.&lt;br /&gt;&lt;br /&gt;А еще умиляет, что он постоянно напоминает читателям, что хоть и интернет на дворе, но аффтарские права надо соблюдать. Под конец меня это очень сильно достало. Хотя один из аргументов его мне понравился. Это не то, что человек что-то создал и ему типа положено заплатить, а вовсе даже по-другому: вот вы купили программу, вам она нравится. Если вы, как порядочный человек, за нее заплатили, то я, получив эти деньги, буду не просто радоваться этому факту, а найму еще хороших программистов, и они еще что-нибудь напишут, тоже хорошее. Типа, вы платите для вашей же пользы. Вот это я понимаю, повод.&lt;br /&gt;&lt;br /&gt;Началась еще и другая книжица, которую я вряд ли брошу. Какая-то она хорошая. Б. М. Гаспаров, "ЯЗЫК. ПАМЯТЬ. ОБРАЗ. ЛИНГВИСТИКА ЯЗЫКОВОГО СУЩЕСТВОВАНИЯ". Язык книги достаточно жив, интересен, да и контент тоже. Товарищ наезжает на традиционный лингвистический (да и информатический) подход к языку как к формальной системе, описывающейся конечным, пусть и очень большим и сложным, но конечным множеством правил, которые надо поприменять, и все поймешь, и сгенеришь корректную фразу. И даже поясняет, почему он наезжает. Доказывает достаточно убедительно, что правила языка, конечно, есть, но это не главное. А главное, как я всегда и подозревал, это просто опыт конкретного человека. И пользуется он языком в основном, не применяя правила, а пользуясь готовыми паттернами из памяти, причем паттерны эти весьма низкого уровня абстракции, обычно это просто готовые слова во всех формах и словосочетания. Преимущества такого подхода над применением правил он объясняет для филологов, поэтому долго, а вот мне понятно (особенно после работы с профайлером в течение дня) - если какая-то вещь нужна много раз, то имеет смысл ее закэшировать, а не считать каждый раз. Жертвуем памятью во имя скорости, благо памяти до фига. Да и в первый раз мы тоже можем и не применять правила, а просто воспользоваться чьим-то услышанным готовым оборотом.&lt;br /&gt;&lt;br /&gt;Дальше веселее. Отсюда вытекает, что рассматривать язык как множество правил с каким-то количеством исключений некошерно. Правила, конечно, где-то там есть, далеко, полуосознаются, а если паттерны не подошли, что бывает редко, то можно и правила попытаться поприменять. Но язык состоит из устойчивых паттернов, и исключения не являются исключениями. Это просто паттерны. Ну подумаешь, правила их не описывают. А кто обещал, что они должны все описать? И еще замечательнее. Вот я вот считаю, что в философских текстах просто обязаны быть синтаксические неоднозначности, иначе в какой-то момент просто прекращаешь понимать всю эту чушь, и твой мозг просто прочитывает буковки и считает, что текст освоен. Поправка - мой мозг, за себя говорю. А встретив неоднозначность, мозг теряется, не может понять, он ее или она его, и ему волей-неволей приходится осознавать и смысл. Ну так вот. А Гаспаров вот полагает, что не будь в языке этих идиосинкразий, его было бы гораздо труднее освоить. Почему? Да потому что человек все время стремится обойтись малой кровью и запомнить поменьше. Поэтому он при освоении языка выведет правила и будет ими пользоваться. Только вот если эти правила не совсем уж тривиальны, довольно быстро настанет момент Х, когда памятью пользоваться выгоднее, чем алгоритмом. Только вот до человека это не дойдет, потому что правила простые, их можно и поприменять, ну вот он и будет их применять. В итоге будет коммуницировать несколько медленнее. А вот если правила сложны, то рано или поздно мозгу надоест учитывать новые найденные частности, и он поймет, что легче просто запомнить, допустим, все словоформы конкретного слова, чем думать, какое же окончание туда применить.&lt;br /&gt;&lt;br /&gt;И тут возникают интересные мысли. А вот если человек с децтва учит язык без идиосинкразий, в котором правила реально настолько просты, что ими пользоваться легче, чем засорять память? Он тогда либо эту память использует подо что-нибудь более полезное, либо, что вероятнее, просто не будет ее использовать. Это ж как мышцы, тренировать надо, чтобы оно работало. Зато у него будет процессор натренированный. Греться, небось, будет...&lt;br /&gt;&lt;br /&gt;Утешает только одно, что я таких языков не знаю. Естественные точно не подходят. Искусственный... Ну да, там обычно все более-менее просто, правил немного, относительно ортогонально... Но не абсолютно. Во всех эсперантах и ложбанах, не говоря уже о токипонах, есть какие-то частные особенности, которые таковы только потому, что "так говорят". В ложбане есть танру, которые теоретически означают любую метафору, а на практике все равно выливаются в набор устойчивых словосочетаний. В любом живом языке постоянно добавляются новые слова, меняется фонетика, иногда даже и грамматика, причем меняется стихийно, и значит, с высокой вероятностью нарушает план языка, буде таковой имеется. А почему это происходит? Да просто так удобнее говорить. Или просто кому-то было в какой-то момент удобнее так сказать, другой услышал, ему понравилось, и панислася.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-585990833773157890?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/585990833773157890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=585990833773157890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/585990833773157890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/585990833773157890'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/08/blog-post.html' title='Как из камня сделать пар?'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3634906487324097093</id><published>2007-07-29T07:14:00.000+01:00</published><updated>2007-07-29T07:30:59.735+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='просто'/><title type='text'>Разное</title><content type='html'>Никогда бы не подумал, что на Бродвей так сложно заказать билеты онлайн. Точнее, нет, несложно, но есть нюанс. И даже не один. Вот есть такая вещь, как Рент. И билеты туда стоят по-разному, от 20 до 95 баксов. Ну да, немало, но это жизнь такая. Для мюзикла вполне самое то. И вот единственный сайт, на котором билеты стоят ровно столько, предлагает исключительно доставку по почте. А меня это не сильно устраивает, учитывая, сколько времени осталось, и качество работы нашей почты. А на остальных сайтах... Не знаю, какого рода доставку они предлагают, потому что у них билеты тоже стоят 95... но это минимальная цена. А максимальная - ууу... Даже нелоукостные самолеты далеко не все за столько летают. Ну например, 250. Лично я даже за Рент морально не готов столько платить. Поездка становится все более рискованной, типа, буду все на месте покупать. Возможно, даже со скидками.&lt;br /&gt;&lt;br /&gt;Кстати, о скидках. Порылся по Нету и нашел на эту тему массу интересного. Во-первых, на Рент за 2 часа до спекта лотерейно продают суперкрутые билеты за что-то порядка 25. Если другие способы не помогут, будем лотереиться. Еще, если уж совсем хочется сноса крыши, можно устроиться на вечер работать в театр разводильщиком посетителей по местам. И тогда, после развода, устроиться где-нибудь в уголке и посмотреть. Бесплатно. Забавный был бы экспириенс. Еще бывает стандартный тктс, где после отстаивания многочасовой очереди могут еще быть билеты на какое-нибудь шоу... А еще нашлись сайты, которые продают билеты со скидками прямо онлайн. И забрать из кассы можно типа. Кажется. Потому что как только я зарегался на таком сайте, у них там в Омереге начался глобальный майнтенанс базы данных билетов. Так что ждем-с.&lt;br /&gt;&lt;br /&gt;***&lt;br /&gt;&lt;br /&gt;Понял, почему мне нравится комплишн. Приятно ощущать свое творчество полезным, в первую очередь, для себя же. А то с этими веб-технологиями... Ну да, там в ньюсах какие-то пара человек этим пользуются, баги пишут... Но они далеко, а я рядом. А без положительного фидбэка грустно.&lt;br /&gt;&lt;br /&gt;***&lt;br /&gt;&lt;br /&gt;Вчера в конторе фиксили лампы и окна. По этому случаю меня временно прогнали с рабочего места. К счастью, с собой был ноут, а еще подвернулся Максим, подавший идею, что можно с ноута ремотно подконнектиться к компу и работать как ни в чем не бывало. Что я и сделал. Положение усугублялось тем, что на ноуте винды были запущены под эмулятором в окошке макоси, а еще на основном компе была запущена synergy, которая, по идее, когда уводишь мышку за правый край экрана компа, появляла ее с левого края экрана ноута. Самое забавное, что под эмулятором эта фишка работала! Уводишь мышку вправо, а она появляется слева. В обратную сторону почему-то не ходила.&lt;br /&gt;&lt;br /&gt;А вот работать в Идее с маковской клавой и с виндовыми комбинациями клавиш неприятно.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3634906487324097093?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3634906487324097093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3634906487324097093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3634906487324097093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3634906487324097093'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/blog-post_29.html' title='Разное'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3017221131775334960</id><published>2007-07-28T09:34:00.000+01:00</published><updated>2007-07-28T09:48:40.940+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Зелененький он был</title><content type='html'>Приснился комплишн. И захотелось поехать в контору и сделать с ним еще что-нибудь. Чем и занимаюсь.&lt;br /&gt;&lt;br /&gt;А в метро кончилась "Психолингвистика". Белянин, если кто не помнит. Ну дык вот, хорошая книга, как и ожидалось. Несколько поверхностная, обзорная. Надо читать дальше, вглубь. Тем более, что не все из описанного меня интересует. Например, зоны Брока и Вернике для меня уже какой-то боян, и дальше про них читать пока не хочется. А вот про овладение языком детьми и прочими шимпанзе я бы еще поизучал... А еще там в конце был раздел про прикладную психолингвистику, и вот там интересно. Всякие судебные штуки, всякие NLP (впервые увидел книгу, которая знает про два значения этой аббревиатуры), реклама, пиар, финансовые пирамиды, секты, гипноз... Занятно и даже вполне научно, хоть и попса. А еще в библиографии есть раздел "Интернет", что не может не радовать. Надо бы походить по тамошним сайтам.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3017221131775334960?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3017221131775334960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3017221131775334960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3017221131775334960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3017221131775334960'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/blog-post_28.html' title='Зелененький он был'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3952464631004557211</id><published>2007-07-26T19:35:00.000+01:00</published><updated>2007-07-26T21:27:02.038+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><title type='text'>239 42</title><content type='html'>Под депрессивную музыку Бадаламенти вспомню, что психолингвистика напомнила мне замечательную фразу, а именно, "Шел дождь и два студента, один в пальто, другой - в аптеку". Фраза занимается примерно тем же, что и "И Василий, и бежит - офигеть!", только в значительно большей степени. Почему-то мне кажется, что если научиться хорошо анализировать ее, то со всем остальным языком сладить уже будет совсем легко. Вот этим анализом и попробую заняться.&lt;br /&gt;&lt;br /&gt;Первая половина. Несколько напоминает пример про "А и Б сидели на трубе", а именно, по идее здесь должна бы отсутствовать дистрибутивность на грамматическом уровне, присутствуя, тем не менее, на семантическом. Вроде, так оно и есть. В примере про А и Б применяемая функция идет после своего аргумента, а в примере про дождь и студентов запись префиксна. Видимо, в русском языке при этом условии можно согласовывать функцию только с первым аргументом. Примера постфиксной функции с согласованием с только вторым (или даже только первым) аргументом я придумать не могу.&lt;br /&gt;&lt;br /&gt;Дальше раскрывается тема двух студентов. По всей видимости это конструкция типа "А - это Б", где в роли Б выступает перечисление (ряд), характеризующее А ("два студента"). А может, все не так. Каждый элемент Б описывает часть А, а именно, каждого студента. Дистрибутивность тут есть, но опять же странная, что наводит на мысли, что сие понятие нам не зело подходит. Сначала экономика расщепляется на директоров, продавцов.... тьфу, "два студента" рассматриваются уже не как цельная группа, а по отдельности, и каждому из них ставится в соответствие элемент ряда. Ставится в соответствие - значит, между ними существует отношение некоего одного типа. Что же это за тип?&lt;br /&gt;&lt;br /&gt;Видимо, тип есть что-то вроде "описание". Довольно непростой тип. Внутри элемента ряда мы видим "один" и "другой", собственно, маркирующими ряд, по которым парсер по идее и поймет, что это ряд, а заодно являющиеся анафорическими ссылками на каждый инстанс студента. Или ряд может иметь формальный вид: "собирательное_название - список_элементов", и в данном случае выглядеть как "два студента - один, другой".&lt;br /&gt;&lt;br /&gt;К референсам, имеющим тип "студент", применяются дальнейшие функции. Одна из них - "в пальто". Довольно сложно понять, "студент в пальто", или "шел в пальто", и то, и другое вроде как валидно, да и примерно равнозначно. Подобные случаи регулярно встречаются, надо для них что-то придумывать. Например, применять "в пальто" к композитной конструкции "шел студент".&lt;br /&gt;&lt;br /&gt;Зато вот "в аптеку" точно применяется к глаголу. И чтобы это применить, нужно проделать какие-то совершенно нетривиальные действия. А именно, мы, помнится, занимаемся описанием слова "другой", которое на самом деле ссылается на второй инстанс студента. Причем описываем мы его через предикат, который утверждается в каком-то совершенно другом месте. И нам нужно найти этот предикат и применить к нему функцию "в аптеку", которая допишет к нему цель. Причем нужно найти не просто абы какой предикат, и даже не просто абы какой предикат "шел", а конкретный "шел" про второго студента, к первому это не относится. Вот такая вот забавная дистрибутивность, блин, когда функция применяется к ряду, то другие функции могут применяться к конкретному применению этой первой функции к конкретному члену ряда. И при этом хочется все применения функции к членам ряда как-то мержить. Ну как жить?&lt;br /&gt;&lt;br /&gt;Итак, что же происходит?&lt;br /&gt;Ряд Б = "два студента: один, другой"&lt;br /&gt;Ряд А = "дождь и" ряд Б&lt;br /&gt;"шел" применяется к ряду А, то есть, "шел дождь" и "шел (Ряд Б)"="(шли два студента): (шел один), (шел другой)"&lt;br /&gt;"в пальто" применяется либо к "другой", либо к "шел (один)", либо к "(шел один)"&lt;br /&gt;"в аптеку" применяется к "шел (другой)"&lt;br /&gt;Результаты применения "шел" мержатся сначала по ряду Б, а потом и по ряду А.&lt;br /&gt;Наконец, программа, подумав, пишет "ржунимагу".&lt;br /&gt;&lt;br /&gt;Весь вопрос в том, как же выглядят, собственно, результаты применения. Это может быть выражение на Тузовском семантическом языке, может быть фреймовая модель, может еще что... ХЗ. Видимо, оно должно обладать способностью выразить ровно столько, сколько выражено в исходном предложении на русском языке. There's a catch. В каком-нибудь другом языке можно выразить немного другое количество информации. Представителям другой культуры может быть неважно, что студенты, видимо, мужского пола, но важно, какого цвета дверь в аптеке. Так что либо семантический язык должен быть объединением всех естественных с возможностью сказать все, что возможно сказать на каждом из них, и с возможностью, что еще важнее, выразить все неоднозначности и недоговоренности, проистекающие из синтаксиса и семантики каждого из них (как с "в пальто" в здешнем случае), либо нужно завести по семантическому языку на каждый естественный, и переводить уже между ними. Тут возникает закономерный вопрос, а есть ли необходимость умножать сущности, и нафига вообще нужен такой семантический язык, который выражает то же, что и естественный. Не легче ли воспользоваться готовым естественным. На вопрос на такой есть ответ простой: семантический язык в любом случае во-первых формален, а во вторых в нем, смею надеяться, меньше слов, чем в естественном, и больше дела. Но все равно, конечно, идеальным был бы универсальный семантический язык. Только ведь фиг такой придумаешь. Как сказал кто-то типа Гумбольдта, язык - это наши ограничения в этом мире, некий освещенный круг, в котором мы ориентируемся, и внутри которого находимся. И взглянуть с него со стороны можно, только войдя в другой такой же круг. Здесь же предлагается осветить все круги разом, или охватить их все одним большим кругом, в который они все войдут без остатка. Поэтому бывает интересно посмотреть на разнообразные искусственные языки, коих за последние сто лет насоздавалось немало. К сожалению, пока что я ничего похожего не видел. В основном они стремятся к точности, однозначности, полноте и т.п. (ложбан, ыфкуил) либо наоборот к размытости (токи пона какая-нибудь). А вот чтоб на языке можно было говорить и точно, и размыто - ну разве что евроклоны типа эсперанто. Но это фактически естественные языки, только с сильно упрощенной грамматикой, это такие же небольшие круги, как и все остальные, обычные языки.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3952464631004557211?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3952464631004557211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3952464631004557211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3952464631004557211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3952464631004557211'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/239-42.html' title='239 42'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-8272246491554610005</id><published>2007-07-23T21:08:00.000+01:00</published><updated>2007-07-23T21:26:54.757+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Прогресс</title><content type='html'>Ниасилел книшко. Но это такое книшко, которое стоит упомянуть. Дж. Уитроу, "Естественная философия времени". Хорошее книшко. Вопреки названию, не очень философское. Точнее, ровно настолько философское, чтобы было интересно, и не надо было продираться сквозь дебри общих слов. Много математики. Причем такой вполне себе математической математики, с утверждениями, доказательствами и т.п. Правда, лично для меня это было одной из основных причин бросания, ибо исходник - это распознанная книга, а формулы, как известно, распознаются крайне плохо. А потом я еще это переконвертил из пдфа вообще в текст, и стало совсем грустно. А вторая причина бросания - ну просто, как выяснилось опытным путем, эта тема мне, конечно, интересна, но не настолько, чтобы дальше жить с такими вот формулами. Но тем не менее, книга хорошая. По крайней мере, первые ее чуть больше половины.&lt;br /&gt;&lt;br /&gt;Да, а еще там огромные примечания. Причем в силу текстовости файла и покетовости девайса они влезают экрана иногда на по три, при этом еще иногда в них случаются переносы на следующую страницу, посему текст воспринимается как куча параллельных потоков, контексты которых надо сохранять. Получается плохо. В Величковском было похоже, но там границы были выделены более явно, и легче было отмотать вверх и узнать, о чем была речь.&lt;br /&gt;&lt;br /&gt;Открыл следующую. А там такое... "В этой книге впервые в мировой научной литературе указаны причины полного &lt;br /&gt;вымирания растительно-животного мира на Земле... В этой книге впервые в мировой научной литературе указан континент, на поверхности которого возникло Человечество.... В этой книге впервые в мировой научной литературе даётся научный прогноз эволюции общества на миллионы лет вперёд... В этой книге впервые в мировой научной литературе рассчитывается время существования Человечества... В этой книге впервые в мировой научной литературе определяется космическая функция цивилизаций.". Это избранные места из аннотации к креативу некоего Валерия Молостова по имени "Старение и гибель цивилизации". Из аннотации сразу понятно, что дальше читать не стоит, но было интересно. Поржать хотелось. И поржал бы... Только вот терпения у меня нет. А когда мне сначала в рассказывают про достоинства этой книги в примерно трех аннотациях, а потом еще в примерно двух вступлениях, и везде одно и то же, я сдаюсь. Вот и сдался.&lt;br /&gt;&lt;br /&gt;А потом настал пафос. Начался очередной учебник авторства Белянина. И теперь я точно знаю, как называется та часть когнитивистики, что меня особенно привлекает. И называется она так же, как и учебник - "Психолингвистика". Судя по началу, мне это очень сильно понравится. Возможно, из-за моей аддикции к таким темам, а может, и сама книга действительно неплоха. Поживем - увидим. Опять же жизнь портит плохое распознание текста, но тут я уж точно буду продираться через все трудности. Ведь мне же в очередной раз расскажут про взаимоотношение языка и мышления, про концептуализацию мира, про Сэпира-Уорфа, про глубинные синтаксические структуры, про психосемантику и прочая, прочая, прочая. Это ж так прикольно!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-8272246491554610005?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/8272246491554610005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=8272246491554610005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8272246491554610005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8272246491554610005'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/blog-post_24.html' title='Прогресс'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-242151217841312737</id><published>2007-07-21T18:25:00.000+01:00</published><updated>2007-07-21T18:55:53.358+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><title type='text'>Аспекты теории синтаксиса</title><content type='html'>Давно пора выразить содержимое головы, а то там места скоро не останется. А так глядишь и для новых мыслей освободится...&lt;br /&gt;&lt;br /&gt;Текст у нас будет состоять из фрагментов. Это просто некая сущность, основанная на тексте. Например, слово. Или морфема. Или фразеологизм. А скорее все вместе. При этом необязательно чтоб фрагмент представлял собой непрерывный участок текста, это неважно, а в русском языке с его свободным порядком слов так и вовсе слабодостижимо. Никакого отношения к семантике фрагменты иметь не будут, это просто синтаксические единицы, полезные при всякого рода резолвингах.&lt;br /&gt;&lt;br /&gt;Фрагменты будут связаны отношениями. Необязательно бинарными (можно даже унарными). Направленными или нет. Пофигу. Отношение плюс относимые фрагменты могут рассматриваться как новый фрагмент выше по иерархии. Каждое отношение (а не фрагмент, как мог бы подумать Тузов) представляет собой некую весьма активную сущность. А именно, код, который может быть выполнен. Видимо, это функция от того, что сие отношение связывает. Хотя... Сложный вопрос. Это пришло в голову практически в момент написания текста, а до того была мысль, что давайте все же код будет во фрагментах, только функции все будут от максимум одного аргумента, и в одном фрагменте их сможет быть несколько непротиворечивым образом.&lt;br /&gt;&lt;br /&gt;Также, видимо, есть в языке фундаментальная ссющность, на которой теоретики как-то не очень акцентируются. Назовем ее рядом. Ряд представляет собой просто перечисление чего-то однотипного (стандартные примеры: однородные члены, соединенные, возможно, какими-нибудь союзами; обычные перечисления по пунктам очень разного вида). Ряд тоже будет выражаться отношением, а заодно и фрагментом, внутри которого это отношение живет. И ряд, видимо, обладает свойством, которое я назову дистрибутивностью, ибо похоже. А именно, если ряд как фрагмент находится в некотором отношении с каким-либо другим фрагментом А (а это, имхо, и есть формализация слова "однотипный" из определения ряда), то каждый элемент этого ряда находится в этом отношении с А. Обратно тоже верно. А с А, либо с этим отношением, у нас, помнится, ассоциирован некий код. Посему этот код надо выполнить для каждого члена ряда, после чего результат как-то замержить.&lt;br /&gt;&lt;br /&gt;Примеры дистрибутивности. "Вася (не стоит и не лежит)" значит, что "(Вася не стоит) и (Вася не лежит)". "Мы купили (синий-синий презеленый красный) шар" значит, что "(Мы купили синий-синий шар), (мы купили презеленый шар), (мы купили красный шар)", и при этом речь об одном и том же шаре. "(И Василий, и бежит) - офигеть!" выродится в "(Василий - офигеть!) и (бежит - офигеть!)". "Вбежала девушка в (слезах и белом платье)" -&gt; "Вбежала девушка (в слезах) и (в белом платье)" -&gt; "(Вбежала девушка в слезах) и (вбежала девушка в белом платье)". Данную скобочную запись надо понимать исключительно как что-то промежуточное в парсинге, потому что речь все равно будет идти об одном и том же событии, и на самом деле в результате эти скобки будут помержены под знаком соответствующей бинарной операции. Пока неясно, как именно.&lt;br /&gt;&lt;br /&gt;Кстати, опять же вспоминая Тузова. Видимо, мое любимое слово "не" тоже дистрибутивно. Вырожденный случай, да и дистрибутивно странным образом. Но "он не должен туда ходить" - это ведь "он должен туда (не ходить) ИЛИ он должен (не туда) ходить ИЛИ ... ИЛИ (не он) (не должен) (не туда) (не ходить)", всего 16 вариантов. Может, и не 16, может и меньше, но явно не один. Так что такое вот эквивалентное преобразование точно имеет место.&lt;br /&gt;&lt;br /&gt;Кстати, в предложении "Петя и Маша пошли в лес" лично я дистрибутивности в данном понимании не нахожу. Перечисление есть, но оно не дистрибутивно, по крайней мере, грамматически. Просто образуется некий фрагмент "Петя и Маша" со своими новыми свойствами типа множественного числа. И в семантике это тоже будет новая конструкция, в которой надо будет как-то явно указать, что они не по отдельности (видимо) пошли, а вместе, и неизвестно еще с какой целью. А очень умный парсер, может, и про цель догадается... Но это уже совсем другая история.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-242151217841312737?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/242151217841312737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=242151217841312737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/242151217841312737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/242151217841312737'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/blog-post_21.html' title='Аспекты теории синтаксиса'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-5798084155908389253</id><published>2007-07-19T09:22:00.000+01:00</published><updated>2007-07-19T09:28:41.051+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='бродвей'/><category scheme='http://www.blogger.com/atom/ns#' term='просто'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>You'll never succeed on Broadway</title><content type='html'>Итак, паспорт с визой у меня в кармане, и в августе, видимо, буду я на Бродвее в течение порядка недели. Счастье. В предварительной программе - Рент (возможно, 2 раза), Кордебалет, "I love you, you're perfect, now change", Spring Awakening, Wicked, Spamalot, Lion King. Может, таки Мизерабли... В четвертый раз, конечно. Но все же Леа Салонга и Do you hear the people sing... Может, даже Фантом (только если со скидкой). Может, Чикаго... Часть билетов купится здесь, часть - там.&lt;br /&gt;&lt;br /&gt;Было забавно, как в консульстве на собеседовании меня спросили о цели поездки (мюзиклы смотреть!), после чего, вместо доказывания, что я там не останусь, мы мило поговорили с этим товарищем, возможно, консулом лично, про эту цель. Он рассказал, как когда был в последний раз в Нью-Йорке, посетил два шоу, одно из них - Аида, ему понравилось... Как  где там нужно в день спектакля покупать билеты с большой скидкой... Посоветовал внимательно следить за своими вещами в хостеле... В общем, правильный чувак. И вообще, впечатления от получения визы положительные. Делают ее, правда, не за 4 часа, как британцы, но и не за месяц, как финны. А именно, сдал я документы в пятницу, во вторник было собеседование, а в среду с утра паспорт уже был готов к забиранию. В общем, клево все.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-5798084155908389253?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/5798084155908389253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=5798084155908389253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5798084155908389253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/5798084155908389253'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/youll-never-succeed-on-broadway.html' title='You&apos;ll never succeed on Broadway'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3483038817409439741</id><published>2007-07-14T19:56:00.000+01:00</published><updated>2007-07-14T20:04:32.732+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='театр'/><title type='text'>Может быть, все обойдется?</title><content type='html'>Редко захаживаю в российские театры, но вот случилось. "Тень" театра комедии имени Акимова. Что тут можно сказать? Во-первых, Шварц - гений, и это не обсуждается. Захотелось пересмотреть оба фильма. Во-первых, просто захотелось, а во-вторых, что-то у меня было ощущение, что в них другой хэппи-энд. Постановка весьма неплоха, но можно было бы и лучше. Принцесса играет как-то ненатурально, Тень местами тоже. К остальным никаких претензий, молодцы. Но и ничего выдающегося. Зато посмотрел на живого Светина в роли министра финансов. Порадовал, ничего не скажешь.&lt;br /&gt;&lt;br /&gt;Первый акт в два раза длиннее, и примерно во столько же раз пронзительнее второго. После него мысли были только о Шварце и о песенках типа "нелепо, смешно, безрассудно, безумно, волшебно" и "давайте негромко, давайте вполголоса, давайте простимся светло". После всего спектакля песенки куда-то исчезли, уступив место банальному Die Schatten werden laenger. Неспроста это, неспроста...  А вообще, надо, надо из этого делать мюзикл, так и просится. Вот говорят, что один из фильмов (который я знаю меньше, при том, что я оба не помню), вроде даже мюзикл... Еще один повод пересмотреть.&lt;br /&gt;&lt;br /&gt;Короче. Смотреть однозначно стоит.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3483038817409439741?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3483038817409439741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3483038817409439741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3483038817409439741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3483038817409439741'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/blog-post_7300.html' title='Может быть, все обойдется?'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-958812589563789467</id><published>2007-07-14T07:13:00.000+01:00</published><updated>2007-07-14T07:23:27.962+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Когезия и когеренция</title><content type='html'>М . Макаров, "Основы теории дискурса". Страшное название, вполне понимабельное содержание, и даже весьма интересно. Самое забавное, что после прочтения этой книги я по-прежнему не могу внятно сказать, что же такое дискурс, только долго махать руками и пытаться создать у спрашивающего то же впечатление, что есть у меня от этого слова. Самое запомнившееся - это определение семантической пресуппозиции утверждения. Пусть у нас есть утверждение А, и следующее из него утверждение Б. Б может назваться семантической пресупозицией, только есть оно следует также и из отрицания А, другими словами, если без истинности Б А не имеет смысле. Классический пример - "я мыслю, следовательно, я существую". Да и вообще, все семантические пресуппозиции имеют такой вот общий вид, они говорят в основном о существовании чего-либо. На самом деле это не простые следствия, а следствия, прошедшие через метауровень: смотрим мы на само А и думаем, а что же нам надо, чтобы оно было не бессмысленным. Забавно все это. &lt;br /&gt;&lt;br /&gt;Кстати, высказывания со спорными семантическими пресуппозициями часто используются при давлении на собеседника. У Чалдини, помнится, целая глава про "выбор без выбора" написана. "Ты помоешь посуду сейчас или через 5 минут?" несомненно подразумевает, что посуда будет вымыта. И собеседник, привыкший принимать пресуппозиции как данное, подсознательно принимает и эту, и уже не так сильно спорит.&lt;br /&gt;&lt;br /&gt;А еще я убедился наконец-то, что Серль, который про теорию речевых актов, и Серл, который про китайскую комнату - это одно и то же лицо.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-958812589563789467?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/958812589563789467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=958812589563789467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/958812589563789467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/958812589563789467'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/blog-post_14.html' title='Когезия и когеренция'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-7346623748930341607</id><published>2007-07-10T20:24:00.000+01:00</published><updated>2007-07-10T20:37:05.069+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Стабильность</title><content type='html'>М.В.Лебедев, "Стабильность языкового значения". Эдакое философское исследование, при этом написанное понятным языком. Ну, относительно понятным. Я там понимал процентов 30. Но про остальное лично мне ясно, что проблема во мне, и будь я несколько продвинутее (а надо ли? вопрос), я бы понял больше. Но вот в те моменты, когда я понимал, мне содержимое весьма нравилось. Даже задуматься заставляло. Правда, ни на что новое не натолкнуло. Но зато забавно, мне в очередной раз напомнили, что бывает язык хопи, на котором не работают никакие лингвистические индуктивные законы. И вообще приятно было познакомиться. В остальном как-то воспоминаний и не осталось.&lt;br /&gt;&lt;br /&gt;Кончилась эта книга в самый разгар поездки в метро. От нефиг делать прочитал пару рассказов Александра Беляева. И стало мне грустно. Какая-то совершенно детская фантастика, позавчерашнего дня вдобавок... И это при том, что в медицине он явно многое смыслил. Но так грубо нарушать физические законы все же не стоит. Ну, видимо, это предназначено таки для детей более младшего возраста.&lt;br /&gt;&lt;br /&gt;И, главное, на этом Лебедеве кончилось все околонаучное на покете! И теперь мне в срочном порядке надо разбирать все, что есть дома на эту тему, переводить его в текстовый формат, и, повоевав с кодировками и переводами строк, переносить на покет! Желаю себе удачи в этом нелегком деле.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-7346623748930341607?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/7346623748930341607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=7346623748930341607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/7346623748930341607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/7346623748930341607'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/blog-post.html' title='Стабильность'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-386300019941586590</id><published>2007-07-08T11:23:00.000+01:00</published><updated>2007-07-08T11:32:07.567+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='видео'/><category scheme='http://www.blogger.com/atom/ns#' term='chess'/><category scheme='http://www.blogger.com/atom/ns#' term='мюзиклы'/><title type='text'>My land's only borders lie around my heart</title><content type='html'>Посмотрел наконец-таки прошот бродвейского концерта Чессов. Качество, конечно, ужасное. Видео слабой четкости, звук иногда пропадает, иногда затихает, а иногда не слышно, что там актеры поют. Но сам концерт - просто супер. Никогда не было у меня такого впечатления от бутлегоподобной записи. Смотрел и все думал, как я хочу на Чессы... Но, к сожалению, их сейчас нигде нет.&lt;br /&gt;&lt;br /&gt;Постановку чуть подсократили, в очередной раз изменили нафиг сюжет (особенно второго акта). Песни стали петься быстрее, что явно им на пользу. Не представляю, как неподготовленные зрители выдерживали 3 часа какого-нибудь датского тура. Декораций, как и положено концерту, нет. Костюмы есть. Очень красиво сделаны две сцены собственно игры в шахматы, эдакий "Град обреченный" Стругацих. Стоят на доске люди, ходят, встречаются, один из встретившихся уходит... При этом еще и танцевать умудряются! Безумно здорово.&lt;br /&gt;&lt;br /&gt;Из звезд больше всех жжот Паскаль. Молодец он (причем в антракте я решил-таки уточнить у гугля, а Паскаль ли его зовут, и узнал, что он вместе с Рэппом очень скоро возвращаются ненадолго в Рент. Все. Хочу на Бродвей!). Гробан не впечатлил. Ну Гробан и Гробан. Флоренс страшная какая-то, Светлана посимпатичнее, но не сильно. Все время думал, кого же мне напоминает арбитр... В титрах выяснилось, что это Эспарза. Прикольно.&lt;br /&gt;&lt;br /&gt;Короче, Чесс рулез форева!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-386300019941586590?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/386300019941586590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=386300019941586590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/386300019941586590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/386300019941586590'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/07/my-lands-only-borders-lie-around-my.html' title='My land&apos;s only borders lie around my heart'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-8087225997571815774</id><published>2007-06-29T20:56:00.000+01:00</published><updated>2007-06-29T21:18:28.101+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><title type='text'>Взрыв мозга. И аккумулятора</title><content type='html'>Вот написал я в предыдущем посте "сами зависимости тоже могут рассматриваться как знаки" как-то так, не подумав. То есть, подумав, но не сильно. А ведь это концепция. У меня в процессе размышлений над проапгрейженной тузовской проблемой, помнится, была баальшая проблема: как представить слово "красота". Есть глагол "быть красивым", статический глагол состояния с одним аргументом - пациенсом. И с помощью этого глагола можно говорить о том, что икс красив, либо об иксе, который красив. Нексус и юнкция это называется. Или наоборот, не помню уже. А вот как выразить саму концепцию того, что икс участвует в отношении между иксом и "красив"? Например, "красота икса". Во-от. Неясно.&lt;br /&gt;&lt;br /&gt;Таким образом, вырисовывается примерно следующее. Будем рассматривать некое пространство. Назовем его элементы знаками. Например, есть базовые понятия модели мира, они будут считаться знаками. Насколько они базовые, вопрос тот еще, лично мне кажется, что таковых быть не должно вообще, ну да неважно. Здесь будет вполне достаточно рассматривать их как базовые. Есть отношения между базовыми понятиями, которые представляют из себя имя типа предиката и упорядоченное множество аргументов. Назовем их предикатами. При этом вся эта конструкция тоже является знаком. Наконец, отношение принадлежности знака к определенному предикату само будет являться предикатом специального типа (а значит, и знаком), с двумя аргументами, кто принадлежит и куда. Хотя с другой стороны, кто мешает быть предикатом не менее специального типа тому факту, что какие-нибудь икс и игреком находятся в отношении зет... или даже еще более сложной деревянной структуре. Вот так вот в модели мира появляются метауровни.&lt;br /&gt;&lt;br /&gt;А сабж тут ни при чем.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-8087225997571815774?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/8087225997571815774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=8087225997571815774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8087225997571815774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/8087225997571815774'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/06/blog-post_6608.html' title='Взрыв мозга. И аккумулятора'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4555123010519264862</id><published>2007-06-29T18:15:00.000+01:00</published><updated>2007-06-29T18:22:36.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><title type='text'>Йа феллосаф</title><content type='html'>С чего бы это я про Lexical Semantics вспомнил? А вот с чего. Стали тут меня мысли преследовать на тему всяких Сэпиров и Уорфов. Они ведь про что гутарят? Про то, что вот есть язык, а есть реальность (точнее, наивная модель мира в мозгу). И вообще-то еще неясно, кто главнее, кто от кого произошел. Классическая наука утверждает, что язык описывает то, что мы воспринимаем, а гипотеза лингвистической относительности - что от языка зависит, что же именно мы воспринимаем. Истина же наверняка где-то посередине...&lt;br /&gt;&lt;br /&gt;А я вот тут и подумал, что раз в языке есть синтаксис, то почему бы ему не быть и в реальности? Надо поискать. И нашел ведь! Берем мы любой предикат (глагол в морновской интерлингве), смотрим на его аргументы, и понимаем, что вот оно. Эти аргументы выражают собой сущности, которые находятся в каком-то отношении, может быть, в процессе участвуют. И они такие разные! И у них в этом отношении-процессе разные роли. Поэтому порядок их упоминания имеет значения. А если еще семиотов вспомнить (а ви антисемиот?), то можно сказать, что наивная модель мира представляет собой набор знаков, причем некоторые знаки являются предикатами и зависят от других знаков, и порядок этих знаков имеет значение... Причем сами зависимости тоже могут рассматриваться как знаки. И про них тоже можно какой-нибудь синтаксис навести. А тут и до причастных оборотов недалеко уже. Вот так.&lt;br /&gt;&lt;br /&gt;Интересно, это излечимо?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-4555123010519264862?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/4555123010519264862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=4555123010519264862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4555123010519264862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/4555123010519264862'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/06/blog-post_9668.html' title='Йа феллосаф'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-297460600325107956</id><published>2007-06-29T17:49:00.000+01:00</published><updated>2007-06-29T18:13:34.682+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Лексическая семантика</title><content type='html'>Вспомнить, что ли, прочитанное полгода назад... Итак, Rick Morneau, &lt;a href="http://www.eskimo.com/~ram/lexical_semantics.html"&gt;The Lexical Semantics of a Machine Translation Interlingua&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Прикольно. Очень. Хоть и по-английски, а читается легко, как Гарри Поттер. Может, потому, что тема лично мне актуальна, но мне кажется, что не только. Книга помогла мне придумать функциональную модель языка. Ту самую, что до меня уже придумал Тузов, причем с небольшими улучшениями. Правда, Тузов их считает ухудшениями... но не будем о грустном.&lt;br /&gt;&lt;br /&gt;Замыслил автор построить промежуточный язык-интерлингву для машинного перевода. Причем именно в виде обычного языка. Буковки, пробельчики, значки препинания, одномерный текст и т.п. В связи с этим у него куча проблем с синтаксисом и порядком слов, которые ухудшают впечатление, но его семантические идеи безусловно достойны отдельного упоминания. Существительные у него расположены просто в рассклассифицированном по категориям виде, как у Тузова, ни от чего они не зависят, причем о принципах классификации он говорит как-то типа "у всех свои бзики, они же категории, так что не приставайте, мне просто нравится именно такой способ". Основной же частью речи у него является глагол.&lt;br /&gt;&lt;br /&gt;Глагол в общем виде имеет до трех параметров, они же аргументы. Агенс, пациенс и фокус. Агенс - тот, кто что-то делает, пациенс - тот, с кем что-то делают, фокус - все остальное. У многих глаголов аргументов меньше, у некоторых - больше (например, менять (я меняю тебе доллары на евро - тут 2 фокуса). Далее, глаголы бывают состояния и действия. Во вторых всегда есть агенс. Первые делятся на статические (констатация состояния), и динамические (изменение состояния). Пациенс у глагола есть всегда.&lt;br /&gt;&lt;br /&gt;Самое интересное начинается, когда мы разбираем другие интересные части речи. Например, предлоги. Предлог, по мнению Морно, это глагол. Например, предлог with, "посредством". Самый хороший пример, на нем все красиво получается. "Я пишу текст посредством ручки". По сути здесь два утверждения - "Я пишу текст" и "Я использую ручку", причем первое основное. Достаточно очевидно и так, а после этого примера и совсем, что творительный падеж выполняет ровно ту же функцию в "Я пишу ручкой", да и вообще предлоги и падежи очень сходны, это просто разные способы в разных языках выразить одно и то же. С деепричастиями и многими наречиями можно обойтись аналогично.&lt;br /&gt;&lt;br /&gt;Что же за различия это навевает по сравнению с моделью Тузова? Писать у него определяется как (Z1: !Им,Z2: !Вин,Z3: !Вопр\!Про\!обПред,Z4: !Дат\!Куда\!кДат,Z5: !наПред,Z6: !Тв). Видим 6 аргументов про всякие падежи, которые умеют сочетаться с этим словом. И слово "писать" рассматривается как функция, зависящая от 6 аргументов. Причем многие из них могут быть незаполнены.&lt;br /&gt;&lt;br /&gt;Мы же с Морно считаем жизненно необходимыми только два (агенс и пациенс, именительный и винительный), остальные побоку. "Писать" становится функцией от двух непустых аргументов, выдающей некую структуру данных, а предлоги... Допустим, "на". В данном случае это будет функция, принимающая существительное Х в предложном падеже с семантикой такой, что на этом можно писать, и выдающая в ответ функцию, принимающую ту самую структуру данных "писать", и дописывающую к ней, что процесс этот происходит на Х. Это можно распространить и на морфемы. "-ой" - штука, берущая основу существительного и выдающая функцию, дописывающую инструмент действия. Это я про творительный падеж, если кто не понял. И очень многие морфемы можно оформить так же.&lt;br /&gt;&lt;br /&gt;А вот проблемы с тем, как же нам парсить всевозможные союзы, штука сия все равно не решает. Но красиво же! Лямбды жгут!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-297460600325107956?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/297460600325107956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=297460600325107956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/297460600325107956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/297460600325107956'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/06/blog-post_1221.html' title='Лексическая семантика'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-2554076161737306933</id><published>2007-06-29T17:43:00.000+01:00</published><updated>2007-06-29T17:48:58.684+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><title type='text'>А Сима тычет дулом вниз, разя его внезапно</title><content type='html'>Еще Фердинанд де Соссюр, вроде, говорил, что в языке нет ничего, кроме различий. Это я в умной книжке прочитал. А незадолго до того и сам придумал что-то похожее. Ибо когда-то давно &lt;a href="http://sepulkarium.blogspot.com/2007/05/blog-post_24.html"&gt;писал&lt;/a&gt; я что-то про то, как определять семантику просто как множество того, на что это похоже по какому-нибудь признаку. А вот и другой способ: определять семантику слова через антоним. Что просто есть слово и его антоним. И критична для значения в данном контексте только эта пара. Тогда семантикой будет просто "первый член такой-то пары". Например, значение местоимения "он" может быть "Привалов Александр Иванович, мужской, русский и т.д.", может быть "шкаф", а может быть - "не "она"". Воть.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-2554076161737306933?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/2554076161737306933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=2554076161737306933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2554076161737306933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/2554076161737306933'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/06/blog-post_29.html' title='А Сима тычет дулом вниз, разя его внезапно'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-3029118747532237688</id><published>2007-06-26T20:44:00.000+01:00</published><updated>2007-06-26T20:49:36.557+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Гимн</title><content type='html'>Забил на оставшегося Лоренца и на мертворожденную филологическую герменевтику. И вернулся к художественной литературе. Ненадолго, правда. И только ради Айн Рэнд. Молодец она, все-таки. Такого "Атлант расправил плечи" написала! Но это было давно, а теперь вот нашелся и ее "Гимн". Небольшая такая повестушка, влезла в одну поездку на метро. Зато какая! Нет слов, одни эмоции. В общем, энергетика и вера в себя после нее укрепились очень сильно. Несколько странный эффект для антиутопии, но тем не менее. А смысл тот же, что и в "Атланте" - альтруизм - это хорошо, но возводить его в закон и совсем забывать о себе любимом не годится, от этого только плохо бывает. Вот. Как-то сухо и скучно получилось. Но я и не Айн Рэнд. На то и существует художественная литература, чтобы с помощью трехметрового текста доносить то же самое, причем на уровне глубокого осознания, а не просто понимания.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-3029118747532237688?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/3029118747532237688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=3029118747532237688' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3029118747532237688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/3029118747532237688'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/06/blog-post_26.html' title='Гимн'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-771276464738367745</id><published>2007-06-21T21:47:00.000+01:00</published><updated>2007-06-21T22:01:10.418+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Отчет</title><content type='html'>Итак, фенотип расширился, расширеннее некуда. Что я могу сказать? Ну да, читать обязательно. Вкратце теория расширенного фенотипа в моем понимании:&lt;br /&gt;Есть репликаторы - это любые сущности, умеющие себя копировать каким-либо способом.&lt;br /&gt;Репликатор считается успешным, если он жив. Лучше, если живо возможно больше его копий, так, чтобы если с кем-то что-то случится, остальные бы остались успешными.&lt;br /&gt;Успешные репликаторы обычно кроме копирования прилагают и другие усилия к тому, чтобы оставаться успешными и далее. Точнее, они просто оказывают какие-то влияния на внешний мир, и так получается, что благодаря этим влияниям они выживают.&lt;br /&gt;Влияния эти называются расширенными фенотипическими эффектами.&lt;br /&gt;Например, довольно часто репликаторам выгодно объединяться в группы, которые выживают лучше одиночек. Так возникают клетки.&lt;br /&gt;Чтобы сделать возможными сильные изменения фенотипов, и, как следствие, возможно, улучшить свою адаптацию, клетки могут образовывать сложные организмы, которые, тем не менее, развиваются из одной клетки-пропагулы, которая более чувствительна к изменениям, чем целый организм.&lt;br /&gt;К расширенному фенотипу относится не только происходящее в организме-носителе генов-репликаторов, но и все, что хоть как-то влияет на него. Например, другие особи того же вида, симбионты, паразиты, хозяева и т.п.&lt;br /&gt;Любая фича благоприятствует выживанию генов этой фичи, где бы они ни находились. Вот.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-771276464738367745?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/771276464738367745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=771276464738367745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/771276464738367745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/771276464738367745'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/06/blog-post_21.html' title='Отчет'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-549792551216015444</id><published>2007-06-12T15:30:00.000+01:00</published><updated>2007-06-13T08:46:56.704+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='просто'/><title type='text'>Делать глупости так весело</title><content type='html'>Я идиот. Убейте меня кто-нибудь. Так жить нельзя. Я сошел с ума. В руках авиабилеты в Воронеж на эти выходные...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-549792551216015444?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/549792551216015444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=549792551216015444' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/549792551216015444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/549792551216015444'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/06/blog-post_2732.html' title='Делать глупости так весело'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-6149545965476401184</id><published>2007-06-12T11:25:00.000+01:00</published><updated>2007-06-12T11:41:18.952+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Гонка вооружений</title><content type='html'>Несмотря на депрессию, читаю Докинза. Как и обещалось, жжот. Например, про гонку вооружений.&lt;br /&gt;&lt;br /&gt;Есть, значить, два вида муравьев. Один живет себе и живет, как и все порядочные муравьи, в муравейнике, мирно воспитывает потомство, радуется жизни. А другой... Есть там царица, она прокрадывается каким-нибудь способом в мирный муравейник первого вида и подменяет собой их царицу. Соответственно, мирные муравьи, возможно, ничего и не подозревая, выращивают дальше потомство, которое к их генам не имеет никакого отношения.&lt;br /&gt;&lt;br /&gt;И видим мы здесь пример проигранной гонки вооружений. Потому как эволюционными способами мирный вид не может сделать ничего для того, чтобы как-то изменить сию ситуацию. Потому что в генах захватчиков 100% поколений были успешны в том, чтобы захватывать. А в генах захватываемых 100% поколений с этим не сталкивались, и поэтому просто не приспособлены к тому, чтобы дать отпор. Даже если и возникнет случайная мутация, борящаяся против такой политики, у нее шансов немного. Во-первых, без употребления она не станет доминирующей в популяции, разве что случайно. А при употреблении... Ну выживет данный конкретный муравейник, ну и что? Может, даже уничтожит захватчиков. Он просто выживет, это не даст ему никаких других преимуществ перед другими муравейниками того же вида. Вот так и живем... Спасает только то, что такой захват - достаточно редкое событие, и выживает достаточно мирных муравьев, чтобы жить не тужа. Так вот и живут.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6536960326300527592-6149545965476401184?l=sepulkarium.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sepulkarium.blogspot.com/feeds/6149545965476401184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6536960326300527592&amp;postID=6149545965476401184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6149545965476401184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6536960326300527592/posts/default/6149545965476401184'/><link rel='alternate' type='text/html' href='http://sepulkarium.blogspot.com/2007/06/blog-post_12.html' title='Гонка вооружений'/><author><name>Peter Gromov</name><uri>http://www.blogger.com/profile/05601586254795238403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6536960326300527592.post-4564982346233053645</id><published>2007-06-07T20:53:00.000+01:00</published><updated>2007-06-07T21:03:01.299+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title type='text'>Расширенный кентавр</title><content type='html'>Итого.
