﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-学海无涯</title><link>http://www.cppblog.com/hzh416/</link><description>在每天的学习中不断成长</description><language>zh-cn</language><lastBuildDate>Thu, 23 Apr 2026 10:09:11 GMT</lastBuildDate><pubDate>Thu, 23 Apr 2026 10:09:11 GMT</pubDate><ttl>60</ttl><item><title>（转）C++随机数生成方法</title><link>http://www.cppblog.com/hzh416/archive/2012/11/19/195377.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Mon, 19 Nov 2012 11:06:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/11/19/195377.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/195377.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/11/19/195377.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/195377.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/195377.html</trackback:ping><description><![CDATA[<p>一、C++中不能使用random()函数</p><p>==================================================================================</p><p>本文由青松原创并依GPL-V2及其后续版本发放，转载请注明出处且应包含本行声明。</p><p>C++中常用rand()函数生成随机数，但严格意义上来讲生成的只是伪随机数（pseudo-random integral number）。生成随机数时需要我们指定一个种子，如果在程序内循环，那么下一次生成随机数时调用上一次的结果作为种子。但如果分两次执行程序，那么由于种子相同，生成的&#8220;随机数&#8221;也是相同的。</p><p>在工程应用时，我们一般将系统当前时间(Unix时间)作为种子，这样生成的随机数更接近于实际意义上的随机数。给一下例程如下：</p><p>#include &lt;iostream&gt;<br />#include &lt;ctime&gt;<br />#include &lt;cstdlib&gt;<br />using namespace std;</p><p>int main()<br />{<br />    double random(double,double);<br />    srand(unsigned(time(0)));<br />    for(int icnt = 0; icnt != 10; ++icnt)<br />        cout &lt;&lt; "No." &lt;&lt; icnt+1 &lt;&lt; ": " &lt;&lt; int(random(0,10))&lt;&lt; endl;<br />    return 0;<br />}</p><p>double random(double start, double end)<br />{<br />    return start+(end-start)*rand()/(RAND_MAX + 1.0);<br />}<br />/* 运行结果<br />* No.1: 3<br />* No.2: 9<br />* No.3: 0<br />* No.4: 9<br />* No.5: 5<br />* No.6: 6<br />* No.7: 9<br />* No.8: 2<br />* No.9: 9<br />* No.10: 6<br />*/<br />利用这种方法能不能得到完全意义上的随机数呢？似乎9有点多哦？却没有1,4,7？！我们来做一个概率实验，生成1000万个随机数，看0-9这10个数出现的频率是不是大致相同的。程序如下：<br />#include &lt;iostream&gt;<br />#include &lt;ctime&gt;<br />#include &lt;cstdlib&gt;<br />#include &lt;iomanip&gt;<br />using namespace std;</p><p>int main()<br />{<br />    double random(double,double);<br />    int a[10] = {0};<br />    const int Gen_max = 10000000;<br />    srand(unsigned(time(0)));<br />    <br />    for(int icnt = 0; icnt != Gen_max; ++icnt)<br />        switch(int(random(0,10)))<br />        {<br />        case 0: a[0]++; break;<br />        case 1: a[1]++; break;<br />        case 2: a[2]++; break;<br />        case 3: a[3]++; break;<br />        case 4: a[4]++; break;<br />        case 5: a[5]++; break;<br />        case 6: a[6]++; break;<br />        case 7: a[7]++; break;<br />        case 8: a[8]++; break;<br />        case 9: a[9]++; break;<br />        default: cerr &lt;&lt; "Error!" &lt;&lt; endl; exit(-1);<br />        }<br />    <br />    for(int icnt = 0; icnt != 10; ++icnt)<br />        cout &lt;&lt; icnt &lt;&lt; ": " &lt;&lt; setw(6) &lt;&lt; setiosflags(ios::fixed) &lt;&lt; setprecision(2) &lt;&lt; double(a[icnt])/Gen_max*100 &lt;&lt; "%" &lt;&lt; endl;<br />    <br />    return 0;<br />}</p><p>double random(double start, double end)<br />{<br />    return start+(end-start)*rand()/(RAND_MAX + 1.0);<br />}<br />/* 运行结果<br />* 0: 10.01%<br />* 1:   9.99%<br />* 2:   9.99%<br />* 3:   9.99%<br />* 4:   9.98%<br />* 5: 10.01%<br />* 6: 10.02%<br />* 7: 10.01%<br />* 8: 10.01%<br />* 9:   9.99%<br />*/<br />可知用这种方法得到的随机数是满足统计规律的。</p><p>另：在Linux下利用GCC编译程序，即使我执行了1000000次运算，是否将random函数定义了inline函数似乎对程序没有任何影响，有理由相信，GCC已经为我们做了优化。但是冥冥之中我又记得要做inline优化得加O3才行...</p><p>不行，于是我们把循环次数改为10亿次，用time命令查看执行时间：<br /><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#99;&#104;&#105;&#110;&#115;&#117;&#110;&#103;&#64;&#103;&#101;&#110;&#116;&#111;&#111;" target="_blank">chinsung@gentoo</a> ~/workspace/test/Debug $ time ./test <br />0: 10.00%<br />1: 10.00%<br />2: 10.00%<br />3: 10.00%<br />4: 10.00%<br />5: 10.00%<br />6: 10.00%<br />7: 10.00%<br />8: 10.00%<br />9: 10.00%</p><p>real    2m7.768s<br />user    2m4.405s<br />sys     0m0.038s<br /><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#99;&#104;&#105;&#110;&#115;&#117;&#110;&#103;&#64;&#103;&#101;&#110;&#116;&#111;&#111;" target="_blank">chinsung@gentoo</a> ~/workspace/test/Debug $ time ./test <br />0: 10.00%<br />1: 10.00%<br />2: 10.00%<br />3: 10.00%<br />4: 10.00%<br />5: 10.00%<br />6: 10.00%<br />7: 10.00%<br />8: 10.00%<br />9: 10.00%</p><p>real    2m7.269s<br />user    2m4.077s<br />sys     0m0.025s</p><p>前一次为进行inline优化的情形，后一次为没有作inline优化的情形，两次结果相差不大，甚至各项指标后者还要好一些，不知是何缘由...</p><p>=================================================================================</p><p><br />     random函数不是ANSI C标准，不能在gcc,vc等编译器下编译通过。 可改用C++下的rand函数来实现。     1、C++标准函数库提供一随机数生成器rand，返回0－RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数，默认以1为种子（即起始值）。 随机数生成器总是以相同的种子开始，所以形成的伪随机数列也相同，失去了随机意义。（但这样便于程序调试） <br />      2、C++中另一函数srand（），可以指定不同的数（无符号整数变元）为种子。但是如果种子相同，伪随机数列也相同。一个办法是让用户输入种子，但是仍然不理想。 <br />     3、 比较理想的是用变化的数，比如时间来作为随机数生成器的种子。 time的值每时每刻都不同。所以种子不同，所以，产生的随机数也不同。 <br />// C++随机函数（VC program） <br />#include &lt;stdio.h&gt; <br />#include &lt;iostream&gt; <br />#include &lt;time.h&gt; <br />using namespace std; <br />#define MAX 100 <br />int main(int argc, char* argv[]) <br />{        srand( (unsigned)time( NULL ) );//srand()函数产生一个以当前时间开始的随机种子.应该放在for等循环语句前面 不然要很长时间等待 <br />　　 for (int i=0;i&lt;10;i++) <br />　　 cout&lt;&lt;rand()%MAX&lt;&lt;endl;//MAX为最大值，其随机域为0~MAX-1<br />　　 return 0; <br />} <br />二、rand()的用法 <br />     rand()不需要参数，它会返回一个从0到最大随机数的任意整数，最大随机数的大小通常是固定的一个大整数。 这样，如果你要产生0~10的10个整数，可以表达为： <br />　　int N = rand() % 11; <br />     这样，N的值就是一个0~10的随机数，如果要产生1~10，则是这样： <br />　　int N = 1 + rand() % 10; <br />　　总结来说，可以表示为： <br />　　a + rand() % n<br />     其中的a是起始值，n是整数的范围。 　　a + rand() % (b-a+1) 就表示　ａ～ｂ之间的一个随机数若要0~1的小数，则可以先取得0~10的整数，然后均除以10即可得到随机到十分位的10个随机小数，若要得到随机到百分位的随机小数，则需要先得到0~100的10个整数，然后均除以100，其它情况依此类推。 <br />     通常rand()产生的随机数在每次运行的时候都是与上一次相同的，这是有意这样设计的，是为了便于程序的调试。若要产生每次不同的随机数，可以使用srand( seed )函数进行随机化，随着seed的不同，就能够产生不同的随机数。 <br />     如大家所说，还可以包含time.h头文件，然后使用srand(time(0))来使用当前时间使随机数发生器随机化，这样就可以保证每两次运行时可以得到不同的随机数序列(只要两次运行的间隔超过1秒)。</p><img src ="http://www.cppblog.com/hzh416/aggbug/195377.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-11-19 19:06 <a href="http://www.cppblog.com/hzh416/archive/2012/11/19/195377.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转） 自然语言处理及计算语言学相关术语中英对译表</title><link>http://www.cppblog.com/hzh416/archive/2012/10/10/193133.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Wed, 10 Oct 2012 11:42:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/10/10/193133.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/193133.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/10/10/193133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/193133.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/193133.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">本文转自：<a href="http://www.ebigear.com/news-26-20865.html" style="color: #336699; text-decoration: none; ">http://www.ebigear.com/news-26-20865.html</a>&nbsp;<br /><br />abbreviation 缩写 [省略语]<br /><br />ablative 夺格(的)<br /><br />abrupt 突发音<br /><br />accent 口音/{Phonetics}重音<br /><br />accusative 受格（的）<br /><br />acoustic phonetics 声学语音学<br /><br />acquisition 习得<br /><br />action verb 动作动词<br /><br />active 主动语态<br /><br />active chart parser 活动图句法剖析程序<br /><br />active knowledge 主动知识<br /><br />active verb 主动动词<br /><br />actor-action-goal 施事(者)-动作-目标&nbsp;<br /><br />actualization 实现(化)<br /><br />acute 锐音<br /><br />address 位址{资讯科学}/称呼（语）{语言学}<br /><br />adequacy 妥善性<br /><br />adjacency pair 邻对<br /><br />adjective 形容词<br /><br />adjunct 附加语 [附加修饰语]<br /><br />adjunction 加接<br /><br />adverb 副词&nbsp;<br /><br />adverbial idiom 副词片语&nbsp;<br /><br />affective 影响的<br /><br />affirmative 肯定（的；式）<br /><br />affix 词缀<br /><br />affixation 加缀<br /><br />affricate 塞擦音<br /><br />agent 施事<br /><br />agentive-action verb 施事动作动词<br /><br />agglutinative 胶着（性）<br /><br />agreement 对谐<br /><br />AI (artificial intelligence) 人工智慧 [人工智能]<br /><br />AI language 人工智慧语言 [人工智能语言]<br /><br />Algebraic Linguistics 代数语言学<br /><br />algorithm 演算法 [算法]<br /><br />alienable 可分割的<br /><br />alignment 对照 [多国语言文章词；词组；句子翻译的]<br /><br />allo- 同位-<br /><br />allomorph 同位语素<br /><br />allophone 同位音位<br /><br />alpha notation alpha 标记<br /><br />alphabetic writing 拼音文字<br /><br />alternation 交替<br /><br />alveolar 齿龈音<br /><br />ambiguity 歧义<br /><br />ambiguity resolution 歧义消解<br /><br />ambiguous 歧义<br /><br />American structuralism 美国结构主义<br /><br />analogy 类推<br /><br />analyzable 可分析的&nbsp;<br /><br />anaphor 照应语 [前方照应词]<br /><br />animate 有生的<br /><br />A-not-A question 正反问句<br /><br />antecedent 先行词<br /><br />anterior 舌前音<br /><br />anticipation 预期 (音变)<br /><br />antonym 反义词<br /><br />antonymy 反义<br /><br />A-over-A A-上-A 原则<br /><br />apposition 同位语<br /><br />appositive construction 同位结构<br /><br />appropriate 恰当的<br /><br />approximant 无擦通音<br /><br />approximate match 近似匹配<br /><br />arbitrariness 任意性<br /><br />archiphoneme 大音位<br /><br />argument 论元 [变元]<br /><br />argument structure 论元结构 [变元结构]<br /><br />arrangement 配列<br /><br />array 阵列<br /><br />articulatory configuration 发音结构<br /><br />articulatory phonetics 发音语音学<br /><br />artificial intelligence (AI) 人工智慧 [人工智能]<br /><br />artificial language 人工语言<br /><br />ASCII 美国标准资讯交换码<br /><br />aspect 态 [体]<br /><br />aspirant 气音<br /><br />aspiration 送气<br /><br />assign 指派<br /><br />assimilation 同化<br /><br />association 关联<br /><br />associative phrase 联想词组<br /><br />asterisk 标星号<br /><br />ATN (augmented transition network) 扩充转移网路<br /><br />attested 经证实的<br /><br />attribute 属性<br /><br />attributive 属性<br /><br />auditory phonetics 听觉语音学<br /><br />augmented transition network 扩充转移网路<br /><br />automatic document classification 自动文件分类<br /><br />automatic indexing 自动索引<br /><br />automatic segmentation 自动切分<br /><br />automatic training 自动训练<br /><br />automatic word segmentation 自动分词<br /><br />automaton 自动机<br /><br />autonomous 自主的<br /><br />auxiliary 助动词<br /><br />axiom 公理<br /><br />baby-talk 儿语<br /><br />back-formation 逆生构词(法)<br /><br />backtrack 回溯<br /><br />Backus-Naur form 巴科斯诺尔形式 [巴科斯诺尔范式]<br /><br />backward deletion 逆向删略<br /><br />ba-construction 把&#9472;字句<br /><br />balanced corpus 平衡语料库<br /><br />base 词基<br /><br />Bayesian learning 贝式学习<br /><br />Bayesian statistics 贝式统计<br /><br />behaviorism 行为主义<br /><br />belief system 信念系统<br /><br />benefactive 受益（格；的）<br /><br />best first parser 最佳优先句法剖析器<br /><br />bidirectional linked list 双向串列<br /><br />bigram 双连词<br /><br />bilabial 双唇音<br /><br />bilateral 双边的<br /><br />bilingual concordancer 双语关键词前后文排序程式<br /><br />binary feature 双向特征[二分征性]<br /><br />binding 约束<br /><br />bit 位元 [二进位制;比特]<br /><br />biuniqueness 双向唯一性<br /><br />blade 舌叶<br /><br />blend 省并词<br /><br />block 封阻[封杀]<br /><br />Bloomfieldian 布隆菲尔德(学派)的<br /><br />body language 肢体语言<br /><br />Boolean lattice 布林网格 [布尔网格]<br /><br />borrow 借移<br /><br />Bottom-up 由下而上<br /><br />bottom-up parsing 由下而上剖析<br /><br />bound 附着（的）<br /><br />bound morpheme 附着语素 [粘着语素]<br /><br />boundary marker 界线标记<br /><br />boundary symbol 界线符号<br /><br />bracketing 方括弧法<br /><br />branching 分枝法<br /><br />breadth-first search 广度优先搜寻 [宽度优先搜索]<br /><br />breath group 换气单位<br /><br />breathy 气息音的<br /><br />buffer 缓冲区<br /><br />byte 位元组<br /><br />CAI (Computer Assisted Instruction) 电脑辅助教学<br /><br />CALL (computer assisted language learning) 电脑辅助语言学习<br /><br />canonical 典范的<br /><br />capacity 能力<br /><br />cardinal 基数的<br /><br />cardinal vowels 基本元音<br /><br />case 格位<br /><br />case frame 格位框架<br /><br />Case Grammar 格位语法<br /><br />case marking 格位标志<br /><br />CAT (computer assisted translation) 电脑辅助翻译<br /><br />cataphora 下指<br /><br />Categorial Grammar 范畴语法<br /><br />Categorial Unification Grammar 范畴连并语法 [范畴合一语法]<br /><br />causative 使动<br /><br />causative verb 使役动词<br /><br />causativity 使役性<br /><br />centralization 央元音化<br /><br />chain 炼<br /><br />chart parsing 表式剖析 [图表句法分析]<br /><br />checked 受阻的<br /><br />checking 验证<br /><br />Chinese character code 中文编码 [汉字代码]<br /><br />Chinese character code for information interchange 中文资讯交换码 [汉字交换码]<br /><br />Chinese character coding input method 中文输入法 [汉字编码输入]<br /><br />choice 选择<br /><br />Chomsky hierarchy 杭士基阶层 [Chomsky 层次结构]<br /><br />citation form 基本形式<br /><br />CKY algorithm (Cocke-Kasami-Younger) CKY 演算法<br /><br />classifier 类别词<br /><br />cleft sentence 分裂句<br /><br />click 啧音<br /><br />clitic 附着词<br /><br />closed world assumption 封闭世界假说<br /><br />cluster 音群<br /><br />Cocke-Kasami-Younger algorithm CKY 演算法<br /><br />coda 音节尾<br /><br />code conversion 代码变换<br /><br />cognate 同源（的； 词）<br /><br />Cognitive Linguistics 认知语言学<br /><br />coherence 一致性<br /><br />cohesion 凝结性 [粘着性;结合力]<br /><br />collapse 合并<br /><br />collective 集合的<br /><br />collocation 连用语 [同现;搭配]<br /><br />combinatorial construction 合并结构&nbsp;<br /><br />combinatorial insertion 合并中插<br /><br />combinatorial word 合并词&nbsp;<br /><br />Combinatory Categorial Grammar 组合范畴语法<br /><br />comment 评论<br /><br />commissive 许诺[语行]<br /><br />common sense semantics 常识语意学&nbsp;<br /><br />Communication Theory 通讯理论 [通讯论;信息论]<br /><br />Comparative Linguistics 比较语言学<br /><br />comparison 比较<br /><br />competence 语言知能<br /><br />compiler 编译器<br /><br />complement 补语<br /><br />complementary 互补<br /><br />complementary distribution 互补分布<br /><br />complementizer 补语标记<br /><br />complex predicate 复杂谓语<br /><br />complex stative construction 复杂状态结构<br /><br />complex symbol 复杂符号<br /><br />complexity 复杂度<br /><br />component 成分<br /><br />compositionality 语意合成性 [合成性]<br /><br />compound word 复合词&nbsp;<br /><br />Computational Lexical Semantics 计算词汇语意学<br /><br />Computational Lexicography 计算词典编纂学<br /><br />Computational Linguistics 计算语言学<br /><br />Computational Phonetics 计算语音学<br /><br />Computational Phonology 计算声韵学<br /><br />Computational Pragmatics 计算语用学<br /><br />Computational Semantics 计算语意学<br /><br />Computational Syntax 计算句法学<br /><br />computer language 计算机语言<br /><br />computer-aided translation 电脑辅助翻译 [计算机辅助翻译]<br /><br />computer-assisted instruction (CAI) 电脑辅助教学<br /><br />computer-assisted language learning 电脑辅助语言学习[计算机辅助语言学习]<br /><br />concatenation 串联<br /><br />concept classification 概念分类&nbsp;<br /><br />concept dependency 概念依存&nbsp;<br /><br />conceptual hierarchy 概念阶层<br /><br />concord 谐和<br /><br />concordance 关键词 (前后文) 排序<br /><br />concordancer 关键词 (前后文) 排序的程式<br /><br />concurrent parsing 并行句法剖析<br /><br />conditional decision 条件决定 [条件决策]<br /><br />conjoin 连接<br /><br />conjunction 连接词 (合取;逻辑积;"与";连词)<br /><br />conjunctive 连接的<br /><br />connected speech 连续语言<br /><br />Connectionist model 类神经网路模型<br /><br />Connectionist model for natural language 自然语言类神经网路模型 [自然语言连接模型]<br /><br />connotation 隐涵意义<br /><br />consonant 子音 [辅音]<br /><br />constituent 成分<br /><br />constituent structure tree 词组结构树<br /><br />constraint 限制<br /><br />constraint propagation 限制条件的传递 [限定因素增殖]<br /><br />constraint-based grammar formalism 限制为本的语法形式<br /><br />Construct Grammar 句构语法<br /><br />content word 实词<br /><br />context 语境<br /><br />context-free language 语境自由语言 [上下文无关语言]<br /><br />context-sensitive language 语境限定语言 [上下文有关语言;上下文敏感语言]<br /><br />continuant 连续音<br /><br />continuous speech recognition 连续语音识别<br /><br />contraction 缩约<br /><br />control agreement principle 控制一致原理<br /><br />control structure 控制结构<br /><br />control theory 控制论&nbsp;<br /><br />convention 约定俗成[规约]<br /><br />convergence 收敛[趋同现象]<br /><br />conversational implicature 会话含义&nbsp;<br /><br />converse 相反（词;的）<br /><br />cooccurrence relation 共现关系 [同现关系]<br /><br />co-operative principle 合作原则<br /><br />coordination 对称连接词 [同等;并列连接]<br /><br />copula 系词<br /><br />co-reference 同指涉 [互指]<br /><br />co-referential 同指涉<br /><br />coronal 前舌音<br /><br />corpora 语料库<br /><br />corpus 语料库<br /><br />Corpus Linguistics 语料库语言学<br /><br />corpus-based learning 语料库为本的学习<br /><br />correlation 相关性<br /><br />counter-intuitive 违反语感的<br /><br />courseware 课程软体 [课件]<br /><br />coverb 动介词<br /><br />C-structure 成分结构<br /><br />data compression 资料压缩 [数据压缩]<br /><br />data driven analysis 资料驱动型分析 [数据驱动型分析]<br /><br />data structure 资料结构 [数据结构]<br /><br />database 资料库 [数据库]<br /><br />database knowledge representation 资料库知识表示 [数据库知识表示]<br /><br />data-driven 资料驱动 [数据驱动]<br /><br />dative 与格<br /><br />declarative knowledge 陈述性知识<br /><br />decomposition 分解<br /><br />deductive database 演译资料库 [演译数据库]<br /><br />default 预设值 [默认;缺省]<br /><br />definite 定指<br /><br />Definite Clause Grammar 确定子句语法<br /><br />definite state automaton 有限状态自动机&nbsp;<br /><br />Definite State Grammar 有限状态语法<br /><br />definiteness 定指<br /><br />degree adverb 程度副词&nbsp;<br /><br />degree of freedom 自由度<br /><br />deixis 指示<br /><br />delimiter 定界符号 [定界符]<br /><br />denotation 外延<br /><br />denotic logic 符号逻辑&nbsp;<br /><br />dependency 依存关系<br /><br />Dependency Grammar 依存关系语法&nbsp;<br /><br />dependency relation 依存关系<br /><br />depth-first search 深度优先搜寻<br /><br />derivation 派生<br /><br />derivational bound morpheme 派生性附着语素<br /><br />Descriptive Grammar 描述型语法 [描写语法]<br /><br />Descriptive Linguistics 描述语言学 [描写语言学]<br /><br />desiderative 意愿的<br /><br />determiner 限定词&nbsp;<br /><br />deterministic algorithm 决定型演算法 [确定性算法]<br /><br />deterministic finite state automaton 决定型有限状态机&nbsp;<br /><br />deterministic parser 决定型语法剖析器 [确定性句法剖析程序]<br /><br />developmental psychology 发展心理学<br /><br />Diachronic Linguistics 历时语言学<br /><br />diacritic 附加符号<br /><br />dialectology 方言学<br /><br />dictionary database 辞典资料库 [词点数据库]<br /><br />dictionary entry 辞典条目<br /><br />digital processing 数位处理 [数值处理]<br /><br />diglossia 双言<br /><br />digraph 二合字母<br /><br />diminutive 指小词<br /><br />diphone 双连音<br /><br />directed acyclic graph 有向非循环图<br /><br />disambiguation 消除歧义 [歧义消除]<br /><br />discourse 篇章<br /><br />discourse analysis 篇章分析 [言谈分析]<br /><br />discourse planning 篇章规划<br /><br />Discourse Representation Theory 篇章表征理论 [言谈表示理论]<br /><br />discourse strategy 言谈策略<br /><br />discourse structure 言谈结构<br /><br />discrete 离散的<br /><br />disjunction 选言<br /><br />dissimilation 异化<br /><br />distributed 分散式的<br /><br />distributed cooperative reasoning 分布协调型推理<br /><br />distributed text parsing 分布式文本剖析<br /><br />disyllabic 双音节的<br /><br />ditransitive verb 双宾动词 [双宾语动词;双及物动词]<br /><br />divergence 扩散[分化]<br /><br />D-M (Determiner-Measure) construction 定量结构<br /><br />D-N (determiner-noun) construction 定名结构&nbsp;<br /><br />document retrieval system 文件检索系统 [文献检索系统]<br /><br />domain dependency 领域依存性 [领域依存关系]<br /><br />double insertion 交互中插<br /><br />double-base 双基<br /><br />downgrading 降级<br /><br />dummy 虚位<br /><br />duration 音长{语音学}/时段{语法学/语意学}<br /><br />dynamic programming 动态规划<br /><br />Earley algorithm Earley 演算法<br /><br />echo 回声句<br /><br />egressive 呼气音<br /><br />ejective 紧喉音<br /><br />electronic dictionary 电子词典<br /><br />elementary string 基本字串 [基本单词串]&nbsp;<br /><br />ellipsis 省略<br /><br />EM algorithm EM演算法<br /><br />embedding 入<br /><br />emic 功能关系的<br /><br />empiricism 经验论<br /><br />Empty Category Principle 虚范畴原则 [空范畴原理]<br /><br />empty word 虚词<br /><br />enclitics 后接成份<br /><br />end user 终端用户 [最终用户]<br /><br />endocentric 同心的<br /><br />endophora 语境照应&nbsp;<br /><br />entailment 蕴涵<br /><br />entity 实体&nbsp;<br /><br />entropy 熵<br /><br />entry 条目<br /><br />episodic memory 情节性记忆<br /><br />epistemological network 认识论网路&nbsp;<br /><br />ergative verb 作格动词<br /><br />ergativity 作格性<br /><br />Esperando 世界语<br /><br />etic 无功能关系<br /><br />etymology 词源学<br /><br />event 事件<br /><br />event driven control 事件驱动型控制<br /><br />example-based machine translation 以例句为本的机器翻译<br /><br />exclamation 感叹<br /><br />exclusive disjunction 排它性逻辑 &#8220;或&#8221;<br /><br />experiencer case 经验者格<br /><br />expert system 专家系统<br /><br />extension 外延<br /><br />external argument 域外论元<br /><br />extraposition 移外变形 [外置转换]<br /><br />facility value 易度值<br /><br />feature 特征<br /><br />feature bundle 特征束<br /><br />feature co-occurrence restriction 特征同现限制 [特性同现限制]<br /><br />feature instantiation 特征体现<br /><br />feature structure 特征结构 [特性结构]<br /><br />feature unification 特征连并 [特性合一]<br /><br />feedback 回馈<br /><br />felicity condition 妥适条件<br /><br />file structure 档案结构<br /><br />finite automaton 有限状态机 [有限自动机]<br /><br />finite state 有限状态<br /><br />Finite State Morphology 有限状态构词法 [有限状态词法]<br /><br />finite-state automata 有限状态自动机<br /><br />finite-state language 有限状态语言<br /><br />finite-state machine 有限状态机<br /><br />finite-state transducer 有限状态置换器<br /><br />flap 闪音<br /><br />flat 降音<br /><br />foreground information 前景讯息 [前景信息]<br /><br />formal Language Theory 形式语言理论<br /><br />formal Linguistics 形式语言学<br /><br />formal Semantics 形式语意学<br /><br />forward inference 前向推理 [向前推理]<br /><br />forward-backward algorithm 前前后后演算法<br /><br />frame 框架<br /><br />frame based knowledge representation 框架型知识表示<br /><br />Frame Theory 框架理论<br /><br />free morpheme 自由语素<br /><br />Fregean principle Fregean 原则&nbsp;<br /><br />fricative 擦音<br /><br />F-structure 功能结构<br /><br />full text searching 全文检索&nbsp;<br /><br />function word 功能词<br /><br />Functional Grammar 功能语法<br /><br />functional programming 函数型程式设计 [函数型程序设计]<br /><br />functional sentence perspective 功能句子观<br /><br />functional structure 功能结构<br /><br />functional unification 功能连并 [功能合一]<br /><br />functor 功能符<br /><br />fundamental frequency 基频<br /><br />garden path sentence 花园路径句<br /><br />GB (Government and Binding) 管辖约束<br /><br />geminate 重迭音<br /><br />gender 性<br /><br />Generalized Phrase Structure Grammar 概化词组结构语法 [广义短语结构语法]<br /><br />Generative Grammar 衍生语法&nbsp;<br /><br />Generative Linguistics 衍生语言学 [生成语言学]<br /><br />generic 泛指<br /><br />genetic epistemology 发生认识论&nbsp;<br /><br />genetive marker 属格标记<br /><br />genitive 属格<br /><br />gerund 动名词<br /><br />Government and Binding Theory 管辖约束理论&nbsp;<br /><br />GPSG (Generalized Phrase Structure Grammar) 概化词组结构语法 [广义短语结构语法]<br /><br />gradability 可分级性<br /><br />grammar checker 文法检查器<br /><br />grammatical affix 语法词缀<br /><br />grammatical category 语法范畴<br /><br />grammatical function 语法功能<br /><br />grammatical inference 文法推论<br /><br />grammatical relation 语法关系<br /><br />grapheme 字素<br /><br />haplology 类音删略<br /><br />head 中心语<br /><br />head driven phrase structure 中心语驱动词组结构 [中心词驱动词组结构]<br /><br />head feature convention 中心语特征继承原理 [中心词特性继承原理]<br /><br />Head-Driven Phrase Structure Grammar 中心语驱动词组结构律<br /><br />heteronym 同形<br /><br />heuristic parsing 经验式句法剖析<br /><br />Heuristics 经验知识<br /><br />hidden Markov model 隐式马可夫模型<br /><br />hierarchical structure 阶层结构 [层次结构]<br /><br />holophrase 单词句<br /><br />homograph 同形异义词<br /><br />homonym 同音异义词<br /><br />homophone 同音词<br /><br />homophony 同音异义<br /><br />homorganic 同部位音的<br /><br />Horn clause Horn 子句<br /><br />HPSG (Head-Driven Phrase Structure Grammar) 中心语驱动词组结构语法<br /><br />human-machine interface 人机界面<br /><br />hypernym 上位词<br /><br />hypertext 超文件 [超文本]<br /><br />hyponym 下位词<br /><br />hypotactic 主从结构的<br /><br />IC (immediate constituent) 直接成份<br /><br />ICG (Information-based Case Grammar) 讯息为本的格位语法<br /><br />idiom 成语 [熟语]&nbsp;<br /><br />idiosyncrasy 特异性<br /><br />illocutionary 施为性<br /><br />immediate constituent 直接成份<br /><br />imperative 祈使句<br /><br />implicative predicate 蕴含谓词&nbsp;<br /><br />implicature 含意<br /><br />indexical 标引的<br /><br />indirect object 间接宾语<br /><br />indirect speech act 间接言谈行动 [间接言语行为]&nbsp;<br /><br />Indo-European language 印欧语言<br /><br />inductional inference 归纳推理<br /><br />inference machine 推理机器<br /><br />infinitive 不定词 [to 不定式]<br /><br />infix 中缀<br /><br />inflection/inflexion 屈折变化<br /><br />inflectional affix 屈折词缀<br /><br />information extraction 资讯撷取<br /><br />information processing 资讯处理 [信息处理]<br /><br />information retrieval 资讯检索<br /><br />Information Science 资讯科学 [信息科学; 情报科学]<br /><br />Information Theory 资讯理论 [信息论]<br /><br />inherent feature 固有特征<br /><br />inherit 继承<br /><br />inheritance 继承<br /><br />inheritance hierarchy 继承阶层 [继承层次]<br /><br />inheritance of attribute 属性继承<br /><br />innateness position 语法天生假说<br /><br />insertion 中插<br /><br />inside-outside algorithm 里里外外演算法<br /><br />instantiation 体现<br /><br />instrumental (case) 工具格<br /><br />integrated parser 集成句法剖析程式<br /><br />integrated theory of discourse analysis 篇章分析综合理论 [言谈分析综合理论]&nbsp;<br /><br />intelligence intensive production 知识密集型生产&nbsp;<br /><br />intensifier 加强成分<br /><br />intensional logic 内含逻辑<br /><br />Intensional Semantics 内涵语意学<br /><br />intensional type 内含类型<br /><br />interjection/exclamation 感叹词<br /><br />inter-level 中间成分<br /><br />interlingua 中介语言<br /><br />interlingual 中介语(的）<br /><br />interlocutor 对话者<br /><br />internalise 内化<br /><br />International Phonetic Association (IPA) 国际语音学会<br /><br />internet 网际网路<br /><br />Interpretive Semantics 诠释性语意学<br /><br />intonation 语调&nbsp;<br /><br />intonation unit (IU) 语调单位<br /><br />IPA (International Phonetic Association) 国际语音学会<br /><br />IR (information retrieval) 资讯检索<br /><br />IS-A relation IS-A 关系<br /><br />isomorphism 同形现象<br /><br />IU (intonation unit) 语调单位<br /><br />junction 连接<br /><br />keyword in context 上下文中关键词[上下文内关键字]<br /><br />kinesics 体势学<br /><br />knowledge acquisition 知识习得<br /><br />knowledge base 知识库<br /><br />knowledge based machine translation 知识为本之机器翻译<br /><br />knowledge extraction 知识撷取 [知识题取]<br /><br />knowledge representation 知识表示<br /><br />KWIC (keyword in context) 关键词前后文 [上下文内关键字]<br /><br />label 标签<br /><br />labial 唇音<br /><br />labio-dental 唇齿音<br /><br />labio-velar 软颚唇音<br /><br />LAD (language acquisition device) 语言习得装置<br /><br />lag 发声延迟<br /><br />language acquisition 语言习得<br /><br />language acquisition device 语言习得装置<br /><br />language engineering 语言工程<br /><br />language generation 语言生成<br /><br />language intuition 语感<br /><br />language model 语言模型<br /><br />language technology 语言科技<br /><br />left-corner parsing 左角落剖析 [左角句法剖析]<br /><br />lemma 词元<br /><br />lenis 弱辅音<br /><br />letter-to-phone 字转音<br /><br />lexeme 词汇单位<br /><br />lexical ambiguity 词汇歧义<br /><br />lexical category 词类<br /><br />lexical conceptual structure 词汇概念结构<br /><br />lexical entry 词项<br /><br />lexical entry selection standard 选词标准<br /><br />lexical integrity 词语完整性<br /><br />Lexical Semantics 词汇语意学<br /><br />Lexical-Functional Grammar 词汇功能语法<br /><br />Lexicography 词典学<br /><br />Lexicology 词汇学<br /><br />lexicon 词汇库 [词典;词库]<br /><br />lexis 词汇层<br /><br />LF (logical form) 逻辑形式<br /><br />LFG (Lexical-Functional Grammar) 词汇功能语法<br /><br />liaison 连音<br /><br />linear bounded automaton 线性有限自主机<br /><br />linear precedence 线性次序<br /><br />lingua franca 共通语<br /><br />linguistic decoding 语言解码<br /><br />linguistic unit 语言单位<br /><br />linked list 串列<br /><br />loan 外来语<br /><br />local 局部的<br /><br />localism 方位主义<br /><br />localizer 方位词<br /><br />locus model 轨迹模型<br /><br />locution 惯用语<br /><br />logic 逻辑<br /><br />logic array network 逻辑阵列网路<br /><br />logic programming 逻辑程式设计 [逻辑程序设计]<br /><br />logical form 逻辑形式<br /><br />logical operator 逻辑算子 [逻辑算符]<br /><br />Logic-Based Grammar 逻辑为本语法 [基于逻辑的语法]<br /><br />long term memory 长期记忆<br /><br />longest match principle 最长匹配原则 [最长一致法]<br /><br />LR (left-right) parsing LR 剖析</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">machine dictionary 机器词典<br /><br />machine language 机器语言&nbsp;<br /><br />machine learning 机器学习<br /><br />machine translation 机器翻译<br /><br />machine-readable dictionary (MRD) 机读辞典<br /><br />Macrolinguistics 宏观语言学<br /><br />Markov chart 马可夫图&nbsp;<br /><br />Mathematical Linguistics 数理语言学&nbsp;<br /><br />maximum entropy 最大熵<br /><br />M-D (modifier-head) construction 偏正结构&nbsp;<br /><br />mean length of utterance (MLU) 语句平均长度&nbsp;<br /><br />measure of information 讯习测度 [信息测度]<br /><br />memory based 根据记忆的<br /><br />mental lexicon 心理词汇库<br /><br />mental model 心理模型&nbsp;<br /><br />mental process 心理过程 [智力过程;智力处理]<br /><br />metalanguage 超语言<br /><br />metaphor 隐喻<br /><br />metaphorical extension 隐喻扩展<br /><br />metarule 律上律 [元规则]<br /><br />metathesis 语音易位<br /><br />Microlinguistics 微观语言学<br /><br />middle structure 中间式结构<br /><br />minimal pair 最小对<br /><br />Minimalist Program 微言主义<br /><br />MLU (mean length of utterance) 语句平均长度<br /><br />modal 情态词<br /><br />modal auxiliary 情态助动词<br /><br />modal logic 情态逻辑<br /><br />modifier 修饰语<br /><br />Modular Logic Grammar 模组化逻辑语法&nbsp;<br /><br />modular parsing system 模组化句法剖析系统&nbsp;<br /><br />modularity 模组性(理论)<br /><br />module 模组<br /><br />monophthong 单元音<br /><br />monotonic 单调<br /><br />monotonicity 单调性<br /><br />Montague Grammar 蒙泰究语法 [蒙塔格语法]<br /><br />mood 语气<br /><br />morpheme 词素<br /><br />morphological affix 构词词缀<br /><br />morphological decomposition 语素分解<br /><br />morphological pattern 词型<br /><br />morphological processing 词素处理<br /><br />morphological rule 构词律 [词法规则]<br /><br />morphological segmentation 语素切分<br /><br />Morphology 构词学<br /><br />Morphophonemics 词音学 [形态音位学;语素音位学]<br /><br />morphophonological rule 形态音位规则<br /><br />Morphosyntax 词句法<br /><br />Motor Theory 肌动理论<br /><br />movement 移位<br /><br />MRD (machine-readable dictionary) 机读辞典<br /><br />MT (machine translation) 机器翻译<br /><br />multilingual processing system 多语讯息处理系统<br /><br />multilingual translation 多语翻译<br /><br />multimedia 多媒体<br /><br />multi-media communication 多媒体通讯<br /><br />multiple inheritance 多重继承<br /><br />multistate logic 多态逻辑<br /><br />mutation 语音转换<br /><br />mutual exclusion 互斥<br /><br />mutual information 相互讯息<br /><br />nativist position 语法天生假说<br /><br />natural language 自然语言<br /><br />natural language processing (NLP) 自然语言处理<br /><br />natural language understanding 自然语言理解<br /><br />negation 否定<br /><br />negative sentence 否定句<br /><br />neologism 新词语<br /><br />nested structure 套结构<br /><br />network 网路<br /><br />neural network 类神经网路<br /><br />Neurolinguistics 神经语言学<br /><br />neutralization 中立化<br /><br />n-gram n-连词<br /><br />n-gram modeling n-连词模型<br /><br />NLP (natural language processing) 自然语言处理<br /><br />node 节点<br /><br />nominalization 名物化<br /><br />nonce 暂用的<br /><br />non-finite 非限定<br /><br />non-finite clause 非限定式子句<br /><br />non-monotonic reasoning 非单调推理<br /><br />normal distribution 常态分布<br /><br />noun 名词<br /><br />noun phrase 名词组<br /><br />NP (noun phrase) completeness 名词组完全性<br /><br />object 宾语{语言学}/物件{资讯科学}<br /><br />object oriented programming 物件导向程式设计 [面向对向的程序设计]&nbsp;<br /><br />official language 官方语言<br /><br />one-place predicate 一元述语<br /><br />on-line dictionary 线上查询词典 [联机词点]<br /><br />onomatopoeia 拟声词&nbsp;<br /><br />onset 节首音<br /><br />ontogeny 个体发生<br /><br />Ontology 本体论<br /><br />open set 开放集<br /><br />operand 运算元 [操作对象]<br /><br />optimization 最佳化 [最优化]<br /><br />overgeneralization 过度概化<br /><br />overgeneration 过度衍生<br /><br />paradigmatic relation 聚合关系<br /><br />paralanguage 附语言<br /><br />parallel construction 并列结构<br /><br />Parallel Corpus 平行语料库<br /><br />parallel distributed processing (PDP) 平行分布处理<br /><br />paraphrase 转述 [释意;意译;同意互训]<br /><br />parole 言语<br /><br />parser 剖析器 [句法剖析程序]<br /><br />parsing 剖析<br /><br />part of speech (POS) 词类<br /><br />particle 语助词<br /><br />PART-OF relation PART-OF 关系<br /><br />part-of-speech tagging 词类标注<br /><br />pattern recognition 型样识别<br /><br />P-C (predicate-complement) insertion 述补中插<br /><br />PDP (parallel distributed processing) 平行分布处理<br /><br />perception 知觉<br /><br />perceptron 感觉器 [感知器]<br /><br />perceptual strategy 感知策略<br /><br />performative 行为句<br /><br />periphrasis 用独立词表达<br /><br />perlocutionary 语效性的<br /><br />permutation 移位<br /><br />Petri Net Grammar Petri 网语法&nbsp;<br /><br />philology 语文学<br /><br />phone 语音<br /><br />phoneme 音素<br /><br />phonemic analysis 因素分析<br /><br />phonemic stratum 音素层<br /><br />Phonetics 语音学<br /><br />phonogram 音标<br /><br />Phonology 声韵学 [音位学;广义语音学]<br /><br />Phonotactics 音位排列理论<br /><br />phrasal verb 词组动词 [短语动词]<br /><br />phrase 词组 [短语]<br /><br />phrase marker 词组标记 [短语标记]<br /><br />pitch 音调<br /><br />pitch contour 调形变化<br /><br />Pivot Grammar 枢轴语法<br /><br />pivotal construction 承轴结构<br /><br />plausibility function 可能性函数<br /><br />PM (phrase marker) 词组标记 [短语标记]<br /><br />polysemy 多义性<br /><br />POS-tagging 词类标记<br /><br />postposition 方位词<br /><br />PP (preposition phrase) attachment 介词依附<br /><br />Pragmatics 语用学<br /><br />Precedence Grammar 优先顺序语法<br /><br />precision 精确度<br /><br />predicate 述词<br /><br />predicate calculus 述词计算<br /><br />predicate logic 述词逻辑 [谓词逻辑]<br /><br />predicate-argument structure 述词论元结构<br /><br />prefix 前缀<br /><br />premodification 前置修饰<br /><br />preposition 介词<br /><br />Prescriptive Linguistics 规定语言学 [规范语言学]<br /><br />presentative sentence 引介句<br /><br />presupposition 前提<br /><br />Principle of Compositionality 语意合成性原理<br /><br />privative 二元对立的<br /><br />probabilistic parser 概率句法剖析程式<br /><br />problem solving 解决问题<br /><br />program 程式<br /><br />programming language 程式设计语言 [程序设计语言]<br /><br />proofreading system 校对系统<br /><br />proper name 专有名词<br /><br />prosody 节律<br /><br />prototype 原型<br /><br />pseudo-cleft sentence 准分裂句<br /><br />Psycholinguistics 心理语言学<br /><br />punctuation 标点符号<br /><br />pushdown automata 下推自动机<br /><br />pushdown transducer 下推转换器<br /><br />qualification 后置修饰<br /><br />quantification 量化<br /><br />quantifier 范域词<br /><br />Quantitative Linguistics 计量语言学<br /><br />question answering system 问答系统<br /><br />queue 伫列<br /><br />radical 字根 [词干;词根;部首;偏旁]<br /><br />radix of tuple 元组数基<br /><br />random access 随机存取<br /><br />rationalism 理性论<br /><br />rationalist (position) 理性论立场 [唯理论观点]<br /><br />reading laboratory 阅读实验室<br /><br />real time 即时<br /><br />real time control 即时控制 [实时控制]<br /><br />recursive transition network 递回转移网路<br /><br />reduplication 重迭词 [重复]<br /><br />reference 指涉<br /><br />referent 指称对象<br /><br />referential indices 指标<br /><br />referring expression 指涉词 [指示短语]<br /><br />register 暂存器 [寄存器]{资讯科学}/调高{语音学}/语言的场合层级{社会语言学}<br /><br />regular language 正规语言 [正则语言]<br /><br />relational database 关联式资料库 [关系数据库]<br /><br />relative clause 关系子句<br /><br />relaxation method 松弛法<br /><br />relevance 相关性<br /><br />Restricted Logic Grammar 受限逻辑语法<br /><br />resumptive pronouns 复指代词<br /><br />retroactive inhibition 逆抑制<br /><br />rewriting rule 重写规则<br /><br />rheme 述位<br /><br />rhetorical structure 修辞结构<br /><br />rhetorics 修辞学<br /><br />robust 强健性<br /><br />robust processing 强健性处理<br /><br />robustness 强健性<br /><br />schema 基朴<br /><br />school grammar 教学语法<br /><br />scope 范域 [作用域;范围]<br /><br />script 脚本<br /><br />search mechanism 检索机制<br /><br />search space 检索空间<br /><br />searching route 检索路径 [搜索路径]<br /><br />second order predicate 二阶述词<br /><br />segmentation 分词<br /><br />segmentation marker 分段标志<br /><br />selectional restriction 选择限制<br /><br />semantic field 语意场<br /><br />semantic frame 语意架构<br /><br />semantic network 语意网路<br /><br />semantic representation 语意表征 [语义表示]<br /><br />semantic representation language 语意表征语言<br /><br />semantic restriction 语意限制<br /><br />semantic structure 语意结构<br /><br />Semantics 语意学<br /><br />sememe 意素<br /><br />Semiotics 符号学<br /><br />sender 发送者<br /><br />sensorimotor stage 感觉运动期&nbsp;<br /><br />sensory information 感官讯息 [感觉信息]<br /><br />sentence 句子<br /><br />sentence generator 句子产生器 [句子生成程序]<br /><br />sentence pattern 句型<br /><br />separation of homonyms 同音词区分<br /><br />sequence 序列<br /><br />serial order learning 顺序学习<br /><br />serial verb construction 连动结构<br /><br />set oriented semantic network 集合导向型语意网路 [面向集合型语意网路]<br /><br />SGML (Standard Generalized Markup Language) 结构化通用标记语言<br /><br />shift-reduce parsing 替换简化式剖析<br /><br />short term memory 短程记忆<br /><br />sign 信号<br /><br />signal processing technology 信号处理技术<br /><br />simple word 单纯词<br /><br />situation 情境<br /><br />Situation Semantics 情境语意学<br /><br />situational type 情境类型<br /><br />social context 社会环境<br /><br />sociolinguistics 社会语言学<br /><br />software engineering 软体工程 [软件工程]<br /><br />sort 排序<br /><br />speaker-independent speech recognition 非特定语者语音识别<br /><br />spectrum 频谱<br /><br />speech 口语<br /><br />speech act assignment 言语行为指定<br /><br />speech continuum 言语连续体<br /><br />speech disorder 语言失序 [言语缺失]<br /><br />speech recognition 语音辨识<br /><br />speech retrieval 语音检索<br /><br />speech situation 言谈情境 [言语情境]<br /><br />speech synthesis 语音合成<br /><br />speech translation system 语音翻译系统<br /><br />speech understanding system 语音理解系统<br /><br />spreading activation model 扩散激发模型<br /><br />standard deviation 标准差<br /><br />Standard Generalized Markup Language 标准通用标示语言<br /><br />start-bound complement 接头词<br /><br />state of affairs algebra 事态代数<br /><br />state transition diagram 状态转移图<br /><br />statement kernel 句核<br /><br />static attribute list 静态属性表<br /><br />statistical analysis 统计分析<br /><br />Statistical Linguistics 统计语言学<br /><br />statistical significance 统计意义<br /><br />stem 词干<br /><br />stimulus-response theory 刺激反应理论&nbsp;<br /><br />stochastic approach to parsing 概率式句法剖析 [句法剖析的随机方法]<br /><br />stop 爆破音<br /><br />Stratificational Grammar 阶层语法 [层级语法]<br /><br />string 字串[串；字符串]<br /><br />string manipulation language 字串操作语言&nbsp;<br /><br />string matching 字串匹配 [字符串]<br /><br />structural ambiguity 结构歧义<br /><br />Structural Linguistics 结构语言学<br /><br />structural relation 结构关系<br /><br />structural transfer 结构转换<br /><br />structuralism 结构主义<br /><br />structure 结构<br /><br />structure sharing representation 结构共享表征<br /><br />subcategorization 次类划分 [下位范畴化]<br /><br />subjunctive 假设的<br /><br />sublanguage 子语言<br /><br />subordinate 从属关系<br /><br />subordinate clause 从属子句 [从句;子句]<br /><br />subordination 从属<br /><br />substitution rule 代换规则 [置换规则]<br /><br />substrate 底层语言<br /><br />suffix 后缀<br /><br />superordinate 上位的<br /><br />superstratum 上层语言<br /><br />suppletion 异型[不规则词型变化]<br /><br />suprasegmental 超音段的<br /><br />syllabification 音节划分<br /><br />syllable 音节<br /><br />syllable structure constraint 音节结构限制<br /><br />symbolization and verbalization 符号化与字句化<br /><br />synchronic 同步的<br /><br />synonym 同义词<br /><br />syntactic category 句法类别&nbsp;<br /><br />syntactic constituent 句法成分<br /><br />syntactic rule 语法规律 [句法规则]<br /><br />Syntactic Semantics 句法语意学&nbsp;<br /><br />syntagm 句段&nbsp;<br /><br />syntagmatic 组合关系 [结构段的;组合的]<br /><br />Syntax 句法<br /><br />Systemic Grammar 系统语法<br /><br />tag 标记<br /><br />target language 目的语言 [目标语言]<br /><br />task sharing 课题分享 [任务共享]<br /><br />tautology 套套逻辑 [恒真式;重言式;同义反复]<br /><br />taxonomical hierarchy 分类阶层 [分类层次]<br /><br />telescopic compound 套装合并<br /><br />template 模板<br /><br />temporal inference 循序推理 [时序推理]<br /><br />temporal logic 时间逻辑 [时序逻辑]<br /><br />temporal marker 时貌标记<br /><br />tense 时态<br /><br />terminology 术语<br /><br />text 文本<br /><br />text analyzing 文本分析<br /><br />text coherence 文本一致性<br /><br />text generation 文本生成 [篇章生成]<br /><br />Text Linguistics 文本语言学<br /><br />text planning 文本规划<br /><br />text proofreading 文本校对<br /><br />text retrieval 文本检索<br /><br />text structure 文本结构 [篇章结构]<br /><br />text summarization 文本自动摘要 [篇章摘要]<br /><br />text understanding 文本理解<br /><br />text-to-speech 文本转语音<br /><br />thematic role 题旨角色<br /><br />thematic structure 题旨结构<br /><br />theorem 定理<br /><br />thesaurus 同义词辞典<br /><br />theta role 题旨角色<br /><br />theta-grid 题旨网格<br /><br />token 实类 [标记项]<br /><br />tone 音调<br /><br />tone language 音调语言<br /><br />tone sandhi 连调变换<br /><br />top-down 由上而下 [自顶向下]<br /><br />topic 主题<br /><br />topicalization 主题化 [话题化]<br /><br />trace 痕迹<br /><br />Trace Theory 痕迹理论&nbsp;<br /><br />training 训练<br /><br />transaction 异动 [处理单位]<br /><br />transcription 转写 [抄写;速记翻译]<br /><br />transducer 转换器<br /><br />transfer 转移<br /><br />transfer approach 转换方法<br /><br />transfer framework 转换框架<br /><br />transformation 变形 [转换]<br /><br />Transformational Grammar 变形语法 [转换语法]<br /><br />transitional state term set 转移状态项集合<br /><br />transitivity 及物性<br /><br />translation 翻译<br /><br />translation equivalence 翻译等值性<br /><br />translation memory 翻译记忆<br /><br />transparency 透明性<br /><br />tree 树状结构 [树]<br /><br />Tree Adjoining Grammar 树形加接语法 [树连接语法]<br /><br />treebank 树图资料库[语法关系树库]<br /><br />trigram 三连词<br /><br />t-score t-数<br /><br />turing machine 杜林机 [图灵机]<br /><br />turing test 杜林测试 [图灵试验]<br /><br />type 类型<br /><br />type/token node 标记类型/实类节点<br /><br />type-feature structure 类型特征结构<br /><br />typology 类型学<br /><br />ultimate constituent 终端成分<br /><br />unbounded dependency 无界限依存<br /><br />underlying form 基底型式&nbsp;<br /><br />underlying structure 基底结构<br /><br />unification 连并 [合一]<br /><br />Unification-based Grammar 连并为本的语法 [基于合一的语法]<br /><br />Universal Grammar 普遍性语法<br /><br />universal instantiation 普遍例式<br /><br />universal quantifier 全称范域词<br /><br />unknown word 未知词 [未定义词]<br /><br />unrestricted grammar 非限制型语法<br /><br />usage flag 使用旗标<br /><br />user interface 使用者界面 [用户界面]<br /><br />Valence Grammar 结合价语法<br /><br />Valence Theory 结合价理论<br /><br />valency 结合价<br /><br />variance 变异数 [方差]<br /><br />verb 动词<br /><br />verb phrase 动词组 [动词短语]<br /><br />verb resultative compound 动补复合词<br /><br />verbal association 词语联想<br /><br />verbal phrase 动词组<br /><br />verbal production 言语生成<br /><br />vernacular 本地话<br /><br />V-O construction (verb-object) 动宾结构<br /><br />vocabulary 字汇<br /><br />vocabulary entry 词条<br /><br />vocal track 声道<br /><br />vocative 呼格<br /><br />voice recognition 声音辨识 [语音识别]<br /><br />vowel 母音<br /><br />vowel harmony 母音和谐 [元音和谐]<br /><br />waveform 波形<br /><br />weak verb 弱化动词<br /><br />Whorfian hypothesis Whorfian 假说<br /><br />word 词<br /><br />word frequency 词频<br /><br />word frequency distribution 词频分布<br /><br />word order 词序<br /><br />word segmentation 分词<br /><br />word segmentation standard for Chinese 中文分词规范&nbsp;<br /><br />word segmentation unit 分词单位 [切词单位]<br /><br />word set 词集<br /><br />working memory 工作记忆 [工作存储区]<br /><br />world knowledge 世界知识<br /><br />writing system 书写系统<br /><br />X-Bar Theory X标杠理论 ["x"阶理论]<br /><br />Zipf's Law 利夫规律 [齐普夫定律]</p><img src ="http://www.cppblog.com/hzh416/aggbug/193133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-10-10 19:42 <a href="http://www.cppblog.com/hzh416/archive/2012/10/10/193133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转载）Linux下makefile教程</title><link>http://www.cppblog.com/hzh416/archive/2012/08/07/186540.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Tue, 07 Aug 2012 02:32:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/08/07/186540.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/186540.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/08/07/186540.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/186540.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/186540.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 转自陈皓 (CSDN)概述&#8212;&#8212;&nbsp;什么是makefile？或许很多Winodws的程序员都不知道这个东西，因为那些Windows的IDE都为你做了这个工作，但我觉得要作一个好的和 professional的程序员，makefile还是要懂。这就好像现在有这么多的HTML的编辑器，但如果你想成为一个专业人士，你还是要了解HTML的标识的含义。特别在Unix下的软件编译...&nbsp;&nbsp;<a href='http://www.cppblog.com/hzh416/archive/2012/08/07/186540.html'>阅读全文</a><img src ="http://www.cppblog.com/hzh416/aggbug/186540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-08-07 10:32 <a href="http://www.cppblog.com/hzh416/archive/2012/08/07/186540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>计算主题映射概率（二）计算方法</title><link>http://www.cppblog.com/hzh416/archive/2012/08/07/186494.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Tue, 07 Aug 2012 02:24:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/08/07/186494.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/186494.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/08/07/186494.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/186494.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/186494.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这部分是开始计算主题映射的概率，之前由于对这个过程比较模糊，因此浪费了许多时间，当后来对整个计算过程思路清晰时，整个代码写出来也就水到渠成了。<br />
所以首先要解释如何计算主题映射概率，设源端为e，目标端为f。拿一个例子来说明（为了简化计算，这里假设每个句子源端和目标端各有三个主题分布，实际是各有100个主题分布）。<br />
<div style="text-align: center;"><img src="http://www.cppblog.com/images/cppblog_com/hzh416/QQ截图20120807101120.jpg" alt="" align="left" /></div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
上面的e1,e2,e3表示的源端的语言的词，而对应的数字表示的是对应的主题分布。下面的f1,f2,f3表示的目标端的语言的词，对应的数字表示的是对应的主题分布。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;首先要计算源端跟目标端所有词的共现频次，即P(e1,f1),&nbsp;P(e1,f2),&nbsp;P(e1,f3),&nbsp;P(e2,f1),&nbsp;P(e2,f2),&nbsp;P(e2,f3),&nbsp;P(e3,f1),&nbsp;P(e3,f2),&nbsp;P(e3,f3)。得到这样的9个共现频次。计算方法以P(e1,f1)为例。P(e1,f1)=e1*f1*对齐连线个数=0.2*0.1*3。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;然后计算出所有n个句子中的这9个共现频次，并将所有的9个共现频次分别相加，得到e和f总的共现频次：P(e1,f1),&nbsp;P(e1,f2), &nbsp;P(e1,f3), &nbsp;P(e2,f1), &nbsp;P(e2,f2), &nbsp;P(e2,f3), &nbsp;P(e3,f1), P(e3,f2),&nbsp;P(e3,f3)。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;之后再根据这9个共现频次计算出e1,e2,e3,f1,f2,f3出现的总的频次，以P(e1)为例，即P(e1)=P(e1,f1)+P(e1,f2)+P(e1,f3),类似的P(f2)=P(e1,f2)+P(e2,f2)+P(e3,f2)。<br />
接下去就可以计算映射概率了，得到的映射概率为P(e1/f1),&nbsp;P(e1/f2), &nbsp;P(e1/f3), &nbsp;P(e2/f1), &nbsp;P(e2/f2), &nbsp;P(e2/f3), &nbsp;P(e3/f1), P(e3/f2),&nbsp;P(e3/f3)。计算方法是根据条件概率公式得来的，具体的计算方法以P(e1/f1)为例，&nbsp;P(e1/f1)=&nbsp;P(e1,f1)/P(f1)。<br />
我们可以将这9个映射概率构成一个源端映射的矩阵和一个目标端映射的矩阵，即：<br />
<div style="text-align: left;"><img src="http://www.cppblog.com/images/cppblog_com/hzh416/QQ截图20120807101816.jpg" alt="" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<img src="http://www.cppblog.com/images/cppblog_com/hzh416/QQ截图20120807101746.jpg" width="362" height="115" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
之后将每个句子的源端主题分布视为一个向量{P(f1),P(f2),P(f3)}，与源端映射矩阵相乘得到直积，得到源端映射到目标端的主题分布P(e1),P(e2),P(e3)。同理可得目标端映射到源端的主题分布。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最后再将得到的映射主题分布插入进原始语料库中即可。<br />
<img src="http://www.cppblog.com/images/cppblog_com/hzh416/QQ截图20120807102212.jpg" width="1314" height="615" alt="" /><br />
上图中第9行即是计算出的源端映射到目标端的主题分布，第11行是目标端映射到源端的主题分布。<img src ="http://www.cppblog.com/hzh416/aggbug/186494.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-08-07 10:24 <a href="http://www.cppblog.com/hzh416/archive/2012/08/07/186494.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>计算主题映射概率（一）读取文档主题分布</title><link>http://www.cppblog.com/hzh416/archive/2012/08/06/186475.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Mon, 06 Aug 2012 11:31:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/08/06/186475.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/186475.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/08/06/186475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/186475.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/186475.html</trackback:ping><description><![CDATA[本次使用的语料一共有10934个文档，假设每个文档的主题分布是一样的。一个文档对应一个主题分布。因此，在计算主题映射概率之前，需要先对语料进行预处理，首先需要在语料库中读入主题分布。每个文档由&lt;doc&gt;&lt;/doc&gt;来区分。<br />原始的语料文档的格式如下所示：<br /><img src="http://www.cppblog.com/images/cppblog_com/hzh416/QQ截图20120806164959.jpg" width="1325" height="378" alt="" /><br />这是第一个文档中的前两句话。而读入主题分布之后的文档如下所示：<br /><img src="http://www.cppblog.com/images/cppblog_com/hzh416/未命名.jpg" alt="" /><br />我们发现，其中加入了&lt;src_topic&gt;和&lt;tgt_topic&gt;这两个部分。前者是源端语言的主题分布，后者是目标端语言的主题分布。这些主题分布都是从指定文件中读入的。主题分布的文件中格式为：<br /><img src="http://www.cppblog.com/images/cppblog_com/hzh416/QQ截图20120806191828.jpg" width="1285" height="288" alt="" /><br />这是源语言主题分布中的第一和第二个主题分布，每个主题分布包含100个主题分布概率。因此只要将每个分布读到语料中每个文档中的每个句子中。&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;整个算法的思想比较简单，首先找个每个文档，再在文档中定位到每个句子，在句子的对齐信息后面插入主题分布即可。首先给出的是定位到每个句子的代码：<br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;read_bead(<span style="color: #0000FF; ">string</span>&nbsp;bead,<span style="color: #0000FF; ">string</span>&nbsp;topic)<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;{<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;str,str_lag,result;<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;istringstream&nbsp;input(bead,istringstream::<span style="color: #0000FF; ">in</span>);<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;x=0,y=0;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(getline(input,str))<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_lag.append(str);<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_lag.push_back('\n');<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y=str_lag.find("&lt;/bead&gt;");<span style="color: #008000; ">//</span><span style="color: #008000; ">通过&lt;/bead&gt;的标记来定位句子的末尾</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(y!=-1)<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result+=read_topic(str_lag,topic);<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_lag.clear();<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=result+"&lt;/doc&gt;";<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;result;<br /><span style="color: #008080; ">19</span>&nbsp;}</div>找到句子之后再在句子的对齐信息之后插入主题分布：<br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;read_topic(<span style="color: #0000FF; ">string</span>&nbsp;bead,<span style="color: #0000FF; ">string</span>&nbsp;topic)<br /><span style="color: #008080; ">2</span>&nbsp;{<br /><span style="color: #008080; ">3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;x=0,y=0;<br /><span style="color: #008080; ">4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x=bead.find("&lt;/aligment&gt;");<br /><span style="color: #008080; ">5</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bead.insert(x+12,topic);<br /><span style="color: #008080; ">6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;bead;<br /><span style="color: #008080; ">7</span>&nbsp;}</div>其中topic的string是事先从主题分布文件中读入的。<br />&nbsp; &nbsp; &nbsp; 这样就完成了对语料的预处理，接下去就要进行对主题映射概率的计算。<br /><br />参考文献：<br />1、A Topic Similarity Model for HPB_Xinyan Xiao_ACL 2012<br /><div>2、Hidden Topic Markov Model</div><img src ="http://www.cppblog.com/hzh416/aggbug/186475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-08-06 19:31 <a href="http://www.cppblog.com/hzh416/archive/2012/08/06/186475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转载）如何查询SCI和EI检索号</title><link>http://www.cppblog.com/hzh416/archive/2012/08/06/186471.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Mon, 06 Aug 2012 08:21:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/08/06/186471.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/186471.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/08/06/186471.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/186471.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/186471.html</trackback:ping><description><![CDATA[<p>下面详细说明具体过程：</p><p><strong>SCI检索号</strong></p><p>1.进入图书馆主页；</p><p>2.选择&#8220;电子数据库&#8221;；</p><p>3.选择外文数据库中的&#8220;Web of Science&#8221;，进入到&#8220;http://isiknowledge.com&#8221;；</p><p>4.选择&#8220;Web of Science&#8221;选项卡，再点击下面的&#8220;检索&#8221;选项卡；</p><p>5.检索范围选择&#8220;标题&#8221;，然后在检索文本框中输入文章名&#8220;&nbsp;<a rel="nofollow" href="http://blog.sina.com.cn/full_record.do?product=UA&amp;search_mode=GeneralSearch&amp;qid=109&amp;SID=3EhMfkAHLL9BboEp@pp&amp;page=1&amp;doc=5&amp;colname=INSPEC">New spiking cortical model for invariant texture retrieval and image processing</a>&#8221;，点击&#8220;检索&#8221;按钮；</p><p>6.在检索结果中，其中只有一个结果，点击标题链接，弹出一个页面；</p><p>7.在新页面底部的&#8220;输出记录&#8221;第1步中选择&#8220;全记录&#8221;，第2步选择&#8220;保存为HTML格式&#8221;，点击&#8220;保存&#8221;按钮；</p><p>8.打开保存的页面，底部有&#8220;UT ISI:000272484200010&#8221;，这个就是文章的SCI检索号。</p><p><strong>注意：</strong></p><p>(a)如果在上述第5步中选择通过作者检索，往往得不到检索结果，就其原因是不同的缩写规则、姓名次序，以及很弱的查询功能。比如对于上述文章，通过输入文章的作者Kun Zhan或者Zhan kun或者K Zhan都检索不到这篇文章。</p><p>(b)在上述第4步中，如果不选择&#8220;Web of Science&#8221;，则系统默认进入到&#8220;所有数据库&#8221;选项卡。在此选项卡下重复上述第5步，则会出现三个结果，对这三个结果分别重复上述6－8步，则分别得到UT MEDLINE:19906586,UT ISI:000272484200010,UT INSPEC:11004876，其中只有UT ISI:000272484200010是SCI检索号，其余两个检索号表示这篇文章同时被其他数据库检索。</p><p>(c)上述注意事项(b)中也可以通过&#8220;作者&#8221;检索，比如输入Zhan Kun，列出作者所有的文章，点击&#8220;&nbsp;<a rel="nofollow" href="http://control.blog.sina.com.cn/full_record.do?product=UA&amp;search_mode=GeneralSearch&amp;qid=109&amp;SID=3EhMfkAHLL9BboEp@pp&amp;page=1&amp;doc=5&amp;colname=INSPEC">New spiking cortical model for invariant texture retrieval and image processing</a>&#8221;，重复6－8步，最后得到UT MEDLINE:19906586，也可能是其他检索号，不一定是SCI检索号。</p><p><strong>EI检索号</strong></p><p>1、2步同上；</p><p>3.选择外文数据库中的&#8220;Ei Compendex Web&#8221;，进入到Engineering Village主页；</p><p>4.在Search in中选Title，在Search for中填写文章名，比如：&#8220;Image classification based on pyramid histogram of topics&#8221;,点击search按钮；</p><p>5.在检索结果中点击Detailed，弹出详细结果；</p><p>6.其中Accession number: 20094712491983便是EI检索号。</p><p>需要注意的是，有些文章，包括会议文章，发表之后很快会被EI检索，有些则不然，延迟半年甚至一年才会被检索。<br /><br /><br />来源于：<a href="http://zengyiqiang2006.blog.163.com/blog/static/10286822620114534553537/">http://zengyiqiang2006.blog.163.com/blog/static/10286822620114534553537/</a>&nbsp;<br /><br /><br /></p><img src ="http://www.cppblog.com/hzh416/aggbug/186471.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-08-06 16:21 <a href="http://www.cppblog.com/hzh416/archive/2012/08/06/186471.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux常用命令介绍（不断更新）</title><link>http://www.cppblog.com/hzh416/archive/2012/08/06/186470.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Mon, 06 Aug 2012 08:16:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/08/06/186470.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/186470.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/08/06/186470.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/186470.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/186470.html</trackback:ping><description><![CDATA[由于我们运行大的程序都要在服务器上运行，因此能够熟练运用一些linux命令就很重要，下面就记录一些常用的命令。<br /><p><strong><span>1、pwd </span></strong></p>  <span>pwd</span><span>命令也是最常用最基本的命令之一，用于显示用户当前所在的目录。<br /></span><strong>2、cd&nbsp;</strong><br /><p><span lang="EN-US">cd</span><span>命令不仅显示当前状态，还改变当前状态，它的用法跟</span><span lang="EN-US">dos</span><span>下的</span><span lang="EN-US">cd</span><span>命令基本一致。</span><span> </span></p>

