说明
梳理一下文本处理和语义分析的内容,框架性的。
内容
1 一些概念
1.1 数据
从数据的角度出发,我们以文章为单位,逐渐细分到词。
文章(article) -> 段落(paragraph) -> 长句(long sentense)-> 短句(short sentense) -> 词(word)
这些层级式的处理单元需要通过一些方法进行分割,其中短句比较重要,是模型学习的单元。
1.2 理解
大道至简
采用图的方式让计算机理解。语言的目的是表达不同的概念,计算机无法采用人类的语言方式。人类对待语言是以复杂的系统对待复杂的问题;而计算机必须以简单的方法对待复杂的问题。
- 1 概念:就是某点个点。概念分为泛名词与泛谓词,没有其他了。
- 2 泛名词:概念是关于某个声明(Statement),就是说明某个物体。例如一个足球是泛名词,一个签了字的足球也是泛名词,它们指代了某个物体。
- 3 泛谓词:概念是关于某个断言(Assertion),说明某种关系。例如我要喝水,我非常想要喝水。其中要和非常想要都是泛谓词。喝水反而属于泛名词。
从短句开始,提取泛名词和泛谓词,逐层向上构建成一张表达文章(或者说会话)的图。计算机通过图来理解语义。
2 对应的工作
2.1 切割
通过强规则将文本切分成不同的层级。
- rule1:通过换行符将文章分为段落
- rule2:通过句号将段落分为长句
- rule3:通过中文逗号,顿号,分号,括号,冒号将长句分为短句
2.2 清洗
通过简单规则将短句进行一定处理
- rule1: 将数字中的千分号(英文逗号)去掉
2.3 分词处理
分词是在短句的基础上进行的。
- 1 建立通用分词方法
- 2 针对某些应用的专业分词方法
- 3 特殊分词方法(NER)
分词处理的方法不重要,目的是获取泛名词与泛谓词。也就是说,对于一个短句,我们要获得的是一个节点,或者一条关系(含两个节点)。有时候,我们的语法中会有省略,比如说「好」这个短句可能省略了主和宾两个泛谓词。
所以说,实体识别这样的深度模型,其实做的仅仅是得到一个比普通词更大粒度的泛名词。(可以想象如果用jieba这样的包会把一个公司名称拆碎)
计算机获得图之后就可以进行查询和推理了,这是我认为计算机可行的语义理解方式。