我是自然语言处理的新手,如果我的问题不清楚,我很抱歉。我已经读了一本或两本关于这个主题的书,并做了各种图书馆的普通研究,以找出我应该如何做到这一点,但我还不确定我知道该怎么做。
我正在尝试一个应用程序的想法,其中的一部分是尝试在实时的非结构化文本(例如推文、Facebook帖子、电子邮件、网站等)中查找产品提及。可以假定它们是已知的(存储在文件或数据库中)。以下是一些例子:
- “从明天开始,我们有5盒@hersheys snickers可用,每盒售价5美元 - 每人限购1盒”(snickers是来自hershey公司的产品[作为“@hersheys”提到]) - “重大消息:12盎司的可口可乐和百事可乐从星期五开始打折。”(可口可乐是来自可口可乐公司的产品[别名为“coke”],百事可乐是来自百事公司的产品) - “#OMG,我刚买了我的梦想车。野马!!!”(野马是福特的产品)
因此,基本上,给定一段文本,查询文本以查看是否提到了产品,并接收一些指示(布尔值或置信度数字),表明它确实提到了该产品。
我有一些顾虑:
- 因为拼写错误而丢失产品。我想也许可以使用字符串相似性检查来捕获这些。 - 产品名称也是英语单词或事物,会被捕捉到。例如野马和马车之间的区别。 - 需要保留产品的替代名称列表(例如,“可乐”代表“可口可乐”等)。
我真的不知道从哪里开始,但任何帮助都将不胜感激。我已经看过NLTK和SciKit,但没有从中学到如何做到这一点。如果您知道解释这个问题的示例或论文,请提供链接。目前我还没有具体的语言偏好,最好是Java,但Python和Scala也可以接受。
我正在尝试一个应用程序的想法,其中的一部分是尝试在实时的非结构化文本(例如推文、Facebook帖子、电子邮件、网站等)中查找产品提及。可以假定它们是已知的(存储在文件或数据库中)。以下是一些例子:
- “从明天开始,我们有5盒@hersheys snickers可用,每盒售价5美元 - 每人限购1盒”(snickers是来自hershey公司的产品[作为“@hersheys”提到]) - “重大消息:12盎司的可口可乐和百事可乐从星期五开始打折。”(可口可乐是来自可口可乐公司的产品[别名为“coke”],百事可乐是来自百事公司的产品) - “#OMG,我刚买了我的梦想车。野马!!!”(野马是福特的产品)
因此,基本上,给定一段文本,查询文本以查看是否提到了产品,并接收一些指示(布尔值或置信度数字),表明它确实提到了该产品。
我有一些顾虑:
- 因为拼写错误而丢失产品。我想也许可以使用字符串相似性检查来捕获这些。 - 产品名称也是英语单词或事物,会被捕捉到。例如野马和马车之间的区别。 - 需要保留产品的替代名称列表(例如,“可乐”代表“可口可乐”等)。
我真的不知道从哪里开始,但任何帮助都将不胜感激。我已经看过NLTK和SciKit,但没有从中学到如何做到这一点。如果您知道解释这个问题的示例或论文,请提供链接。目前我还没有具体的语言偏好,最好是Java,但Python和Scala也可以接受。