<p><span lang="EN-US">（1）cd ..</span><span>可进入上一层目录</span><span> </span></p>

<p><span lang="EN-US">（2）cd -</span><span>可进入上一个进入的目录</span><span> </span></p>

<p><span lang="EN-US">（3）cd ~</span><span>可进入用户的</span><span lang="EN-US">home</span><span>目录</span><span> </span></p>

<p><span lang="EN-US">（4）cd XXX&nbsp; </span><span>进入</span><span lang="EN-US">XXX</span><span>子目录</span></p><p><strong><span lang="EN-US">3、ls </span></strong></p>

<span lang="EN-US">ls</span><span>命令跟</span><span lang="EN-US">dos</span><span>下的</span><span lang="EN-US">dir</span><span>命令一样，用于显示当前目录的内容。</span><br /><p><strong><span lang="EN-US">4、cp </span></strong></p>

<p><span lang="EN-US">cp</span><span>命令用于复制文件或目录。</span><span> </span></p>

<p><span lang="EN-US">cp</span><span>命令可以一次复制多个文件，例如：</span><span>$cp *.txt *.doc *.bak /home。即</span><span>将当前目录中扩展名为</span><span lang="EN-US">txt</span><span>、</span><span lang="EN-US">doc</span><span>和</span><span lang="EN-US">bak</span><span>的文件全部复制到</span><span lang="EN-US">/home</span><span>目录中。</span><span>如果要复制整个目录及其所有子目录，可以用</span><span lang="EN-US">cp -R</span><span>命令。</span></p><p><strong><span lang="EN-US">5、mv </span></strong></p>

