<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.swarma.org/index.php?action=history&amp;feed=atom&amp;title=%E5%88%86%E6%9E%90%E5%8F%A5%E6%B3%95%E7%9A%84%E7%BB%93%E6%9E%84</id>
	<title>分析句法的结构 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.swarma.org/index.php?action=history&amp;feed=atom&amp;title=%E5%88%86%E6%9E%90%E5%8F%A5%E6%B3%95%E7%9A%84%E7%BB%93%E6%9E%84"/>
	<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E5%88%86%E6%9E%90%E5%8F%A5%E6%B3%95%E7%9A%84%E7%BB%93%E6%9E%84&amp;action=history"/>
	<updated>2026-11-03T05:47:46Z</updated>
	<subtitle>本wiki的该页面的版本历史</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E5%88%86%E6%9E%90%E5%8F%A5%E6%B3%95%E7%9A%84%E7%BB%93%E6%9E%84&amp;diff=15160&amp;oldid=prev</id>
		<title>Thingamabob：创建页面，内容为“==句子的构成==  对于使用比较短句子的文本，使用n-gram token(n个词构成的部分)的词频等统计信息就可以描述文本的特征。但对…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E5%88%86%E6%9E%90%E5%8F%A5%E6%B3%95%E7%9A%84%E7%BB%93%E6%9E%84&amp;diff=15160&amp;oldid=prev"/>
		<updated>2020-10-14T13:48:18Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“==句子的构成==  对于使用比较短句子的文本，使用n-gram token(n个词构成的部分)的词频等统计信息就可以描述文本的特征。但对…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==句子的构成==&lt;br /&gt;
&lt;br /&gt;
对于使用比较短句子的文本，使用n-gram token(n个词构成的部分)的词频等统计信息就可以描述文本的特征。但对于较长句子，我们需要分析句法的结构和词的词性来进行更精确的分析。例如，下面是一张词性对照表：&lt;br /&gt;
&lt;br /&gt;
 Symbol	 Meaning                Example&lt;br /&gt;
 S	 sentence	        the man walked&lt;br /&gt;
 NP	 noun phrase	        a dog&lt;br /&gt;
 VP	 verb phrase	        saw a park&lt;br /&gt;
 PP	 prepositional phrase	with a telescope&lt;br /&gt;
 Det	 determiner	        the&lt;br /&gt;
 N	 noun	                dog&lt;br /&gt;
 V	 verb	                walked&lt;br /&gt;
 P	 preposition	        in&lt;br /&gt;
&lt;br /&gt;
==语法分析及其可视化==&lt;br /&gt;
&lt;br /&gt;
为了把句子拆开，展示句子的结构，我们可以使用nltk包如下&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
    import nltk&lt;br /&gt;
    &lt;br /&gt;
    grammar1 = nltk.parse_cfg(&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    S -&amp;gt; NP VP&lt;br /&gt;
    VP -&amp;gt; V NP | V NP PP&lt;br /&gt;
    PP -&amp;gt; P NP&lt;br /&gt;
    V -&amp;gt; &amp;quot;saw&amp;quot; | &amp;quot;ate&amp;quot; | &amp;quot;walked&amp;quot;&lt;br /&gt;
    NP -&amp;gt; &amp;quot;John&amp;quot; | &amp;quot;Mary&amp;quot; | &amp;quot;Bob&amp;quot; | Det N | Det N PP&lt;br /&gt;
    Det -&amp;gt; &amp;quot;a&amp;quot; | &amp;quot;an&amp;quot; | &amp;quot;the&amp;quot; | &amp;quot;my&amp;quot;&lt;br /&gt;
    N -&amp;gt; &amp;quot;man&amp;quot; | &amp;quot;dog&amp;quot; | &amp;quot;cat&amp;quot; | &amp;quot;telescope&amp;quot; | &amp;quot;park&amp;quot;&lt;br /&gt;
    P -&amp;gt; &amp;quot;in&amp;quot; | &amp;quot;on&amp;quot; | &amp;quot;by&amp;quot; | &amp;quot;with&amp;quot;&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    sent = &amp;quot;the man saw Bob with the telescope&amp;quot;.split()&lt;br /&gt;
    &lt;br /&gt;
    rd_parser = nltk.RecursiveDescentParser(grammar1)&lt;br /&gt;
    &lt;br /&gt;
    for tree in rd_parser.nbest_parse(sent):&lt;br /&gt;
        print tree&lt;br /&gt;
    &lt;br /&gt;
    tree1 = nltk.Tree('S', [nltk.Tree('NP', [nltk.Tree('Det', ['the']), &lt;br /&gt;
            nltk.Tree('N', ['man'])]), nltk.Tree('VP', [nltk.Tree('V', ['saw']), &lt;br /&gt;
            nltk.Tree('NP', ['Bob']), nltk.Tree('PP', [nltk.Tree('P', ['with']), &lt;br /&gt;
            nltk.Tree('NP', [nltk.Tree('Det', ['the']), nltk.Tree('N', ['telescope'])])])])])&lt;br /&gt;
    &lt;br /&gt;
    tree1.draw()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
最后可以得到这张图&lt;br /&gt;
&lt;br /&gt;
[[File:grammar_tree_1.png|500px]]&lt;br /&gt;
[[Category:旧词条迁移]]&lt;/div&gt;</summary>
		<author><name>Thingamabob</name></author>
	</entry>
</feed>