这是我第一次涉足NLP,所以请原谅我的无知。我正在寻找一种方法来从用户那里提取兴趣/喜欢/爱好'社交档案。这是一个所有兴趣/喜欢/爱好都是粗体的例子:
"我认为自己是一个非常多元化的角色......我是一名专业人士 摔跤手,但我会为 Wall•E 采取一颗子弹。我在健身房中像一个单人种族灭绝机器一样训练,但我哭了 "的末日&#34。我会对 AC / DC 进行抨击,我认真对待 考虑获得一个塞尔达传说纹身。我是420友好的。一世 喜欢派对它与兄弟会的人群一晚,和他一起出去玩 我的燃烧的人朋友下一个,玩光环和世界 魔兽下一个,和不比年轻的朋友一样 40下一个。我最小的朋友是16岁,我最老的朋友是66岁。我会 在酒吧唱卡拉OK ,我和我的朋友们在一起。集体 精神科医生/肩"
个人资料是纯文字。没有任何元标记或ID与其相关联,它只是一段文字。
我的理念是将每个名词与Freebase相匹配,以查看它是否为活动/艺术家/电影/书籍等。问题在于,虽然提到的大多数实体都是用户喜欢,她也会提到她不喜欢的东西,我无法区分2.
我有两个问题:
谢谢!
答案 0 :(得分:1)
首先,除非使用NLP执行此操作是您的特定目标,请检查您的问题域,看看您是否可以完全避免它。
例如:
这些配置文件是否有标签(由网站或由网站提供) 用户)?
网站的API 提供什么(假设您是这样的 正在访问这些数据;如果你正在刮它,那么这不是 当然适用)?一个很好的例子,Facebook。如果您阅读用户的帖子, 你会看到像“摔跤手”,“卡拉OK”等词,但如果你看一下 通过Graph API公开哪些字段,你会看到这些 活动几乎总是有一个关联的FB ID。
我不是这个领域的专家,但我可以推荐一些针对NLP的资源,非专家或新手可以访问。第一个是text processing API。这个简单的Web服务使用REST和JSON IO。它是免费的,似乎有一个相当大的速率限制。
这个API似乎在很大程度上依赖于优秀的Natural Language Tooolkit(NLTK),它是python中一个成熟稳定的库,包括针对问题中的问题的模块,例如,情感分析,标记和块提取,等
哪个特定的子域与解决OP中的问题最相关?我不知道,但我怀疑在NLTK的某个地方有一个模块可以满足您的需要找到该模块希望只是略过API Documentation(由模块组织);阅读Getting Started部分,其中包含对NLTK模块的优秀调查以及每个模块的演示。