<p><span lang="EN-US">mv</span><span>命令用于移动文件和更名文件。<br />例1：</span><span>$mv example.txt /home。即</span><span>将当前目录下的</span><span lang="EN-US">example.txt</span><span>文件移动到</span><span lang="EN-US">/home</span><span>目录下。</span></p>

<p><span lang="EN-US">例2：$mv example.txt sample.txt。即</span><span>将</span><span lang="EN-US">example.txt</span><span>文件改名为</span><span lang="EN-US">sample.txt</span><span>。</span></p>

<p><span>类似于跟</span><span lang="EN-US">cp</span><span>命令，</span><span lang="EN-US">mv</span><span>命令也可以一次移动多个文件。</span></p><p><strong><span lang="EN-US">6、mkdir </span></strong></p>

<p><span>这个命令很简单，跟</span><span lang="EN-US">dos</span><span>的</span><span lang="EN-US">md</span><span>命令用法几乎一样，用于建立目录。</span></p>

<p><span lang="EN-US">-m: </span><span>对新建目录设置存取权限</span><span lang="EN-US">,</span><span>也可以用</span><span lang="EN-US">chmod</span><span>命令设置</span><span lang="EN-US">;</span></p>

<p><span lang="EN-US">-p: </span><span>可以是一个路径名称。此时若路径中的某些目录尚不存在</span><span lang="EN-US">,</span><span>加上此选项后</span><span lang="EN-US">,</span><span>系统将自动建立好那些尚不存在的目录</span><span lang="EN-US">,</span><span>即一次可以建立多个目录</span><span>，</span><span>例如</span><span lang="EN-US">: </span><span lang="EN-US">&nbsp;</span><span lang="EN-US">$ mkdir -p DIRC/hello。<br /></span></p><strong><span>7、tar.gz文件的压缩与解压缩<br /></span></strong><p><strong></strong></p><span>解压：tar zxvf FileName.tar.gz&nbsp;</span><br /><span>压缩：tar zcvf FileName.tar.gz DirName</span>&nbsp;<br /><p><span>具体</span>Linux下tar bz gz等压缩包的压缩和解压可以参考：<a href="http://www.bitscn.com/os/linux/200802/127470.html">http://www.bitscn.com/os/linux/200802/127470.html</a></p><p><strong>8、<span>iconv</span></strong></p>  <p><span>文本文件字符编码转换</span></p>  <p><span>例：</span><span>iconv -f gbk -t utf8 filename1 &gt; filename2，即将filename1中gbk编码转换成utf8编码，并另存为filename2文档。</span></p><p><strong><span lang="EN-US">9、chmod</span></strong></p>

