2

这是我第一次涉足 NLP,所以请原谅我的无知。我正在寻找一种从用户的社交资料中提取兴趣/喜欢/爱好的方法。这是一个示例,其中所有兴趣/喜欢/爱好都以粗体显示:

“我认为自己是一个非常多元化的角色......我是一名职业 摔跤手,但我会为Wall•E吃一颗子弹。我在健身房里训练得像一台单人种族灭绝机器,但我在“世界末日”时哭了。 “我要去AC/DC,我正在认真考虑纹一个塞尔达传说的纹身。我对 420 很友好。我喜欢和兄弟会的人群聚会一晚,和我的Burning Man一起出去玩接下来是朋友,然后玩光环魔兽世界,然后和不超过 40 岁的朋友一起玩。我最小的朋友是 16 岁,我最大的朋友是 66 岁。我'会唱歌在酒吧里唱卡拉 OK,我是我朋友的集体心理医生/肩膀。”

配置文件是纯文本。没有与之相关的元标记或 ID,它只是一段文本。

我幼稚的想法是将每个名词与Freebase进行匹配,以查看它是否是活动/艺术家/电影/书籍等。问题是,尽管提到的大多数实体都是用户喜欢的东西,但她也会提到她不喜欢的东西' t喜欢和我没有办法区分2。

我有两个问题:

  1. 我应该关注 NLP 的哪个子领域?一些可搜索的算法/技术/作者将不胜感激。
  2. 这个问题有多难?

谢谢!

4

1 回答 1

1

首先,除非使用 NLP 来做这件事对你来说是一个特定的目标,否则检查你的问题域,看看你是否可以完全避免它。

例如:

  • 这些配置文件是否有标签(由站点或用户提供)?

  • 站点的 API提供了什么(假设您是这样访问这些数据的;如果您正在抓取它,那么这当然不适用)?一个很好的例子,Facebook。如果您阅读用户的帖子,您会看到“摔跤手”、“卡拉 OK”等词,但如果您查看通过 Graph API 公开了哪些字段,您会发现这些活动几乎总是有一个关联的 FB ID。

我不是该领域的专家,但我可以推荐一些针对 NLP 的资源,这些资源可供非专家或新手使用。第一个是文本处理 API。这个简单的 Web 服务使用 REST 和 JSON IO。它是免费的,而且似乎有一个相当大的速率限制。

这个 API 似乎严重依赖于优秀的自然语言工具包(NLTK),它是 Python 中一个成熟的稳定库,其中包括针对问题中问题的模块,例如,情感分析、标记和块提取等。

哪个特定子域与解决 OP 中的问题最相关?我不知道,但我怀疑 NLTK 中有一个模块可以满足您的需求。希望找到该模块只是浏览API 文档(按模块组织)的问题;阅读入门部分,其中包含对 NLTK 模块的出色调查以及每个模块的演示。

于 2012-03-04T08:56:48.887 回答