- 安装依赖保存在 requirements.txt 文件中
python -m venv venv
- model 文件保存的是pyltp模型
- similar_word文件保存的是提取相近词算法以及近义词表,这里保存的是‘说’的近义词。
- word2vec_model 文件保存的是word2vec模型,以及实现算法。
- clean_word 是实现数据清洗、分词的pipeline。
- extract_algorithm.py 保存了人物及言论提取的主要算法。
- 接口为extract_algorithm内的present_data 函数
- 输入: string ---> 类型:string, 即一段文本
- 输出: res---> 类型:dictionary,包含人物及其观点
-
将文本按句切分
-
判断每一句是否存在命名实体。
-
若是: 判断是否存在主谓结构,且包含‘说’的近义词。都满足,则提取该句信息,结束符号为:句号。
-
若不是:判断下一句。
-
结束符号为句号,太草率,可以加入TFIDF比较文本相似性,取余弦。设定一个阈值,判断语句之间相似程度。
若相似,则加入言论。 -
这里仅仅对主谓结构进行了判断,实际上还有其他结构,同样存在人物的观点,需要进一步甄别判断。
-
还可以将人物及其言论画成图,进行展示。并且根据图的连接来寻找人物之间的关系。
-
此外,提取近义词的算法(这里采用的是DFS搜索),可以优化的方向:加入Dynamic Programming 以及 节点值的选取。
-
词向量的转换,可以考虑BERT。