<p><span>使用方式</span><span lang="EN-US"> : chmod [-cfvR] [--help] [--version]
mode file...</span></p>

<p>说明<span lang="EN-US"> : Linux/Unix </span>的档案调用权限分为三级<span lang="EN-US"> : </span>档案拥有者、群组、其他。利用<span lang="EN-US"> chmod </span>可以藉以控制档案如何被他人所调用。</p>

<p>参数<span lang="EN-US"> :</span></p>

<p><span lang="EN-US">mode : </span>权限设定字串，格式如下<span lang="EN-US"> :
[ugoa...][[+-=][rwxX]...][,...]</span>，其中<span lang="EN-US">u </span>表示该档案的拥有者，<span lang="EN-US">g</span>表示与该档案的拥有者属于同一个群体<span lang="EN-US">(group)</span>者，<span lang="EN-US">o </span>表示其他以外的人，<span lang="EN-US">a </span>表示这三者皆是。</p>

<p><span lang="EN-US">+ </span><span>表示增加权限、</span><span lang="EN-US">- </span><span>表示取消权限、</span><span lang="EN-US">= </span><span>表示唯一设定权限。</span></p>

<p><span lang="EN-US">r </span><span>表示可读取，</span><span lang="EN-US">w </span><span>表示可写入，</span><span lang="EN-US">x </span><span>表示可执行，</span><span lang="EN-US">X </span><span>表示只有当该档案是个子目录或者该档案已经被设定过为可执行。</span></p>

