zoukankan      html  css  js  c++  java
  • 【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
  • 相关阅读:
    8-kubernetes-安全
    6-kubernetes网络
    5-kunernetes资源调度
    4-K8S 部署Java应用及应用程序生命周期管理
    3-kubernetes监控与日志管理
    2-K8S常用命令
    1-kubeadm部署1.18.0单master集群
    部署Prometheus+Grafana监控
    微信小程序学习
    vue 中使用 @scroll事件 没有用
  • 原文地址:https://www.cnblogs.com/a-present/p/9385708.html
Copyright © 2011-2022 走看看