我正在尝试为由自然语言解析器返回的词性标记和其他标签创建歧视联盟。如何在歧视工会中使用符号/标点符号
在C#/ Java中使用这些字符串或枚举是很常见的,但歧视联合在F#中更合适,因为它们是不同的只读值。
在语言参考中,我发现这个符号 ``...``
可以用来分隔关键字/保留字。这适用于
type ArgumentType =
| A0 // subject
| A1 // indirect object
| A2 // direct object
| A3 //
| A4 //
| A5 //
| AA //
| ``AM-ADV``
然而,标签包含像$,例如符号
type PosTag =
| CC // Coordinating conjunction
| CD // Cardinal Number
| DT // Determiner
| EX // Existential there
| FW // Foreign Word
| IN // Preposision or subordinating conjunction
| JJ // Adjective
| JJR // Adjective, comparative
| JJS // Adjective, superlative
| LS // List Item Marker
| MD // Modal
| NN // Noun, singular or mass
| NNP // Proper Noun, singular
| NNPS // Proper Noun, plural
| NNS // Noun, plural
| PDT // Predeterminer
| POS // Possessive Ending
| PRP // Personal Pronoun
| PRP$ //$ Possessive Pronoun
| RB // Adverb
| RBR // Adverb, comparative
| RBS // Adverb, superlative
| RP // Particle
| SYM // Symbol
| TO // to
| UH // Interjection
| VB // Verb, base form
| VBD // Verb, past tense
| VBG // Verb, gerund or persent participle
| VBN // Verb, past participle
| VBP // Verb, non-3rd person singular present
| VBZ // Verb, 3rd person singular present
| WDT // Wh-determiner
| WP // Wh-pronoun
| WP$ //$ Possessive wh-pronoun
| WRB // Wh-adverb
| ``#``
| ``$``
| ``''``
| ``(``
| ``)``
| ``,``
| ``.``
| ``:``
| `` //not sure how to escape/delimit this
``...``
没有工作WP $或符号等(
另外,我有一个有趣的问题,解析器回报``作为一个有意义的符号,所以我需要逃避它作为好。
有一些其他的方式来做到这一点,或者这只是无法实现的可识别联合?
现在我得到这样的错误
- 无效的命名空间,模块,类型或工会的案件名字
- 识别联合情况和异常标签必须是大写字母标识符
我想我能以某种方式覆盖的toString这些愚蠢的情况下,代之以符号一些字母数字等值?
为什么不简单地使用一个适合的命名约定,而不是使用解析器中的文字? – 2010-06-19 10:50:04