<p><span lang="EN-US">-c : </span><span>若该档案权限确实已经更改，才显示其更改动作</span></p>

<p><span lang="EN-US">-f : </span><span>若该档案权限无法被更改也不要显示错误讯息</span></p>

<p><span lang="EN-US">-v : </span><span>显示权限变更的详细资料</span></p>

<p><span lang="EN-US">-R : </span><span>对目前目录下的所有档案与子目录进行相同的权限变更</span><span lang="EN-US">(</span><span>即以递回的方式逐个变更</span><span lang="EN-US">)</span></p>

<p><span>范例</span><span lang="EN-US"> :</span><span>将档案</span><span lang="EN-US"> file1.txt </span><span>设为所有人皆可读取</span><span lang="EN-US"> :</span>chmod ugo+r file1.txt。</p>

<p><span>将档案</span><span lang="EN-US"> file1.txt </span><span>设为所有人皆可读取</span><span lang="EN-US"> :</span>chmod a+r file1.txt。</p>

<p>将档案<span lang="EN-US"> file1.txt </span>与<span lang="EN-US"> file2.txt </span>设为该档案拥有者，与其所属同一个群体者可写入，但其他以外的人则不可写入<span lang="EN-US"> :</span>chmod ug+w,o-w file1.txt file2.txt。</p>

