![9f7d4df06945b0f5aeb71e73444fea74.png](https://i-blog.csdnimg.cn/blog_migrate/8acb32dcd5487f1e3fbbe759f1ca4a22.jpeg)
本文代码开源在:[DesertsX/gulius-projects](DesertsX/gulius-projects)
哈工大语言云的官网有一篇名为《使用语言云分析微博用户饮食习惯》的文章,里面讲到了借助分词、词性标注和依存句法分析等NLP技术,可以从微博文本内容中提取出用户饮食习惯等数据。
进而可以结合用户性别、地区、发微博时间等不同维度信息,展现出许多有趣的结果,比如下图分别是上海、重庆、以及广东(男性)的特色饮食习惯:
![7016d817808100b8108ed17d954209b2.png](https://i-blog.csdnimg.cn/blog_migrate/fccee2722aca0b34e7d10ed723a14161.jpeg)
那么如何抽取出上述食物呢?原文给出了由三个条件组成的规则:一条微博里含有词语“吃”+与“吃”相关的句法关系为VOB(动宾关系)+“吃”的宾语为名词,就可以判断发生饮食行为,进而提取出“吃”的宾语就是相关的食物。
作为解释,给出了三个例句:“我刚吃了一块巧克力”、“今天我去电影院看了浓情巧克力”、“我吃了个巧克力味冰淇淋”。
![b1560269bf0e876b4f23173a7e7f2686.png](https://i-blog.csdnimg.cn/blog_migrate/42f9a669cee0e87692fd0b744ba9e387.jpeg)
句子经过分词,并在下方标注了词性,依存弧表明每个词语之间的关系,比如主谓关系(SBV)、动宾关系(VOB)等等。
由上述规则可以判断出第二句没有饮食行为,于是进行过滤;而从另外两句中可以分别抽取出“巧克力”和“冰淇淋”(当然第三