一、自然语言处理与文本分析及挖掘原理
(一)语言的统计特性原理
自然语言从统计角度看存在一定规律。例如,在大量文本中,单词的出现频率呈现幂律分布,少数单词高频出现,多数单词低频出现。可以用概率公式来描述单词的出现情况,对于单词www在语料库CCC中的概率:
P(w)=count(w)∣C∣P(w)=\frac{count(w)}{|C|}P(w)=∣C∣count(w)
其中count(w)count(w)count(w)是单词www在语料库中的出现次数,∣C∣|C|∣C∣是语料库的总词数。这种统计特性为文本处理中的模型构建提供了基础,比如在构建语言模型时,可根据单词的统计概率来预测句子的合理性。
(二)语义和语法原理
语义原理
语义分析旨在理解文本的含义。词汇语义通过词汇表(如WordNet)来确定单词间的关系,像“汽车”和“轿车”可能是同义词关系。句子语义则需要分析句子结构,例如通过语义角色标注,在句子“小明给小红一本书”中,“小明”是施事者,“小红”是受事者,“一本书”是客体,“给”是动作,这有助于理解句子的核心语义。
语法原理
语法规则规定了单词如何组成合法的句子。在英语中,句子通常有明确的语法结构,如主谓宾结构。以句子“I love you”为例,“I”是主语,“love”是谓语动词,“you”是宾语。通过分析语法结构,可以对文本进行预处理,比如在词性标注和句法分析任务中。
(三)文本结构原理
宏观结构
文本从宏观上有层次结构,比如一本书包含多个章节,章节包含多个段落,段落包含多个句子。在电子文档(如HTML文件)中,这种结构通过标签体现,如<html>、<body>、<p>等标签分别表示不同的层次结构。在纯文本中,可以通过标点符号、段落缩进等方式分析结构。
微观结构
在句子层面,存在微观结构,如词序和词性搭配。在英语中,形容词一般在名词前修饰名词,像“beautiful flower”,“beautiful”修饰“flower”。分析微观结构有助于文本预处理,如词性标注和分词。
二、自然语言处理与文本分析及挖掘方法
(一)文本预处理方法
分词
-
中文分词
- 基于词典的方法:例如正向最大匹配法,假设词典中最大词长为LLL,句子长度为nnn,对于位置iii(1≤i≤n1\leq i\leq n1≤i≤n),从iii开始取长度为jjj(1≤j≤L1\leq j\leq L1≤j≤L且i+j−1≤ni + j - 1\leq ni+j−1≤n)的字符串与词典匹配,直到找到一个词。如句子“自然语言处理很有趣”,词典中有“自然语言处理”等词,从左向右先取“自然语言处理”,匹配成功。但这种方法存在歧义问题,比如“乒乓球拍卖完了”,可能有不同的分词结果。
- 基于统计的方法:利用统计语言模型,如N - Gram模型,计算不同分词组合的概率,选择概率最高的分词方式。通过在大量文本数据上学习单词的共现概率,来确定最佳分词。
-
英文分词:英文单词间通常有空格分隔,但也有特殊情况,如缩写(“I’m”需分为“I”和“'m”)和连字符连接的单词(“e - mail”作为一个词),可以用简单规则或正则表达式处理。
词性标注
常用隐马尔可夫模型(HMM),对于单词序列w1,w2,⋯ ,wnw_1,w_2,\cdots,w_nw1,w2,⋯,wn,设词性序列为t1,t2,⋯ ,tnt_1,t_2,\cdots,t_nt1,t2,⋯,tn,HMM公式为:
P(t1,t2,⋯ ,tn∣w1,w2,⋯ ,wn)=P(t1,t2,⋯ ,tn)×P(w1,w2,⋯ ,wn∣t1,t2,⋯ ,tn)P(w1,w2,⋯ ,wn)P(t_1,t_2,\cdots,t_n|w_1,w_2,\cdots,w_n)=\frac{P(t_1,t_2,\cdots,t_n)\times P(w_1,w_2,\cdots,w_n|t_1,t_2,\cdots,t_n)}{P(w_1,w_2,\cdots,w_n)}P(t1,t2,⋯,tn∣w1,w2,⋯,wn)=P(w1,w2,⋯,wn)P(t1,t2,⋯,tn)×P(w1,w2,⋯,wn∣t1,t2,⋯,tn)
在实际应用中,通过在大规模语料库上训练来估计模型参数,包括状态转移概率P(ti∣ti−1)P(t_i|t_{i - 1})P(ti∣ti−1)和观测概率P(wi∣ti)P(w_i|t_i)P(wi∣ti)。
文本清洗
- 停用词处理:停用词是在文本中频繁出现但对分析无实质意义的词,如“的”“是”“在”等。构建停用词表,将文本中的停用词去除,可减少数据量和噪音。
- 特殊字符处理:对于拼写错误、表情符号、HTML标签等特殊字符,可通过正则表达式或专门工具处理。如在网页文本分析中,用正则表达式去除
<script>标签等无关内容。
(二)文本特征提取方法
词袋模型(Bag - of - Words)
将文本看作单词集合,忽略单词顺序。对于文本集合D={ d1,d2,⋯ ,dm}D=\{d_1,d_2,\cdots,d_m\}D={ d

最低0.47元/天 解锁文章
1045

被折叠的 条评论
为什么被折叠?