<p><span>将</span><span lang="EN-US"> ex1.py </span><span>设定为只有该档案拥有者可以执行</span><span lang="EN-US"> :</span>chmod u+x ex1.py。</p>

<p>将目前目录下的所有档案与子目录皆设为任何人可读取<span lang="EN-US"> :</span>chmod -R a+r *。　　</p>

<p><span><br />此外</span><span lang="EN-US">chmod</span><span>也可以用数字来表示权限如</span><span lang="EN-US"> chmod 777 file</span></p>

<p><span>语法为：</span><span lang="EN-US">chmod abc file</span></p>

<p>其中<span lang="EN-US">a,b,c</span>各为一个数字，分别表示<span lang="EN-US">User</span>、<span lang="EN-US">Group</span>、及<span lang="EN-US">Other</span>的权限。</p>

<p><span lang="EN-US">r=4</span>，<span lang="EN-US">w=2</span>，<span lang="EN-US">x=1</span></p>

<p><span>若要</span><span lang="EN-US">rwx</span><span>属性则</span><span lang="EN-US">4+2+1=7</span><span>；</span></p>

<p><span>若要</span><span lang="EN-US">rw-</span><span>属性则</span><span lang="EN-US">4+2=6</span><span>；</span></p>

<p><span>若要</span><span lang="EN-US">r-x</span><span>属性则</span><span lang="EN-US">4+1=7</span><span>。</span></p>

<p>范例：</p>

<p><span lang="EN-US">chmod a=rwx file</span>和chmod 777 file效果相同，chmod ug=rwx,o=x file和chmod 771 file效果相同，若用<span lang="EN-US">chmod 4755 filename</span>可使此程序具有<span lang="EN-US">root</span>的权限。</p><p><strong><span lang="EN-US">10、head</span></strong></p>

<p><span lang="EN-US">head &lt;filename&gt;:</span></p>

<p>你可以通过<span lang="EN-US">head</span>命令查看具体文件最初的几行内容，该命令默认是前<span lang="EN-US">10</span>行内容，如果你想查看前面更多内容，你可以通过一个数字选项来设置，例如&nbsp;head -20 filename.txt。</p>

<p><strong><span lang="EN-US">11、tail</span></strong></p>

<p><span>与</span><span lang="EN-US">head</span><span>命令相反，</span><span lang="EN-US">tail</span><span>命令是用来查看具体文件后面几行的内容，默认情况下，是查看该文件尾</span><span lang="EN-US">10</span><span>行的内容，同样，如果想查看后面更多内容，也是通过数字选项来设置，例如</span>tail -20 filename.txt。</p>

<p><span lang="EN-US"><strong>12、more</strong></span></p>

<p><span>功能：在终端屏幕按屏显示文本文件。</span></p>

<p><span>语法：</span><span lang="EN-US"> more </span><span>［</span><span lang="EN-US"> - </span><span>选项</span><span> </span><span>］</span><span> </span><span>文件</span></p>

<p><span>说明：</span><span> </span><span>该命令一次显示一屏文本，显示满之后，停下来，并在终端底部打印出</span><span lang="EN-US">- - More- - </span><span>，系统还将同时显示出已显示文本占全部文本的百分比，若要继续显示，按回车或空格键即可。</span></p>

<p><span lang="EN-US">more</span><span>命令中各个选项的含义为：</span></p>

<p><span lang="EN-US">- p </span><span>显示下一屏之前先清屏。</span></p>

<p><span lang="EN-US">- c </span><span>作用同</span><span lang="EN-US">- p</span><span>基本一样。</span></p>

<p><span lang="EN-US">- d </span><span>在每屏的底部显示更友好的提示信息：</span></p>

<p><span lang="EN-US">- - More- - </span><span>（</span><span lang="EN-US">XX%</span><span>）［</span><span lang="EN-US">Press space to
contiune , </span><span>&#8216;</span><span lang="EN-US">q</span><span>&#8217;</span><span lang="EN-US"> to quit . </span><span>］</span></p>

<p><span>而且若用户输入了－个错误命令则显示出错信息，而不是简单地鸣响终端。</span></p>

<p><span lang="EN-US">- l </span><span>不处理（换页符）。如果没有给出这个选项，则</span><span lang="EN-US">more</span><span>命令在显示了一个包含有字符的行后将暂停显示，并等待接收命令。</span></p>

<p><span lang="EN-US">- s </span><span>文件中连续的空白行压缩成一个空白行显示。</span></p>

<p><span>执行中的命令</span></p>

<p><span>在</span><span lang="EN-US">more</span><span>命令的执行过程中，用户可以使用</span><span lang="EN-US">more</span><span>自己的一系列命令动态地根据需要来选择显示的部分。</span><span lang="EN-US">more</span><span>在显示完一屏内容之后，将停下来等待用户输入某个命令。下表列出了</span><span lang="EN-US">more</span><span>指令在执行中用到的一些常用命令，而有关这些命令的完整内容，可以在</span><span lang="EN-US">more</span><span>执行时按</span><span lang="EN-US">h</span><span>查看。这些命令的执行方法是先输入</span><span lang="EN-US">i</span><span>（行数）的值，再打所要的命令，不然它会以预设值来执行命令。</span></p>

<p><span lang="EN-US">i</span><span>空格</span><span> </span><span>若指定</span><span lang="EN-US">i</span><span>，显示下面的</span><span lang="EN-US">i</span><span>行；否则，显示下一整屏。</span></p>

<p><span lang="EN-US">i</span><span>回车</span><span> </span><span>若指定</span><span lang="EN-US">i</span><span>，显示下面的</span><span lang="EN-US">i</span><span>行；否则，显示下一行。</span></p>

<p><span lang="EN-US">iD </span><span>若指定</span><span lang="EN-US">i</span><span>，显示下面的</span><span lang="EN-US">i</span><span>行；否则，往下显示半屏（一般为</span><span lang="EN-US">11</span><span>行）。</span></p>

<p><span lang="EN-US">id </span><span>同</span><span lang="EN-US">iD </span><span>。</span></p>

<p><span lang="EN-US">iz </span><span>同&#8220;</span><span lang="EN-US">i</span><span>空格&#8221;类似，只是</span><span lang="EN-US">i</span><span>将成为以下每个满屏的缺省行数。</span></p>

<p><span lang="EN-US">is </span><span>跳过下面的</span><span lang="EN-US">i</span><span>行再显示一个整屏。预设值为</span><span lang="EN-US">1</span><span>。</span></p>

<p><span lang="EN-US">if </span><span>跳过下面的</span><span lang="EN-US">i</span><span>屏再显示一个整屏。预设值为</span><span lang="EN-US">1</span><span>。</span></p>

<p><span lang="EN-US">iB </span><span>往回跳过（即向文件首回跳）</span><span lang="EN-US">i</span><span>屏，再显示一个满屏。预设值为</span><span lang="EN-US">1</span><span>。</span></p>

<p><span lang="EN-US">b </span><span>与</span><span lang="EN-US">iB</span><span>相同。</span></p>

<p><span>&#8217;</span><span> </span><span>回到上次搜索的地方　</span></p>

