NLP_Stanford课堂分词

Posted a-present

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NLP_Stanford课堂分词相关的知识,希望对你有一定的参考价值。

一、如何定义一个单词

在统计一句话有多少个单词的时候,首要问题是如何定义一个单词,通常有三种情况:

  1. 是否认为句中的停顿词比如Uh是一个单词,我们称之为fragment,或者filled pause。
  2. 是否认为一个单词的不同形态是一个单词。
  3. 是否认为一个完整的词组,比如San Francisco是一个单词

以上三种在不同任务下有不同的处理方法。

二、统计什么信息

在统计时,我们统计如下信息:

  1. word types:词汇表中的一个元素,不重复
  2. word token:文本中该type的一个实例,可重复

一般如下表示:

corpora:语料库,也就是文本的数据集

N:token的数目

V:单词表,也就是type的集合

三、数据预处理

  1. 将所有的大写字母转为小写
  2. 将缩写词扩写,比如We‘re 扩写为We are
  3. 将连接符去掉,比如state-of-the-art 改写为 state of the are
  4. 将自连的单词切分开,比如Lowercase改写为lower case

  技术分享图片

四、中文分词

对于中文来说,分词更困难,因为没有空格隔开,一般的baseline方法是Maximum Matching(也称作贪心)

Maximum Matching:

  1. 给定一个中文单词表和一个要分词的字符串
  2. 从字符串的最开始建立一个指针
  3. 在单词表中找到指针所指字符所能匹配的最长的单词
  4. 移动指针到这个单词的下一个字符
  5. 重复步骤3

以上是关于NLP_Stanford课堂分词的主要内容,如果未能解决你的问题,请参考以下文章

NLP_Stanford课堂语言模型

开源中文分词工具探析:Stanford CoreNLP

NLP干货!Python NLTK结合stanford NLP工具包进行文本处理

NLP干货!Python NLTK结合stanford NLP工具包进行文本处理

关于使用Stanford NLP报错json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)解决办法

斯坦福的nlp学习