<p><span lang="EN-US">q</span><span>或</span><span lang="EN-US">Q </span><span>退出</span><span lang="EN-US">more</span><span>。</span></p>

<p><span>＝</span><span> </span><span>显示当前行号。</span></p>

<p><span lang="EN-US">v </span><span>在当前行启动</span><span lang="EN-US">/usr/bin/vi</span><span>对之进行编辑修改。</span></p>

<p><span lang="EN-US">h </span><span>显示各命令的帮助信息。</span></p>

<p><span lang="EN-US">i/pattern </span><span>查找匹配该模式的第</span><span lang="EN-US">i</span><span>行。预设值为</span><span lang="EN-US">1</span><span>。</span></p>

<p><span lang="EN-US">in </span><span>查找符合表达式的倒数</span><span lang="EN-US">i</span><span>行。预设值为</span><span lang="EN-US">1</span><span>。</span></p>

<p><span lang="EN-US">! </span><span>或</span><span> </span><span>：</span><span lang="EN-US">! </span><span>在子</span><span lang="EN-US">shell</span><span>中执行命令。</span></p>

<p><span lang="EN-US">i</span><span>：</span><span lang="EN-US">n </span><span>在命令行中指定了多个文件名的情况下，可用此命令使之显示第</span><span lang="EN-US">i</span><span>个文件，若</span><span lang="EN-US">i</span><span>过大（出界），则显示文件名列表中的最后一个文件。</span></p>

<p><span lang="EN-US">i</span><span>：</span><span lang="EN-US">p </span><span>在命令行中指定了多个文件名的情况下，可用此命令使之显示倒数第</span><span lang="EN-US">i</span><span>个文件。若</span><span lang="EN-US">i</span><span>过大（出界），则显示第一个文件。</span></p>

<p><span lang="EN-US">i</span><span>：</span><span lang="EN-US">f </span><span>显示当前文件的文件名和行数。</span></p>

<p><span lang="EN-US">? </span><span>重复上次键人的命令。</span></p>

<p><span lang="EN-US"><strong>13、Sed</strong></span></p>

<p><span lang="EN-US">1.sed -n '2'p filename </span></p>

<p><span>打印文件的第二行。</span><span> </span></p>

<p><span lang="EN-US">2.sed -n '1,3'p filename </span></p>

<p><span>打印文件的</span><span lang="EN-US">1</span><span>到</span><span lang="EN-US">3</span><span>行</span><span> </span></p>

<p><span lang="EN-US">3. sed -n '/Neave/'p filename </span></p>

<p><span>打印匹配</span><span lang="EN-US">Neave</span><span>的行</span><span lang="EN-US">(</span><span>模糊匹配</span><span lang="EN-US">) </span></p>

<p><span lang="EN-US">4. sed -n '4,/The/'p filename </span></p>

<p><span>在第</span><span lang="EN-US">4</span><span>行查询模式</span><span lang="EN-US">The </span></p>

<p><span lang="EN-US">5. sed -n '1,$'p filename </span></p>

<p><span>打印整个文件，</span><span lang="EN-US">$</span><span>表示最后一行。</span><span> </span></p>

<p><span lang="EN-US">6. sed -n '/.*ing/'p filename </span></p>

<p><span>匹配任意字母，并以</span><span lang="EN-US">ing</span><span>结尾的单词</span><span lang="EN-US">(</span><span>点号不能少</span><span lang="EN-US">) </span></p>

<p><span lang="EN-US">7 sed -n / -e '/music/'= filename </span></p>

<p><span>打印匹配行的行号，</span><span lang="EN-US">-e </span><span>会打印文件的内容，同时在匹配行的前面标志行号。</span><span lang="EN-US">-n</span><span>只打印出实际的行号。</span><span> </span></p>

<p><span lang="EN-US">8.sed -n -e '/music/'p -e '/music/'= filename </span></p>

<p><span>打印匹配的行和行号，行号在内容的下面</span><span> </span></p>

<p><span lang="EN-US">9.sed '/company/' a\ "Then suddenly it happend" filename </span></p>

<p><span>选择含有</span><span lang="EN-US">company</span><span>的行，将后面的内容</span><span lang="EN-US">"Then
suddenly it happend"</span><span>加入下一行。注意：它并不改变文件，所有操作在缓冲区，如果要保存输出，重定向到一个文件。</span><span> </span></p>

<p><span lang="EN-US">10. sed '/company/' i\ "Then suddenly it happend" filename </span></p>

<p><span>同</span><span lang="EN-US">9</span><span>，只是在匹配的行前插入</span><span> </span></p>

<p><span lang="EN-US">11.sed '/company/' c\ "Then suddenly it happend" filename </span></p>

<p><span>用</span><span lang="EN-US">"Then suddenly it
happend"</span><span>替换匹配</span><span lang="EN-US">company</span><span>的行的内容。</span><span> </span></p>

<p><span lang="EN-US">12.sed '1'd ( '1,3'd '$'d '/Neave/'d) filename </span></p>

<p><span>删除第一行</span><span lang="EN-US">(1</span><span>到</span><span lang="EN-US">3</span><span>行，最后一行，匹配</span><span lang="EN-US">Neave</span><span>的行</span><span lang="EN-US">) </span></p>

<p><span lang="EN-US">13.[ address [</span><span>，</span><span lang="EN-US">address]] s/ pattern-to-find
/replacement-pattern/[g p w n] </span></p>

<p><span lang="EN-US">s</span><span>选项通知</span><span lang="EN-US">s e d</span><span>这是一个替换操作，并查询</span><span lang="EN-US">pattern-to-find</span><span>，成功后用</span><span lang="EN-US">replacement-pattern</span><span>替换它。</span><span> </span></p>

<p><span>替换选项如下：</span><span> </span></p>

<p><span lang="EN-US">g </span><span>缺省情况下只替换第一次出现模式，使用</span><span lang="EN-US">g</span><span>选项替换全局所有出现模式。</span><span> </span></p>

<p><span lang="EN-US">p </span><span>缺省</span><span lang="EN-US">s e d</span><span>将所有被替换行写入标准输出，加</span><span lang="EN-US">p</span><span>选项将使</span><span lang="EN-US">- n</span><span>选项无效。</span><span lang="EN-US">- n</span><span>选项不打印输出结果。</span><span> </span></p>

<p><span lang="EN-US">w </span><span>文件名使用此选项将输出定向到一个文件。</span><span lang="EN-US">(</span><span>注意只将匹配替换的行写入文件，而不是整个内容</span><span lang="EN-US">) </span></p>

<p><span lang="EN-US">14.sed s'/nurse/"hello "&amp;/' filename </span></p>

<p><span>将</span><span lang="EN-US">'hello '</span><span>增加到</span><span lang="EN-US">'nurse' </span><span>的前面。</span><span> </span></p>

<p><span lang="EN-US">15. sed '/company/r append.txt' filename </span></p>

<p><span>在匹配</span><span lang="EN-US">company</span><span>的行的下一行开始加入文件</span><span lang="EN-US">append.txt</span><span>的内容。</span><span> </span></p>

<p><span lang="EN-US">16. sed '/company/'q filename </span></p>

<p><span>首次匹配</span><span lang="EN-US">company</span><span>后就退出</span><span lang="EN-US">sed</span><span>程序</span></p><strong><span>14、ln<br /></span></strong><p>这是linux中一个非常重要命令，请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接，这个命令最常用的参数是-s,具体用法是：ln -s 源文件 目标文件。&nbsp;当我们需要在不同的目录，用到相同的文件时，我们不需要在每一个需要的目录下都放一个必须相同的文件，我们只要在某个固定的目录，放上该文件，然后在其它的目录下用ln命令链接（link）它就可以，不必重复的占用磁盘空间。</p><p>例如：ln -s /bin/<a href="http://www.linuxso.com/command/less.html" target="_blank"><u>less</u></a>&nbsp;/usr/local/bin/less&nbsp;<br />-s 是代号（symbolic）的意思。&nbsp;<br />这里有两点要注意：&nbsp;<br />第一，ln命令会保持每一处链接文件的同步性，也就是说，不论你改动了哪一处，其它的文件都会发生相同的变化；&nbsp;<br />第二，ln的链接有软链接和硬链接两种，软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像，不会占用磁盘空间，硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件，无论是软链接还是硬链接，文件都保持同步变化。&nbsp;<br />第三，软链接是可以跨分区的，但是硬链接只能在同一分区内。如果你用<a href="http://www.linuxso.com/command/ls.html" target="_blank"><u>ls</u></a>察看一个目录时，发现有的文件或文件夹的颜色和别的不一样，我机子上是蓝色的，那就是一个用ln命令生成的文件，用ls -l命令去察看，就可以看到显示的link的路径了。</p><p><strong><span lang="EN-US">15</span></strong><strong><span>、</span></strong><strong><span lang="EN-US">rm</span></strong></p>

<p><span lang="EN-US">Rmdir </span><span>空目录名</span><span lang="EN-US">&nbsp; </span><span>删除一个空目录</span></p>

<p><span lang="EN-US">rm </span><span>文件名</span><span> </span><span>文件名</span><span lang="EN-US">&nbsp;&nbsp;&nbsp; </span><span>删除一个文件或多个文件</span></p>

<p><span lang="EN-US">rm -rf </span><span>非空目录名</span><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;  </span><span>递归删除一个非空目录下的一切</span></p><strong><span><br /><br /><br /></span></strong><img src ="http://www.cppblog.com/hzh416/aggbug/186470.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-08-06 16:16 <a href="http://www.cppblog.com/hzh416/archive/2012/08/06/186470.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转载）c++中string到int的转换</title><link>http://www.cppblog.com/hzh416/archive/2012/08/06/186440.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Mon, 06 Aug 2012 04:19:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/08/06/186440.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/186440.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/08/06/186440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/186440.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/186440.html</trackback:ping><description><![CDATA[<div style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">1.<strong>&nbsp;c++中string到int的转换</strong></div><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">1) 在C标准库里面，使用atoi：</p><blockquote style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-style: initial; border-color: initial; border-left-width: 18px; border-left-color: #cccccc; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 813px; color: #000000; line-height: 26px; text-align: left; "><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; ">#include &lt;cstdlib&gt;&nbsp;<br />#include &lt;string&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; ">std::string text = "152";&nbsp;<br />int number = std::atoi( text.c_str() );&nbsp;<br />if (errno == ERANGE) //可能是std::errno&nbsp;<br />{&nbsp;<br />&nbsp;//number可能由于过大或过小而不能完全存储&nbsp;<br />}&nbsp;<br />else if (errno == ????)&nbsp;<br />//可能是EINVAL&nbsp;<br />{&nbsp;<br />&nbsp;//不能转换成一个数字&nbsp;<br />}</p></blockquote><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">2) 在C++标准库里面，使用stringstream：(stringstream 可以用于各种数据类型之间的转换)</p><blockquote style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-style: initial; border-color: initial; border-left-width: 18px; border-left-color: #cccccc; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 813px; color: #000000; line-height: 26px; text-align: left; "><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; ">#include &lt;sstream&gt;&nbsp;<br />#include &lt;string&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; ">std::string text = "152";&nbsp;<br />int number;&nbsp;<br />std::stringstream ss;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; "><br />ss &lt;&lt; text;//可以是其他数据类型<br />ss &gt;&gt; number; //string -&gt; int<br />if (! ss.good())&nbsp;<br />{&nbsp;<br />//错误发生&nbsp;<br />}</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; ">ss &lt;&lt; number;// int-&gt;string<br />string str = ss.str();&nbsp;<br />if (! ss.good())&nbsp;<br />{&nbsp;<br />&nbsp;//错误发生&nbsp;<br />}</p></blockquote><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">3) 在Boost库里面，使用lexical_cast：</p><blockquote style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-style: initial; border-color: initial; border-left-width: 18px; border-left-color: #cccccc; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; width: 813px; color: #000000; line-height: 26px; text-align: left; "><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; ">#include &lt;boost/lexical_cast.hpp&gt;&nbsp;<br />#include &lt;string&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; ">try&nbsp;<br />{&nbsp;<br />&nbsp;std::string text = "152";&nbsp;<br />&nbsp;int number = boost::lexical_cast&lt; int &gt;( text );&nbsp;<br />}&nbsp;<br />catch( const boost::bad_lexical_cast &amp; )&nbsp;<br />{&nbsp;<br />&nbsp;//转换失败&nbsp;<br />} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p></blockquote><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; "><strong>2.string 转 CString</strong><br />CString.format(&#8221;%s&#8221;, string.c_str());<br />用c_str()确实比data()要好；</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; "><strong>3.char 转 CString</strong><br />CString.format(&#8221;%s&#8221;, char*);</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; "><strong>4.char 转 string</strong><br />string s(char *);<br />只能初始化，在不是初始化的地方最好还是用assign().</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; "><strong>5.string 转 char *</strong><br />char *p = string.c_str();</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; "><strong>6.CString 转 string</strong><br />string s(CString.GetBuffer());<br />GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.<br /><br /><strong>7.字符串的内容转换为字符数组和C&#8212;string</strong><br />(1) &nbsp;data(),返回没有&#8221;\0&#8220;的字符串数组<br />(2) &nbsp;c_str()，返回有&#8221;\0&#8220;的字符串数组<br />(3) &nbsp;copy()</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; "><strong>8.CString与int、char*、char[100]之间的转换</strong></p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">(1) CString互转int</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">将字符转换为整数，可以使用atoi、_atoi64或atol。而将数字转换为CString变量，可以使用CString的Format函数。如<br />CString s;<br />int i = 64;<br />s.Format(&#8221;%d&#8221;, i)<br />Format函数的功能很强，值得你研究一下。</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">void CStrDlg::OnButton1()<br />{<br />&nbsp;&nbsp;&nbsp;CString<br />&nbsp;&nbsp;&nbsp;ss=&#8221;1212.12&#8243;;<br />&nbsp;&nbsp;&nbsp;int temp=atoi(ss);<br />&nbsp;&nbsp;&nbsp;CString aa;<br />&nbsp;&nbsp;&nbsp;aa.Format(&#8221;%d&#8221;,temp);<br />&nbsp;&nbsp;&nbsp;AfxMessageBox(&#8221;var is &#8221; + aa);<br />}</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">(2) CString互转char*</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">///char * TO cstring<br />CString strtest;<br />char * charpoint;<br />charpoint=&#8221;give string a value&#8221;; //?<br />strtest=charpoint;</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">///cstring TO char *<br />charpoint=strtest.GetBuffer(strtest.GetLength());</p><p style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 14px; background-color: #ffffff; color: #333333; line-height: 26px; text-align: left; ">(3) 标准C里没有string,char *==char []==string, 可以用CString.Format(&#8221;%s&#8221;,char *)这个方法来将char *转成CString。<br />&nbsp;&nbsp;&nbsp;&nbsp;要把CString转成char *，用操作符（LPCSTR）CString就可以了。<br />&nbsp;&nbsp;&nbsp;&nbsp;CString转换 char[100]<br />&nbsp;&nbsp;&nbsp;char a[100];<br />&nbsp;&nbsp;&nbsp;CString str(&#8221;aaaaaa&#8221;);<br />&nbsp;&nbsp;&nbsp;strncpy(a,(LPCTSTR)str,sizeof(a));</p><img src ="http://www.cppblog.com/hzh416/aggbug/186440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-08-06 12:19 <a href="http://www.cppblog.com/hzh416/archive/2012/08/06/186440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>统计源语言规则满足对齐一致性的次数（二）实际代码编写</title><link>http://www.cppblog.com/hzh416/archive/2012/08/06/186439.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Mon, 06 Aug 2012 04:17:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/08/06/186439.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/186439.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/08/06/186439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/186439.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/186439.html</trackback:ping><description><![CDATA[&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">其实这个代码我写了两个版本，第一个版本仅仅是为了实现功能，而没有去考虑算法的复杂度与计算时间，而由于统计的语料是100万的语料，因此用第一个版本用了两三个小时都得不出结果。所以我在向学长请教之后，写出了第二个改进的版本，虽然耗时还是比较长，但是总算能够得出结果，而我也希望在日后的学习过程中能够能写出更优的算法。 &nbsp;</span><br style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; " />&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">算法的整体思想同样也比较简单，就是遍历整篇文档，切分其中的句子，再对句子进行单独的操作。对单个句子中，先遍历得出其中所有的源语言规则，同时统计其对齐信息，存放到map中，之后再判断是否满足对齐一致性，分别将所有出现的次数以及满足对齐一致性的次数存入两个map中，最后再输出结果。接下来看看具体代码。</span><br style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; " /><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">由于源语言以及对齐信息对是连续的string，但是有用空格进行切分，因此首先写了一个小函数将每个部分单独切分出来，以便于后面的使用：</span>&nbsp;<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;inline&nbsp;vector&lt;<span style="color: #0000FF; ">string</span>&gt;&nbsp;split_word(<span style="color: #0000FF; ">string</span>&nbsp;str,<span style="color: #0000FF; ">string</span>&nbsp;sym)<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;{<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str+=sym;<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vector&nbsp;&lt;<span style="color: #0000FF; ">string</span>&gt;&nbsp;result;<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;pos;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;size=str.size();<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;&nbsp;i&lt;size;&nbsp;i++)<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pos=str.find(sym,i);<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(pos&lt;size)<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;sub_string=str.substr(i,pos-i);<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(sub_string.length()!=0)<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.push_back(sub_string);<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=pos+sym.size()-1;<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;result;<br /><span style="color: #008080; ">21</span>&nbsp;}</div>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">这里使用了inline是因为之前看到内联函数适用于那些频繁使用的小函数，有利于提高运行效率。这里str表示的是需要进行切分的整串string，而sym表示的就是切分依据的分隔符，比如空格。第三行中在str后面又加了一个sym是为了便于切分，因为切分依据都是先找到sym的位置，再切分出sym的位置与初始位置之间的字符串。</span><br style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; " />&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">接下来是将源语言对齐到目标语言的信息与目标语言对齐到源语言的对齐信息存入两个map中，由于其中可能存在一对多的情况，因此使用了map&lt;int,vector&lt;int&gt; &gt;来存取多个对齐关系。</span>&nbsp;<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;get_alignment_relationship(<span style="color: #0000FF; ">string</span>&nbsp;alignment,&nbsp;map&lt;<span style="color: #0000FF; ">int</span>,vector&lt;<span style="color: #0000FF; ">int</span>&gt;&nbsp;&gt;&nbsp;&amp;stt_alignment,&nbsp;map&lt;<span style="color: #0000FF; ">int</span>,vector&lt;<span style="color: #0000FF; ">int</span>&gt;&nbsp;&gt;&nbsp;&amp;tts_alignment)<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;{<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vector&lt;<span style="color: #0000FF; ">string</span>&gt;alignment_element&nbsp;=&nbsp;split_word(alignment,"&nbsp;");<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert&nbsp;(alignment_element.size()&gt;=0);<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i=0;&nbsp;i&lt;alignment_element.size();&nbsp;i++)<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vector&lt;<span style="color: #0000FF; ">string</span>&gt;s_t_index=&nbsp;split_word(alignment_element[i],"-");<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;s_index&nbsp;=&nbsp;atoi(s_t_index[0].c_str());<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;t_index&nbsp;=&nbsp;atoi(s_t_index[1].c_str());<br /><span style="color: #008080; ">10</span>&nbsp;<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stt_alignment[s_index].push_back(t_index);<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tts_alignment[t_index].push_back(s_index);<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map&lt;<span style="color: #0000FF; ">int</span>,vector&lt;<span style="color: #0000FF; ">int</span>&gt;&nbsp;&gt;::iterator&nbsp;it1,it2;<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it1=stt_alignment.begin();<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stt_alignment.erase(it1);<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it2=tts_alignment.begin();<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tts_alignment.erase(it2);<br /><span style="color: #008080; ">19</span>&nbsp;}</div><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #eeeeee; font-size: 13px; ">stt_alignment</span><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">&nbsp;表示的是source to target，即源语言对齐到目标语言的对齐关系，而反之，</span><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #eeeeee; font-size: 13px; ">tts_alignment</span><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">&nbsp;则表示目标语言对齐到源语言的对齐关系。</span><br style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; " /><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在得到对齐关系之后，通过判断对齐连线个数来判断是否符合对齐一致性：</span>&nbsp;<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;inline&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;is_fit_alignment(map&lt;<span style="color: #0000FF; ">int</span>,vector&lt;<span style="color: #0000FF; ">int</span>&gt;&nbsp;&gt;&nbsp;stt_alignment,&nbsp;map&lt;<span style="color: #0000FF; ">int</span>,vector&lt;<span style="color: #0000FF; ">int</span>&gt;&nbsp;&gt;&nbsp;tts_alignment,&nbsp;size_t&nbsp;s_begin,&nbsp;size_t&nbsp;s_end)<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;{<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;src_size=0,tgt_size=0;<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map&lt;<span style="color: #0000FF; ">int</span>,<span style="color: #0000FF; ">int</span>&gt;&nbsp;tgtcount;<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map&lt;<span style="color: #0000FF; ">int</span>,<span style="color: #0000FF; ">int</span>&gt;::iterator&nbsp;iter;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;x=s_begin;x&lt;s_end;x++)<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src_size+=stt_alignment[x].size();<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(size_t&nbsp;a=0;a&lt;stt_alignment[x].size();a++)<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tgtcount[stt_alignment[x][a]]++;<br /><span style="color: #008080; ">12</span>&nbsp;<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(iter=tgtcount.begin();iter!=tgtcount.end();iter++)&nbsp;<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tgt_size+=tts_alignment[iter-&gt;first].size();<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(src_size==tgt_size&nbsp;&amp;&amp;&nbsp;src_size!=0)<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">true</span>;<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">false</span>;<br /><span style="color: #008080; ">22</span>&nbsp;}</div><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">通过bool函数来判断是否满足对齐一致性。</span><br style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; " /><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以上就是一些主要的函数方法。写完这个代码最大的收获就是由于之前不懂得怎么在函数中返回STL容器，因此当遇到需要使用map或者vector之类的容器时，就只好在main函数中实现，而现在了解了可以在函数中使用指针来返回容器。这对于以后代码的编写提供了非常大的便利。而且通过写这个代码，也对于语料的结构以及怎么处理语料有了更深入的了解，这对于以后编写自然语言处理方面的代码有了很大的帮助。</span>&nbsp;<br /><img src ="http://www.cppblog.com/hzh416/aggbug/186439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-08-06 12:17 <a href="http://www.cppblog.com/hzh416/archive/2012/08/06/186439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>统计源语言规则满足对齐一致性的次数（一）概念介绍</title><link>http://www.cppblog.com/hzh416/archive/2012/08/06/186437.html</link><dc:creator>nlp</dc:creator><author>nlp</author><pubDate>Mon, 06 Aug 2012 04:14:00 GMT</pubDate><guid>http://www.cppblog.com/hzh416/archive/2012/08/06/186437.html</guid><wfw:comment>http://www.cppblog.com/hzh416/comments/186437.html</wfw:comment><comments>http://www.cppblog.com/hzh416/archive/2012/08/06/186437.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hzh416/comments/commentRss/186437.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hzh416/services/trackbacks/186437.html</trackback:ping><description><![CDATA[&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">这是写的第二个个人感觉较有挑战性的代码，老师布置的任务真是一次比一次难，不过也从中学习到蛮多东西的。</span><br style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; " /><blockquote style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; border-style: initial; border-color: initial; border-left-style: none; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; width: 813px; color: #000000; border-top-style: none; border-right-style: none; border-bottom-style: none; border-width: initial; border-color: initial; "></blockquote>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">这次的任务是要计算语料库中，源语言规则出现的总的次数以及满足对齐一致性的次数。</span><br style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; " /><blockquote style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; border-style: initial; border-color: initial; border-left-style: none; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; width: 813px; color: #000000; border-top-style: none; border-right-style: none; border-bottom-style: none; border-width: initial; border-color: initial; "></blockquote>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">这个任务的第一个难点就是我对什么是源语言规则以及什么叫满足对齐一致性这个概念不大清楚。因此首先来介绍一下这两个概念。我们用一个例子来说明：</span>&nbsp;<br /><div style="text-align: center;"><img src="http://www.cppblog.com/images/cppblog_com/hzh416/QQ截图20120806110315.jpg" alt="" /></div><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">&nbsp;对于这句话，其中上面的中文是源语言，下面的英文是目标语言，而中间的连线则是它们之间的对齐关系。这句话在语料库中的表示应该为：</span>&nbsp;<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->1&nbsp;&lt;bead&nbsp;id="1"&gt;<br />2&nbsp;&lt;srcword&gt;&lt;s&gt;&nbsp;是&nbsp;不&nbsp;能&nbsp;忘记&nbsp;的&nbsp;。&nbsp;&lt;/s&gt;&lt;/srcword&gt;<br />3&nbsp;&lt;tgtword&gt;&lt;s&gt;&nbsp;was&nbsp;not&nbsp;to&nbsp;be&nbsp;forgotten&nbsp;.&nbsp;&lt;/s&gt;&lt;/tgtword&gt;<br />4&nbsp;&lt;alignment&gt;0-0&nbsp;1-1&nbsp;2-2&nbsp;3-2&nbsp;4-4&nbsp;4-5&nbsp;6-6&nbsp;7-7&lt;/aligment&gt;<br />5&nbsp;&lt;/bead&gt;</div><span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">&nbsp;</span>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">其中bead范围内表示的是一整个句子，&lt;s&gt;和&lt;/s&gt;是句子的首尾标识符，同样也算在对齐关系里面。而&lt;srcword&gt;表示的是源语言，&lt;tgtword&gt;表示的是目标语言，&lt;alignment&gt;表示的是对齐关系。</span><br style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; " />&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">我们首先来介绍什么是源语言规则，源语言规则有一些限制，首先要限制在一定的长度之内，这里我将长度限制为7，然后繁殖度规则，不过这里我没有将其考虑进去。还有一些概念我也说不大清楚，因此同样还是举例来说明。对于&#8220;是不能忘记的&#8221;这句话，其中包含的源语言规则就包括：是，是不，是不能，是不能忘记，是不能忘记的；不，不能，不能忘记，不能忘记的；能，能忘记，能忘记的；忘记，忘记的。通过这个例子就可以看到源语言规则即是将句子中所有可能组成遍历一遍，而其中单独的&#8220;的&#8221;不构成源语言规则是因为它没有对齐关系。</span><br style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; " />&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif; background-color: #ffffff; ">接下来我们介绍什么叫满足对齐一致性。我同样觉得概念好像很难解释清楚，当初请教学长的时候也是画图来表示比较直观明了。如果非要说概念的话应该是就源语言和目标语言的对齐不会超出互相对齐的范围之内。用例子来表示就是与&#8220;是 不&#8221;对齐的是&#8220;was not&#8221;，但是与&#8220;was not&#8221;对齐的是&#8220;是 不 能&#8221;，可见目标语言对齐到源语言时超出了源语言的范围，因此&#8220;是 不&#8221;这个源语言规则就不满足对齐一致性，而&#8220;是 不 能&#8221;则满足对齐一致性。而在代码编写过程中，要判断一个源语言规则是否满足对齐一致性的简单的方法就是判断对齐连线个数，即该源语言规则对齐到相应目标语言的对齐连线数目等于相应目标语言对齐到源语言规则的对齐连线时，则该源语言规则满足对齐一致性。</span>&nbsp;<br /><img src ="http://www.cppblog.com/hzh416/aggbug/186437.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hzh416/" target="_blank">nlp</a> 2012-08-06 12:14 <a href="http://www.cppblog.com/hzh416/archive/2012/08/06/186437.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>